Build a better solution reusing community experience.
| Authors | Paolo Ciccarese |
| Institution | Universita' degli Studi di Pavia |
| Release Date | 30th November 2007 |
| Release Version | 1.0 |
| License | - |
| Previous Versions | - |
Name |
Description |
Type |
Allowed Values | Default |
|---|---|---|---|---|
| InputFile | The URL of the file to read. | string | URL | MANDATORY |
| Separator | The regular expression that has to be used to tokenize the read line. | string |
'tab' or Java Regular Expression* |
true |
| IsTimestampFirst | Flag that indicates if the timestamp is in the first place in the read line or not. | string | { true, false } | true |
| TimestampFormat | It established the format of the date/time value to read [1]. | string | Java DateFormat* | MANDATORY if with timestap |
| DataFormat | It specifies the format of the data that have to be read [2]. | string | { string, int, long, float, double } | MANDATORY |
[1] If the timestamp is present the TimeStampFormat parameter has to be present and encoding according to the Java DateFormat specifications.
[2] If the format is numeric the generator will read the data and will try to convert it to the specified numeric kind. If a numeric type is declared and the data is not numeric, an exception will be thrown and the task execution will be terminated. If the format is string. the content will be taken as it is.
Example of Simple File Generator parametrization:
<jdpf:Parameters transitionId="generator0" logging="true">
<jdpf:Parameter>
<jdpf:Name>InputFile</jdpf:Name>
<jdpf:Value>C:\JDPF\TestingExamples\data-12.txt</jdpf:Value>
</jdpf:Parameter>
<jdpf:Parameter>
<jdpf:Name>TokensSeparator</jdpf:Name>
<jdpf:Value>tab</jdpf:Value>
</jdpf:Parameter>
<jdpf:Parameter>
<jdpf:Name>DataFormat</jdpf:Name>
<jdpf:Value>string</jdpf:Value>
</jdpf:Parameter>
<jdpf:Parameter>
<jdpf:Name>IsTimestampFirst</jdpf:Name>
<jdpf:Value>TRUE</jdpf:Value>
</jdpf:Parameter>
<jdpf:Parameter>
<jdpf:Name>TimestampFormat</jdpf:Name>
<jdpf:Value>yyyy.MM.dd HH:mm:ss</jdpf:Value>
</jdpf:Parameter>
</jdpf:Parameters>
You may notice that we are using both 'TRUE' and 'true', boolean values are not case sensitive.
The Simple File Generator is able to load files with simple numeric (int, long, float, double) or textual data with or without timestamp. The algorithm read a line of the file and split the tokens through the separator (which is a tab if not specified). If more than one tokens are present the generator will try to create a series of timestamped data, otherwise it will produce a series of simple data. In both cases, data are produced according to the data format.
Label |
Supported data type(s) |
|---|---|
| Input | none |
| Output | org.jdpf.plugins.datatypes.basic.MeasureSeries |
The Simple File Generator block works with all the block that accept as input a org.jdpf.plugins.datatypes.basic.MeasureSeries. Thus:
As the Simple File Generator has been devloped with the JDPF core plugins, the only dependency is with the core plugin:
The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):
| Letter | Date or Time Component | Presentation | Examples |
|---|---|---|---|
G
| Era designator | Text | AD
|
y
| Year | Year | 1996; 96
|
M
| Month in year | Month | July; Jul; 07
|
w
| Week in year | Number | 27
|
W
| Week in month | Number | 2
|
D
| Day in year | Number | 189
|
d
| Day in month | Number | 10
|
F
| Day of week in month | Number | 2
|
E
| Day in week | Text | Tuesday; Tue
|
a
| Am/pm marker | Text | PM
|
H
| Hour in day (0-23) | Number | 0
|
k
| Hour in day (1-24) | Number | 24
|
K
| Hour in am/pm (0-11) | Number | 0
|
h
| Hour in am/pm (1-12) | Number | 12
|
m
| Minute in hour | Number | 30
|
s
| Second in minute | Number | 55
|
S
| Millisecond | Number | 978
|
z
| Time zone | General time zone | Pacific Standard Time; PST; GMT-08:00
|
Z
| Time zone | RFC 822 time zone | -0800
|
Some examples:
| Date and Time Pattern | Result |
|---|---|
"yyyy.MM.dd G 'at' HH:mm:ss z"
| 2001.07.04 AD at 12:08:56 PDT
|
"EEE, MMM d, ''yy"
| Wed, Jul 4, '01
|
"h:mm a"
| 12:08 PM
|
"hh 'o''clock' a, zzzz"
| 12 o'clock PM, Pacific Daylight Time
|
"K:mm a, z"
| 0:08 PM, PDT
|
"yyyyy.MMMMM.dd GGG hh:mm aaa"
| 02001.July.04 AD 12:08 PM
|
"EEE, d MMM yyyy HH:mm:ss Z"
| Wed, 4 Jul 2001 12:08:56 -0700
|
"yyMMddHHmmssZ"
| 010704120856-0700
|
For more info click here.
The following are some examples of regular-expression constructs (for the complete list click here):
| Construct | Matches |
|---|---|
| Characters | |
| x | The character x |
| \\ | The backslash character |
| \t | The tab character ('\u0009') |
| Character classes | |
| [abc] | a, b, or c (simple class) |
| [^abc] | Any character except a, b, or c (negation) |
| [a-zA-Z] | a through z or A through Z, inclusive (range) |
| [a-d[m-p]] | a through d, or m through p: [a-dm-p] (union) |
| [a-z&&[def]] | d, e, or f (intersection) |
| [a-z&&[^bc]] | a through z, except for b and c: [ad-z] (subtraction) |
| [a-z&&[^m-p]] | a through z, and not m through p: [a-lq-z](subtraction) |
| Greedy quantifiers | |
| X? | X, once or not at all |
| X* | X, zero or more times |
| X+ | X, one or more times |
| X{n} | X, exactly n times |
| X{n,} | X, at least n times |
| X{n,m} | X, at least n but not more than m times |
| Possessive quantifiers | |
| X?+ | X, once or not at all |
| X*+ | X, zero or more times |
| X++ | X, one or more times |
| X{n}+ | X, exactly n times |
| X{n,}+ | X, at least n times |
| X{n,m}+ | X, at least n but not more than m times |
| Logical operators | |
| XY | X followed by Y |
| X|Y | Either X or Y |
Some examples:
| Construct | Matches |
|---|---|