Stian Soiland-Reyes created TAVERNA-1002:
--------------------------------------------

             Summary: Update taverna-iteration-strategy-ui for scufl2
                 Key: TAVERNA-1002
                 URL: https://issues.apache.org/jira/browse/TAVERNA-1002
             Project: Apache Taverna
          Issue Type: Task
          Components: Taverna Workbench
            Reporter: Stian Soiland-Reyes


taverna-iteration-strategy-ui used to edit the TreeModel bound directly to the 
engine's CrossProduct (which subclass DefaultMutableTreeNode)

As the workbench in Taverna 3 needs to edit the SCUFL2 model instead, I've 
started an attempt to update this code, but I'm afraid I have to stop midway 
due to time constraints.

I've added two alternatives:

IterationStrategyTreeModel is a TreeModel view of a SCUFL2 
IterationStrategyTopNode tree.  To finish this it just need to have support for 
the change listeners - which needs to be notified from the buttons if anything 
is added/removed/moved.

or IterationStrategyTreeNode, which shows an individual SCUFL2 
IterationStrategyNode as a TreeNode, this can then be used with a 
DefaultTreeModel which would handle the listener part. The downside here is 
that it will make lots of intermediate IterationStrategyTreeNode instances - 
but as iteration strategies are quite small (e.g. no more than 10 input ports) 
the overhead is probably negligible.

The remaining work is to:

a) Finish updating IterationStrategyTree to work with either of the above models

b) Update the actions from IterationStrategyEditorControl to manipulate the 
SCUFL2 iteration strategy -- and notify the tree if needed.

c) Test it :)  There's a test RunIterationStrategyEditor that can be run 
standalone.

d) Remove dependencies on taverna-workflowmodel-api

e) If brave - add support for multiple layers of iteration stack. Each could 
drill down to a different port depth, so the depth would need to be exposed.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to