# RCP Plugin Extension Point ist NULL



## Martyy (8. Okt 2012)

Hallo zusammen,

ich versuche gerade (ja die Vogella und diverse andere Tutorials habe ich schon durchgemacht) ein Plugin zu schreiben, welches mein "main" Plugin durch einen handledMenüeintrag im JFace TreeViewer erweitert. Wenn man diesen anklickt soll im Zusatzplugin ein Fileopen Dialog geöffnet werden für weitere Behandlungen (also es bleibt nicht nur bei einnem Dialog)

Nun ich bin Anfänger und betreibe das ganze für einen Studentenjob mit Eclipse und bin total verwirrt von dem ganzen 3.7 und 4.x Mischmasch. Ich habe in meiner Unibibliothek alle Bücher zu RCP (und das waren 2 Regale voll!) durchgestöbert. Mein Problem ist das ich an vielen Stellen nicht weiß ob man noch so programmieren sollte (z.b. mit Actions) oder ob das alles veraltet ist. Jede Kleinigkeit kostet Stundenlange rechersche und manches funktioniert aus mir unerklärlichen Gründen nicht obwohl es sollte.

Und hier setze ich mit meinen Fragen an:

1) Wenn ich ein Plugin schreiben möchte das UI Zusätze liefert mit ImportDialog von Files + Tabellendarstellung danach usw. wo sollte man das im "main" Plugin am besten Verwalten?

2) Ich habe im Main Plugin einen Extension Point definiert, sowie eine Extension im Zusatzplugin so wie es im Vogella Tutorial erklärt wird. Nun versuche ich im MainPlugin das ganze so anzusteuern, wobei ich die ID mit der in der XML übereinstimmt :

```
IExtensionRegistry registry = Platform.getExtensionRegistry();
		

		 IExtensionPoint point =   
		         registry.getExtensionPoint("myTest.extensionPointID");
		 if (point != null) { 
                         .....
```

PluginXML


```
<extension-point id="myTest.extensionPointID" name="ImporterExtension" schema="schema/myTest.extensionPointID.exsd"/>
```

aber schon hier gibt es Probleme ... die variable point ist und bleibt NULL. Ich verstehe es nicht, ist das ein Bug oder mache ich etwas falsch?


----------



## Gast2 (8. Okt 2012)

Naja bischen unspezfische Fragen was du da hast...



Martyy hat gesagt.:


> aber schon hier gibt es Probleme ... die variable point ist und bleibt NULL. Ich verstehe es nicht, ist das ein Bug oder mache ich etwas falsch?



Ist dein Bundle überhaupt gestartet das schon mal überprüft?


----------



## Martyy (9. Okt 2012)

Das Programm wird gestartet mitsamt Oberfläche, das Plugin das etwas dazu beisteuern soll wird nicht gestartet. Aber wie gesagt es wird im Plugin dass den Extension Point zur verfügung stellt nicht einmal der eigene Extension Point erkannt. Ich habe absolut keine Ahnung woran das liegen könnte und daher frage ich (könnte ja ein Bug sein).


----------



## Gast2 (9. Okt 2012)

Martyy hat gesagt.:


> Ich habe absolut keine Ahnung woran das liegen könnte und daher frage ich (könnte ja ein Bug sein).



Eher kein Bug sondern würde ja kein RCP funktionieren 

also wenn ich das hier mache klappt alles auch wenn ich nur das provider plugin starte...
Eclipse Extension Points and Extensions - Tutorial


----------



## Martyy (9. Okt 2012)

So habs zum laufen bekommen ) (dennoch danke, bin durch einen kleinen Hinweis im Vogellatutorial und eine Ausgabe aller existierenden Extensionpoints darauf gekommen)

das Problem war das ich als ID nur die Point-id angegeben habe aber muss wohl  "Pluginname.ExtensionPointID" sein. Steht bei Vogella auch  aber habe ich übersehen


----------



## Gast2 (9. Okt 2012)

Martyy hat gesagt.:


> das Problem war das ich als ID nur die Point-id angegeben habe aber muss wohl  "Pluginname.ExtensionPointID" sein. Steht bei Vogella auch  aber habe ich übersehen



Jo das muss so sein damit die ID immer eindeutig ist.
symbolic name + extension point id ist eindeutig, sonst könntest du ja genau so extension point als ein anderes plugin definieren welches wird dann genommen???


----------



## Martyy (10. Okt 2012)

naja wenn man annehmen würde das die extensionpoint id systemweit einmalig ist würde es ja passen


----------



## Gast2 (10. Okt 2012)

Martyy hat gesagt.:


> naja wenn man annehmen würde das die extensionpoint id systemweit einmalig ist würde es ja passen



und das willst du wie sicherstellen?


----------

