immer noch Probleme bei PlugIn-Integrierung

Status
Nicht offen für weitere Antworten.

dzim

Top Contributor
Hallo zusammen und ein gesundes neues Jahr (auch wenn das jetzt recht verspätet kommt)!

Ich sitze zwar immer noch die ganze Zeit am Proggn von RCP-Zeug, konnte mich aber mehr oder weniger auf die Basics beschränken (Editoren, jede Menge Views, Jobs, Dialoge, Wizards, ...)
Leider habe ich ein Grundproblem noch immer nicht ändern können: Das Laden von eigenen PlugIns...

(Bitte nicht allzu sehr meckern, wenn es Grütze ist...)
Ich hab schon vor längerer Zeit eine Extension Point angelegt, in der als ein Attribut einmal die entsprechende Bundle-Id liegt (damit starte ich das Bundle direkt - Plattform.getBundle(id).start() - und danach lade ich mit

String model2loadString = e.getAttribute(class);
Class<TaskModel> loadClass = bundle2load.loadClass(model2loadString);
TaskModel model2load = loadClass.newInstance();

die Klasse die ich laden will (ich weiß nicht, ob das auch über Object o = e.createExecutableExtension(class); machen könnte).

Danach würde ich, weil das TaskModel IAdapable oder besser PlattformObject erweitert, es an mein bestehendes Model, welches im CommonNavigator angezeigt wird, anhängen.

Problem: Klappt nicht.
Es kommt auch gern mal der Fehler

Code:
!ENTRY org.eclipse.osgi 4 0 2009-01-19 16:54:02.499
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: Not implemented [multiple displays]
        at org.eclipse.swt.SWT.error(SWT.java:3803)
        at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:712)
        at org.eclipse.swt.widgets.Display.create(Display.java:842)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:154)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:471)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:462)
        at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:525)
        at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
        at myApp.rcp.pfs.PFSApplication.start(PFSApplication.java:18)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

Ok, ich hab ja der einfachheit halber erst alles in der hauptanwendung geschrieben, weil es mit dem PlugIn nicht geklappt hat... vielleicht liegt es an der doppelten benennung - wobei die Editoren ja dann schon andere IDs haben als vorher...
Ich weiß es nicht...

Wenn jemand konstruktive vorschläge hat, ich wär dafür offen - es drängt nicht, wär aber schön es mal irgendwann gebacken zu bekommen.

Danke euch allen schon mal.

PS: Vielleicht gibt es ja eine Variante den CommonNavigator beim start des PlugIns (also im Activator) zu überzeugen, die Daten anzuhängen, aber dafür verstehe ich das CNF wahrscheinlich zu wenig
 

Wildcard

Top Contributor
Du brauchst keine Bundles zu starten. Die werden ja nach Bundle-Activation Policy automatisch gestartet. Überlicherweise wird ein Bundle immer dann gestartet, wenn eine seiner Klassen angefragt wird.
Verstehe ich das richtig? Du hast einen Extension Point definiert und dort klinkt sich dein anderes PlugIn ein und du hast dort zB ein Feld vom Typ Java Class die du gerne instanzieren möchtest?
IConfigurationElement#createExecutableExtension war schon richtig, so wird's gemacht.
http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/IConfigurationElement.html#createExecutableExtension(java.lang.String)
 

dzim

Top Contributor
YEAH! That's it my friend!

Alter danke für den letzten Zündenden Gedanken!
Das "per Hand" starten - bzw. der Versuch es zu tun, hat in Kombination immer die Probleme gebracht - ich habe den Start des Bundles entfernt, bei dem IConfigurationElement#createExecutableExtension Teil die Kommentare entfernt und schon ging es!
Ich werde jetzt meinen ExtensionPoint aufräumen und die bundle-id wieder wegnehmen, da ich sie nicht brauch und es die ganze sache eher unsauber macht.

Vielen Dank noch einmal - so was tolles am frühen morgen (ich weiß - ich bin leicht zu begeistern...)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H PHP Perspective nach Run immer im Vordergrund - Was tun Plattformprogrammierung 0
S AbstractUIPlugin.imageDescriptorFromPlugin liefert immer null zurück Plattformprogrammierung 5
Saxony Eclipse RCP - Splash Screen immer anzeigen Plattformprogrammierung 11
N Noch eine Frage zu GEF Plattformprogrammierung 5
J Probleme mit Windows 10 und javac Plattformprogrammierung 3
E Probleme mit Netbeans und javaDoc Plattformprogrammierung 6
J Probleme mit Umlauten unter Windows Plattformprogrammierung 2
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
D Probleme bei Compilierung Plattformprogrammierung 1
J Probleme mit Toolbar Konfiguartion in e4 Anwendung. Plattformprogrammierung 0
A Probleme mit disable() Plattformprogrammierung 6
V RCP RCP hat Probleme mit der JAXB-Zuordnung glaub ich Plattformprogrammierung 2
B Eclipse Probleme mit build Plattformprogrammierung 8
M OSGi Probleme / Unklarheiten beim laden von DLL's Plattformprogrammierung 4
Madlip RCP Merere Probleme von win32 auf win64 Plattformprogrammierung 13
X Probleme mit dem OSGi-Framework Plattformprogrammierung 3
A IWordDetector Highlight Probleme Plattformprogrammierung 8
M Nach Umbenennung der Packages viele Probleme Plattformprogrammierung 11
G Probleme beim Export Plattformprogrammierung 2
M Teilweise Probleme beim Updaten von Plugins Plattformprogrammierung 3
dzim Probleme mit Eclipse Forms Plattformprogrammierung 2
N Probleme mit PartListener Plattformprogrammierung 5
G SWT macht große Probleme mit Intel Mac (Leopard) Plattformprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben