200 |
|
|
application/json
model |
example
{
"title": "job wizard",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "com.sos.joc.model.wizard.Job",
"type": "object",
"required": [
"docPath",
"assignReference"
],
"properties": {
"deliveryDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"docPath": {
"description": "absolute path of an object.",
"type": "string",
"pattern": "^(/|(/[^/\\\\<>?:\"|*]+)+)$",
"maxLength": 255,
"minLength": 1
},
"docName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"assignReference": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"title": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"javaClass": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"hasRequiredArguments": {
"type": "boolean",
"default": false
},
"arguments": {
"javaType": "com.sos.inventory.model.jobtemplate.Parameters",
"type": "object",
"additionalProperties": {
"javaType": "com.sos.inventory.model.jobtemplate.Parameter",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"javaType": "com.sos.inventory.model.jobtemplate.ParameterType",
"type": "string",
"enum": [
"String",
"Number",
"Boolean"
],
"javaEnumNames": [
"String",
"Number",
"Boolean"
]
},
"default": {
"description": "this value has to have the data type of the 'type' attribute",
"anyOf": [{
"type": "string"
}, {
"type": "number"
}, {
"type": "boolean"
}],
"javaType": "java.lang.Object"
},
"description": {
"type": "string",
"pattern": "^(?s)((?!<script( |>)|<svg/on).)*$"
},
"facet": {
"description": "a regular expression to check the value of the parameter",
"type": "string"
},
"list": {
"description": "enumeration of possible parameter values",
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"description": "a message if the value doesn't match the facet",
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
{ "deliveryDate": "2022-09-13T13:19:30.731+00:00", "docPath": "/sos/jitl-jobs/RenameFileJob.xml", "docName": "RenameFileJob.xml", "assignReference": "RenameFileJob", "title": "Rename one or more files", "javaClass": "com.sos.jitl.jobs.file.RenameFileJob", "hasRequiredArguments": true, "arguments": { "source_file": { "type": "String", "required": true, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">File or Folder to be monitored</p>\n \n <p>Monitored file or directory.</p>\n \n</div>\n\n <div class=\"note\">\n \n <p>\n Supports masks for substitution in the file name\n and directory\n name with format strings that are\n enclosed by brackets\n ([\n and\n ]).\n The following format strings are supported:\n </p>\n \n <p>\n <code>\n [date:date format]\n </code>\n \n </p>\n \n <p>\n \n date format\n must be a valid Java data format string,\n e.g.\n yyyyMMddHHmmss\n ,\n yyyy-MM-dd.HHmmss\n etc.\n </p>\n \n <p>\n For further information on valid values for a dateformat string see\n <a href=\"http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html\">SimpleDateFormat</a>\n \n </p>\n \n \n <p>\n An example:\n </p>\n \n <p>\n <code>\n <param name=\"file\"\n value=\"sample/hello[date:yyyyMMdd].txt\"\n /> </code>\n \n </p>\n \n <p>\n On 2050-12-31 the parameter\n <code>file</code>\n contains the value\n <code>\"sample/hello20501231.txt\"</code>\n .\n \n </p>\n \n</div></div>" }, "target_file": { "type": "String", "required": true, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Target-file or -folder</p>\n \t\t \n <p>Target file or directory</p>\n \t\t \n <p>\n \t\t\tIf the\n\t\t\t<i><code>target_file</code></i>\n\t\t\tis not specified, then the directory path of\n\t\t\t<i><code>source_file</code></i>\n\t\t\tis used as target.\n\t\t\n </p>\n \t \n</div>\n\n <div class=\"note\">\n \n <p>\n Supports masks for substitution in the file name\n and directory\n name with format strings that are\n enclosed by brackets\n ([\n and\n ]).\n The following format strings are supported:\n </p>\n \n <p>\n <code>\n [date:date format]\n </code>\n \n </p>\n \n <p>\n \n date format\n must be a valid Java data format string,\n e.g.\n yyyyMMddHHmmss\n ,\n yyyy-MM-dd.HHmmss\n etc.\n </p>\n \n <p>\n For further information on valid values for a dateformat string see\n <a href=\"http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html\">SimpleDateFormat</a>\n \n </p>\n \n \n <p>\n An example:\n </p>\n \n <p>\n <code>\n <param name=\"file\"\n value=\"sample/hello[date:yyyyMMdd].txt\"\n /> </code>\n \n </p>\n \n <p>\n On 2050-12-31 the parameter\n <code>file</code>\n contains the value\n <code>\"sample/hello20501231.txt\"</code>\n .\n \n </p>\n \n</div></div>" }, "file_spec": { "type": "String", "default": ".*", "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Regular Expression for filename filtering</p>\n \t\t \n <p>\n\t\t\tRegular Expression for file filtering.\n\t\t\tThe behaviour is CASE_INSENSITIVE.\n\t\t</p>\n \t\t \n <p>\n \t\t\tOnly effective if the parameter\n\t\t\t<i><code>source_file</code></i>\n\t\t\tis a directory.\n\t\t\n </p>\n \t \n</div>\n\n\t <div class=\"note\">\n \t\t \n <p>\n\t\tSome remarks on regular expression, used in JobScheduler and YADE.\n\t\t</p>\n \t\t \n <p>\n \t\t\tA regular expression is not a\n\t\t\t<a href=\"http://en.wikipedia.org/wiki/Wildcard_character#Files_and_directories\">wildcard</a>.\n\t\t\tTo get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will\n\t\t\tselect all filenames with the filename-extension \".txt\".\n\t\t\tA regular expression to match, e.g. works the same way, this \"wildcard\" must look like \"^.*\\.txt$\".\n\t\t\tThat looks a little bit strange but it is much more flexible and powerfull on filtering filenames\n\t\t\tthan the concept of wildcards, if one want to filter more complex names or pattern.\n\t\t\n </p>\n \t\t \n <p>\n \t The general syntax of an\n\t <a href=\"http://en.wikipedia.org/wiki/Regular_expression\">regular expression</a>, also referred to as regex or regexp,\n\t is described\n\t <a href=\"http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html\">\n\t here</a>.\n\t It is different to other RegExp definitions, e.g. as for Perl.\n\t\t\n </p>\n \t \n <p>\n \t \tFor further information on regular expressions see\n\t <a href=\"https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html\">java.util.regex.Pattern</a>\n\t \n </p>\n \t \n <p>\n\t \tIf you want (only part of the regex) to be case sensitive , then you have the option to use\n\t \tthe (?-i) and [optionally] (?i) mode modifiers: (?-i)G[a-b](?i).*\n\t\t</p>\n \t\t \n <p>\n\t\t\tIf you're dealing with Unicode characters besides ASCII, check whether or not your regex engine properly supports them.\n\t\t</p>\n \t \n \n</div>\n\n <div class=\"note\">\n \t\t \n <p>\n\t \tAs an extension of regular expression the [date:] variable is supported. Using this feature it is possible to create a regexp, which is\n\t \tdepending on the date with is defined in the date-format.\n\t </p>\n \t \n \n</div>\n\n <div class=\"note\">\n \n <p>\n Examples for regular expressions used for replacing:\n </p>\n \n <p>\n \n <table class=\"explanation\">\n \n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example Input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>~</td>\n <td>\"\"</td>\n <td>hallo.dat~</td>\n <td>hallo.dat</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>a.txt</td>\n <td>-</td>\n <td>[.]txt</td>\n <td>_2011-11-24.txt</td>\n <td>-</td>\n <td>a_2011-11-24.txt</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>.*</td>\n <td>[filename:] [date:yyyy-MM-dd].dat</td>\n <td>a.txt</td>\n <td>a.txt2011-11-24.dat</td>\n <td>[filename:] and [date:] will be substituted after file has\n been replaced\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*[.]txt</td>\n <td>a.*?b</td>\n <td>world</td>\n <td>a.1.b.txt.b</td>\n <td>world.txt.b</td>\n <td>.*? : ungreedy usage of .*</td>\n \n </tr>\n \n <tr>\n <td>abcdefg.txt</td>\n <td>-</td>\n <td>^(ab)cde(fg)[.]txt</td>\n <td>123;[date:yyyy-MM-dd]</td>\n <td>-</td>\n <td>123cde2011-11-24.txt</td>\n <td>; : separator between multiple replacements</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*dat$</td>\n <td>(ab)_c[0-9]d_(fg)</td>\n <td>group1;group2</td>\n <td>ab_c1d_fg. ab_c2d_fg.dat</td>\n <td>group1_c1d_group2. ab_c2d_fg.dat</td>\n <td>Only the first pattern match is replaced</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$</td>\n <td>tail</td>\n <td>aa_QU_061205_222334</td>\n <td>aa_QU_tail</td>\n <td>(?:...) : \"?:\" specifies a non capturing group. The file will\n not be replaced.\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>FILE.txt</td>\n <td>.*</td>\n <td>[filename:lowercase]_[filename:uppercase]_[filename:]</td>\n <td>FILE.txt</td>\n <td>file.txt_FILE.TXT_FILE.txt</td>\n <td>-</td>\n \n </tr>\n \n </table>\n \n <table class=\"explanation\" style=\"margin-top:10px\">\n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>target_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>create_dir</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>aaa/bbb/</td>\n <td>[directory:]/[date:yyyyMMdd]/</td>\n <td>hello.txt</td>\n <td>true</td>\n <td>[.]txt</td>\n <td>[date:yyyy].txt</td>\n <td>aaa/bbb/hello.txt</td>\n <td>aaa/bbb/20070316/hello2007.txt</td>\n <td>If the directory aaa/bbb/20070316 does not yet exist it will\n be created\n </td>\n \n </tr>\n \n </table>\n \n </p>\n \n <p>\n For further information see\n <a href=\"http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html\">java.util.regex.Pattern</a>\n \n </p>\n \n <p>\n For further information on date-patterns see:\n <a href=\"http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html\">java.util.regex.Pattern</a>\n \n </p>\n \n</div></div>" }, "gracious": { "type": "Boolean", "default": false, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Specify error message tolerance</p>\n \t\t \n <p>\n\t\t\tEnables or disables error messages that are caused by an empty result-set, which is the result of an operation, executed by the job.\n \t</p>\n \t \n</div></div>" }, "max_file_age": { "type": "Number", "default": 0, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Maximum age of a file</p>\n \n <p>\n Specifies the maximum age of a file.\n If a file is older, then it is deemed not to exist, it will be not included in the result-list.\n </p>\n \n</div>\n\n <div class=\"note\">\n \t \n <p>Valid values:</p>\n \t \n <table class=\"explanation\">\n \n\t\t \n <tr>\n \t\t\t <th>Value</th>\n\t\t\t <th>Description</th>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>0</td>\n\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>seconds</td>\n\t\t\t <td>no of seconds.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes</td>\n\t\t\t <td>01:15 is to read as \"1 hour and 15 minutes\".</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes:seconds</td>\n\t\t\t <td>01:15:10 is to read as \"1 hour, 15 minutes and 10 seconds\".</td>\n\t\t \n </tr>\n \t \n </table>\n \n</div></div>" }, "max_file_size": { "type": "Number", "default": -1, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">maximum size of a file</p>\n \t\t \n <p>\n\t\t\tSpecifies the maximum size of a file in bytes:\n\t\t\tshould the size of one of the files exceed this value, then it is classified as non-existing.\n\t\t</p>\n \t \n</div>\n\n <div class=\"note\">\n \t \n <p>valid values for file size are</p>\n \t\t \n <table class=\"explanation\">\n \t\t\t \n <tr>\n \t\t\t\t <th>Value</th>\n\t\t\t\t <th>Description</th>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>-1</td>\n\t\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>number</td>\n\t\t\t\t <td>a number stand for the size in byte, e.g. 40 means 40 bytes.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberKB</td>\n\t\t\t\t <td>a number with the chars \"KB\" stand for the size in kilobyte.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberMB</td>\n\t\t\t\t <td>a number with the chars \"MB\" stand for the size in megabyte.</td>\n\t\t\t \n </tr>\n \n <tr>\n <td>numberGB</td>\n <td>a number with the chars \"GB\" stand for the size in gigabyte.</td>\n \n </tr>\n \t\t \n </table>\n \n</div></div>" }, "min_file_age": { "type": "Number", "default": 0, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">minimum age of a file</p>\n \n <p>\n \tSpecifies the minimum age of a file.\n \tIf the file(s) is newer then it is classified as non-existing, it will be not included in the result-list.\n </p>\n \t \n</div>\n\n \t <div class=\"note\">\n \t \n <p>Valid values:</p>\n \t \n <table class=\"explanation\">\n \n\t\t \n <tr>\n \t\t\t <th>Value</th>\n\t\t\t <th>Description</th>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>0</td>\n\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>seconds</td>\n\t\t\t <td>no of seconds.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes</td>\n\t\t\t <td>01:15 is to read as \"1 hour and 15 minutes\".</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes:seconds</td>\n\t\t\t <td>01:15:10 is to read as \"1 hour, 15 minutes and 10 seconds\".</td>\n\t\t \n </tr>\n \t \n </table>\n \n</div></div>" }, "min_file_size": { "type": "Number", "default": -1, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">minimum size of one or multiple files </p>\n \t\t \n <p>\n\t\t\tSpecifies the minimum size of one or multiple files in bytes:\n\t\t\tshould the size of one of the files fall below this value, then it is not included in the result list of the operation.\n\t\t</p>\n \t \n</div>\n\n\t <div class=\"note\">\n \t \n <p>valid values for file size are</p>\n \t\t \n <table class=\"explanation\">\n \t\t\t \n <tr>\n \t\t\t\t <th>Value</th>\n\t\t\t\t <th>Description</th>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>-1</td>\n\t\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>number</td>\n\t\t\t\t <td>a number stand for the size in byte, e.g. 40 means 40 bytes.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberKB</td>\n\t\t\t\t <td>a number with the chars \"KB\" stand for the size in kilobyte.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberMB</td>\n\t\t\t\t <td>a number with the chars \"MB\" stand for the size in megabyte.</td>\n\t\t\t \n </tr>\n \n <tr>\n <td>numberGB</td>\n <td>a number with the chars \"GB\" stand for the size in gigabyte.</td>\n \n </tr>\n \t\t \n </table>\n \n</div></div>" }, "skip_first_files": { "type": "Number", "default": 0, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">number of files to remove from the top of the result-set</p>\n \n <p>\n The number of files are removed from the beginning of the set\n resulting by<i><code>sort_criteria</code></i>,<i><code>sort_order</code></i>\n These files are excluded from further operations.\n \n </p>\n \n <p>\n The result set is sorted according to the parameters:\n </p>\n \n <p>\n \n <ul>\n \n <li>\n <i><code>sort_criteria</code></i>\n \n </li>\n \n <li>\n <i><code>sort_order</code></i>\n \n </li>\n \n </ul>\n \n </p>\n \n</div></div>" }, "skip_last_files": { "type": "Number", "default": 0, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">number of files to remove from the top of the result-set</p>\n \n <p>\n The number of files are removed from the beginning of the set\n resulting by<i><code>sort_criteria</code></i>,<i><code>sort_order</code></i>\n These files are excluded from further operations.\n \n </p>\n \n <p>\n The result set is sorted according to the parameters:\n </p>\n \n <p>\n \n <ul>\n \n <li>\n <i><code>sort_criteria</code></i>\n \n </li>\n \n <li>\n <i><code>sort_order</code></i>\n \n </li>\n \n </ul>\n \n </p>\n \n</div></div>" }, "count_files": { "type": "Boolean", "default": false, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Return the size of resultset</p>\n \t\t \n <p>\n \t\t\tIf this parameter is set true \"<code>true</code>\" the number of matches\n\t\t\tis returned in the order parameter \"<i><code>fileoperations_result_set_size</code></i>\".\n\t\t\n </p>\n \t \n</div></div>" }, "create_dir": { "type": "Boolean", "default": false, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Create folder</p>\n \t\t \n <p>\n \t\t\tIf enabled the folder, which is specified as value of the parameter\n\t\t\t<i><code>target_file</code></i>, is checked for existence.\n\t\t\tIf <i><code>target_file</code></i> does not exist\n\t\t\t<i><code>target_file</code></i> will be created as a directory.\n\t\t\n </p>\n \t \n</div></div>" }, "recursive": { "type": "Boolean", "default": false, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Include subfolders in operation</p>\n \n <p>\n This parameter specifies wether files from subdirectories should be included recursively.\n </p>\n \n <p>\n Only effective if <i><code>file</code></i> is a directory.\n \n </p>\n \n <p>\n Regular expression matches apply to files from subdirectories\n as specified by the parameter <i><code>file_spec</code></i>.\n \n </p>\n \n</div></div>" }, "overwrite": { "type": "Boolean", "default": true, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Overwrite existing files</p>\n \t\t \n <p>\n\t\t\tThis parameter specifies wether existing files can be overwritten.\n\t\t</p>\n \t \n</div></div>" }, "replacing": { "type": "String", "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Regular expression for renaming Files</p>\n \t\t \n <p>\n \t\t\tRegular expression for filename replacement with\n\t\t\tthe value of the parameter <i><code>replacement</code></i>.\n\t\t\n </p>\n \t\t \n <p>\n\t\t\tIf the expression matches the filename then the groups found are replaced.\n\t\t</p>\n \t\t \n <p>\n\t\t\ta) For replacement \"capturing groups\" are used. Only the content of the\n\t\t\tcapturing groups is replaced.\n\t\t</p>\n \t\t \n <p>\n\t\t\tReplacements are separated by a semicolon \";\". Example:\n\t\t</p>\n \t\t \n <p>\n \t\t\t <i><code>replacing</code></i> = (1)abc(12)def(.*)\n\t\t\t\n <br>\n \t\t\t <i><code>replacement</code></i> = A;BB;CCC\n\t\t\t\n <br>\n \t\t\tName of original file: 1abc12def123.txt\n\t\t\t\n <br>\n \t\t\tName after renaming: AabcBBdefCCC\n\t\t\n </p>\n \t\t \n <p>\n \t\t\tb) If no \"capturing groups\" are specified then the entire match is\n\t\t\treplaced. Example:\n\t\t\t\n <br>\n \t\t\t <i><code>replacing</code></i> = Hello\n\t\t\t\n <br>\n \t\t\t <i><code>replacement</code></i> = 1234\n\t\t\t\n <br>\n \t\t\tInput file: Hello_World.txt\n\t\t\t\n <br>\n \t\t\tOutput file: 1234_World.txt\n\t\t\n </p>\n \t\t \n <p>\n \t\t\tRequires the parameter <i><code>replacement</code></i> to be specified.\n\t\t\n </p>\n \t \n</div>\n\n\t <div class=\"note\">\n \n <p>\n Examples for regular expressions used for replacing:\n </p>\n \n <p>\n \n <table class=\"explanation\">\n \n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example Input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>~</td>\n <td>\"\"</td>\n <td>hallo.dat~</td>\n <td>hallo.dat</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>a.txt</td>\n <td>-</td>\n <td>[.]txt</td>\n <td>_2011-11-24.txt</td>\n <td>-</td>\n <td>a_2011-11-24.txt</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>.*</td>\n <td>[filename:] [date:yyyy-MM-dd].dat</td>\n <td>a.txt</td>\n <td>a.txt2011-11-24.dat</td>\n <td>[filename:] and [date:] will be substituted after file has\n been replaced\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*[.]txt</td>\n <td>a.*?b</td>\n <td>world</td>\n <td>a.1.b.txt.b</td>\n <td>world.txt.b</td>\n <td>.*? : ungreedy usage of .*</td>\n \n </tr>\n \n <tr>\n <td>abcdefg.txt</td>\n <td>-</td>\n <td>^(ab)cde(fg)[.]txt</td>\n <td>123;[date:yyyy-MM-dd]</td>\n <td>-</td>\n <td>123cde2011-11-24.txt</td>\n <td>; : separator between multiple replacements</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*dat$</td>\n <td>(ab)_c[0-9]d_(fg)</td>\n <td>group1;group2</td>\n <td>ab_c1d_fg. ab_c2d_fg.dat</td>\n <td>group1_c1d_group2. ab_c2d_fg.dat</td>\n <td>Only the first pattern match is replaced</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$</td>\n <td>tail</td>\n <td>aa_QU_061205_222334</td>\n <td>aa_QU_tail</td>\n <td>(?:...) : \"?:\" specifies a non capturing group. The file will\n not be replaced.\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>FILE.txt</td>\n <td>.*</td>\n <td>[filename:lowercase]_[filename:uppercase]_[filename:]</td>\n <td>FILE.txt</td>\n <td>file.txt_FILE.TXT_FILE.txt</td>\n <td>-</td>\n \n </tr>\n \n </table>\n \n <table class=\"explanation\" style=\"margin-top:10px\">\n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>target_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>create_dir</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>aaa/bbb/</td>\n <td>[directory:]/[date:yyyyMMdd]/</td>\n <td>hello.txt</td>\n <td>true</td>\n <td>[.]txt</td>\n <td>[date:yyyy].txt</td>\n <td>aaa/bbb/hello.txt</td>\n <td>aaa/bbb/20070316/hello2007.txt</td>\n <td>If the directory aaa/bbb/20070316 does not yet exist it will\n be created\n </td>\n \n </tr>\n \n </table>\n \n </p>\n \n <p>\n For further information see\n <a href=\"http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html\">java.util.regex.Pattern</a>\n \n </p>\n \n <p>\n For further information on date-patterns see:\n <a href=\"http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html\">java.util.regex.Pattern</a>\n \n </p>\n \n</div></div>" }, "replacement": { "type": "String", "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">String for renaming Filenames </p>\n \n <p>\n String for replacement of matching character sequences within file names that are specified with the\n value of the parameter <i><code>replacing</code></i>.\n \n </p>\n \n <p>\n If multiple \"capturing groups\" are to be replaced then one replacement string per group has to be specified. \n These strings are separated by a semicolon \";\":\n </p>\n \n <p>\n replacement: aa;[filename:];bb\n </p>\n \n <p>\n Supports masks for substitution in the file name with format strings that are enclosed with\n <em>[</em>\n and\n <em>]</em>\n .\n The following format strings are supported:\n \n </p>\n \t\t\t \n <list type=\"unordered\">\n \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <code>\n\t\t\t\t\t\t\t[date:\n\t\t\t\t\t\t\t<em>date format</em>\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t</code>\n\t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <em>date format</em>\n\t\t\t\t\t\tmust be a valid Java data format string, e.g.\n\t\t\t\t\t\t\n <br>\n \t\t\t\t\t\t <em>yyyyMMddHHmmss</em>\n\t\t\t\t\t\t,\n\t\t\t\t\t\t<em>yyyy-MM-dd.HHmmss</em>\n\t\t\t\t\t\tetc.\n\t \n </p>\n \n </item>\n \t\t\t \n </list>\n \t\t\t \n <list type=\"unordered\">\n \n <item>\n \t \n <p>\n <code>[filename:]</code>\n \t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tWill be substituted by the original file name including the file extension.\n\t </p>\n \n </item>\n \t\t\t \n </list>\n \t\t\t \n <list type=\"def\">\n \n <item>\n \t \n <p>\n <code>[filename:lowercase]</code>\n\t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tWill be substituted by the original file name including the file extension \n\t\t\t\t\t\twith all characters converted to lower case.\n\t </p>\n \n </item>\n \t\t\t \n </list>\n \t\t\t \n <list type=\"def\">\n \n <item>\n \t \n <p>\n <code>[filename:uppercase]</code>\n\t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tWill be substituted by the original file name including the file extension \n\t\t\t\t\t\twith all characters converted to upper case.\n\t </p>\n \n </item>\n \t\t\t \n </list>\n \n <p>\n Requires the parameter\n <i><code>replacing</code></i>\n to be specified.\n \n </p>\n \n <p>\n \t\t\t \n <list type=\"unordered\">\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <i><code>replacing</code></i>\n\t\t\t\t\t\t= Hello\n\t\t\t\t\t\n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <i><code>replacement</code></i>\n\t\t\t\t\t\t= 1234\n\t\t\t\t\t\n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tInput file: Hello_World.txt\n\t\t\t\t\t</p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tOutput file: 1234_World.txt\n\t\t\t\t\t</p>\n \t\t\t\t \n </item>\n \t\t\t \n </list>\n \t\t \n </p>\n \t \n</div></div>" }, "sort_order": { "type": "String", "default": "asc", "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Sort order with which the result set will be sorted.</p>\n \n <p>\n Default: asc\n Possible values: asc | desc \n See: <i><code>sort_criteria</code></i>\n \n </p>\n \n</div></div>" }, "sort_criteria": { "type": "String", "default": "name", "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Sort criteria with which the result set will be sorted.</p>\n \n <p>\n Default: name\n Possible values: name | age | size\n See: <i><code>sort_order</code></i>\n \n </p>\n \n</div></div>" }, "expected_size_of_result_set": { "type": "Number", "default": 0, "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">number of expected hits in result-list</p>\n \t \n</div></div>" }, "raise_error_if_result_set_is": { "type": "String", "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">raise error on expected size of result-set</p>\n \t\t \n <p>\n\t\t\tWith this parameter it is possible to raise an error if the quantity of hits of the\n\t\t\tresult-list is according to the value of this parameter.\n\t\t</p>\n \t\t \n <p>\n\t\t\tAn example:\n\t\t</p>\n \t\t \n <p>\n\t\t\tAssuming, that the parameter \"raise_error_if_result_set_is=ne\" is defined and the parameter\n\t\t\t\"expected_size_of_result_set=1\" is specified as well. If the number of hits is not equal to \"1\"\n\t\t\tan error will raised.\n\t\t</p>\n \t \n</div></div>" }, "result_set_file": { "type": "String", "required": false, "description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Name of the result-list file</p>\n \t\t \n <p>\n\t\t\tIf the value of this parameter specifies a valid filename the result-list will be\n\t\t\twritten to this file.\n\t\t</p>\n \t \n</div></div>" } } }
{
"deliveryDate": "2022-09-13T13:19:30.731+00:00",
"docPath": "/sos/jitl-jobs/RenameFileJob.xml",
"docName": "RenameFileJob.xml",
"assignReference": "RenameFileJob",
"title": "Rename one or more files",
"javaClass": "com.sos.jitl.jobs.file.RenameFileJob",
"hasRequiredArguments": true,
"arguments": {
"source_file": {
"type": "String",
"required": true,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">File or Folder to be monitored</p>\n \n <p>Monitored file or directory.</p>\n \n</div>\n\n <div class=\"note\">\n \n <p>\n Supports masks for substitution in the file name\n and directory\n name with format strings that are\n enclosed by brackets\n ([\n and\n ]).\n The following format strings are supported:\n </p>\n \n <p>\n <code>\n [date:date format]\n </code>\n \n </p>\n \n <p>\n \n date format\n must be a valid Java data format string,\n e.g.\n yyyyMMddHHmmss\n ,\n yyyy-MM-dd.HHmmss\n etc.\n </p>\n \n <p>\n For further information on valid values for a dateformat string see\n <a href=\"http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html\">SimpleDateFormat</a>\n \n </p>\n \n \n <p>\n An example:\n </p>\n \n <p>\n <code>\n <param name=\"file\"\n value=\"sample/hello[date:yyyyMMdd].txt\"\n /> </code>\n \n </p>\n \n <p>\n On 2050-12-31 the parameter\n <code>file</code>\n contains the value\n <code>\"sample/hello20501231.txt\"</code>\n .\n \n </p>\n \n</div></div>"
},
"target_file": {
"type": "String",
"required": true,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Target-file or -folder</p>\n \t\t \n <p>Target file or directory</p>\n \t\t \n <p>\n \t\t\tIf the\n\t\t\t<i><code>target_file</code></i>\n\t\t\tis not specified, then the directory path of\n\t\t\t<i><code>source_file</code></i>\n\t\t\tis used as target.\n\t\t\n </p>\n \t \n</div>\n\n <div class=\"note\">\n \n <p>\n Supports masks for substitution in the file name\n and directory\n name with format strings that are\n enclosed by brackets\n ([\n and\n ]).\n The following format strings are supported:\n </p>\n \n <p>\n <code>\n [date:date format]\n </code>\n \n </p>\n \n <p>\n \n date format\n must be a valid Java data format string,\n e.g.\n yyyyMMddHHmmss\n ,\n yyyy-MM-dd.HHmmss\n etc.\n </p>\n \n <p>\n For further information on valid values for a dateformat string see\n <a href=\"http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html\">SimpleDateFormat</a>\n \n </p>\n \n \n <p>\n An example:\n </p>\n \n <p>\n <code>\n <param name=\"file\"\n value=\"sample/hello[date:yyyyMMdd].txt\"\n /> </code>\n \n </p>\n \n <p>\n On 2050-12-31 the parameter\n <code>file</code>\n contains the value\n <code>\"sample/hello20501231.txt\"</code>\n .\n \n </p>\n \n</div></div>"
},
"file_spec": {
"type": "String",
"default": ".*",
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Regular Expression for filename filtering</p>\n \t\t \n <p>\n\t\t\tRegular Expression for file filtering.\n\t\t\tThe behaviour is CASE_INSENSITIVE.\n\t\t</p>\n \t\t \n <p>\n \t\t\tOnly effective if the parameter\n\t\t\t<i><code>source_file</code></i>\n\t\t\tis a directory.\n\t\t\n </p>\n \t \n</div>\n\n\t <div class=\"note\">\n \t\t \n <p>\n\t\tSome remarks on regular expression, used in JobScheduler and YADE.\n\t\t</p>\n \t\t \n <p>\n \t\t\tA regular expression is not a\n\t\t\t<a href=\"http://en.wikipedia.org/wiki/Wildcard_character#Files_and_directories\">wildcard</a>.\n\t\t\tTo get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will\n\t\t\tselect all filenames with the filename-extension \".txt\".\n\t\t\tA regular expression to match, e.g. works the same way, this \"wildcard\" must look like \"^.*\\.txt$\".\n\t\t\tThat looks a little bit strange but it is much more flexible and powerfull on filtering filenames\n\t\t\tthan the concept of wildcards, if one want to filter more complex names or pattern.\n\t\t\n </p>\n \t\t \n <p>\n \t The general syntax of an\n\t <a href=\"http://en.wikipedia.org/wiki/Regular_expression\">regular expression</a>, also referred to as regex or regexp,\n\t is described\n\t <a href=\"http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html\">\n\t here</a>.\n\t It is different to other RegExp definitions, e.g. as for Perl.\n\t\t\n </p>\n \t \n <p>\n \t \tFor further information on regular expressions see\n\t <a href=\"https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html\">java.util.regex.Pattern</a>\n\t \n </p>\n \t \n <p>\n\t \tIf you want (only part of the regex) to be case sensitive , then you have the option to use\n\t \tthe (?-i) and [optionally] (?i) mode modifiers: (?-i)G[a-b](?i).*\n\t\t</p>\n \t\t \n <p>\n\t\t\tIf you're dealing with Unicode characters besides ASCII, check whether or not your regex engine properly supports them.\n\t\t</p>\n \t \n \n</div>\n\n <div class=\"note\">\n \t\t \n <p>\n\t \tAs an extension of regular expression the [date:] variable is supported. Using this feature it is possible to create a regexp, which is\n\t \tdepending on the date with is defined in the date-format.\n\t </p>\n \t \n \n</div>\n\n <div class=\"note\">\n \n <p>\n Examples for regular expressions used for replacing:\n </p>\n \n <p>\n \n <table class=\"explanation\">\n \n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example Input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>~</td>\n <td>\"\"</td>\n <td>hallo.dat~</td>\n <td>hallo.dat</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>a.txt</td>\n <td>-</td>\n <td>[.]txt</td>\n <td>_2011-11-24.txt</td>\n <td>-</td>\n <td>a_2011-11-24.txt</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>.*</td>\n <td>[filename:] [date:yyyy-MM-dd].dat</td>\n <td>a.txt</td>\n <td>a.txt2011-11-24.dat</td>\n <td>[filename:] and [date:] will be substituted after file has\n been replaced\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*[.]txt</td>\n <td>a.*?b</td>\n <td>world</td>\n <td>a.1.b.txt.b</td>\n <td>world.txt.b</td>\n <td>.*? : ungreedy usage of .*</td>\n \n </tr>\n \n <tr>\n <td>abcdefg.txt</td>\n <td>-</td>\n <td>^(ab)cde(fg)[.]txt</td>\n <td>123;[date:yyyy-MM-dd]</td>\n <td>-</td>\n <td>123cde2011-11-24.txt</td>\n <td>; : separator between multiple replacements</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*dat$</td>\n <td>(ab)_c[0-9]d_(fg)</td>\n <td>group1;group2</td>\n <td>ab_c1d_fg. ab_c2d_fg.dat</td>\n <td>group1_c1d_group2. ab_c2d_fg.dat</td>\n <td>Only the first pattern match is replaced</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$</td>\n <td>tail</td>\n <td>aa_QU_061205_222334</td>\n <td>aa_QU_tail</td>\n <td>(?:...) : \"?:\" specifies a non capturing group. The file will\n not be replaced.\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>FILE.txt</td>\n <td>.*</td>\n <td>[filename:lowercase]_[filename:uppercase]_[filename:]</td>\n <td>FILE.txt</td>\n <td>file.txt_FILE.TXT_FILE.txt</td>\n <td>-</td>\n \n </tr>\n \n </table>\n \n <table class=\"explanation\" style=\"margin-top:10px\">\n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>target_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>create_dir</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>aaa/bbb/</td>\n <td>[directory:]/[date:yyyyMMdd]/</td>\n <td>hello.txt</td>\n <td>true</td>\n <td>[.]txt</td>\n <td>[date:yyyy].txt</td>\n <td>aaa/bbb/hello.txt</td>\n <td>aaa/bbb/20070316/hello2007.txt</td>\n <td>If the directory aaa/bbb/20070316 does not yet exist it will\n be created\n </td>\n \n </tr>\n \n </table>\n \n </p>\n \n <p>\n For further information see\n <a href=\"http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html\">java.util.regex.Pattern</a>\n \n </p>\n \n <p>\n For further information on date-patterns see:\n <a href=\"http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html\">java.util.regex.Pattern</a>\n \n </p>\n \n</div></div>"
},
"gracious": {
"type": "Boolean",
"default": false,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Specify error message tolerance</p>\n \t\t \n <p>\n\t\t\tEnables or disables error messages that are caused by an empty result-set, which is the result of an operation, executed by the job.\n \t</p>\n \t \n</div></div>"
},
"max_file_age": {
"type": "Number",
"default": 0,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Maximum age of a file</p>\n \n <p>\n Specifies the maximum age of a file.\n If a file is older, then it is deemed not to exist, it will be not included in the result-list.\n </p>\n \n</div>\n\n <div class=\"note\">\n \t \n <p>Valid values:</p>\n \t \n <table class=\"explanation\">\n \n\t\t \n <tr>\n \t\t\t <th>Value</th>\n\t\t\t <th>Description</th>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>0</td>\n\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>seconds</td>\n\t\t\t <td>no of seconds.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes</td>\n\t\t\t <td>01:15 is to read as \"1 hour and 15 minutes\".</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes:seconds</td>\n\t\t\t <td>01:15:10 is to read as \"1 hour, 15 minutes and 10 seconds\".</td>\n\t\t \n </tr>\n \t \n </table>\n \n</div></div>"
},
"max_file_size": {
"type": "Number",
"default": -1,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">maximum size of a file</p>\n \t\t \n <p>\n\t\t\tSpecifies the maximum size of a file in bytes:\n\t\t\tshould the size of one of the files exceed this value, then it is classified as non-existing.\n\t\t</p>\n \t \n</div>\n\n <div class=\"note\">\n \t \n <p>valid values for file size are</p>\n \t\t \n <table class=\"explanation\">\n \t\t\t \n <tr>\n \t\t\t\t <th>Value</th>\n\t\t\t\t <th>Description</th>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>-1</td>\n\t\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>number</td>\n\t\t\t\t <td>a number stand for the size in byte, e.g. 40 means 40 bytes.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberKB</td>\n\t\t\t\t <td>a number with the chars \"KB\" stand for the size in kilobyte.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberMB</td>\n\t\t\t\t <td>a number with the chars \"MB\" stand for the size in megabyte.</td>\n\t\t\t \n </tr>\n \n <tr>\n <td>numberGB</td>\n <td>a number with the chars \"GB\" stand for the size in gigabyte.</td>\n \n </tr>\n \t\t \n </table>\n \n</div></div>"
},
"min_file_age": {
"type": "Number",
"default": 0,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">minimum age of a file</p>\n \n <p>\n \tSpecifies the minimum age of a file.\n \tIf the file(s) is newer then it is classified as non-existing, it will be not included in the result-list.\n </p>\n \t \n</div>\n\n \t <div class=\"note\">\n \t \n <p>Valid values:</p>\n \t \n <table class=\"explanation\">\n \n\t\t \n <tr>\n \t\t\t <th>Value</th>\n\t\t\t <th>Description</th>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>0</td>\n\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>seconds</td>\n\t\t\t <td>no of seconds.</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes</td>\n\t\t\t <td>01:15 is to read as \"1 hour and 15 minutes\".</td>\n\t\t \n </tr>\n \t\t \n <tr>\n \t\t\t <td>hours:minutes:seconds</td>\n\t\t\t <td>01:15:10 is to read as \"1 hour, 15 minutes and 10 seconds\".</td>\n\t\t \n </tr>\n \t \n </table>\n \n</div></div>"
},
"min_file_size": {
"type": "Number",
"default": -1,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">minimum size of one or multiple files </p>\n \t\t \n <p>\n\t\t\tSpecifies the minimum size of one or multiple files in bytes:\n\t\t\tshould the size of one of the files fall below this value, then it is not included in the result list of the operation.\n\t\t</p>\n \t \n</div>\n\n\t <div class=\"note\">\n \t \n <p>valid values for file size are</p>\n \t\t \n <table class=\"explanation\">\n \t\t\t \n <tr>\n \t\t\t\t <th>Value</th>\n\t\t\t\t <th>Description</th>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>-1</td>\n\t\t\t\t <td>The value of the parameter has no effect and the parameter is not part of the filter.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>number</td>\n\t\t\t\t <td>a number stand for the size in byte, e.g. 40 means 40 bytes.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberKB</td>\n\t\t\t\t <td>a number with the chars \"KB\" stand for the size in kilobyte.</td>\n\t\t\t \n </tr>\n \t\t\t \n <tr>\n \t\t\t\t <td>numberMB</td>\n\t\t\t\t <td>a number with the chars \"MB\" stand for the size in megabyte.</td>\n\t\t\t \n </tr>\n \n <tr>\n <td>numberGB</td>\n <td>a number with the chars \"GB\" stand for the size in gigabyte.</td>\n \n </tr>\n \t\t \n </table>\n \n</div></div>"
},
"skip_first_files": {
"type": "Number",
"default": 0,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">number of files to remove from the top of the result-set</p>\n \n <p>\n The number of files are removed from the beginning of the set\n resulting by<i><code>sort_criteria</code></i>,<i><code>sort_order</code></i>\n These files are excluded from further operations.\n \n </p>\n \n <p>\n The result set is sorted according to the parameters:\n </p>\n \n <p>\n \n <ul>\n \n <li>\n <i><code>sort_criteria</code></i>\n \n </li>\n \n <li>\n <i><code>sort_order</code></i>\n \n </li>\n \n </ul>\n \n </p>\n \n</div></div>"
},
"skip_last_files": {
"type": "Number",
"default": 0,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">number of files to remove from the top of the result-set</p>\n \n <p>\n The number of files are removed from the beginning of the set\n resulting by<i><code>sort_criteria</code></i>,<i><code>sort_order</code></i>\n These files are excluded from further operations.\n \n </p>\n \n <p>\n The result set is sorted according to the parameters:\n </p>\n \n <p>\n \n <ul>\n \n <li>\n <i><code>sort_criteria</code></i>\n \n </li>\n \n <li>\n <i><code>sort_order</code></i>\n \n </li>\n \n </ul>\n \n </p>\n \n</div></div>"
},
"count_files": {
"type": "Boolean",
"default": false,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Return the size of resultset</p>\n \t\t \n <p>\n \t\t\tIf this parameter is set true \"<code>true</code>\" the number of matches\n\t\t\tis returned in the order parameter \"<i><code>fileoperations_result_set_size</code></i>\".\n\t\t\n </p>\n \t \n</div></div>"
},
"create_dir": {
"type": "Boolean",
"default": false,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Create folder</p>\n \t\t \n <p>\n \t\t\tIf enabled the folder, which is specified as value of the parameter\n\t\t\t<i><code>target_file</code></i>, is checked for existence.\n\t\t\tIf <i><code>target_file</code></i> does not exist\n\t\t\t<i><code>target_file</code></i> will be created as a directory.\n\t\t\n </p>\n \t \n</div></div>"
},
"recursive": {
"type": "Boolean",
"default": false,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Include subfolders in operation</p>\n \n <p>\n This parameter specifies wether files from subdirectories should be included recursively.\n </p>\n \n <p>\n Only effective if <i><code>file</code></i> is a directory.\n \n </p>\n \n <p>\n Regular expression matches apply to files from subdirectories\n as specified by the parameter <i><code>file_spec</code></i>.\n \n </p>\n \n</div></div>"
},
"overwrite": {
"type": "Boolean",
"default": true,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Overwrite existing files</p>\n \t\t \n <p>\n\t\t\tThis parameter specifies wether existing files can be overwritten.\n\t\t</p>\n \t \n</div></div>"
},
"replacing": {
"type": "String",
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Regular expression for renaming Files</p>\n \t\t \n <p>\n \t\t\tRegular expression for filename replacement with\n\t\t\tthe value of the parameter <i><code>replacement</code></i>.\n\t\t\n </p>\n \t\t \n <p>\n\t\t\tIf the expression matches the filename then the groups found are replaced.\n\t\t</p>\n \t\t \n <p>\n\t\t\ta) For replacement \"capturing groups\" are used. Only the content of the\n\t\t\tcapturing groups is replaced.\n\t\t</p>\n \t\t \n <p>\n\t\t\tReplacements are separated by a semicolon \";\". Example:\n\t\t</p>\n \t\t \n <p>\n \t\t\t <i><code>replacing</code></i> = (1)abc(12)def(.*)\n\t\t\t\n <br>\n \t\t\t <i><code>replacement</code></i> = A;BB;CCC\n\t\t\t\n <br>\n \t\t\tName of original file: 1abc12def123.txt\n\t\t\t\n <br>\n \t\t\tName after renaming: AabcBBdefCCC\n\t\t\n </p>\n \t\t \n <p>\n \t\t\tb) If no \"capturing groups\" are specified then the entire match is\n\t\t\treplaced. Example:\n\t\t\t\n <br>\n \t\t\t <i><code>replacing</code></i> = Hello\n\t\t\t\n <br>\n \t\t\t <i><code>replacement</code></i> = 1234\n\t\t\t\n <br>\n \t\t\tInput file: Hello_World.txt\n\t\t\t\n <br>\n \t\t\tOutput file: 1234_World.txt\n\t\t\n </p>\n \t\t \n <p>\n \t\t\tRequires the parameter <i><code>replacement</code></i> to be specified.\n\t\t\n </p>\n \t \n</div>\n\n\t <div class=\"note\">\n \n <p>\n Examples for regular expressions used for replacing:\n </p>\n \n <p>\n \n <table class=\"explanation\">\n \n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example Input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>~</td>\n <td>\"\"</td>\n <td>hallo.dat~</td>\n <td>hallo.dat</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>a.txt</td>\n <td>-</td>\n <td>[.]txt</td>\n <td>_2011-11-24.txt</td>\n <td>-</td>\n <td>a_2011-11-24.txt</td>\n <td>-</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>.*</td>\n <td>[filename:] [date:yyyy-MM-dd].dat</td>\n <td>a.txt</td>\n <td>a.txt2011-11-24.dat</td>\n <td>[filename:] and [date:] will be substituted after file has\n been replaced\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*[.]txt</td>\n <td>a.*?b</td>\n <td>world</td>\n <td>a.1.b.txt.b</td>\n <td>world.txt.b</td>\n <td>.*? : ungreedy usage of .*</td>\n \n </tr>\n \n <tr>\n <td>abcdefg.txt</td>\n <td>-</td>\n <td>^(ab)cde(fg)[.]txt</td>\n <td>123;[date:yyyy-MM-dd]</td>\n <td>-</td>\n <td>123cde2011-11-24.txt</td>\n <td>; : separator between multiple replacements</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*dat$</td>\n <td>(ab)_c[0-9]d_(fg)</td>\n <td>group1;group2</td>\n <td>ab_c1d_fg. ab_c2d_fg.dat</td>\n <td>group1_c1d_group2. ab_c2d_fg.dat</td>\n <td>Only the first pattern match is replaced</td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>.*</td>\n <td>^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$</td>\n <td>tail</td>\n <td>aa_QU_061205_222334</td>\n <td>aa_QU_tail</td>\n <td>(?:...) : \"?:\" specifies a non capturing group. The file will\n not be replaced.\n </td>\n \n </tr>\n \n <tr>\n <td>./temp</td>\n <td>FILE.txt</td>\n <td>.*</td>\n <td>[filename:lowercase]_[filename:uppercase]_[filename:]</td>\n <td>FILE.txt</td>\n <td>file.txt_FILE.TXT_FILE.txt</td>\n <td>-</td>\n \n </tr>\n \n </table>\n \n <table class=\"explanation\" style=\"margin-top:10px\">\n \n <tr>\n <th>\n <code>source_file</code>\n </th>\n <th>\n <code>target_file</code>\n </th>\n <th>\n <code>file_spec</code>\n </th>\n <th>\n <code>create_dir</code>\n </th>\n <th>\n <code>replacing</code>\n </th>\n <th>\n <code>replacement</code>\n </th>\n <th>Example input</th>\n <th>Output</th>\n <th>Comment</th>\n \n </tr>\n \n <tr>\n <td>aaa/bbb/</td>\n <td>[directory:]/[date:yyyyMMdd]/</td>\n <td>hello.txt</td>\n <td>true</td>\n <td>[.]txt</td>\n <td>[date:yyyy].txt</td>\n <td>aaa/bbb/hello.txt</td>\n <td>aaa/bbb/20070316/hello2007.txt</td>\n <td>If the directory aaa/bbb/20070316 does not yet exist it will\n be created\n </td>\n \n </tr>\n \n </table>\n \n </p>\n \n <p>\n For further information see\n <a href=\"http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html\">java.util.regex.Pattern</a>\n \n </p>\n \n <p>\n For further information on date-patterns see:\n <a href=\"http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html\">java.util.regex.Pattern</a>\n \n </p>\n \n</div></div>"
},
"replacement": {
"type": "String",
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">String for renaming Filenames </p>\n \n <p>\n String for replacement of matching character sequences within file names that are specified with the\n value of the parameter <i><code>replacing</code></i>.\n \n </p>\n \n <p>\n If multiple \"capturing groups\" are to be replaced then one replacement string per group has to be specified. \n These strings are separated by a semicolon \";\":\n </p>\n \n <p>\n replacement: aa;[filename:];bb\n </p>\n \n <p>\n Supports masks for substitution in the file name with format strings that are enclosed with\n <em>[</em>\n and\n <em>]</em>\n .\n The following format strings are supported:\n \n </p>\n \t\t\t \n <list type=\"unordered\">\n \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <code>\n\t\t\t\t\t\t\t[date:\n\t\t\t\t\t\t\t<em>date format</em>\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t</code>\n\t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <em>date format</em>\n\t\t\t\t\t\tmust be a valid Java data format string, e.g.\n\t\t\t\t\t\t\n <br>\n \t\t\t\t\t\t <em>yyyyMMddHHmmss</em>\n\t\t\t\t\t\t,\n\t\t\t\t\t\t<em>yyyy-MM-dd.HHmmss</em>\n\t\t\t\t\t\tetc.\n\t \n </p>\n \n </item>\n \t\t\t \n </list>\n \t\t\t \n <list type=\"unordered\">\n \n <item>\n \t \n <p>\n <code>[filename:]</code>\n \t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tWill be substituted by the original file name including the file extension.\n\t </p>\n \n </item>\n \t\t\t \n </list>\n \t\t\t \n <list type=\"def\">\n \n <item>\n \t \n <p>\n <code>[filename:lowercase]</code>\n\t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tWill be substituted by the original file name including the file extension \n\t\t\t\t\t\twith all characters converted to lower case.\n\t </p>\n \n </item>\n \t\t\t \n </list>\n \t\t\t \n <list type=\"def\">\n \n <item>\n \t \n <p>\n <code>[filename:uppercase]</code>\n\t\t\t\t\t \n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tWill be substituted by the original file name including the file extension \n\t\t\t\t\t\twith all characters converted to upper case.\n\t </p>\n \n </item>\n \t\t\t \n </list>\n \n <p>\n Requires the parameter\n <i><code>replacing</code></i>\n to be specified.\n \n </p>\n \n <p>\n \t\t\t \n <list type=\"unordered\">\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <i><code>replacing</code></i>\n\t\t\t\t\t\t= Hello\n\t\t\t\t\t\n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n \t\t\t\t\t\t <i><code>replacement</code></i>\n\t\t\t\t\t\t= 1234\n\t\t\t\t\t\n </p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tInput file: Hello_World.txt\n\t\t\t\t\t</p>\n \t\t\t\t \n </item>\n \t\t\t\t \n <item>\n \t\t\t\t\t \n <p>\n\t\t\t\t\t\tOutput file: 1234_World.txt\n\t\t\t\t\t</p>\n \t\t\t\t \n </item>\n \t\t\t \n </list>\n \t\t \n </p>\n \t \n</div></div>"
},
"sort_order": {
"type": "String",
"default": "asc",
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Sort order with which the result set will be sorted.</p>\n \n <p>\n Default: asc\n Possible values: asc | desc \n See: <i><code>sort_criteria</code></i>\n \n </p>\n \n</div></div>"
},
"sort_criteria": {
"type": "String",
"default": "name",
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \n <p class=\"title\">Sort criteria with which the result set will be sorted.</p>\n \n <p>\n Default: name\n Possible values: name | age | size\n See: <i><code>sort_order</code></i>\n \n </p>\n \n</div></div>"
},
"expected_size_of_result_set": {
"type": "Number",
"default": 0,
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">number of expected hits in result-list</p>\n \t \n</div></div>"
},
"raise_error_if_result_set_is": {
"type": "String",
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">raise error on expected size of result-set</p>\n \t\t \n <p>\n\t\t\tWith this parameter it is possible to raise an error if the quantity of hits of the\n\t\t\tresult-list is according to the value of this parameter.\n\t\t</p>\n \t\t \n <p>\n\t\t\tAn example:\n\t\t</p>\n \t\t \n <p>\n\t\t\tAssuming, that the parameter \"raise_error_if_result_set_is=ne\" is defined and the parameter\n\t\t\t\"expected_size_of_result_set=1\" is specified as well. If the number of hits is not equal to \"1\"\n\t\t\tan error will raised.\n\t\t</p>\n \t \n</div></div>"
},
"result_set_file": {
"type": "String",
"required": false,
"description": "<div class=\"jitl-job-param\"><div class=\"note\">\n \t\t \n <p class=\"title\">Name of the result-list file</p>\n \t\t \n <p>\n\t\t\tIf the value of this parameter specifies a valid filename the result-list will be\n\t\t\twritten to this file.\n\t\t</p>\n \t \n</div></div>"
}
}
}
|