diff options
Diffstat (limited to 'collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java')
-rwxr-xr-x | collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java | 76 |
1 files changed, 25 insertions, 51 deletions
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java index 07ee0d7c75..5f6c6a3d6b 100755 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java @@ -21,7 +21,6 @@ package org.apache.tuscany.sca.impl.layout; import java.util.ArrayList; import java.util.HashMap; -import org.apache.tuscany.sca.impl.artifacts.Component; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -29,16 +28,11 @@ import org.w3c.dom.NodeList; public class EntityBuilder { private Document dom; - private final int initPoint = 200;//initial point - private final int spaceX = Component.DEFAULT_WIDTH*2; - private final int spaceY = Component.DEFAULT_HEIGHT*2; - private ArrayList<Integer> levelCount = new ArrayList<Integer>();//keeps track of levels used in lanes + //components connected to each other are tracked using following map private HashMap<String, ArrayList<String>> connectedEntities = new HashMap<String, ArrayList<String>>(); private int totalWidth=0; private int totalHeight=0; - private ComponentEntity startEnt = null; - //private String compositeName; CompositeEntity composite = null; @@ -75,7 +69,7 @@ public class EntityBuilder { buildLayout.placeEntities(); - System.out.println("conns "+conns[0][0]); + //System.out.println("conns "+conns[0][0]); buildCompositeService(docEle); @@ -109,7 +103,7 @@ public class EntityBuilder { private void buildCompositeService(Element docEle) { NodeList nl = docEle.getElementsByTagName("service"); - System.err.println("^^^^^^^^^ "+nl.getLength()); + //System.err.println("^^^^^^^^^ "+nl.getLength()); if(nl != null && nl.getLength() > 0 ) { for(int i = 0 ; i < nl.getLength();i++) { @@ -153,18 +147,23 @@ public class EntityBuilder { String compositeRef = elt.getAttribute("name"); composite.addAReference(compositeRef); - String target = elt.getAttribute("promote"); - - String reference, referenceComp; - String[] arr1 = extractComp(target); - referenceComp = arr1[0]; - reference = arr1[1]; - - if(reference == null){ - composite.addToPromoteAReference(compositeRef, referenceComp); - } - else{ - composite.addToPromoteAReference(compositeRef, reference); + String targetStr = elt.getAttribute("promote"); + + String[] targets = targetStr.split(" "); + + for(String target: targets){ + + String reference, referenceComp; + String[] arr1 = extractComp(target); + referenceComp = arr1[0]; + reference = arr1[1]; + + if(reference == null){ + composite.addToPromoteAReference(compositeRef, referenceComp); + } + else{ + composite.addToPromoteAReference(compositeRef, reference); + } } } @@ -281,7 +280,7 @@ public class EntityBuilder { for(String name: ent.getAdjacentEntities()){ ComponentEntity e2 = findEntity(comps, name); if(ent != null && e2 != null){ - System.out.println("^^^^^^^^^ "+e2.getName()); + //System.out.println("^^^^^^^^^ "+e2.getName()); connections[ent.getId()][e2.getId()] = 1; } } @@ -326,33 +325,7 @@ public class EntityBuilder { return connections; } - /** - * Layout Building Algorithm - * ~~~~~~~~~~~~~~~~~~~~~~~~~ - * - * An Entity object represents a component element of a composite XML. - * Here we position (i.e. assigning a level and a lane) all such components - * in a unique cell of a grid. - * - * lane0 lane1 lane2 lane3 .... - * _______________________________ - * level0 | | | | | - * |_______|_______|_______|_______| - * level1 | | | | | - * |_______|_______|_______|_______| - * level2 | | | | | - * - * 1) Determining the Entity at level0, lane0 (starting entity) - * -First Entity in the list of Entities which has one or more adjacent Entities - * -If there is only one Entity it will eventually chosen - * - * 2) Get adjacent Entities of starting Entity. - * * If there are adjacent entities; - * *For each adjacent Entity; - * - * - * @return - */ + public ComponentEntity[] buildComponentEntities(Element docEle){ ComponentEntity[] elts = null; @@ -481,9 +454,9 @@ public class EntityBuilder { ComponentEntity e1 = findEntity(elts, referenceComp); //ComponentEntity e2 = findEntity(comps, serviceComp); - System.out.println("^^^^^^^^^ "+e1.getName()); + //System.out.println("^^^^^^^^^ "+e1.getName()); if(e1 != null){ - System.out.println("^^^^^^^^^ "+e1.getId()); + //System.out.println("^^^^^^^^^ "+e1.getId()); //connections[e1.getId()][e2.getId()] = 1; createConnection(e1, reference, serviceComp, service); } @@ -585,6 +558,7 @@ public class EntityBuilder { // } + @SuppressWarnings("unused") private void print(ComponentEntity[] elts) { for(ComponentEntity ent: elts){ |