[seek-dev] [Bug 2649] New: - Ecogrid returnfields don't return enough information

bugzilla-daemon@ecoinformatics.org bugzilla-daemon at ecoinformatics.org
Wed Nov 8 10:21:16 PST 2006


http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2649

           Summary: Ecogrid returnfields don't return enough information
           Product: SEEK
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: ecogrid
        AssignedTo: jones at nceas.ucsb.edu
        ReportedBy: berkley at nceas.ucsb.edu
         QAContact: seek-dev at ecoinformatics.org


When using returnfields in an ecogrid query, the original xpath used in the
returnfield is not returned with the results, making it very difficult to parse
the results.  When a query is submited, a ResultsetTypeRecordReturnfield object
is returned.  This object only has two useful methods: get_value() and getId().
 I thought getId() would return the original xpath query used to create the
returnfield, but instead it returns a cryptic identifier starting with 'f' then
a number.  

Example:
Given these returnfields:
<returnField>/entity/@name</returnField>
<returnField>/entity/property/@name</returnField>
<returnField>/entity/property/@value</returnField>

And this input document:

<entity name="Variable Setter" class="ptolemy.kernel.ComponentEntity">
  <property name="entityId" value="urn:lsid:kepler-project.org:actor:10:2"   
            class="org.kepler.moml.NamedObjId"/>
  <property name="documentation"
class="org.kepler.moml.DocumentationAttribute">
    null
  </property>

  <property name="class" value="ptolemy.actor.lib.SetVariable" 
            class="ptolemy.kernel.util.StringAttribute">
    <property name="id" value="null" 
              class="ptolemy.kernel.util.StringAttribute"/>
  </property>

  <property name="kepler:input" class="org.kepler.moml.PortAttribute">
    <property name="direction" value="input" 
              class="ptolemy.kernel.util.StringAttribute"/>
    <property name="dataType" value="unknown" 
              class="ptolemy.kernel.util.StringAttribute"/>
    <property name="isMultiport" value="false" 
              class="ptolemy.kernel.util.StringAttribute"/>
  </property>

  <property name="variableName" class="ptolemy.kernel.util.StringAttribute" 
            value="parameter">
  </property>
  <property name="delayed" class="ptolemy.data.expr.Parameter" value="true">
  </property>
  <property name="semanticType000" class="org.kepler.sms.SemanticType" 
            value="urn:lsid:localhost:onto:1:1#Variable">
  </property>
  <property name="semanticType111" class="org.kepler.sms.SemanticType" 
            value="urn:lsid:localhost:onto:2:1#LocalInput">
  </property>
  <property name="_location" class="ptolemy.kernel.util.Location" 
            value="{250, 300}">
  </property>
  <property name="karId" class="ptolemy.kernel.util.StringAttribute" 
            value="urn:lsid:kepler-project.org:kar:11:1">
  </property>
</entity>

You will get returnfields (in the format getId():get_value()) like this:
returnfield: f0:Variable Setter
returnfield: f1:entityId
returnfield: f2:urn:lsid:kepler-project.org:actor:10:2
returnfield: f1:documentation
returnfield: f1:class
returnfield: f2:ptolemy.actor.lib.SetVariable
returnfield: f1:kepler:input
returnfield: f1:variableName
returnfield: f2:parameter
returnfield: f1:delayed
returnfield: f2:true
returnfield: f1:semanticType000
returnfield: f2:urn:lsid:localhost:onto:1:1#Variable
returnfield: f1:semanticType111
returnfield: f2:urn:lsid:localhost:onto:2:1#LocalInput
returnfield: f1:_location
returnfield: f2:{250, 300}
returnfield: f1:karId
returnfield: f2:urn:lsid:kepler-project.org:kar:11:1

Instead, there either needs to be a new method, getQuery(), that would return
the query for each field, or the getId() should return the query or some other
more meaninful identifier.


More information about the Seek-dev mailing list