summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout')
-rwxr-xr-xsca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/Entity.java7
-rwxr-xr-xsca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/EntityBuilder.java16
-rwxr-xr-xsca-java-2.x/trunk/modules/composite-diagram/src/main/java/org/apache/tuscany/sca/diagram/layout/TuscanyCompositeEntityBuilder.java50
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);