Hallo,
Ich wollte fragen, wie man ein elegante Iteration für mein Problem hinbekommt.
Es geht um ein UML Modell, welches ich ergänzen möchte.
Im speziellen gehts es hierbei um drei UML:
roperties und drei UML::ConnectorEnd, die ich miteinander verbinden möchte (siehe screen1.png).
Was ich erreichen will, ist folgendes:
Jede Property bekommt eine Referenz von einer Klasse (die For-Schleife for (Property pro: ) löst das.
Jedes ConnectorEnd soll mit einer Property verbunden werden, die eine Referenz zu einer Klasse schon hat. Das krieg ich leider nicht hin, wenn ich das wie folgt mache. Alle ConnectorEnd sind dann mit P3 verbunden; erwünscht ist aber dass ein ConnectorEnd mit P1, das zweite ConnectorEnd mit P2 und das dritte ConnectorEnd mit P3 verbunden ist.
Wo liegt bei mir der Denkfehler ?
Ich wollte fragen, wie man ein elegante Iteration für mein Problem hinbekommt.
Es geht um ein UML Modell, welches ich ergänzen möchte.
Im speziellen gehts es hierbei um drei UML:
Was ich erreichen will, ist folgendes:
Jede Property bekommt eine Referenz von einer Klasse (die For-Schleife for (Property pro: ) löst das.
Jedes ConnectorEnd soll mit einer Property verbunden werden, die eine Referenz zu einer Klasse schon hat. Das krieg ich leider nicht hin, wenn ich das wie folgt mache. Alle ConnectorEnd sind dann mit P3 verbunden; erwünscht ist aber dass ein ConnectorEnd mit P1, das zweite ConnectorEnd mit P2 und das dritte ConnectorEnd mit P3 verbunden ist.
Wo liegt bei mir der Denkfehler ?
Java:
EList<Property> prop = inter.getOwnedAttributes();
for (Connector con : inter.getOwnedConnectors())
for (ConnectorEnd conend : con.getEnds()) {
// mit dieser Schleife bekommt jede Property eine Referenz zu einer Klasse
for (Property pro : prop) {
if (pro.getName().startsWith("P1"))
pro.setType(class0);
else if (pro.getName().startsWith("P2"))
pro.setType(class1);
else
pro.setType(class2);
// hier soll jede ConnectorEnd eine Referenz zu einer
// Property bekommen
conend.setRole(pro);
}
}
Anhänge
Zuletzt bearbeitet: