diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout')
3 files changed, 52 insertions, 21 deletions
diff --git a/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/Entity.java b/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/Entity.java index 1736cbf3b7..469c59cf4f 100755 --- a/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/Entity.java +++ b/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/Entity.java @@ -284,5 +284,12 @@ public abstract class Entity { this.implementation = implementation; } + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("Entity [id=").append(id).append(", name=").append(name).append("]"); + return builder.toString(); + } + } diff --git a/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/EntityBuilder.java b/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/EntityBuilder.java index 70171e484c..64ac2db409 100755 --- a/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/EntityBuilder.java +++ b/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/EntityBuilder.java @@ -121,7 +121,7 @@ public class EntityBuilder { if (service == null) { composite.addToPromoteAService(compositeSer, serviceComp); } else { - composite.addToPromoteAService(compositeSer, service); + composite.addToPromoteAService(compositeSer, serviceComp + "/" + service); } } @@ -157,7 +157,7 @@ public class EntityBuilder { if (reference == null) { composite.addToPromoteAReference(compositeRef, referenceComp); } else { - composite.addToPromoteAReference(compositeRef, reference); + composite.addToPromoteAReference(compositeRef, referenceComp + "/" + reference); } } @@ -504,12 +504,12 @@ public class EntityBuilder { if (reference != null && service != null) { - ent.addToRefToSerMap(reference, service); + ent.addToRefToSerMap(reference, serviceComp + "/" + service); ent.addAnAdjacentEntity(serviceComp); addToConnectedEntities(referenceComp, serviceComp); addToConnectedEntities(serviceComp, referenceComp); } else if (reference == null && service != null) { - ent.addToRefToSerMap(referenceComp, service); + ent.addToRefToSerMap(referenceComp, serviceComp + "/" + service); ent.addAnAdjacentEntity(serviceComp); addToConnectedEntities(referenceComp, serviceComp); addToConnectedEntities(serviceComp, referenceComp); @@ -708,13 +708,13 @@ public class EntityBuilder { } } } - - private String extractClassName(String classAttr){ - if(classAttr==null) { + + private String extractClassName(String classAttr) { + if (classAttr == null) { return ""; } else { int index = classAttr.lastIndexOf('.'); - return classAttr.substring(index+1); + return classAttr.substring(index + 1); } } diff --git a/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/TuscanyCompositeEntityBuilder.java b/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/TuscanyCompositeEntityBuilder.java index 1a9b59e486..82a8e2a32a 100755 --- a/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/TuscanyCompositeEntityBuilder.java +++ b/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/TuscanyCompositeEntityBuilder.java @@ -30,10 +30,13 @@ import org.apache.tuscany.sca.assembly.ComponentService; import org.apache.tuscany.sca.assembly.Composite; import org.apache.tuscany.sca.assembly.CompositeReference; import org.apache.tuscany.sca.assembly.CompositeService; +import org.apache.tuscany.sca.assembly.Endpoint; +import org.apache.tuscany.sca.assembly.EndpointReference; import org.apache.tuscany.sca.assembly.Property; import org.apache.tuscany.sca.assembly.Reference; import org.apache.tuscany.sca.assembly.Service; import org.apache.tuscany.sca.assembly.Wire; +import org.apache.tuscany.sca.diagram.artifacts.Artifact; public class TuscanyCompositeEntityBuilder { @@ -61,15 +64,16 @@ public class TuscanyCompositeEntityBuilder { ComponentEntity[] comps = buildComponentEntities(); + buildTargets(comps); buildWires(tuscanyComp.getWires(), comps); composite = new CompositeEntity(compositeName); setParent(comps); - System.out.println("ComponentEntity " + comps[0].getId()); + // System.out.println("ComponentEntity " + comps[0].getId()); int[][] conns = buildConnectionMatrix(comps); - System.out.println("ComponentEntity " + conns[0][0]); + // System.out.println("ComponentEntity " + conns[0][0]); composite.setComponentList(comps); composite.setConnections(conns); @@ -77,7 +81,7 @@ public class TuscanyCompositeEntityBuilder { LayoutBuilder buildLayout = new LayoutBuilder(comps, conns); buildLayout.placeEntities(); - System.out.println("conns " + conns[0][0]); + // System.out.println("conns " + conns[0][0]); buildCompositeService(); buildCompositeReference(); @@ -173,20 +177,24 @@ public class TuscanyCompositeEntityBuilder { } private String extractComp(ComponentEntity[] elts, String str, boolean isReference) { - + String[] names = Artifact.parseNames(str); if (isReference) { for (ComponentEntity elt : elts) { - for (String ref : elt.getReferences()) { - if (ref.equals(str)) { - return elt.getName(); + if (elt.getName().equals(names[0])) { + for (String ref : elt.getReferences()) { + if (ref.equals(names[1])) { + return elt.getName(); + } } } } } else { for (ComponentEntity elt : elts) { - for (String ser : elt.getServices()) { - if (ser.equals(str)) { - return elt.getName(); + if (elt.getName().equals(names[0])) { + for (String ser : elt.getServices()) { + if (ser.equals(names[1])) { + return elt.getName(); + } } } } @@ -233,6 +241,22 @@ public class TuscanyCompositeEntityBuilder { } + private void buildTargets(ComponentEntity[] components) { + + for (Component c : tuscanyComp.getComponents()) { + ComponentEntity sourceComponent = findEntity(components, c.getName()); + for (ComponentReference ref : c.getReferences()) { + for (EndpointReference epr : ref.getEndpointReferences()) { + Endpoint ep = epr.getTargetEndpoint(); + if (ep != null && ep.getComponent() != null && ep.getService() != null) { + createConnection(sourceComponent, ref.getName(), ep.getComponent().getName(), ep.getService() + .getName()); + } + } + } + } + } + private void buildWires(List<Wire> wires, ComponentEntity[] elts) { for (int i = 0; i < wires.size(); i++) { @@ -281,12 +305,12 @@ public class TuscanyCompositeEntityBuilder { if (reference != null && service != null) { - ent.addToRefToSerMap(reference, service); + ent.addToRefToSerMap(reference, serviceComp + "/" + service); ent.addAnAdjacentEntity(serviceComp); addToConnectedEntities(referenceComp, serviceComp); addToConnectedEntities(serviceComp, referenceComp); } else if (reference == null && service != null) { - ent.addToRefToSerMap(referenceComp, service); + ent.addToRefToSerMap(referenceComp, serviceComp + "/" + service); ent.addAnAdjacentEntity(serviceComp); addToConnectedEntities(referenceComp, serviceComp); addToConnectedEntities(serviceComp, referenceComp); @@ -319,7 +343,7 @@ public class TuscanyCompositeEntityBuilder { } private void addToConnectedEntities(String ent1, String ent2) { - System.err.println(ent1 + " : " + ent2); + // System.err.println(ent1 + " : " + ent2); ArrayList<String> list; if (connectedEntities.containsKey(ent1)) { list = connectedEntities.get(ent1); |