EMF Generierten Code benutzten

Status
Nicht offen für weitere Antworten.
B

BeckxNet

Gast
Hallo EMF-Gemeinde

ich expermentier gerade ein wenig mit EMF Ecore-Modellen rum und habe dazu eine Frage!

Habe eine einfaches UML Metamodell mit Ecore erstellt (Zwei Klassen die miteinander in Beziehung stehen)
Habe daraus ein GenModel erzeugt und anschließend JavaCode generieren lassen (ModelCode, EditCode und EditorCode). Nun habe ich in einer zweiten Eclipse-Instanz mein Modell geladen und Parametriert.

Nun möchte ich Attribute meines Parametrierte Modells über getMethoden aufrufen. Wie mach ich das? Muss ich die meine XML-Parameterdatei (my.Testmodel) noch irgendwie einbinden?

Habe schon einige Tutorials gelesen, leider hat sich keines mit dem auslesen eines, im Editor parametrieten Modells beschäftigt.

Für eine kleine Hilfe wäre ich sehr dankbar
Gruß Beckx-net
 

Wildcard

Top Contributor
Ich verstehe die Frage nicht, tut mir leid. Möchtest du deine my.Testmodel einfach irgendwo einlesen und verwenden?
Dafür instanzierst du deine MyResource Implementierung (üblicherweise über ein ResourceSet) und dort steckt dein Modell drin.
Pseudocode:
Java:
ResourceSet set = new ResourceSetImpl();
Resource resource = set.loadResource(URI);
MyModel model = (MyModel)resource.getContents().get(0);
 
B

BeckxNet

Gast
Genau das möchte ich machen, mein Code dafür sieht so aus:
Java:
URI fileURI = URI.createFileURI(new File("test.xml").getAbsolutePath());
Resource resource = resourceSet.getResource(fileURI, true);
MyModel model = (MyModel)resource.getContents().get(0);
Bekomme auber immer den Fehler :
Cannot create a resource for 'file:/D:/EMF/test.xml'; a registered resource factory is needed

Das XML-File liegt an der richtigen Stelle.
 

Wildcard

Top Contributor
Die Fehlermeldung sagt das keine Factory für diese Dateiendung registriert wurde.
Welche Dateiendung hast du im genmodel eingetragen? Auf diese Endung wird deine Resource + Factory registriert. Allerdings führen viele Wege nach Rom, du kannst deine Factory/Resource manuell im ResourceSet eintragen (schau dir mal die get Methoden an) oder du kannst (wenn du eine eigene Resource Implementierung hast) diese direkt instanzieren anstatt über das Set zu gehen.
 
B

BeckxNet

Gast
Stimmt im GenModel steht "testmode"l als Dateiendung drin. Das ist die Endung, die mir der Editor vorgibt.
Aber auch wenn ich die "my.testmodel" xml-Datei in das EMF Projekt kopiere, bekomme ich die gleiche Meldung. Mhhh
 
B

BeckxNet

Gast
Problem hat sich gelöst, habe das Modell noch einmal aufgesetzt und neu generieren lassen. Jetzt haut das auch mit dem Einbinden der XML-Datei hin.

Schönen Abend noch...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben