[Fix] PlantUML no longer shows "null" as origin
PlantUML showed "null" as the origin for links for n:m links.
This change changes the behaviour and the selected object is
again correctly shown as the origin.
Change-Id: I8c7ec803cad51b55a11f60d7d9f6f4814de29867
diff --git a/bundles/org.eclipse.capra.ui.plantuml/src/org/eclipse/capra/ui/plantuml/Connections.java b/bundles/org.eclipse.capra.ui.plantuml/src/org/eclipse/capra/ui/plantuml/Connections.java
index 9ea030b..21d6306 100644
--- a/bundles/org.eclipse.capra.ui.plantuml/src/org/eclipse/capra/ui/plantuml/Connections.java
+++ b/bundles/org.eclipse.capra.ui.plantuml/src/org/eclipse/capra/ui/plantuml/Connections.java
@@ -44,7 +44,7 @@
private EObject origin;
private Set<EObject> allObjects;
- private Map<EObject, String> object2Id;
+ private Map<String, String> object2Id;
private Map<String, String> id2Label;
private Map<String, String> id2Location;
@@ -66,36 +66,36 @@
object2Id = new LinkedHashMap<>();
int i = 0;
for (EObject o : allObjects) {
- object2Id.put(o, "o" + i++);
+ object2Id.put(EMFHelper.getIdentifier(o), "o" + i++);
}
id2Label = new LinkedHashMap<>();
allObjects.forEach(o -> {
- String id = object2Id.get(o);
+ String id = object2Id.get(EMFHelper.getIdentifier(o));
id2Label.put(id, artifactHelper.getArtifactLabel(o));
});
id2Location = new LinkedHashMap<>();
allObjects.forEach(o -> {
- String id = object2Id.get(o);
+ String id = object2Id.get(EMFHelper.getIdentifier(o));
id2Location.put(id, artifactHelper.getArtifactLocation(o));
});
}
public String originLabel() {
- return sanitize(id2Label.get(object2Id.get(origin)));
+ return sanitize(id2Label.get(object2Id.get(EMFHelper.getIdentifier(origin))));
}
public String originLocation() {
- return id2Location.get(object2Id.get(origin));
+ return id2Location.get(object2Id.get(EMFHelper.getIdentifier(origin)));
}
public boolean originHasLocation() {
- return !Strings.isNullOrEmpty(id2Location.get(object2Id.get(origin)));
+ return !Strings.isNullOrEmpty(id2Location.get(object2Id.get(EMFHelper.getIdentifier(origin))));
}
public String originId() {
- return object2Id.get(origin);
+ return object2Id.get(EMFHelper.getIdentifier(origin));
}
public Collection<String> objectIdsWithoutOrigin() {
@@ -123,7 +123,8 @@
connections.forEach(c -> {
c.getOrigins().forEach(org -> {
c.getTargets().forEach(trg -> {
- arrows.add(object2Id.get(org) + "--" + object2Id.get(trg) + ": "
+ arrows.add(object2Id.get(EMFHelper.getIdentifier(org)) + "--"
+ + object2Id.get(EMFHelper.getIdentifier(trg)) + ": "
+ EMFHelper.getIdentifier(c.getTlink()));
});
});