History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: TAV-713
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Ian Dunlop
Reporter: Ian Dunlop
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
myGrid

Workflow scavenger dropping ports and script content for Rshell

Created: 2008-02-11 10:31   Updated: 2008-02-12 15:09
Component/s: Taverna GUI
Affects Version/s: 1.7
Fix Version/s: 1.7.1

Time Tracking:
Not Specified

File Attachments: 1. XML File rshell_comp_not_scavenged.xml (2 kb)

Environment: All - but discovered on Mac OSX with T1.7.0


 Description  « Hide
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)



 All   Comments   Work Log   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Ian Dunlop - 2008-02-11 16:34
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?


Ian Dunlop - 2008-02-12 09:48
Open from workflow location is OK but Add Workflow Scavenger is not.

Ian Dunlop - 2008-02-12 15:02
getFactory method in RShellXMLHandler needs changed from

prototype = (RshellProcessor) loadProcessorFromXML(clone, null,
PROCESSOR_TAG);

to

prototype = (RshellProcessor) loadProcessorFromXML(processorElement, null,
PROCESSOR_TAG);

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