package org.js.model.workflow.graphtransformation; import java.util.ArrayList; import java.util.HashMap; import org.eclipse.jwt.meta.model.processes.ActivityEdge; import org.eclipse.jwt.meta.model.processes.ActivityNode; import org.js.graph.transformation.Edge; import org.js.graph.transformation.Node; /** * This class is used to store a rule's left side reference in the given * workflow. * * @author Xi * */ public class LeftSideRef { // containers used to map elements of rules onto elements of workflow model HashMap<Node, ActivityNode> activityNodesMap = new HashMap<Node, ActivityNode>(); HashMap<Edge, ActivityEdge> activityEdgesMap = new HashMap<Edge, ActivityEdge>(); ArrayList<ActivityNode> activityNodes = new ArrayList<ActivityNode>(); ArrayList<ActivityEdge> activityEdges = new ArrayList<ActivityEdge>(); // public LeftSideRef(HashMap<Node, ActivityNode> activityNodesMap, // HashMap<Edge, ActivityEdge> activityEdgesMap, // ArrayList<ActivityNode> activityNodes,ArrayList<ActivityEdge> activityEdges) { // this.activityNodesMap=activityNodesMap; // this.activityEdgesMap=activityEdgesMap; // this.activityNodes=activityNodes; // this.activityEdges=activityEdges; // } public static LeftSideRef createLeftSideRef(LeftSideRef leftSideRef){ LeftSideRef newleftSideRef = new LeftSideRef(); newleftSideRef.getEdges().addAll(leftSideRef.getEdges()); newleftSideRef.getNodes().addAll(leftSideRef.getNodes()); newleftSideRef.getActivityNodesMap().putAll(leftSideRef.getActivityNodesMap()); newleftSideRef.getActivityEdgesMap().putAll(leftSideRef.getActivityEdgesMap()); return newleftSideRef; } public void setActivityNodesMap(HashMap<Node, ActivityNode> activityNodesMap) { this.activityNodesMap = activityNodesMap; } public void setActivityEdgesMap(HashMap<Edge, ActivityEdge> activityEdgesMap) { this.activityEdgesMap = activityEdgesMap; } public void setActivityNodes(ArrayList<ActivityNode> activityNodes) { this.activityNodes = activityNodes; } public void setActivityEdges(ArrayList<ActivityEdge> activityEdges) { this.activityEdges = activityEdges; } public ArrayList<ActivityNode> getNodes() { return activityNodes; } public ArrayList<ActivityEdge> getEdges() { return activityEdges; } public ActivityNode getNodeRef(Node node) { return activityNodesMap.get(node); } public ActivityEdge getEdgeRef(Edge edge) { return activityEdgesMap.get(edge); } public HashMap<Node, ActivityNode> getActivityNodesMap() { return activityNodesMap; } public HashMap<Edge, ActivityEdge> getActivityEdgesMap() { return activityEdgesMap; } }