You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2011/12/18 18:52:50 UTC
svn commit: r1220492 -
/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/util/GraphUtil.java
Author: chathura
Date: Sun Dec 18 17:52:49 2011
New Revision: 1220492
URL: http://svn.apache.org/viewvc?rev=1220492&view=rev
Log:
AIRAVATA-231
Removing Stream functionalities from the XBaya system.
This removed CEPNODE, StreamJoinNode, MergeNode, CEPSubworkflowNode
https://issues.apache.org/jira/browse/AIRAVATA-231
Modified:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/util/GraphUtil.java
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/util/GraphUtil.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/util/GraphUtil.java?rev=1220492&r1=1220491&r2=1220492&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/util/GraphUtil.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/util/GraphUtil.java Sun Dec 18 17:52:49 2011
@@ -22,17 +22,24 @@
package org.apache.airavata.xbaya.graph.util;
import java.awt.Point;
-import java.util.*;
-import java.util.Map.Entry;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import javax.xml.namespace.QName;
-import org.apache.airavata.common.utils.Pair;
+import org.apache.airavata.common.utils.WSConstants;
import org.apache.airavata.xbaya.XBayaEngine;
import org.apache.airavata.xbaya.XBayaRuntimeException;
import org.apache.airavata.xbaya.component.ComponentException;
import org.apache.airavata.xbaya.component.SubWorkflowComponent;
-import org.apache.airavata.xbaya.component.dynamic.GenericSubWorkflowComponent;
import org.apache.airavata.xbaya.graph.ControlEdge;
import org.apache.airavata.xbaya.graph.ControlPort;
import org.apache.airavata.xbaya.graph.DataEdge;
@@ -43,8 +50,6 @@ import org.apache.airavata.xbaya.graph.G
import org.apache.airavata.xbaya.graph.GraphException;
import org.apache.airavata.xbaya.graph.Node;
import org.apache.airavata.xbaya.graph.Port;
-import org.apache.airavata.xbaya.graph.dynamic.CepNode;
-import org.apache.airavata.xbaya.graph.gui.GraphCanvas;
import org.apache.airavata.xbaya.graph.impl.NodeImpl;
import org.apache.airavata.xbaya.graph.subworkflow.SubWorkflowNode;
import org.apache.airavata.xbaya.graph.system.InputNode;
@@ -54,7 +59,6 @@ import org.apache.airavata.xbaya.graph.w
import org.apache.airavata.xbaya.graph.ws.WSNode;
import org.apache.airavata.xbaya.graph.ws.WSPort;
import org.apache.airavata.xbaya.gui.ErrorMessages;
-import org.apache.airavata.common.utils.WSConstants;
import org.apache.airavata.xbaya.wf.Workflow;
public class GraphUtil {
@@ -337,21 +341,6 @@ public class GraphUtil {
}
- /**
- * @param graph
- * @return
- */
- public static LinkedList<NodeImpl> getGenericSubWorkflowNodes(WSGraph graph) {
- final List<NodeImpl> nodes = graph.getNodes();
- final LinkedList<NodeImpl> ret = new LinkedList<NodeImpl>();
- for (NodeImpl nodeImpl : nodes) {
- if (nodeImpl.getComponent() instanceof GenericSubWorkflowComponent) {
- ret.add(nodeImpl);
-
- }
- }
- return ret;
- }
/**
*
@@ -474,46 +463,7 @@ public class GraphUtil {
return ret;
}
- /**
- * @param processingNode
- * @return
- */
- public static boolean isCEPNode(Node processingNode) {
- return processingNode instanceof CepNode;
- }
- /**
- * @param node
- * @param newCEPJoinNode
- * @param wsGraph
- * @return
- */
- public static String introduceDynamicNode(Node node,
- CepNode newCEPJoinNode, WSGraph wsGraph) {
-
- List<DataPort> inputPorts = node.getInputPorts();
- for (DataPort dataPort : inputPorts) {
- DataEdge edge = dataPort.getEdges().get(0);
-
- Pair<DataPort, DataPort> oldEdge = new Pair<DataPort, DataPort>(
- edge.getFromPort(), edge.getToPort());
- try {
- String inEdgeLabel = edge.getLabel();
- wsGraph.removeEdge(edge);
- Edge inEdge = wsGraph.addEdge(oldEdge.getLeft(),
- newCEPJoinNode.getFreeInPort());
- inEdge.setLabel(inEdgeLabel);
- wsGraph.addEdge(newCEPJoinNode.getFreeOutPort(),
- oldEdge.getRight());
- } catch (GraphException e) {
- throw new XBayaRuntimeException(e);
- }
- }
- String nodeLabel = GraphUtil.getEncodedInputLabels(newCEPJoinNode)
- + "#join";
- newCEPJoinNode.inventLabel(nodeLabel);
- return nodeLabel;
- }
/**
* @param wsGraph
@@ -545,173 +495,7 @@ public class GraphUtil {
|| node instanceof OutputNode;
}
- public static void createSubworkflow(Workflow parentWorkflow,
- List<Node> nodeSet, XBayaEngine engine, String subworkflowName)
- throws GraphException, ComponentException {
- Workflow subWorkflow = Workflow.getWorkflow(parentWorkflow, nodeSet,
- subworkflowName);
-
-
- SubWorkflowNode newNode = (SubWorkflowNode) parentWorkflow.addNode( SubWorkflowComponent.getInstance(
- subWorkflow));
-
- List<Node> removeList = nodeSet;
- Set<Node> lookupMap = new HashSet<Node>();
- for (Node node : removeList) {
- lookupMap.add(node);
- }
-
- List<DataPort> newNodeInputs = newNode.getInputPorts();
- List<DataPort> newNodeOutputs = newNode.getOutputPorts();
- int inPortCount = 0;
- int outPortCount = 0;
-
- /* replace the subworkflow components with newNode and change the original workflow*/
- for (Node node : removeList) {
- List<DataPort> inputPorts = node.getInputPorts();
- for (DataPort dataPort : inputPorts) {
- if (!lookupMap.contains(dataPort.getFromNode())) {
- // not in this set
- final Port fromPort = dataPort.getFromPort();
- Object defaultValue = null;
- if(fromPort.getNode() instanceof InputNode) {
- defaultValue = ((InputNode) fromPort.getNode()).getDefaultValue();
-
- }
- parentWorkflow.getGraph().removeEdge(fromPort, dataPort);
- DataPort newtoPort = newNode.assignInputPortID(dataPort.getID(), inPortCount);
- parentWorkflow.getGraph().addEdge(fromPort,
- newtoPort);
- // we do this because if the edge is removed, the input node value gets reset. So we need to save
- // it and set it again.
- if(fromPort.getNode() instanceof InputNode) {
- ((InputNode) fromPort.getNode()).setDefaultValue(defaultValue);
- }
- ++inPortCount;
-
- }
- }
-
- List<DataPort> outputPorts = node.getOutputPorts();
- for (int i = 0; i < outputPorts.size(); ++i) {
-
- DataPort dataPort = outputPorts.get(i);
- List<Port> toNodes = dataPort.getToPorts();
- for (Port toPort : toNodes) {
- if (! lookupMap.contains(toPort.getNode())) {
- // not in this set
- parentWorkflow.getGraph().removeEdge(dataPort, toPort);
- DataPort newFromPort = newNode.assignOutputPortID(dataPort.getID(), outPortCount) ;
- parentWorkflow.getGraph().addEdge(newFromPort,
- toPort);
-
- ++outPortCount;
- }
- }
- }
- }
- newNode.setPosition(new Point(removeList.get(0).getPosition()));
- for (Node node : removeList) {
- parentWorkflow.removeNode(node);
- }
- }
-
- /**
- * @param nodeSets
- */
- public static void clusterCEPSubGraph(
- HashMap<String, LinkedList<Node>> nodeSets) {
- Set<String> keys = nodeSets.keySet();
- for (String key : keys) {
- LinkedList<Node> subGraph = nodeSets.get(key);
- if (subGraph != null && subGraph.size() > 0
- && isAllCEPNodes(subGraph)) {
- LinkedList<Node> workQueue = new LinkedList<Node>(subGraph);
- while (workQueue.size() > 0) {
- Node currentNode = workQueue.remove();
- List<DataPort> outputPorts = currentNode.getOutputPorts();
- for (DataPort dataPort : outputPorts) {
- List<Node> nextNodes = dataPort.getToNodes();
- for (Node nextNode : nextNodes) {
- if (isCEPNode(nextNode)
- && nodeSets.get(nextNode.getLabel()) != null) {
- // it wasnt consumed
- LinkedList<Node> adjoiningNodeSet = nodeSets
- .get(nextNode.getLabel());
- if (isAllCEPNodes(adjoiningNodeSet)
- && !key.equals(nextNode.getLabel())) {
- // consume
- nodeSets.put(nextNode.getLabel(), null);
- // add to this list
- subGraph.addAll(adjoiningNodeSet);
- // add thses for work queue;
- workQueue.addAll(adjoiningNodeSet);
- }
- }
- }
- }
-
- List<DataPort> inputPorts = currentNode.getInputPorts();
- for (DataPort dataPort : inputPorts) {
- Node fromNode = dataPort.getFromNode();
- if (isCEPNode(fromNode)
- && nodeSets.get(fromNode.getLabel()) != null) {
- // it wasnt consumed
- LinkedList<Node> adjoiningNodeSet = nodeSets
- .get(fromNode.getLabel());
- if (isAllCEPNodes(adjoiningNodeSet)
- && !key.equals(fromNode.getLabel())) {
- // consume
- nodeSets.put(fromNode.getLabel(), null);
- // add to this list
- subGraph.addAll(adjoiningNodeSet);
- // add thses for work queue;
- workQueue.addAll(adjoiningNodeSet);
- }
- }
- }
-
- }
- }
-
- }
- Iterator<Entry<String, LinkedList<Node>>> iterator = nodeSets
- .entrySet().iterator();
- while (iterator.hasNext()) {
- Map.Entry<String, LinkedList<Node>> entry = iterator.next();
- if (entry.getValue() == null) {
- iterator.remove();
- }
- }
- }
-
- /**
- * @param subGraph
- * @return
- */
- private static boolean isAllCEPNodes(LinkedList<Node> subGraph) {
- for (Node node : subGraph) {
- if (!isCEPNode(node)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * @param wsGraph
- * @return
- */
- public static LinkedList<CepNode> getCEPNodes(WSGraph wsGraph) {
- List<NodeImpl> nodes = wsGraph.getNodes();
- LinkedList<CepNode> ret = new LinkedList<CepNode>();
- for (NodeImpl nodeImpl : nodes) {
- if (nodeImpl instanceof CepNode) {
- ret.add((CepNode) nodeImpl);
- }
- }
- return ret;
- }
+
/**
* @param name
@@ -734,17 +518,4 @@ public class GraphUtil {
return ret;
}
- /**
- *
- * @param multipleSelectedNodes
- * @param label
- */
- public static void setLabelsToNodes(List<Node> multipleSelectedNodes,
- String label) {
-
- for (Node node : multipleSelectedNodes) {
- node.setLabel(label);
- }
-
- }
}
\ No newline at end of file