Input - getDirectory

Description

Looks at one specified source directory and builds a hierachical product that reflects the contents of the directory. The contents of subdirectories can be included.  Only files that have new modification dates are included in the product (see end of page for note on functionality).

 

Configuration Variables

sourceDirectory
The directory spec.

recurseDirectories

Default false. Specifies whether the contents of subdirectories should be retrieved.

keepSourceFiles

Default true. If true it indicates that files should not be deleted after passing forward as this PIMs product. 

useSourceFileTimeStamp

Default false. If true it indicates that the files modification date should be used to identify new files.

lastUpdateLong

This is a read-only attribute used to keep track of the date and time of last access so that newer files can be identified.


Product

Builds a VectorProduct with a list of file entries in the form of products. The "wrapper" Vector Product has
id = "File contents for <sourceDirectory>"

description = " Copy of files fetched by <pim id>."

Each entry in the VectorProduct is either another VectorProduct or a product containing a file reference. Each entry that is a VectorProduct contains the contents of a subdirectory and has

id = relative name of path under the directory identified by <sourceDirectory>

description = "directory listing"

Each file entry, whether for the top level or a nested VectorProduct is a product with

id = file name

description = "copied by <pim id>"

 

How it works

Uses standard Java API calls to browse the specified directory.

NOTE:  This PIM may not work as intended for all situations.  If a previously existing file is copied into the directory identified by the sourceDirectory, and it hasn't been modified, then this PIM will not return the file as part of its product even though it has just been copied into the directory.  If useSourceFileTimeStamp is true, this PIM identifies new files by their modification dates, not their creation dates.  For different behavior try connecting a getDirectory, with useSourceFileTimeStamp = true, to a NotifyOfChange Juggler.

 

Revised: 12 January 1999