[TAV-713] Workflow scavenger dropping ports and script content for Rshell Created: 2008-02-11  Updated: 2008-02-12  Resolved: 2008-02-12

Status: Resolved
Project: myGrid
Component/s: Taverna GUI
Affects Version/s: 1.7
Fix Version/s: 1.7.1

Type: Bug Priority: Minor
Reporter: Ian Dunlop Assignee: Ian Dunlop
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

All - but discovered on Mac OSX with T1.7.0

Attachments: XML File rshell_comp_not_scavenged.xml    


Trying to move an Rshell component from one workflow to another.

Right-click and choose "Add new Workflow Scavenger" and then use a
URL to load the source workflow. The source workflow shows up in the
"Available Processors" list and the Rshell component is there, named
correctly. However when I add the component to the target workflow
the component has no input/output ports and the script content is
empty. This occurs whether I add the Source workflow using a http://
or a file:// url.

http://freelancepropaganda.com/temp/rshell_comp_not_scavenged.xml (attached)

Comment by Ian Dunlop [ 2008-02-11 ]

Seems to be failing during RShellXMLHandler method loadProcessorFromXML(Element processorElement, ScuflModel model, String name)
where it trys to get the XML Element processorElement.getChild(RSHELL_TAG, XScufl.XScuflNS). RSHELL = "rshell" and XScuflNS is s:http://org.embl.ebi.escience/xscufl/0.1alpha

The overall XML it is trying to find the child from is

<s:rshell xmlns:s="http://org.embl.ebi.escience/xscufl/0.1alpha" s:hostname="localhost" s:port="6311" s:username="" s:password="" s:keepSessionAlive="false"># Text for the test Rshell component.

test_output_port1 <- test_input_port1
test_output_port2 <- test_input_port2<s:rshellInputPortList><s:rshellInputPort s:syntacticType="'application/x-java-serialized-object'" s:symanticType="REXP">test_input_port_1</s:rshellInputPort><s:rshellInputPort s:syntacticType="'application/x-java-serialized-object'" s:symanticType="REXP">test_input_port_2</s:rshellInputPort></s:rshellInputPortList><s:rshellOutputPortList><s:rshellOutputPort s:syntacticType="'application/x-java-serialized-object'" s:symanticType="REXP">test_output_port_1</s:rshellOutputPort><s:rshellOutputPort s:syntacticType="'application/x-java-serialized-object'" s:symanticType="REXP">test_output_port_2</s:rshellOutputPort></s:rshellOutputPortList></s:rshell>

Is this valid XML?

Comment by Ian Dunlop [ 2008-02-12 ]

Open from workflow location is OK but Add Workflow Scavenger is not.

Comment by Ian Dunlop [ 2008-02-12 ]

getFactory method in RShellXMLHandler needs changed from

prototype = (RshellProcessor) loadProcessorFromXML(clone, null,


prototype = (RshellProcessor) loadProcessorFromXML(processorElement, null,

ie. the elements wrapped in a <processor> tag (or else it doesn't have any children).

Generated at Tue Sep 22 05:16:21 BST 2020 using JIRA 6.1.2#6157-sha1:98c729218aad6de1537eb8e98889ee5562c90d96.