summaryrefslogtreecommitdiffstats
path: root/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout
diff options
context:
space:
mode:
Diffstat (limited to 'collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout')
-rwxr-xr-xcollaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java2
-rwxr-xr-xcollaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java18
-rwxr-xr-xcollaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/EntityBuilder.java45
-rwxr-xr-xcollaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/LayoutBuilder.java33
4 files changed, 76 insertions, 22 deletions
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java
index f85a83bdb7..7507b4ab57 100755
--- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java
+++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java
@@ -48,7 +48,7 @@ public class ComponentEntity extends Entity{
public ComponentEntity(){
- super.setStartPosition(200);
+ setStartPosition(200);
setHeight(Component.DEFAULT_HEIGHT);
setWidth(Component.DEFAULT_WIDTH);
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java
index 0adffcc44e..810c0a8f09 100755
--- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java
+++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java
@@ -43,12 +43,14 @@ public class CompositeEntity extends Entity{
// public static final int defaultNoOfRefs= Component.DEFAULT_HEIGHT / (Reference.MAXIMUM_HEIGHT+Reference.SPACING); //same value for defaultNoOfSers
// public static final int defaultNoOfProps= Component.DEFAULT_WIDTH / (Property.MAXIMUM_HEIGHT+Property.SPACING);
+ private final String fileNameSuffix = "_diagram.svg";
private int maxInternalLevel=0;
private int maxInternalLane=0;
private ComponentEntity[] componentList;
private int[][] connections;
private HashMap<String, String> promoteAService = new HashMap<String, String>();
private HashMap<String, String> promoteAReference = new HashMap<String, String>();
+ private ArrayList<String> includedComposites = new ArrayList<String>();
//private HashSet<String> connectedEntities = new HashSet<String>();
@@ -201,6 +203,13 @@ public class CompositeEntity extends Entity{
promoteAReference.put(compositeRef, componentRef);
return true;
}
+
+ public boolean addToIncludedComposites(String composite){
+
+ includedComposites.add(composite);
+
+ return true;
+ }
public void setPromoteAReference(HashMap<String, String> promoteAReference) {
this.promoteAReference = promoteAReference;
@@ -252,6 +261,15 @@ public class CompositeEntity extends Entity{
}
+ public ArrayList<String> getIncludedComposites() {
+ return includedComposites;
+ }
+
+ public String getFileNameSuffix() {
+ return fileNameSuffix;
+ }
+
+
// public int getNoOfRefs(){
// return references.size();
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 4157f93409..07ee0d7c75 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
@@ -63,7 +63,7 @@ public class EntityBuilder {
composite = new CompositeEntity(compositeName);
- setParent(comps, composite);
+ setParent(comps);
//System.out.println("ComponentEntity "+comps[0].getLevel());
int[][] conns = buildConnectionMatrix(comps);
@@ -72,21 +72,25 @@ public class EntityBuilder {
composite.setConnections(conns);
LayoutBuilder buildLayout = new LayoutBuilder(comps , conns);
- buildLayout.buildEntities();
+ buildLayout.placeEntities();
System.out.println("conns "+conns[0][0]);
- buildCompositeService(docEle, composite);
- buildCompositeReference(docEle, composite);
- buildCompositeProperty(docEle, composite);
+ buildCompositeService(docEle);
+ buildCompositeReference(docEle);
+ buildCompositeProperty(docEle);
+
+ addInclusions(docEle);
composite.setAttributes();
return composite;
}
+
+
// private void assignCoordinates() {
//
// for(Entity ent: elts){
@@ -95,15 +99,14 @@ public class EntityBuilder {
// }
// }
- private void setParent(ComponentEntity[] comps, Entity parent) {
+ private void setParent(ComponentEntity[] comps) {
for(ComponentEntity comp: comps){
- comp.setParent(parent);
+ comp.setParent(composite);
}
}
- private void buildCompositeService(Element docEle,
- CompositeEntity composite) {
+ private void buildCompositeService(Element docEle) {
NodeList nl = docEle.getElementsByTagName("service");
System.err.println("^^^^^^^^^ "+nl.getLength());
@@ -136,8 +139,7 @@ public class EntityBuilder {
}
}
- private void buildCompositeReference(Element docEle,
- CompositeEntity composite) {
+ private void buildCompositeReference(Element docEle) {
NodeList nl = docEle.getElementsByTagName("reference");
//System.out.println("^^^^^^^^^ "+nl.getLength());
@@ -170,8 +172,7 @@ public class EntityBuilder {
}
}
- private void buildCompositeProperty(Element docEle,
- CompositeEntity composite) {
+ private void buildCompositeProperty(Element docEle) {
NodeList nl = docEle.getElementsByTagName("property");
//System.out.println("^^^^^^^^^ "+nl.getLength());
@@ -188,6 +189,24 @@ public class EntityBuilder {
}
}
}
+
+ private void addInclusions(Element docEle) {
+
+ NodeList nl = docEle.getElementsByTagName("include");
+ //System.out.println("^^^^^^^^^ "+nl.getLength());
+ if(nl != null && nl.getLength() > 0 ) {
+
+ for(int i = 0 ; i < nl.getLength();i++) {
+
+ Element elt = (Element)nl.item(i);
+
+ if(elt.getParentNode().getNodeName().equals("composite")){
+ String compToBeIncluded = elt.getAttribute("name");
+ composite.addToIncludedComposites(compToBeIncluded);
+ }
+ }
+ }
+ }
private int[][] buildConnectionMatrix(ComponentEntity[] comps) {
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/LayoutBuilder.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/LayoutBuilder.java
index 07f432d6a3..c2acdf8f89 100755
--- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/LayoutBuilder.java
+++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/LayoutBuilder.java
@@ -25,7 +25,6 @@ public class LayoutBuilder {
private int[][] conns = null;
private Entity startEnt = null;
private int currentMaxLevel= 0;
- private int startPosition = 250;
/**
* Constructor which takes set of entities and their connection matrix
@@ -62,7 +61,7 @@ public class LayoutBuilder {
*
*
*/
- public Entity[] buildEntities(){
+ public Entity[] placeEntities(){
/**
* Finding the starting entity
@@ -73,19 +72,29 @@ public class LayoutBuilder {
if( isConnected(ent.getId()) ){
setPosition(ent, 0, 0);
startEnt = ent;
- System.out.println("startEnt "+ent.getName());
+ //System.out.println("startEnt "+ent.getId());
break;
}
}
assignPositions(startEnt);
+ assignPositionsOfIdleEntities();
assignCoordinates();
return elts;
}
+ private void assignPositionsOfIdleEntities() {
+
+ for(Entity ent: elts){
+ if(!ent.isPossitionSet()){
+ this.setPosition(ent, ++currentMaxLevel, 0);
+ }
+ }
+ }
+
private void assignCoordinates() {
for(Entity ent: elts){
@@ -102,10 +111,10 @@ public class LayoutBuilder {
if( entConns[i] == 1 ){
Entity nextEnt = findEntity(i);
- if(nextEnt.isPossitionSet()){
- currentMaxLevel = nextEnt.getLevel()+1; // for diagram clearness purpose
- }
- else if(nextEnt != null){
+// if(nextEnt.isPossitionSet()){
+// currentMaxLevel = nextEnt.getLevel()+1; // for diagram clearness purpose
+// }
+ if(nextEnt != null && !nextEnt.isPossitionSet()){
setPosition(nextEnt, currentMaxLevel, ent.getLane()+1);
assignPositions(nextEnt);
}
@@ -131,7 +140,7 @@ public class LayoutBuilder {
private boolean isConnected(int id) {
int[] entConns = conns[id];
- System.out.println("entConns "+entConns.length);
+ //System.out.println("entConns "+entConns.length);
for(int i=0; i<entConns.length; i++){
if(entConns[i] == 1){
@@ -149,4 +158,12 @@ public class LayoutBuilder {
ent.setPossitionSet(true);
}
+ public Entity getStartEnt() {
+ return startEnt;
+ }
+
+ public void setStartEnt(Entity startEnt) {
+ this.startEnt = startEnt;
+ }
+
}