From 47efc8c83cd6764e75c68fe06f864d60de24468c Mon Sep 17 00:00:00 2001 From: nirmal070125 Date: Mon, 15 Aug 2011 21:08:48 +0000 Subject: Providing a command line interface git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1158011 13f79535-47bb-0310-9956-ffa450edef68 --- .../CompositeDiagramGeneratorUsingBatik/pom.xml | 35 ++++- .../tuscany/sca/impl/diagram/DiagramGenerator.java | 33 +++-- .../apache/tuscany/sca/impl/html/HTMLWrapper.java | 43 ++---- .../org/apache/tuscany/sca/impl/io/XMLWriter.java | 15 ++- .../tuscany/sca/impl/layout/CompositeEntity.java | 6 +- .../tuscany/sca/impl/layout/EntityBuilder.java | 4 +- .../java/org/apache/tuscany/sca/main/Main.java | 144 +++++++++++++++++---- .../tuscany/sca/test/layout/LayoutBuilderTest.java | 144 --------------------- .../tuscany/sca/layout/LayoutBuilderTest.java | 144 +++++++++++++++++++++ 9 files changed, 334 insertions(+), 234 deletions(-) delete mode 100755 collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/test/layout/LayoutBuilderTest.java create mode 100755 collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/test/java/org/apache/tuscany/sca/layout/LayoutBuilderTest.java (limited to 'collaboration') diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/pom.xml b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/pom.xml index 64ce98b8e2..0d4b58de28 100644 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/pom.xml +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/pom.xml @@ -104,11 +104,6 @@ 2.0-SNAPSHOT - - org.apache.ws.commons.schema - XmlSchema - 1.4.3 - @@ -125,6 +120,36 @@ 1.5 + + + maven-dependency-plugin + + + ${project.artifactId}-fetch-deps + generate-sources + unpack-dependencies + + ${project.build.outputDirectory} + true + true + junit + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.1 + + + + org.apache.tuscany.sca.main.Main + + + + 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 df366581de..f2c0ca08eb 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 @@ -20,7 +20,6 @@ package org.apache.tuscany.sca.impl.diagram; import java.util.ArrayList; -import java.util.Collections; import java.util.Iterator; import java.util.Map.Entry; @@ -54,6 +53,8 @@ public class DiagramGenerator { private ArrayList sers= new ArrayList(); private int diagramHeight, diagramWidth; + private boolean isHtml; + private int lastUsedChangingFactor = 0; enum changingFactor{a(20), b(25), c(30), d(35), e(40), f(15); @@ -76,10 +77,11 @@ public class DiagramGenerator { * Constructor to generate a SVG diagram for a given CompositeEntity * Object. */ - public DiagramGenerator(CompositeEntity comp) { + public DiagramGenerator(CompositeEntity comp, boolean isHtml) { this.comp = comp; - + this.isHtml = isHtml; + } /** @@ -189,11 +191,20 @@ public class DiagramGenerator { svgRoot.appendChild(text); text = Text.addTextElement(doc, svgNS, x0+constant, y0+constant*7, ""); + + String ext; + + if(isHtml){ + ext = ".html"; + } + else{ + ext = ".svg"; + } for(String includedComposite : comp.getIncludedComposites()){ Link link = new Link(); - Element aLink = link.addElement(doc, svgNS, includedComposite+comp.getFileNameSuffix()+".svg", includedComposite); + Element aLink = link.addElement(doc, svgNS, includedComposite+comp.getFileNameSuffix()+ext, includedComposite); text.appendChild(aLink); } @@ -358,7 +369,7 @@ public class DiagramGenerator { //System.err.println("XXXXX "+ sers.get(1)+ " ::::::: "+refs.get(1)); // System.err.println("XXXXX "+ sers.get(2)+ " ::::::: "+refs.get(2)); // System.err.println("XXXXX "+ sers.get(3)+ " ::::::: "+refs.get(3)); - System.err.println("XXXXX "+ refs.get(sers.indexOf(s))+" ::: "+ent.getLevel()+" ::: "+ent.getName()); + //System.err.println("XXXXX "+ refs.get(sers.indexOf(s))+" ::: "+ent.getLevel()+" ::: "+ent.getName()); orderedRefs[ent.getLevel()] = refs.get(sers.indexOf(s)); break; } @@ -369,10 +380,10 @@ public class DiagramGenerator { orderedRefs[i] = refs.get(sers.indexOf(s)); break; } - else{ - if(i==orderedRefs.length) - System.out.println("GRRR"); - } +// else{ +// if(i==orderedRefs.length) +// System.out.println("GRRR"); +// } } } } @@ -429,7 +440,7 @@ public class DiagramGenerator { int x= ent.getX()-(serHeight*2/3); int y= ent.getY() + Constant.SPACING_FOR_COMPONENT_OF_SERVICE; - System.out.println("''''''"+ent.getName() +" '''''' "+ ent.getServices().size()); + //System.out.println("''''''"+ent.getName() +" '''''' "+ ent.getServices().size()); for(String ser: ent.getServices()){ ServiceArtifact serve= new ServiceArtifact(); @@ -541,7 +552,7 @@ public class DiagramGenerator { private void addComponent(Entity ent) { ComponentArtifact comp = new ComponentArtifact(); - System.err.println(ent.getX()); + //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(), diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/html/HTMLWrapper.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/html/HTMLWrapper.java index 076e28fd70..e53c9ff90f 100755 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/html/HTMLWrapper.java +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/html/HTMLWrapper.java @@ -37,33 +37,23 @@ public class HTMLWrapper { private File htmlFilePath; private String compositeName; - private String svgFileName; - private int compositeHeight, compositeWidth; - private Document svg; - private static final String CANVG_LIB_DIR = System.getProperty("user.dir")+"/resources/"; - private static final String CANVG_FILE = "canvg-1.0.js"; - private static final String RGB_FILE = "rgbcolor.js"; + private String svg; + /** * + * @param svg * @param compositeName - * @param svgFileName - * @param compositeHeight - * @param compositeWidth * @param htmlFilePath */ - public HTMLWrapper(Document svg, String compositeName, String svgFileName, - int compositeHeight, int compositeWidth, File htmlFilePath) { + public HTMLWrapper(String svg, String compositeName, File htmlFilePath) { this.svg = svg; this.compositeName = compositeName; - this.svgFileName = svgFileName; - this.compositeHeight = compositeHeight; - this.compositeWidth = compositeWidth; this.htmlFilePath = htmlFilePath; } - public void buildHTML() throws Exception{ + public String buildHTML() throws Exception{ String content = "" + "\n" + "\n" + @@ -83,7 +73,7 @@ public class HTMLWrapper { // "\n" + "\n" + "\n" + - extractSvg()+"\n"+ + svg+"\n"+ // "\n" + // "\n" + "\n" + @@ -91,25 +81,8 @@ public class HTMLWrapper { fileWriter(content); - } - - public String extractSvg() throws Exception{ - - // Set up the output transformer - TransformerFactory transfac = TransformerFactory.newInstance(); - Transformer trans = transfac.newTransformer(); - - // Print the DOM node - - StringWriter sw = new StringWriter(); - StreamResult result = new StreamResult(sw); - DOMSource source = new DOMSource(svg); - trans.transform(source, result); - String svgString = sw.toString(); - - System.out.println(svgString); - - return svgString; + return content; + } diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/io/XMLWriter.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/io/XMLWriter.java index 59db0878a7..15e9785d3c 100755 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/io/XMLWriter.java +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/io/XMLWriter.java @@ -32,15 +32,18 @@ import org.w3c.dom.Document; public class XMLWriter { - public void fileWriter(Document doc, File outFile) throws Exception{ + public void fileWriter(String content, File outFile) throws Exception{ FileWriter fileWriter = new FileWriter(outFile); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - Transformer transformer = transformerFactory.newTransformer(); - DOMSource source = new DOMSource(doc); - StreamResult result = new StreamResult(bufferedWriter); - transformer.transform(source, result); + bufferedWriter.write(content); + bufferedWriter.close(); + +// TransformerFactory transformerFactory = TransformerFactory.newInstance(); +// Transformer transformer = transformerFactory.newTransformer(); +// DOMSource source = new DOMSource(doc); +// StreamResult result = new StreamResult(bufferedWriter); +// transformer.transform(source, result); } } 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 aa98c3db65..e916b176a5 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 @@ -73,7 +73,7 @@ public class CompositeEntity extends Entity{ } public void referenceHeight(){ - System.err.println(getDefaultNoOfRefs() + " kkkkkkk "+getNoOfRefs()); + //System.err.println(getDefaultNoOfRefs() + " kkkkkkk "+getNoOfRefs()); if(getDefaultNoOfRefs() < getNoOfRefs()){ @@ -146,7 +146,7 @@ public class CompositeEntity extends Entity{ } public void calcWidth(int initPoint) { - System.err.println("maxInternalLane "+maxInternalLane); + //System.err.println("maxInternalLane "+maxInternalLane); setWidth((Constant.COMPONENT_DEFAULT_WIDTH * getSpaceFactor()) * (maxInternalLane + 1) + initPoint); } @@ -164,7 +164,7 @@ public class CompositeEntity extends Entity{ maxInternalLane = max(maxInternalLane, ent.getLane()); } - System.out.println("++++++ "+maxInternalLevel+" +++++ "+maxInternalLane); + //System.out.println("++++++ "+maxInternalLevel+" +++++ "+maxInternalLane); } public int getMaxInternalLevel() { 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 5f6c6a3d6b..b859e2de55 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 @@ -656,7 +656,7 @@ public class EntityBuilder { private void addToConnectedEntities(String ent1, String ent2) { - System.err.println(ent1+" : "+ent2); + //System.err.println(ent1+" : "+ent2); ArrayList list; if(connectedEntities.containsKey(ent1)){ list = connectedEntities.get(ent1); @@ -685,7 +685,7 @@ public class EntityBuilder { if(nl1 != null && nl1.getLength() > 0 ) { for(int i = 0 ; i < nl1.getLength();i++) { Element elt = (Element)nl1.item(i); - System.out.println(elt.getAttribute("class")); + //System.out.println(elt.getAttribute("class")); String serName = extractServiceName(elt.getAttribute("class")); ent.addAService(serName); } diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/main/Main.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/main/Main.java index 191d98b6b7..ab2da110e4 100755 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/main/Main.java +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/main/Main.java @@ -20,6 +20,12 @@ package org.apache.tuscany.sca.main; import java.io.File; +import java.io.StringWriter; + +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; import org.apache.tuscany.sca.impl.diagram.DiagramGenerator; import org.apache.tuscany.sca.impl.html.HTMLWrapper; @@ -30,7 +36,9 @@ import org.apache.tuscany.sca.impl.layout.EntityBuilder; import org.w3c.dom.Document; public class Main { - private static final String outFileDir = System.getProperty("user.dir")+"/output/"; + private static String outFileDir ; //= System.getProperty("user.dir")+"/output/"; + private static boolean isHtml=false; + private static boolean isSvg=false; /** * @param args @@ -38,40 +46,120 @@ public class Main { */ public static void main(String[] args) throws Exception { -// if(args.length == 0){ -// -// String help = "" + -// "----------Apache Tuscany Composite Diagram Generator----------\n" + -// "\n" + -// "Error: You have not specified an input \"Composite XML\" file.\n" + -// "\n" + -// "-----------------------------Help-----------------------------\n" + -// "You have 3 options:\n" + -// "---1) Default: Specify \"Composite XML\" file paths separated \n" + -// "--- by a space, with no arguments.\n" + -// "--- Eg: java CompositeDiagramGenerator \\a\\aa\\a.composite \\b\\b\\b.composite \n" + -// "---" + -// "---2) SVG Only"; -// System.out.println(); -// } - - XMLReader reader = new XMLReader(); - Document doc =reader.parseXMLFile(System.getProperty("user.dir")+"/input/composite_with_compositeService.xml");//composite1.xml composite_with_compositeService.xml"); - EntityBuilder eb = new EntityBuilder(doc); - CompositeEntity comp =eb.buildCompositeEntity(); + if(args.length == 0){ - DiagramGenerator dg = new DiagramGenerator(comp); - Document svg =dg.buildSVGDocument(); + String help = "" + + "----------Apache Tuscany Composite Diagram Generator----------\n" + + "\n" + + "Error: You have not specified an input \"Composite XML\" file.\n" + + "\n" + + "-----------------------------Help-----------------------------\n" + + "You have 3 options:\n" + + "---1) Default: Specify \"Composite XML\" file paths separated \n" + + "--- by a space, with no arguments. This will" + + "--- generate SVG and HTML output.\n" + + "--- Eg: java -jar tuscany-composite-diagram-0.0.1.jar \n" + + "--- //a//aa//a.composite //b//bb//b.composite \n" + + "---\n" + + "---2) SVG Only: Specify \"Composite XML\" file paths separated\n" + + "--- by a space, with '-svg' argument.\n" + + "--- Eg: java -jar tuscany-composite-diagram-0.0.1.jar -svg\n" + + "--- //a//aa//a.composite //b//bb//b.composite \n" + + "---\n" + + "---3) HTML Only: Specify \"Composite XML\" file paths separated\n" + + "--- by a space, with '-html' argument.\n" + + "--- Eg: java -jar tuscany-composite-diagram-0.0.1.jar -html\n" + + "--- //a//aa//a.composite //b//bb//b.composite \n" + + "---\n"; + System.out.println(help); + } + else{ + + if(args[0].equalsIgnoreCase("-svg")){ + isSvg = true; + args[0] = null; + } + else if(args[0].equalsIgnoreCase("-html")){ + isHtml = true; + args[0] = null; + } + else{ + isSvg = true; + isHtml = true; + } + + for(String str: args){ + + if(str != null){ + + File in = new File(str); + outFileDir = in.getParent()+"//"; + XMLReader reader = new XMLReader(); + Document doc =reader.parseXMLFile(str);//composite1.xml composite_with_compositeService.xml"); + EntityBuilder eb = new EntityBuilder(doc); + CompositeEntity comp =eb.buildCompositeEntity(); + + DiagramGenerator dg = new DiagramGenerator(comp, isHtml); + Document svg =dg.buildSVGDocument(); + + String svgContent = extractSvg(svg); + + if(isSvg){ + writeSVG(svgContent, comp); + } + + if(isHtml){ + writeHTML(svgContent, comp); + } + + } + } + } + } + + private static void writeHTML(String svg, CompositeEntity comp) throws Exception { + + File htmlFile = new File(outFileDir + comp.getName()+ comp.getFileNameSuffix()+".html"); + HTMLWrapper html = new HTMLWrapper(svg, comp.getName(), htmlFile); + String content = html.buildHTML(); + + System.err.println("--------------HTML Output for "+comp.getName()+"--------------\n"); + System.out.println(content); + System.err.println("--------------------------------------------------------------\n"); + + } + + private static void writeSVG(String svg, CompositeEntity comp) throws Exception{ String svgFileName = comp.getName()+ comp.getFileNameSuffix()+".svg"; File svgFile = new File(outFileDir + svgFileName); XMLWriter writer = new XMLWriter(); writer.fileWriter(svg, svgFile); - File htmlFile = new File(outFileDir + comp.getName()+ comp.getFileNameSuffix()+".html"); - HTMLWrapper html = new HTMLWrapper(svg, comp.getName(), svgFileName, dg.getDiagramHeight(), - dg.getDiagramWidth(), htmlFile); - html.buildHTML(); + System.err.println("--------------SVG Output for "+comp.getName()+"--------------\n"); + System.out.println(svg); + System.err.println("-------------------------------------------------------------\n"); + } + + private static String extractSvg(Document svg) throws Exception{ + + // Set up the output transformer + TransformerFactory transfac = TransformerFactory.newInstance(); + Transformer trans = transfac.newTransformer(); + + // Print the DOM node + + StringWriter sw = new StringWriter(); + StreamResult result = new StreamResult(sw); + DOMSource source = new DOMSource(svg); + trans.transform(source, result); + String svgString = sw.toString(); + + return svgString; } + + + + } diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/test/layout/LayoutBuilderTest.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/test/layout/LayoutBuilderTest.java deleted file mode 100755 index 3c3e96c0f2..0000000000 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/test/layout/LayoutBuilderTest.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.apache.tuscany.sca.test.layout; - -import static org.junit.Assert.*; -import junit.framework.Assert; - -import org.apache.tuscany.sca.impl.layout.ComponentEntity; -import org.apache.tuscany.sca.impl.layout.CompositeEntity; -import org.apache.tuscany.sca.impl.layout.Entity; -import org.apache.tuscany.sca.impl.layout.LayoutBuilder; -import org.junit.Before; -import org.junit.Test; - -public class LayoutBuilderTest { - - LayoutBuilder lb; - Entity[] ents; - Entity parent; - int[][] conns; - - @Before - public void setUp() throws Exception { - parent = new CompositeEntity("composite"); - parent.setX(200); - parent.setY(100); - - ents = new Entity[5]; - for(int i=0; i2 && i*j<=6) - conns[i][j] = 1; - else - conns[i][j] = 0; - } - } - - lb = new LayoutBuilder(ents, conns); - - ents = lb.placeEntities(); - - Assert.assertEquals(5, ents.length); - Assert.assertEquals(1, lb.getStartEnt().getId()); - - Assert.assertEquals(2, ents[0].getLevel()); - Assert.assertEquals(0, ents[1].getLevel()); - Assert.assertEquals(0, ents[2].getLevel()); - Assert.assertEquals(0, ents[3].getLevel()); - Assert.assertEquals(1, ents[4].getLevel()); - - Assert.assertEquals(0, ents[0].getLane()); - Assert.assertEquals(0, ents[1].getLane()); - Assert.assertEquals(2, ents[2].getLane()); - Assert.assertEquals(1, ents[3].getLane()); - Assert.assertEquals(1, ents[4].getLane()); - - } -} diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/test/java/org/apache/tuscany/sca/layout/LayoutBuilderTest.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/test/java/org/apache/tuscany/sca/layout/LayoutBuilderTest.java new file mode 100755 index 0000000000..6d45eed39b --- /dev/null +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/test/java/org/apache/tuscany/sca/layout/LayoutBuilderTest.java @@ -0,0 +1,144 @@ +package org.apache.tuscany.sca.layout; + +import static org.junit.Assert.*; +import junit.framework.Assert; + +import org.apache.tuscany.sca.impl.layout.ComponentEntity; +import org.apache.tuscany.sca.impl.layout.CompositeEntity; +import org.apache.tuscany.sca.impl.layout.Entity; +import org.apache.tuscany.sca.impl.layout.LayoutBuilder; +import org.junit.Before; +import org.junit.Test; + +public class LayoutBuilderTest { + + LayoutBuilder lb; + Entity[] ents; + Entity parent; + int[][] conns; + + @Before + public void setUp() throws Exception { + parent = new CompositeEntity("composite"); + parent.setX(200); + parent.setY(100); + + ents = new Entity[5]; + for(int i=0; i2 && i*j<=6) + conns[i][j] = 1; + else + conns[i][j] = 0; + } + } + + lb = new LayoutBuilder(ents, conns); + + ents = lb.placeEntities(); + + Assert.assertEquals(5, ents.length); + Assert.assertEquals(1, lb.getStartEnt().getId()); + + Assert.assertEquals(1, ents[0].getLevel()); + Assert.assertEquals(0, ents[1].getLevel()); + Assert.assertEquals(0, ents[2].getLevel()); + Assert.assertEquals(0, ents[3].getLevel()); + Assert.assertEquals(1, ents[4].getLevel()); + + Assert.assertEquals(0, ents[0].getLane()); + Assert.assertEquals(0, ents[1].getLane()); + Assert.assertEquals(2, ents[2].getLane()); + Assert.assertEquals(1, ents[3].getLane()); + Assert.assertEquals(1, ents[4].getLane()); + + } +} -- cgit v1.2.3