diff options
Diffstat (limited to '')
-rwxr-xr-x | collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/diagram/DiagramGenerator.java | 102 |
1 files changed, 54 insertions, 48 deletions
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/diagram/DiagramGenerator.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/diagram/DiagramGenerator.java index 57b9ffea40..166ec6abe3 100755 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/diagram/DiagramGenerator.java +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/diagram/DiagramGenerator.java @@ -25,17 +25,18 @@ import java.util.Iterator; import java.util.Map.Entry; import org.apache.batik.dom.svg.SVGDOMImplementation; -import org.apache.tuscany.sca.impl.artifacts.Component; -import org.apache.tuscany.sca.impl.artifacts.Composite; +import org.apache.tuscany.sca.impl.artifacts.ComponentArtifact; +import org.apache.tuscany.sca.impl.artifacts.CompositeArtifact; +import org.apache.tuscany.sca.impl.artifacts.Constant; import org.apache.tuscany.sca.impl.artifacts.DashedWire; import org.apache.tuscany.sca.impl.artifacts.Layer; import org.apache.tuscany.sca.impl.artifacts.Link; import org.apache.tuscany.sca.impl.artifacts.NormalWire; -import org.apache.tuscany.sca.impl.artifacts.Property; -import org.apache.tuscany.sca.impl.artifacts.Reference; -import org.apache.tuscany.sca.impl.artifacts.Service; +import org.apache.tuscany.sca.impl.artifacts.PropertyArtifact; +import org.apache.tuscany.sca.impl.artifacts.ReferenceArtifact; +import org.apache.tuscany.sca.impl.artifacts.ServiceArtifact; import org.apache.tuscany.sca.impl.artifacts.Text; -import org.apache.tuscany.sca.impl.artifacts.Wire; +import org.apache.tuscany.sca.impl.artifacts.WireArtifact; import org.apache.tuscany.sca.impl.layout.ComponentEntity; import org.apache.tuscany.sca.impl.layout.CompositeEntity; import org.apache.tuscany.sca.impl.layout.Entity; @@ -49,8 +50,8 @@ public class DiagramGenerator { private Document doc; private String svgNS ; private Element svgRoot; - private ArrayList<Reference> refs= new ArrayList<Reference>(); - private ArrayList<Service> sers= new ArrayList<Service>(); + private ArrayList<ReferenceArtifact> refs= new ArrayList<ReferenceArtifact>(); + private ArrayList<ServiceArtifact> sers= new ArrayList<ServiceArtifact>(); private int lastUsedChangingFactor = 0; enum changingFactor{a(20), b(25), c(30), d(35), e(40), f(15); @@ -129,14 +130,19 @@ public class DiagramGenerator { it.hasNext();){ Entry entry = (Entry) it.next(); String compositeRef = (String)entry.getKey(); - String componentRef = (String)entry.getValue(); + ArrayList<String> componentRef = (ArrayList<String>)entry.getValue(); - Reference r1 = getRef(compositeRef); - Reference r2 = getRef(componentRef); + ReferenceArtifact r1 = getRef(compositeRef); + + for(String ref: componentRef){ + + ReferenceArtifact r2 = getRef(ref); - if(r1 != null && r2 != null){ - addWire(r2, r1); + if(r1 != null && r2 != null){ + addWire(r2, r1); + } } + } } @@ -148,8 +154,8 @@ public class DiagramGenerator { String compositeSer = (String)entry.getKey(); String componentSer = (String)entry.getValue(); - Service s1 = getSer(compositeSer); - Service s2 = getSer(componentSer); + ServiceArtifact s1 = getSer(compositeSer); + ServiceArtifact s2 = getSer(componentSer); if(s1 != null && s2 != null){ addWire(s1, s2); @@ -161,8 +167,8 @@ public class DiagramGenerator { Layer inclusionLayer = new Layer(); int constant = 5; int x0 = comp.getX()+constant; - int y0 = comp.getY()+comp.getHeight()-(Component.DEFAULT_HEIGHT/2+constant); - int height = Component.DEFAULT_HEIGHT/2; + int y0 = comp.getY()+comp.getHeight()-(Constant.COMPONENT_DEFAULT_HEIGHT/2+constant); + int height = Constant.COMPONENT_DEFAULT_HEIGHT/2; int width = comp.getWidth()-constant*2; Element layerElt = inclusionLayer.addElement(doc, svgNS, x0, y0, height, @@ -199,8 +205,8 @@ public class DiagramGenerator { String ref = (String)entry.getKey(); String ser = (String)entry.getValue(); - Reference r = getRef(ref); - Service s = getSer(ser); + ReferenceArtifact r = getRef(ref); + ServiceArtifact s = getSer(ser); if(r != null && s != null){ addWire(r,s); @@ -230,30 +236,30 @@ public class DiagramGenerator { } - private void addWire(Reference r, Service s) { + private void addWire(ReferenceArtifact r, ServiceArtifact s) { - Wire edge = new NormalWire(); + WireArtifact edge = new NormalWire(); Element wire = edge.addElement(doc, svgNS, r, s, getChangingFactor(), getColor()); svgRoot.appendChild(wire); } - private void addWire(Service s1, Service s2) { + private void addWire(ServiceArtifact s1, ServiceArtifact s2) { DashedWire edge = new DashedWire(); Element wire = edge.addElement(doc, svgNS, s1, s2, getChangingFactor(), getColor()); svgRoot.appendChild(wire); } - private void addWire(Reference r1, Reference r2) { + private void addWire(ReferenceArtifact r1, ReferenceArtifact r2) { DashedWire edge = new DashedWire(); Element wire = edge.addElement(doc, svgNS, r1, r2, getChangingFactor(), getColor()); svgRoot.appendChild(wire); } - private Service getSer(String ser) { + private ServiceArtifact getSer(String ser) { - for(Service s: sers){ + for(ServiceArtifact s: sers){ if(s.getContainerName().equals(ser) || s.getName().equals(ser)){ return s; } @@ -261,9 +267,9 @@ public class DiagramGenerator { return null; } - private Reference getRef(String ref) { + private ReferenceArtifact getRef(String ref) { - for(Reference r: refs){ + for(ReferenceArtifact r: refs){ if(r.getContainerName().equals(ref) || r.getName().equals(ref)){ return r; @@ -274,18 +280,18 @@ public class DiagramGenerator { private void addComponentProperties(ComponentEntity ent) { int propLen = ent.getPropLength(); - int x= ent.getX() + Property.SPACING_FOR_COMPONENT; + int x= ent.getX() + Constant.SPACING_FOR_COMPONENT_OF_PROPERTY; int y= ent.getY()-propLen/2; for(String prop: ent.getProperties()){ - Property pro = new Property(); + PropertyArtifact pro = new PropertyArtifact(); Element property = pro.addElement(doc, svgNS, x, y, propLen); Element text = Text.addTextElement(doc, svgNS, x, y, prop); svgRoot.appendChild(property); svgRoot.appendChild(text); - x += (propLen + Property.SPACING_FOR_COMPONENT); + x += (propLen + Constant.SPACING_FOR_COMPONENT_OF_PROPERTY); pro.setName(prop); pro.setContainerName(ent.getName()); @@ -296,16 +302,16 @@ public class DiagramGenerator { int refHeight = ent.getRefHeight(); int x=(ent.getX()+ent.getWidth())-(refHeight*2/3); - int y=ent.getY() + Reference.SPACING_FOR_COMPONENT; + int y=ent.getY() + Constant.SPACING_FOR_COMPONENT_OF_REFERENCE; for(String ref: setRefOrder(ent)){ - Reference refer= new Reference(); + ReferenceArtifact refer= new ReferenceArtifact(); Element polygon = refer.addElement(doc, svgNS, x, y, refHeight); Element text = Text.addTextElement(doc, svgNS, x, y+refHeight/2, ref); svgRoot.appendChild(polygon); svgRoot.appendChild(text); - y += (refHeight + Reference.SPACING_FOR_COMPONENT); + y += (refHeight + Constant.SPACING_FOR_COMPONENT_OF_REFERENCE); refer.setName(ref); refer.setContainerName(ent.getName()); @@ -411,12 +417,12 @@ public class DiagramGenerator { private void addComponentService(ComponentEntity ent) { int serHeight = ent.getSerHeight(); int x= ent.getX()-(serHeight*2/3); - int y= ent.getY() + Service.SPACING_FOR_COMPONENT; + int y= ent.getY() + Constant.SPACING_FOR_COMPONENT_OF_SERVICE; System.out.println("''''''"+ent.getName() +" '''''' "+ ent.getServices().size()); for(String ser: ent.getServices()){ - Service serve= new Service(); + ServiceArtifact serve= new ServiceArtifact(); Element polygon = serve.addElement(doc, svgNS, x, y, serHeight); Element text; if(!ser.endsWith("Impl")) @@ -427,7 +433,7 @@ public class DiagramGenerator { svgRoot.appendChild(polygon); svgRoot.appendChild(text); - y += (serHeight + Service.SPACING_FOR_COMPONENT); + y += (serHeight + Constant.SPACING_FOR_COMPONENT_OF_SERVICE); serve.setName(ser); serve.setContainerName(ent.getName()); @@ -439,13 +445,13 @@ public class DiagramGenerator { int serHeight = comp.getSerHeight(); int x= comp.getX()-(serHeight*2/3); - int y= comp.getY() + Service.SPACING_FOR_COMPOSITE; + int y= comp.getY() + Constant.SPACING_FOR_COMPOSITE_OF_SERVICE; System.err.println(serHeight); System.out.println("''''''"+((CompositeEntity)comp).getName() +" '''''' "+ comp.getServices().size()); for(String ser: comp.getServices()){ - Service serve= new Service(); + ServiceArtifact serve= new ServiceArtifact(); Element polygon = serve.addElement(doc, svgNS, x, y, serHeight); Element text; if(!ser.endsWith("Impl")) @@ -456,7 +462,7 @@ public class DiagramGenerator { svgRoot.appendChild(polygon); svgRoot.appendChild(text); - y += (serHeight + Service.SPACING_FOR_COMPOSITE); + y += (serHeight + Constant.SPACING_FOR_COMPOSITE_OF_SERVICE); serve.setName(ser); serve.setContainerName(comp.getName()); @@ -468,16 +474,16 @@ public class DiagramGenerator { int refHeight = comp.getRefHeight(); int x=(comp.getX()+comp.getWidth())-(refHeight*2/3); - int y=comp.getY() + Reference.SPACING_FOR_COMPOSITE; + int y=comp.getY() + Constant.SPACING_FOR_COMPOSITE_OF_REFERENCE; for(String ref: comp.getReferences()){ - Reference refer= new Reference(); + ReferenceArtifact refer= new ReferenceArtifact(); Element polygon = refer.addElement(doc, svgNS, x, y, refHeight); Element text = Text.addTextElement(doc, svgNS, x, y+refHeight/2, ref); svgRoot.appendChild(polygon); svgRoot.appendChild(text); - y += (refHeight + Reference.SPACING_FOR_COMPOSITE); + y += (refHeight + Constant.SPACING_FOR_COMPOSITE_OF_REFERENCE); refer.setName(ref); refer.setContainerName(comp.getName()); @@ -489,18 +495,18 @@ public class DiagramGenerator { private void addCompositeProperties() { int propLen = comp.getPropLength(); - int x= comp.getX() + Property.SPACING_FOR_COMPOSITE; + int x= comp.getX() + Constant.SPACING_FOR_COMPOSITE_OF_PROPERTY; int y= comp.getY()-propLen/2; for(String prop: comp.getProperties()){ - Property pro = new Property(); + PropertyArtifact pro = new PropertyArtifact(); Element property = pro.addElement(doc, svgNS, x, y, propLen); Element text = Text.addTextElement(doc, svgNS, x, y, prop); svgRoot.appendChild(property); svgRoot.appendChild(text); - x += (propLen + Property.SPACING_FOR_COMPOSITE); + x += (propLen + Constant.SPACING_FOR_COMPOSITE_OF_PROPERTY); pro.setName(prop); pro.setContainerName(comp.getName()); @@ -509,12 +515,12 @@ public class DiagramGenerator { private void addComponent(Entity ent) { - Component comp = new Component(); + ComponentArtifact comp = new ComponentArtifact(); System.err.println(ent.getX()); Element com = comp.addElement(doc, svgNS, ent.getX(), ent.getY(), ent.getHeight(), ent.getWidth()); Element text = Text.addTextElement(doc, svgNS, ent.getX(), - ent.getY()+(ent.getHeight()+Component.TEXT_SPACING), ent.getName()); + ent.getY()+(ent.getHeight()+Constant.COMPONENT_TEXT_SPACING), ent.getName()); svgRoot.appendChild(com); svgRoot.appendChild(text); @@ -524,7 +530,7 @@ public class DiagramGenerator { private void addComposite() { - Composite composite = new Composite(); + CompositeArtifact composite = new CompositeArtifact(); Element composi = composite.addElement(doc, svgNS, comp.getX(), comp.getY(), comp.getHeight(), comp.getWidth()); Element text = Text.addTextElement(doc, svgNS, comp.getX() +comp.getWidth()/2, comp.getY() +20, comp.getName()); |