Users' Area

:: Generators Library

   > Measures File Reader

   > Labels File Reader

   > Mixed File Reader

   > Image Directory


:: Filters

:: Transformers

:: Aggregators

:: Inspectors

:: Serializers

Delimited File Reader Delimited Mixed File Reader (not yet released)

Authors Paolo Ciccarese
Institution Universita' degli Studi di Pavia
Release Date ? December 2007
Release Version 1.0
License Apache License 2.0
Previous Versions -

quantities for JDPF JDPF Fenerator JDPF Binary

Parameters

Name
Description
Type
Allowed Values
Default
InputFile The URL of the file to read. uri URI MANDATORY
TokensSeparator The regular expression that has to be used to tokenize the read line. string

'tab' or Java Regular Expression*

tab
LineFormat Defines the order of timestamp (t) and data (d) string { d, dt, td.} dt
TimestampFormat It established the format of the date/time value to read [1]. string Java DateFormat* MANDATORY if with timestap
UnitOfMeasure The unit of measure of data to read. string Unit of Measure * none
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 Delimited Mixed File Reader parametrization:

<jdpf:Parameters transitionId="generator0" logging="true">
    <jdpf:Parameter>
        <jdpf:Name>InputFile</jdpf:Name>
        <jdpf:Value>file:///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>LineFormat</jdpf:Name>
        <jdpf:Value>td</jdpf:Value>
    </jdpf:Parameter>
    <jdpf:Parameter>
        <jdpf:Name>UnitOfMeasure</jdpf:Name>
        <jdpf:Value>km/h</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>

Description

The Delimited Mixed File Reader is able to load files with simple numeric (int, long, float, double with the unit of measures) 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.

Allowed Input & Produced Output Data Types

Label
Supported data type(s)
Input none
Output org.jdpf.plugins.datatypes.basic.MixedDataSeries

Works With

The Delimited Mixed File Reader block works with all the block that accept as input a org.jdpf.plugins.datatypes.basic.MixedDataSeries. Thus:

Dependencies

As the Delimited Mixed File Reader has been devloped with the JDPF core plugins, the only dependency is with the core plugin:

Date Format Java DateFormat

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.

Date Format Java Regular Expressions

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

Date Format Unit of Measures