Project

General

Profile

Bug #4139 » EML200DataSetPortNamesDisplayedTwice.xml

Christopher Brooks, 09/23/2009 08:25 AM

 
1
<?xml version="1.0" standalone="no"?>
2
<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
3
    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
4
<entity name="EML200DataSetPortNamesDisplayedTwice" class="ptolemy.actor.TypedCompositeActor">
5
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
6
    </property>
7
    <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList">
8
    </property>
9
    <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:gamma.msi.ucsb.edu/OpenAuth/:203:287:3">
10
    </property>
11
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={355, 29, 931, 687}, maximized=false}">
12
    </property>
13
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[600, 538]">
14
    </property>
15
    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.953125">
16
    </property>
17
    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{300.0, 269.0}">
18
    </property>
19
    <entity name="EML 2 Dataset" class="org.ecoinformatics.seek.datasource.eml.eml2.Eml200DataSource">
20
        <property name="emlFilePath" class="ptolemy.data.expr.FileParameter" value="">
21
            <display name="EML File"/>
22
        </property>
23
        <property name="dataFilePath" class="ptolemy.data.expr.FileParameter" value="">
24
            <display name="Data File"/>
25
        </property>
26
        <property name="schemaDef" class="ptolemy.kernel.util.StringAttribute">
27
            <display name="Schema Definition"/>
28
            <property name="schemaDef" class="ptolemy.actor.gui.style.TextStyle">
29
                <property name="height" class="ptolemy.data.expr.Parameter" value="10">
30
                </property>
31
                <property name="width" class="ptolemy.data.expr.Parameter" value="30">
32
                </property>
33
            </property>
34
        </property>
35
        <property name="sqlDef" class="ptolemy.kernel.util.StringAttribute">
36
            <display name="SQL Command"/>
37
            <property name="sqlDef" class="ptolemy.actor.gui.style.TextStyle">
38
                <property name="height" class="ptolemy.data.expr.Parameter" value="10">
39
                </property>
40
                <property name="width" class="ptolemy.data.expr.Parameter" value="30">
41
                </property>
42
            </property>
43
        </property>
44
        <property name="selectedEntity" class="ptolemy.data.expr.StringParameter" value="">
45
            <display name="Selected Entity"/>
46
        </property>
47
        <property name="dataOutputFormat" class="ptolemy.data.expr.StringParameter" value="As Field">
48
            <display name="Data Output Format"/>
49
        </property>
50
        <property name="fileExtensionFilter" class="ptolemy.data.expr.StringParameter" value="">
51
            <display name="File Extension Filter"/>
52
        </property>
53
        <property name="isLenient" class="ptolemy.data.expr.Parameter" value="false">
54
            <display name="Allow lenient data parsing"/>
55
        </property>
56
        <property name="checkVersion" class="ptolemy.data.expr.Parameter" value="false">
57
            <display name="Check for latest version"/>
58
        </property>
59
        <property name="_tableauFactory" class="org.kepler.objectmanager.data.db.QBTableauFactory">
60
            <property name="sqlName" class="ptolemy.kernel.util.StringAttribute" value="sqlDef">
61
            </property>
62
            <property name="schemaName" class="ptolemy.kernel.util.StringAttribute" value="schemaDef">
63
            </property>
64
        </property>
65
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
66
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
67
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>matt jones, jing tao, chad</configure></property>
68
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
69
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The EML2Dataset actor provides access to a wide variety of data packages that have been described using EML (Ecological Metadata Language). The actor accesses an EML dataset and handles the mechanical issues involved in parsing metadata, downloading the dataset (if applicable), and emitting data to downstream actors.&lt;/p&gt;&#10;&#10;&lt;p&gt;Each data package contains an EML metadata description and one or more data entities (e.g., data tables, spatial raster images, spatial vector images). The EML metadata allows the described data to be easily ingested into Kepler and exposed for use in downstream components. The data packages can be accessed from the local file system or through any EcoGrid server that provides access to its collection of data objects. The supported data transfer protocols include http, ftp, file, ecogrid, and srb. &lt;/p&gt;&#10;&#10;&lt;p&gt;After parsing the EML metadata, the actor automatically reconfigures its exposed ports to provide one port for each attribute described by the first entity of the EML description. For example, if the first entity is a data table with four columns, the ports might be &quot;Site&quot;, &quot;Date&quot;, &quot;Plot&quot;, and &quot;Rainfall.&quot; These details are obtained from the EML document. To preview the data, right-click the actor icon and select Preview from the drop-down menu.&lt;/p&gt;&#10;&#10;&lt;p&gt;By default, the ports created by the EML2Dataset actor represent data fields, and one tuple of data (e.g., one database row) is emitted on these ports each time the actor fires. Alternatively, the actor can be configured so that the ports represent an array of field values (&quot;AsColumnVector&quot;), or so that the ports represent an entire table of data (&quot;AsTable&quot;). Data tables are formatted in comma-separated-value (CSV) format.&lt;/p&gt;&#10;&#10;&lt;p&gt;If more than one data entity is described in the EML metadata, then the output of the actor defaults to the first entity listed in the EML. To select the other entities, specify an entity with the Selected parameter, or use the Query Builder to describe the filter and join that should be used to produce the data output. To use the Query Builder, right-click the actor and select &quot;Open Actor.&quot; Specify the fields to be output and any filtering constraints to be applied.&lt;/p&gt;</configure></property>
70
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Output ports are automatically configured to provide one port for each attribute in the first entity described in the EML description. For example, if the first entity is a data table with four columns, the ports might be &quot;Site&quot;, &quot;Date&quot;, &quot;Plot&quot;, and &quot;Rainfall.&quot; These details are obtained from the EML document.</configure></property>
71
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time.</configure></property>
72
<property name="prop:isLenient" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If this parameter is selected, &quot;extra&quot; columns of data (e.g., comments that people have entered on a line or something of that nature) that are not described in the metadata are ignored, allowing the workflow to execute. If the option is unchecked (the default), the workflow execution will halt until the discrepancy between the data and metadata is corrected.</configure></property>
73
<property name="prop:checkVersion" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select this parameter to check the EarthGrid for updates to the data. If the actor finds a version of the data that is more recent than the cached data on your local system, the actor will prompt the user to either download the latest data and metadata or ignore the newer version. Note that different versions of the data can have vastly different structures (new columns, or even new tables of data might be included or removed). If this parameter is selected, users should be prepared to handle changes that might arise from differences in the data structure.</configure></property>
74
<property name="prop:dataOutputFormat" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify which ports are created for the actor and what data is emitted on those ports during each fire cycle. For example, this field can be configured to produce one port for each column in a data table, or one port that emits the entire data table at once in CSV format. Specifically, the output format choices are:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt;As Field (the default)&lt;/td&gt;&lt;td&gt; The actor creates one output port for each field (i.e., column/attribute/variable) that is described in the EML metadata for the data package. The type of each port (e.g., string, int, double, etc.) matches the base type of the field. If a query statement has been used to subset the data, then only those fields selected in the query statement will be configured as ports. &lt;/td&gt;&lt;/tr&gt;&#10;&#10;&lt;tr&gt;&lt;td&gt;As Table&lt;/td&gt;&lt;td&gt; The selected data will be output as a string that contains the entire entity data. The actor creates three output ports: DataTable - the data itself, Delimiter - delimiter to separate fields, and NumColumns - the number of fields in the table. &lt;/td&gt;&lt;/tr&gt;&#10;&#10;&lt;tr&gt;&lt;td&gt;As Row&lt;/td&gt;&lt;td&gt;  One tuple of selected data is formatted as an array and output. The actor creates one output port (DataRow), and the data type is a record containing each of the individual data fields. &lt;/td&gt;&lt;/tr&gt;&#10;&#10;&lt;tr&gt;&lt;td&gt;As Byte Array&lt;/td&gt;&lt;td&gt; Selected data will be output as an array of bytes. The actor creates two output ports: BinaryData - contains the raw data itself, and EndOfStream - indicates whether the end of data stream has been reached.&lt;/td&gt;&lt;/tr&gt; &#10;&#10;&lt;tr&gt;&lt;td&gt;As UnCompressed File Name&lt;/td&gt;&lt;td&gt; This format is only used when the data package is a compressed file (zip, tar, et al). The compressed archive file is uncompressed after it is downloaded. The actor creates one output port, which contains an array of the filenames of all of the uncompressed archive files. If a FileExtensionFilter is specified, then the array will only contain files that match the specified extension.&lt;/td&gt;&lt;/tr&gt; &#10;&#10;&lt;tr&gt;&lt;td&gt;As Cache File Name&lt;/td&gt;&lt;td&gt;   Kepler stores data files downloaded from remote sites into its cache system. This output format will send the local cache file path for the data package so that workflow designers can directly access the cache files. The actor creates two output ports: CacheLocalFileName (the local file path) and CacheResourceName (the EML data link. e.g., ecogrid://knb/tao.2.1).&lt;/td&gt;&lt;/tr&gt; &#10;&#10;&lt;tr&gt;&lt;td&gt;As Column Vector&lt;/td&gt;&lt;td&gt; This output format is similar to &quot;As Field&quot;, except instead of sending out a single value on each port, the actor sends out an array of all of the data for each field. The type of each port is an array of the base type for the field.&lt;/td&gt;&lt;/tr&gt;&#10;&#10;&lt;tr&gt;&lt;td&gt;As ColumnBased Record&lt;/td&gt;&lt;td&gt;  This output format sends all data on one port using a record structure that encapsulates the entire data entity. The record will contain one array for each data field, and the type of each array will be determined by the type of the field it represents.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&#10;</configure></property>
75
<property name="prop:selectedEntity" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If this EML data package has multiple entities, the selectedEntity parameter specifies which entity should be output. When this parameter is unset (the default), data from the first entity described in an EML package is output. This parameter is only used if no query statement is specified, or if a query statement is used and the output format is one of &quot;As Table&quot;, &quot;As Byte Array&quot;, &quot;As Uncompressed File Name&quot;, and &quot;As Cache File Name&quot;. To specify a query statement, right-click the actor and select Open Actor.</configure></property>
76
<property name="prop:emlFilePath" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The file path of a local EML metadata file used to describe and access an EML data set.</configure></property>
77
<property name="prop:fileExtensionFilter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A file extension used to limit the array of file names returned by the actor when the selected output type is &quot;As UnCompressed File Name&quot;. This parameter is ignored for other output types.</configure></property>
78
<property name="prop:dataFilePath" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The path to a local data file described by EML (must be used in conjunction with a local EML file). The actor will retrieve the data and automatically configure its ports to output it.</configure></property>
79
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:119:1">
80
        </property>
81
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.ecoinformatics.seek.datasource.eml.eml2.Eml200DataSource">
82
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:988:1">
83
            </property>
84
        </property>
85
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ExternalInputActor">
86
        </property>
87
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
88
        </property>
89
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#RemoteInput">
90
        </property>
91
        <property name="semanticType33" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#XMLProcessor">
92
        </property>
93
        <property name="_location" class="ptolemy.kernel.util.Location" value="{255, 255}">
94
        </property>
95
        <port name="output" class="ptolemy.actor.TypedIOPort">
96
            <property name="output"/>
97
            <property name="_hide" class="ptolemy.data.expr.SingletonParameter" value="true">
98
            </property>
99
        </port>
100
    </entity>
101
    <entity name="String Replace" class="ptolemy.actor.lib.string.StringReplace">
102
        <property name="pattern" class="ptolemy.actor.parameters.PortParameter" value="">
103
        </property>
104
        <property name="replacement" class="ptolemy.actor.parameters.PortParameter" value="">
105
        </property>
106
        <property name="stringToEdit" class="ptolemy.actor.parameters.PortParameter" value="">
107
        </property>
108
        <property name="replaceAll" class="ptolemy.data.expr.Parameter" value="true">
109
        </property>
110
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
111
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
112
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure> Antonio Yordan-Nones, Neil E. Turner, Edward A. Lee</configure></property>
113
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
114
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringReplace actor reads a string and searches it for a specified pattern. The actor replaces either the first instance of the pattern or all occurrences of the pattern with a specified replacement string. The actor outputs the edited string.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor accepts a source string, a replacement string, and a pattern to search for via either its input ports or its parameters. The pattern is specified as a regular expression. For more information about regular expressions, see http://java.sun.com/docs/books/tutorial/extra/regex/index.html.&lt;/p&gt;&#10;&#10;&lt;p&gt;If  the replaceAll parameter is specified, the actor will replace all instances of the string that match the specified pattern. Otherwise, the actor will replace only the first instance that matches. &lt;/p&gt;&#10;&#10;&lt;p&gt;If the actor finds no match, then the actor outputs the original source string, unchanged.&lt;/p&gt; &#10;</configure></property>
115
<property name="port:stringToEdit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A port that accepts a source string. The actor will edit the string according to the settings specified by the pattern, replacement, and replaceAll parameters.The source string may also be specified with the stringToEdit parameter</configure></property>
116
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the edited string. </configure></property>
117
<property name="port:replacement" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A port accepts a replacement string that replaces any matched instance of the specified pattern. The default is an empty string. The replacement string may also be specified via the replacement parameter.</configure></property>
118
<property name="port:pattern" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A port that accepts a regular expression, which is compared to the input string. The default is an empty string. The regular expression may also be specified via the pattern parameter.</configure></property>
119
<property name="prop:replaceAll" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether or not to replace all instances that match the pattern. By default, the actor will replace all instances. Deselect the parameter to replace only the first instance.</configure></property>
120
<property name="prop:stringToEdit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A source string. The actor will edit the string based on the settings specified by the pattern, replacement, and replaceAll parameters. The source string may  be specified via either the stringToEdit port or parameter.</configure></property>
121
<property name="prop:replacement" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A replacement string that replaces any matched instance of the specified pattern. The default is an empty string. The replacement string may  be specified via either the replacement port or parameter.</configure></property>
122
<property name="prop:pattern" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A regular expression, which is compared to the input string. The default is an empty string. The regular expression may  be specified via either the pattern port or parameter.</configure></property>
123
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:98:1">
124
        </property>
125
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.string.StringReplace">
126
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:972:1">
127
            </property>
128
        </property>
129
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
130
        </property>
131
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataStringOperation">
132
        </property>
133
        <property name="_location" class="ptolemy.kernel.util.Location" value="{250, 330}">
134
        </property>
135
        <port name="pattern" class="ptolemy.actor.parameters.ParameterPort">
136
            <property name="input"/>
137
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
138
            </property>
139
        </port>
140
        <port name="replacement" class="ptolemy.actor.parameters.ParameterPort">
141
            <property name="input"/>
142
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
143
            </property>
144
        </port>
145
        <port name="stringToEdit" class="ptolemy.actor.parameters.ParameterPort">
146
            <property name="input"/>
147
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
148
            </property>
149
        </port>
150
    </entity>
151
</entity>
(3-3/3)