Bug #2516
closedPort Datatypes not set properly for derived RExpression actors
0%
Description
Several specialized instances of the RExpression actor now wxist in our actor ontology list. e.g. RandomNormal and RandomUniform. Both of these have an output port called 'Dist' added in the Moml in the kar xml file. If you add these actors to a new workflow and connect a Display actor to the Dist port, nothing appears when the workflow finishes. The problem apparently is the the Dist port thinks its output type is 'unknown'. In fact, it is {double" (i.e. an array of doubles.
I can set the dataType to '{double)' in the RandomNormal.xml file, but the actor still shows 'unknown' after rebuilding. For some reason, the dataType is not being properly set for these actors.
NOTE: In the kar xml, the port is descrtibed by:
<property name="kepler:Dist" class="org.kepler.moml.PortAttribute">
<property name="direction" value="output" 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>
In a saved workflow, the port is described by:
<port name="Dist" class="ptolemy.actor.TypedIOPort">
<property name="output"/>
<property name="_type" class="ptolemy.actor.TypeAttribute" value="{double}">
</property>
</port>
Updated by Dan Higgins over 17 years ago
Port datatypes were not written in the 'toMoMLString' method of the 'PortMetadata' inner class of ActorMetadata.java. This has now been corrected.