myGrid

Workflow scavenger dropping ports and script content for Rshell

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.7
  • Fix Version/s: 1.7.1
  • Component/s: Taverna GUI
  • Labels:
    None
  • Environment:
    All - but discovered on Mac OSX with T1.7.0

Description

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)

Activity

Hide
Ian Dunlop added a comment - 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?

Show
Ian Dunlop added a comment - 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?
Hide
Ian Dunlop added a comment - 2008-02-12 09:48

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

Show
Ian Dunlop added a comment - 2008-02-12 09:48 Open from workflow location is OK but Add Workflow Scavenger is not.
Hide
Ian Dunlop added a comment - 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).

Show
Ian Dunlop added a comment - 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).

People

Vote (0)
Watch (0)

Dates

  • Created:
    2008-02-11 10:31
    Updated:
    2008-02-12 15:09
    Resolved:
    2008-02-12 15:09