Provides automatic trigger of FileCopy service that fulfills criteria defined by an SQL Query.

The SQL statement must be defined with following rules:

1) Series.pk must be the first column of the select statement.
2) The where clause should contain a Series.updated_time. ]]>
org.dcm4chex.archive.hsm.FileCopyByQueryService The default constructor FileCopyByQueryService PollInterval java.lang.String Default Query to find series that are stored (series_status=0) and has no copy in NEARLINE filesystem (pk=2):
SELECT DISTINCT series.pk FROM series, instance, files WHERE series.series_status = 0 AND series.pk = instance.series_fk AND instance.pk = files.instance_fk AND series.updated_time < ? AND NOT EXISTS (SELECT pk FROM files WHERE files.instance_fk=instance.pk AND files.filesystem_fk=2)
Note: The first column in the SELECT statement must be: series.pk!
If limit > 0 the SQL statement is extended with:
1) a database specific LIMIT
2) a 'series.pk > ?' as first criteria in WHERE clause (if sql hasn't already a 'pk > ?')
3) an 'ORDER BY series.pk' (if sql hasn't already a 'ORDER BY')]]>
Query java.lang.String
If there is an error no automatic forward will be perfromed until the Query is corrected.
]]>
LastQueryCheckResult java.lang.String
Delay java.lang.String This will add database specfic limit statements to the Query! Set this to 0 if the query already contains a limitation.]]> Limit int JDBC Fetch size. (-1 means: use Limit) FetchSize int Current state if a FileCopy task is running. Used to avoid concurrency! isRunning boolean Last used Series.pk. Used as additional query parameter (SERIES.pk > lastPk) if a Limit > 0 is specified! LastSeriesPk long Used internally. Do NOT modify. TimerIDFilecopyByQuery java.lang.String Used internally. Do NOT modify. FilecopyServiceName javax.management.ObjectName Used internally. Do NOT modify. SchedulerServiceName javax.management.ObjectName &defaultAttributes; &defaultOperations; Return number of FileCopyOrders that are scheduled.]]> checkFilecopy int showSQL java.lang.String