summaryrefslogtreecommitdiffstats
path: root/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java')
-rwxr-xr-xcollaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java76
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){