# EMF Generierten Code benutzten



## BeckxNet (30. Nov 2009)

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 (30. Nov 2009)

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:
	
	
	
	





```
ResourceSet set = new ResourceSetImpl();
Resource resource = set.loadResource(URI);
MyModel model = (MyModel)resource.getContents().get(0);
```


----------



## BeckxNet (30. Nov 2009)

Genau das möchte ich machen, mein Code dafür sieht so aus:

```
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 (30. Nov 2009)

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.


----------



## BeckxNet (1. Dez 2009)

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


----------



## BeckxNet (1. Dez 2009)

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...


----------

