[kepler-dev] fileOrURLPort broken in BinaryFileReader ?

Tristan King tristan.king at jcu.edu.au
Mon Feb 6 16:04:16 PST 2006


Oh, another thing I needed to do was comment out the if statement in the
prefire() method so it just returns super.prefire() in all cases. I also
changed the line if (_reader == null) in postfire() to if (_reader ==
null || _reachedEOF). These changes fixed a problem where the actor
would throw an exception if I tried to run the workflow a 2nd time.

On Tue, 2006-02-07 at 09:35 +1000, Tristan King wrote:
> Thanks Dan, that works for now.
> just one note: the FileParameter is always overwritten when a value is
> input thru the IOPort (i.e. the value in the Actor properties is
> changed), not sure if that is the desired functionality or not, but I
> can see cases where it might get annoying.
> 
> --Tristan
> 
> On Mon, 2006-02-06 at 12:13 -0800, Dan Higgins wrote:
> > Hi Tristan,
> >     I certainly see the same err that you reported - namely that 
> > specifying the file name on the port never transfers the file name to 
> > the internal parameter!
> > 
> >     The problem seems to be in the 'if (fileOrURLPort.hasToken(0)) {' 
> > statement in the '_openAndReadFirstBytes' method. No token is being 
> > retreived. I think that the problem is that this method is being called 
> > in the initialize and preinitialze methods and tokens are not present 
> > yet when these are fired. I commmented out the calls to 
> > openAndReadFirstBytes in these methods and added it to the very top of 
> > the fire method and everything worked OK!
> > 
> >     I will defer to Efrat to take a look and see if my conclusion is 
> > correct, since this is a GEON actor.
> > 
> > Dan Higgins
> > NCEAS
> > 
> > Tristan King wrote:
> > 
> > >Hi,
> > >
> > >I can't seem to get the BinaryFileReader actor to read any files passed
> > >to it by the fileOrURLPort. Even a basic workflow like the one attached
> > >doesn't seem to work, the file reader always reads the file specified in
> > >the FileOrURL Parameter.
> > >
> > >Is there something I'm doing wrong? or am I misunderstanding the use of
> > >the fileOrURLPort ?
> > >
> > >Thanks
> > >--Tristan
> > >
> > >  
> > >
> > >------------------------------------------------------------------------
> > >
> > ><?xml version="1.0" standalone="no"?>
> > ><!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
> > >    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
> > ><entity name="bfr-test" class="ptolemy.actor.TypedCompositeActor">
> > >    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="5.1-alpha">
> > >    </property>
> > >    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
> > >        <property name="_svgIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>../kepler-docs/dev/usability/graphics/svg/director.svg</configure>
> > >        </property>
> > >        <property name="_thumbnailRasterIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>/actorthumbs/director-sm.gif</configure>
> > >        </property>
> > >        <property name="timeResolution" class="ptolemy.moml.SharedParameter" value="1E-10">
> > >        </property>
> > >        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:director:1:1">
> > >        </property>
> > >        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.sdf.kernel.SDFDirector">
> > >            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:directorclass:1:1">
> > >            </property>
> > >        </property>
> > >        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Director">
> > >        </property>
> > >        <property name="_location" class="ptolemy.kernel.util.Location" value="{115, 210}">
> > >        </property>
> > >    </property>
> > >    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={214, 116, 852, 792}, maximized=false}">
> > >    </property>
> > >    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[600, 659]">
> > >    </property>
> > >    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0">
> > >    </property>
> > >    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{300.0, 329.5}">
> > >    </property>
> > >    <entity name="Display" class="ptolemy.actor.lib.gui.Display">
> > >        <property name="_svgIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>../kepler-docs/dev/usability/graphics/svg/text_disp.svg</configure>
> > >        </property>
> > >        <property name="_thumbnailRasterIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>/actorthumbs/text_disp-sm.gif</configure>
> > >        </property>
> > >        <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter" value="10">
> > >        </property>
> > >        <property name="columnsDisplayed" class="ptolemy.data.expr.Parameter" value="40">
> > >        </property>
> > >        <property name="suppressBlankLines" class="ptolemy.data.expr.Parameter" value="false">
> > >        </property>
> > >        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={426, 405, 428, 214}, maximized=false}">
> > >        </property>
> > >        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:7:1">
> > >        </property>
> > >        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.gui.Display">
> > >            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:883:1">
> > >            </property>
> > >        </property>
> > >        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#TextualOutputActor">
> > >        </property>
> > >        <property name="_location" class="ptolemy.kernel.util.Location" value="{475, 330}">
> > >        </property>
> > >    </entity>
> > >    <entity name="Binary File Reader" class="org.geon.BinaryFileReader">
> > >        <property name="_svgIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>../kepler-docs/dev/usability/graphics/svg/basic-actor.svg</configure>
> > >        </property>
> > >        <property name="_thumbnailRasterIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>/actorthumbs/basic-actor-sm.gif</configure>
> > >        </property>
> > >        <property name="fileOrURL" class="ptolemy.data.expr.FileParameter" value="/home/tristan/diff.txt">
> > >        </property>
> > >        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:125:1">
> > >        </property>
> > >        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.geon.BinaryFileReader">
> > >            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:994:1">
> > >            </property>
> > >        </property>
> > >        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ReaderExternalInputActor">
> > >        </property>
> > >        <property name="_location" class="ptolemy.kernel.util.Location" value="{220, 325}">
> > >        </property>
> > >    </entity>
> > >    <entity name="String Constant" class="org.sdm.spa.StringConst">
> > >        <property name="_svgIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>../kepler-docs/dev/usability/graphics/svg/basic-actor.svg</configure>
> > >        </property>
> > >        <property name="_thumbnailRasterIcon" class="ptolemy.kernel.util.ConfigurableAttribute">
> > >            <configure>/actorthumbs/basic-actor-sm.gif</configure>
> > >        </property>
> > >        <property name="value" class="ptolemy.data.expr.FileParameter" value="/home/tristan/diff.txt">
> > >        </property>
> > >        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
> > >        </property>
> > >        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.sdm.spa.StringConst">
> > >            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
> > >            </property>
> > >        </property>
> > >        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
> > >        </property>
> > >        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ConstantActor">
> > >        </property>
> > >        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
> > >            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
> > >            </property>
> > >            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
> > >            </property>
> > >        </property>
> > >        <property name="_location" class="ptolemy.kernel.util.Location" value="{115, 465}">
> > >        </property>
> > >    </entity>
> > >    <relation name="relation" class="ptolemy.actor.TypedIORelation">
> > >        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
> > >        </property>
> > >    </relation>
> > >    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
> > >        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
> > >        </property>
> > >    </relation>
> > >    <link port="Display.input" relation="relation"/>
> > >    <link port="Binary File Reader.output" relation="relation"/>
> > >    <link port="Binary File Reader.fileOrURLPort" relation="relation2"/>
> > >    <link port="String Constant.output" relation="relation2"/>
> > ></entity>
> > >  
> > >
> > >------------------------------------------------------------------------
> > >
> > >_______________________________________________
> > >Kepler-dev mailing list
> > >Kepler-dev at ecoinformatics.org
> > >http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
> > >  
> > >
> > 
> > 
-- 
Tristan King                            | Ph: (07) 4781 6911
DART project team                       | Email: Tristan.King at jcu.edu.au
James Cook University                   | Web: http://dart.edu.au
Townsville QLD 4814                     | http://plone.jcu.edu.au/dart/
Australia                               |




More information about the Kepler-dev mailing list