EMF Ecore Modell. Referenzen nach außen.

EMF

Neues Mitglied
Hallo Forum,
bin neuer hier und hoffe, dass mir jemand helfen kann. Google ist für mich ratlos.

Problem:
Beispielsweise habe ich zwei Ecore Modelle: "A" und "B".
Ein EClass vom Modell "A" referenziert auf ein EClass vom Modell "B".
Ich möchte nun von dem Modell "A" alle Referenzen bestimmen, die auf die Klassen anderer Modelle zeigen. D.h. also alle Referenzen, die nach außen zeigen.

Man könnte natürlich einen Parser schreiben und die Referenzen in der Ecore Datei "per Hand" raushollen. Gibt es vllt. bereits eine fertige Methode dafür? EcoreUtil stellt beispielsweise viel zur Verfügung, aber genau das was ich brauche habe ich da auch nicht gefunden.

Danke im Voraus!
 

EMF

Neues Mitglied
hab eine Lösung gefunden, nähmlich stellt EcoreUtil.ExternalCrossReferencer das gewünschte zur Verfügung.

targetPackage - ist der "Wurzel" des untersuchendes Modells

Man erstellt zuerst einen Map mit allen Referenzen(die nach außen zeigen) von dem gewünschten Modell

Java:
Map <EObject,Collection<EStructuralFeature.Setting>> allReferences = EcoreUtil.ExternalCrossReferencer.find(targetPackage);
Mit volgendem Code bekommt man nun alle Elemente angezeigt:
Java:
for (Map.Entry<EObject,Collection<EStructuralFeature.Setting>> entry : allReferences.entrySet())
System.out.println(entry.getKey());

An der Stelle stelt man aber fest, dass alle "standarte" DateiTypen auch angezeigt werden (Solche wie: EInt, EString, usw.). Das ist ja auch richtig, denn diese nicht als ein EClass in meinem Modell defeniert sind (müssen sie auch nicht defeniert sein).
Was man dann machen kann: jedes Element (EObject) prüfen, ob das ein EObject vom Typ EClass ist, falls ja, dann ist es der gesuchte Verweis auf ein Klass von dem anderen Modell. Fertig!
 

Wildcard

Top Contributor
Dabei vergisst du allerdings custom EDataTypes. Es sei denn das spielt keine Rolle...
Danke auf alle Fälle das du deine Lösung dazu gepostet hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Registrierung eines Ecore-Models außerhalb der Eclipse-Umgebung Allgemeine Java-Themen 0
L ER-Modell Relationen Allgemeine Java-Themen 2
G Polygom Modell aus Punktewolke Allgemeine Java-Themen 15
C Gutes Code Design (3 Schichten Modell) Allgemeine Java-Themen 19
D JMenu im MVC Modell unterbringen Allgemeine Java-Themen 3
D mvc-Modell: wenn views voneinander wissen sollen Allgemeine Java-Themen 13
D MVC Modell Allgemeine Java-Themen 8
J Aktionen im State-Design-Modell Allgemeine Java-Themen 3
A Frage zum TCP/IP Modell Allgemeine Java-Themen 5
A Best Practice Wie viele Referenzen machen Sinn? Weniger ist mehr? Allgemeine Java-Themen 1
J Mit Referenzen verkettet Listen. Allgemeine Java-Themen 9
A Referenzen von Bildobjekten löschen Allgemeine Java-Themen 0
kaoZ Best Practice Shared Actions , Referenzen in Gui halten ? Allgemeine Java-Themen 25
K Referenzen finden Allgemeine Java-Themen 6
R Referenzen im Heap anzeigen Allgemeine Java-Themen 3
M Datentypen Referenzen oder seperate IDs vergleichen? Allgemeine Java-Themen 6
D Problem mit Referenzen beim Serialisieren Allgemeine Java-Themen 3
W n:m Beziehung Referenzen löschen Allgemeine Java-Themen 5
A Methoden ohne Referenzen finden Allgemeine Java-Themen 9
F Referenzen auf Objekte Allgemeine Java-Themen 5
hdi Speichergröße von Objekten & Referenzen Allgemeine Java-Themen 8
S Serialisierung und Referenzen Allgemeine Java-Themen 6
D Referenzen; == Allgemeine Java-Themen 2
D Referenzen weiterreichen vs. statischer Zugriff Allgemeine Java-Themen 3
G Pointer und Referenzen Allgemeine Java-Themen 3
I Referenzen in Datei speichern Allgemeine Java-Themen 2
G (De)serialisierung und Referenzen Allgemeine Java-Themen 5
J Bibliothek gesucht Ana_lysieren von wss. Referenzen Allgemeine Java-Themen 2
A ArrayListe :Doppelte entfernen -> keine Referenzen Allgemeine Java-Themen 26
O Vektor kopieren (Inhalt, nicht Referenzen) Allgemeine Java-Themen 3
M Übergabe von Referenzen Allgemeine Java-Themen 3
H Referenzen statt Objekte für große Speicherstrukturen Allgemeine Java-Themen 19
P Das leidige Thema: Referenzen Allgemeine Java-Themen 2
N int[] referenzen in ein Array packen, brauche Hilfe. Allgemeine Java-Themen 7
A Referenzen / HashCodes nicht konstant? Allgemeine Java-Themen 2
K Probleme mit Referenzen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben