# GMF Editor automatisch generieren



## Nunu (24. Jul 2008)

Hallo an alle, 

sitze hier schon eine ganze weile an diesem fehler, vielleicht hat ja jemand von euch eine antwort.

Ich will mit dem Eclipse-Plugin GMF einen Editor generieren, hab ich soweit auch 
 alle nötigen Datein für die Codgenerierung erzeugt. Bekomme aber den fehler 

“Top level note “containment feature” must be available in the diagram domain element or its super-class

Hab alle Möglichkeiten bei den Properties durch gespielt, komme aber leider nicht weiter.

Meine frage ist, welcher zusammenhang besteht zwischen den "Top Node Reference" und dem "Node Mapping".
oder mache ich schon im Metamodell bzw. Klassendiagramm was flasch.

lg Nunu


----------



## Wildcard (24. Jul 2008)

Wie schon in der PM geantwortet (der Vollständigkeit halber), achte darauf, dass jedes Object in deinem EMF Modell (ausser Root) zu einem anderen in einer Container/Containment Beziehung steht.
In XML Ausgedrückt: Jedes Element/jeder Typ muss in einem anderen enthalten sein, ausser der Wurzelknoten, der alleine steht.


----------



## BjörnBu (24. Jul 2008)

Deine Top Level Nodes - die, die direkt auf deinem canvas platziert werden können, müssen dem Domain Element, dass du mit dem grafischen Editor editierst zugeordnet werden können.

Zum einen muss das "oberste Element" also eine referenz auf domain objekte, die von den Top Level Nodes repräsentiert haben.

Im ecore Modell ist das eine EReference. Wenn es viele gibt halt mit Upper Bound -1 (entspricht max-occurs unbounded in xsd). Außerdem ist wichtig, dass "containment" true ist. 

Beispiel:

Du modellierst eine Fußballmannschaft. Dann ist das "diagram domain element" das Team, die nicht als node existziert. Team hat EReference members: Member mit containment="true".

Jetzt lassen sich Members als Top-nodes benutzen und man kann containment-feature in der properties view auf members: Member setzen. 

Der Validierungsfehler, den du ansprichst kommt meines Wissens nach davon, dass containment-feature nicht, oder zumindest nicht auf ein Attribut des Diagram Domain Elements gesetzt ist


----------

