myGrid
  1. myGrid
  2. TAV-713

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 -

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

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

        Show
        Ian Dunlop added a comment - Open from workflow location is OK but Add Workflow Scavenger is not.
        Hide
        Ian Dunlop added a comment -

        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 - 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?

          People

          • Assignee:
            Ian Dunlop
            Reporter:
            Ian Dunlop
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: