Eclipse Plugin Depedencies auslesen...

Status
Nicht offen für weitere Antworten.

mrbela

Bekanntes Mitglied
Hallo Leute!

Ich stehe vor einem Problem: Ich habe PlugIn A, das unter den Dependencies u.a. ein PlugIn B hat, auf dessen Platform ich zugreifen möchte.

In Plugin A geht das ja ganz easy, auf die eigene Platform zu zugreifen:

Java:
Platform.platformMethode();

Aber wie komme ich an die Platform von B dran... Um das zu schaffen müsste ich glaube ich als Zwischenschritt erst mal an die Dependencies von PlugIn A dran kommen. Aber selbst das schaffe ich nicht.. :(

Danke für die Hilfe!
 

mrbela

Bekanntes Mitglied
Ich schreib auch noch,w arum ich das ganze brauche. Also PlugIn A ist quasi das Hauptplugin udn PlugIn B der Kernel. An den Kernel habe ich einen Extension Point eingerichtet, der aber von Plugin A "ausgelesen" werden muss, bzw. muss PlugIn A zur Laufzeit schauen, ob sich eine Extension an diesem Point von B angemeldet hat.

Auf einen Extension Point im eigenen Plugin greife ich so zu, das klappt auch alles. Nur will ich den aus B auslesen:

Java:
	    try {
		IConfigurationElement[] config = Platform.getExtensionRegistry()
				.getConfigurationElementsFor(IGREETER_ID);
		for (IConfigurationElement e : config) {
			final Object o = e.createExecutableExtension("class");
			if (o instanceof IGreeter) {
				ISafeRunnable runnable = new ISafeRunnable() {
					@Override
					public void handleException(Throwable exception) {
						System.out.println("Exception in client");
					}

					@Override
					public void run() throws Exception {
						((IGreeter) o).greet();
					}
				};
				SafeRunner.run(runnable);
			}
		}
	} catch (Exception ex) {
		System.out.println(ex.getMessage());
	}
 

stefan.

Mitglied
Ich versteh den Zusammenhang nicht richtig. Plugin A bietet eine Extension an, Plugin B erweitert die Extension? Dann kann A auf B zugreifen und beispielsweise ein Objekt von B erstellen (createExecutableExtension("class")) oder Informationen auslesen. Was meinst du dann mit '...aus B auslesen'?
 

mrbela

Bekanntes Mitglied
Nee. Das Problem ist leider komplexer. Diese normale Extension Sache zwischen 2 Plugins hab ich schon gemacht, klappt problemlos.

Das Problem ist folgendes: Ich habe ein PlugIn A, das in den Dependencies PlugIn B stehen hat. A selbst hat keinen Extension Point, aber PlugIn B. Dieser wird dann durch ein drittes Plugin C erweitert.
Ich muss aber vom PlugIn A aus nachfragen, ob bei Plugin B sich C angemeldet hat, um den Extension Point bei B zu erweitern.

Verstehst Du mein Problem?

Danke für die Hilfe!
 

stefan.

Mitglied
Ok jetzt versteh ich das besser ;)

Evtl könntest du über den Activator aus Plugin B von A darauf zugreifen. Der bietet eine statische getDefault() Methode ? Oder deine Plugin Struktur überdenken ...
 

Wildcard

Top Contributor
Platform bietet statische Methoden, die sind für alle Plugins die gleichen. Anders gesagt, ein Bundle hat keine 'Platform' das ist einfach eine ganz normale Eclipse Klasse.
 

mrbela

Bekanntes Mitglied
danke erstmal!

ich bin mir dessen bewusst, dass das statische Methoden sind und dass die bei jedem PlugIn gleich sind. Aber wie greife ich denn von PlugIn A aus auf die Methoden der Platform von B zu??
 

Wildcard

Top Contributor
Was meinst du denn bitte mit die 'Methoden der Platform von B'? Es gibt nur eine Platform.
 

mrbela

Bekanntes Mitglied
Naja, ich bin quasi im Quelltext von A und möchte von dort aus schauen, ob eine Extension in PlugIn B sich an dessen Extension Point angemeldet hat. Dies kann ich ja mit entsprechenden Methoden des PlugIns B machen. Aber wie komm ich aus PlugIn A, also aus dessen Quelltext an PlugIn B dran und somit dann auch an die anliegenden Extensions.

danke!
 

Wildcard

Top Contributor
Zur Laufzeit gibt es keinen Quelltext. Was willst du den tun? Alle Extension bekommen die sich an einen Extension Point gehängt haben? Dazu nimmt man die Extension Registry.
 

mrbela

Bekanntes Mitglied
ja, aber ich muss von einer Klasse aus, die in PlugIn A liegt die Extensions von dem Plugin B auslesen. Die stehen meines Wissens nicht in der ExtensionRegistry von A drinnen.

:(
 

mrbela

Bekanntes Mitglied
ich habs wohl richtig vermutet. Bei dem Befehl

Java:
Platform.getExtensionRegistry().getExtensionPoints().length

schmeißt er eine Nullpointer. Und zwar ist Platform.getExtensionRegistry() null, was meine Theorie bestätigt.

Das muss doch irgendwie zu lösen sein, das Problem?!?!?
 
G

Gonzo17

Gast
Du kannst doch Platform.getPlugin("ID von Plugin B") aufrufen, oder? Probier mal, ob du von dem Plug-In dann eine Extension Registry bekommst. Oder probiers mit Platform.getPlugin("ID von Plugin B").getDescriptor().getExtensions().
 

Wildcard

Top Contributor
Es gibt nur eine Extension Registry, die ist gleich für alle Plugins. Wenn dir Platform.getExtensionRegistry null liefert, stimmt etwas nicht. Versuch mal ein Platform.isRunning um herauszufinden ob sie überhaupt läuft. Vielleicht läuft bei dir ein integrales Eclipse PlugIn nicht.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
C plugin development environment eclipse Plattformprogrammierung 4
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
P Wie bekomme ich ICompilationUnit aus dem event? bei Eclipse-Plugin Plattformprogrammierung 3
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
hdi Frage zu Eclipse Plugin Development Plattformprogrammierung 12
D Canvas auf View in Eclipse PlugIn Plattformprogrammierung 3
H Bibliotheken in Eclipse-Plugin-Projekt verwenden. Plattformprogrammierung 18
H Eclipse-Plugin erstellen Plattformprogrammierung 22
hdi Schwierigkeiten mit Plugin für EPF (Eclipse Process Framework) Plattformprogrammierung 3
hdi Problem bei Eclipse Plugin Export Plattformprogrammierung 9
H Eclipse Plugin Dateihandling Plattformprogrammierung 2
A Eclipse Plugin Programmierung Dateien Refreshen Plattformprogrammierung 2
F Eclipse Plugin - Rückgabewert einer Methode Plattformprogrammierung 4
R Eclipse RCP - Plugin erstellen Plattformprogrammierung 2
lumo [Eclipse RCP] Plugin OHNE visuals Plattformprogrammierung 7
R Eclipse RCP vs. Plugin Entwicklung Plattformprogrammierung 5
B Eclipse plugin fuer dummys Plattformprogrammierung 11
N Eclipse RCP Plugin aus jar starten Plattformprogrammierung 7
R Wo/Wie Eclipse Plugin einhängen für Jar-Export? Plattformprogrammierung 14
V [erledigt] Eclipse plugin startet nicht Plattformprogrammierung 3
S Eclipse-Plugin + Velocity + Files lesen Plattformprogrammierung 3
C AST (Abstract Syntax Tree)-Generierung für Eclipse-Plugin Plattformprogrammierung 5
V Javadoc an Eclipse Plugin anfügen Plattformprogrammierung 4
V JNI in Eclipse Plugin Plattformprogrammierung 17
F Eclipse plugin ausserhalb von Eclipse starten Plattformprogrammierung 4
byte [ Eclipse ] NoClassDefFoundError bei neuem Plugin Plattformprogrammierung 4
I Eclipse-Plugin: Perspektive mit 2 Views Plattformprogrammierung 5
G Frage zu Eclipse Plugin Plattformprogrammierung 5
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
R Eclipse Bundles Plattformprogrammierung 2
Robertop RCP Command in bereits bestehendes Eclipse-Menü einbauen Plattformprogrammierung 4
T Java Projekt läuft nur in Eclipse Plattformprogrammierung 6
D RCP P2-Repository für Eclipse-Plugins Plattformprogrammierung 0
M Debuging in Eclipse Annotations Processor Plattformprogrammierung 0
D Nach Sprachpaket Installation kann eclipse nicht mehr gestartet werden Plattformprogrammierung 4
L0MiN Wie kann ich ein Klassendiagramm aus Eclipse heraus erstellen? Plattformprogrammierung 5
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
feinperligekohlensaeure Eclipse Workspace gemeinsam Nutzen -> keine .project Datei Plattformprogrammierung 1
F Eclipse Build Path auf benötigte Projekte Plattformprogrammierung 4
B Daten von Eclipse extern sichern Plattformprogrammierung 2
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
VfL_Freak [Eclipse] Fehleranzeige im Reiter "Problems" Plattformprogrammierung 1
S Errors in workspace bei eclipse Plattformprogrammierung 3
T eclipse bietet keine META-INF an Plattformprogrammierung 1
N Eclipse wo starten Plattformprogrammierung 6
A Eclipse schließt einfach ohne Fehlermeldung Plattformprogrammierung 4
W Eclipse vergißt beim Exportieren Resources-Ordner Plattformprogrammierung 11
A RCP Eclipse e4 und Injection-Contexts Plattformprogrammierung 0
K Eclipse fährt nicht mehr hoch. Metadatendatei schuld? Plattformprogrammierung 7
C [Eclipse RCP E4]InjectionException: no actual value was found for the argument "MDirtyable" Plattformprogrammierung 8
T Eclipse Eigenschaften hinzufügen Plattformprogrammierung 2
M RCP [Eclipse RCP 3.4] ViewTab Kontextmenu "Alle schließen" Plattformprogrammierung 0
D Problem mit eclipse Plattformprogrammierung 2
S Verschieben des Verzeichnis .eclipse aus Userprofile Plattformprogrammierung 3
A RCP Kann kein Eclipse 4 Projekt anlegen Plattformprogrammierung 0
S RCP Exportiertes RCP Produkt lädt Datei nicht, bei Start aus Eclipse wird Datei jedoch gefunden Plattformprogrammierung 6
G Eine Library in Eclipse zur Verfügung stellen Plattformprogrammierung 14
Gregorrr Eclipse RCP Product Build-Nummer + Jenkins Plattformprogrammierung 6
H OSGi OSGi + Logback + slf4j - Eclipse Run Configuration Plattformprogrammierung 7
R RCP Commands nutzen / org.eclipse.ui.file.save Plattformprogrammierung 7
O Installiere externe Methode "containsNone" in Eclipse Plattformprogrammierung 2
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
B Eclipse Probleme mit build Plattformprogrammierung 8
H Keine Hilfe/API mehr in Eclipse Juno? Plattformprogrammierung 4
B Neue SuppressWarning in Eclipse Juno Plattformprogrammierung 6
B Eclipse Property Page Plattformprogrammierung 6
B Eclipse PreferencePage Plattformprogrammierung 3
B Birt-Previewer über Eclipse Plattformprogrammierung 14
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
R Eclipse RCP Tabellen-View (Anfängerfrage) Plattformprogrammierung 3
C Eclipse: Notification beim umbennen von Methoden? Plattformprogrammierung 4
schalentier Eclipse Sourcecode Plattformprogrammierung 4
A Eclipse undo/redo button reagiert nicht auf Änderungen in der OperationHistory Plattformprogrammierung 5
P Eclipse M2_REPO (NON MODIFIABLE) Plattformprogrammierung 8
B Eclipse: Contextmenu id erhalten? Plattformprogrammierung 9
H Datei in eclipse wird nicht erkannt Plattformprogrammierung 3
O Neues Tastenkürzel für Eclipse Editorfenster registrieren Plattformprogrammierung 2
Madlip RCP eclipse.ui.bindings (Key-Problematik) Plattformprogrammierung 2
S Eclipse vs. JavaMail vs. Ubuntu vs. Windows Plattformprogrammierung 3
M eclipse führt applikationen nicht mehr aus Plattformprogrammierung 6
S Eclipse: Auf CTRL-C/CTRL-V im Package Explorer? Plattformprogrammierung 4
M Eclipse und Hilfen Plattformprogrammierung 5
G Eclipse buggt rum!!! Plattformprogrammierung 4
B Eclipse RCP und Java 7 Plattformprogrammierung 7
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
M RCP [Eclipse RCP] Feature Export und "Fehler"... Plattformprogrammierung 3
P Eclipse speichert keine Änderungen Plattformprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben