EMF Editor Dateiverknüpfungen

Status
Nicht offen für weitere Antworten.

Paule

Aktives Mitglied
Hallo,

ich bin gerade dabei ein Eclipse Plugin zu schreiben. Nun bin ich auf ein Problem gestoßen und komme nicht weiter.

Mittels eines EMF Editors wird ein Modell und damit ja auch eine Datei erstellt. Im Editor kann man auch Verknüpfungen zu anderen EMF Modellen erstellen über "Load Resource". So weit so gut.

Mein Plugin soll nun das erstellte Model weiter verarbeiten. Dafür möchte ich die vorher im Editor angegebenen Verknüpfungen herausfinden und die verknüpften Modelle in eigenen Fenstern öffnen (wie das geht weiß ich).
Meine Frage ist also, wie finde ich die Verknüpfungen heraus, nachdem ich die Datei per Rechtsklick ausgewählt habe und den entsprechenden Eintrag im Kontextmenü gewählt habe?
Geht das evtl über das ISelection-Objekt? Ich habe auch schon versucht den zuständigen Editor herauszufinden, allerdings habe ich nirgends etwas zu den Verknüpfungen finden können.

Ich hoffe mri kann jemand helfen. Schon mal danke!!
 

Wildcard

Top Contributor
Meines Wissens nach werden die Dateien nicht wirklich importiert.
Lediglich für den Editor wird die entsprechende Datei sichtbar.
Die Elemente aus dem 'importierten' können dann im eigentlichen Model verwendet werden und mit einer URI gespeichert.
Bei Bedarf wird die URI dann ausgewertet und die fehlenden Dateien nachgeladen.
Schau dir einfach mal die XML Struktur deiner Dateien an, dann müsstest du mehr wissen.
 

Paule

Aktives Mitglied
Ja stimmt.

Weißt Du zufällig wie man an das Model der Datei herankommt? Sprich so, dass ich irgendwie eine Instanz des Models habe und damit ganz normal weiterarbeiten kann.

Bis jetzt habe ich die XML Struktur ausgewertet und mir so z.B. die verlinkten Resourcen besorgt. Aber das geht doch sicher auch etwas schöner, oder?

MfG!!
 

Paule

Aktives Mitglied
Ehm blöde Frage :)
Ich denke Du meinst diese Klasse hier: EMFUtil zumindest scheint die Klasse das zu können, was ich möchte. Nur wo versteckt sich die Klasse denn? Ich wollte in der Plugin.xml eine dependency hinzufügen, nur leider gibt es kein package, dass mit org.eclipse.hyades (usw) beginnt.
Hab jetzt schon ne Weile gegoogelt allerdings dabei nichts brauchbares gefunden außer immer wieder die Dokumentation zur Klasse (siehe Link).
 

Wildcard

Top Contributor
Verzeihung, ich meinte EcoreUtil. Aber mal blöd gefragt, wozu das ganze eigentlich?
Du hast doch vermutlich eReferences in deinem Model, oder?
EMF sollte diese Referenzen doch automatisch auflösen.
Das sind doch auch eObjects, warum nicht einfach eObject.eResource oder eContainer? ???:L
 

Paule

Aktives Mitglied
Bei meiner letzten Frage ging es mir gar nicht speziell um die Referenzen.
Kurz zum Ablauf mines Plugins: Es wird im Vorfeld ein Model und damit ja auch eine Datei erstellt. Diese kann man per Rechtsklick anklicken und wenn man aus dem Kontextmenü den passenden Eintrag auswählt, dann startet mein Plugin.
Dabei habe ich dann Zugriff auf ein ISelection Objekt woraus ich mir ein IFile Objekt erstelle. Aus diesem IFile möchte ich gerne das Model haben.
Sollte ih dieses Model erst einmal haben, brauche ich die Refernzen nicht mehr selbst auflösen (wie bisher), das macht dann ja EMF für mich.

Zur Verdeutlichung ein bisschen Code:

Code:
public class MyPluginAction implements IObjectActionDelegate {
	IWorkbenchPart part;
	ISelection selection;

	/**
	 * Constructor for Action1.
	 */
	public MyPluginAction() {
		super();
	}

	/**
	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
	 */
	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
		this.part = targetPart;
	}

        /**
	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
	 */
	public void selectionChanged(IAction action, ISelection selection) {
		this.selection = selection;
	}

	/**
	 * @see IActionDelegate#run(IAction)
	 */
	public void run(IAction action) {
		Shell shell = new Shell();
		
		IFile file = (IFile) ((IStructuredSelection) selection).getFirstElement();
		//aus diesem IFile möchte ich das Model bekommen
	}
}
 

Wildcard

Top Contributor
Naja, über ein ResourceSet kannst du dir die Resource erstellen lassen und die Resource enthält das Model.
 

Paule

Aktives Mitglied
Oh man, doch so einfach. Ein genauer Blick in die API hätte das Problem schneller lösen können.
Sag nix :roll:
Vielen Dank!!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L HTML Editor Plattformprogrammierung 2
P Artifact-Editor in RCP-Anwendung Plattformprogrammierung 14
TheWhiteShadow RCP Zustand von Editor Toolbar ToggleButton aktualisieren Plattformprogrammierung 0
D Eclipse_Visual Editor Problem Plattformprogrammierung 2
M Extension Point für Content Assist in JSP Editor gesucht Plattformprogrammierung 2
TheWhiteShadow RCP Editor Inhalt speichern Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
P RCP Text Editor Example - Missing Bundles lassen sich nicht auffinden. Plattformprogrammierung 6
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
C Java Editor funktioniert nicht Plattformprogrammierung 9
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
J RCP Verhindern, dass Editor geschlossen wird Plattformprogrammierung 5
slawaweis RCP Formularbasierter XML-Editor (bzw. vorhandenen XML-Editor integrieren) Plattformprogrammierung 8
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
E Editor Schriftgröße ändern per "Java Code" Plattformprogrammierung 8
W letzte angeklickten Editor ermitteln Plattformprogrammierung 3
S GMF Editor mit einem zur Laufzeit erstellten Modell Plattformprogrammierung 4
B Eclpise Visual Editor Plattformprogrammierung 2
A RCP Editor-Reiter (FormEditor): Kann Rechtsklick-Menue überschrieben werden? Plattformprogrammierung 6
A RCP Tabs oben und unten im Editor oder mehrere Editoren? Plattformprogrammierung 7
B GMF Editor mit nur einem Connection Tool Plattformprogrammierung 5
T RCP - Scrollable Editor Plattformprogrammierung 4
T Speichern eines Objectes in einem Editor (mit isDirty) Plattformprogrammierung 6
J TableViewer aus Editor refreshen Plattformprogrammierung 5
T RCP Local History für eigenen Editor Plattformprogrammierung 9
L RCP Genmodel-Editor? Plattformprogrammierung 2
U Klassendiagramm-Editor (EMF, GMF, Ecore Tools) Plattformprogrammierung 3
M gmfgraph editor Plattformprogrammierung 6
L RCP View in einem Editor öffnen? Plattformprogrammierung 3
B Eclipse RCP: Kontextsensitive Buttons für Editor und Hilfebutton für Wizard hinzufügen Plattformprogrammierung 5
J RCP Default Editor öffnen? Plattformprogrammierung 5
J Code Editor auslesen? Plattformprogrammierung 3
C [GEF] gespeicherte Dateien des generierten Editor Plattformprogrammierung 5
G Editor undo/redo Plattformprogrammierung 9
Spot84 datei im editor öffnen(tutorial undurchsichtig) Plattformprogrammierung 5
G Editor anzeigen Plattformprogrammierung 2
T Setze Gradienten auf Elemente(GMF-Editor) Plattformprogrammierung 2
S Custom Editor Content Assist Plattformprogrammierung 3
G Editor und doSave() Plattformprogrammierung 19
G WYSIWYG HTML Editor als Eclipse Plug-In Plattformprogrammierung 6
K XML Editor im Project Plattformprogrammierung 12
K Editor nicht in der 'EditorArea' öffnen, sondern in einem Folder(Layout). Plattformprogrammierung 10
S RCP Anfängerfrage - Zusammenspiel View, Editor, Model Plattformprogrammierung 4
D GEF Editor als RCP ausführen Plattformprogrammierung 10
G Editor Plattformprogrammierung 6
N GMF Editor automatisch generieren Plattformprogrammierung 2
H Visueller Editor für Eclipse RCP Anwendung Plattformprogrammierung 3
G xml-Datei im Editor importieren Plattformprogrammierung 3
dzim Editor aus View öffnen - fehler: unbekannte Editor ID Plattformprogrammierung 11

Ähnliche Java Themen


Oben