Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse 4 » Exception Workbench has not been created yet(With Eclipse 4 Application)
Exception Workbench has not been created yet [message #1067414] Mon, 08 July 2013 14:43 Go to next message
AIT YAHIA Idir is currently offline AIT YAHIA IdirFriend
Messages: 29
Registered: April 2013
Junior Member
Hello,

I have created an RCP application with E4 Application model, it's work fine but when a i try to get some Workbench ressources i get a java.lang.IllegalStateException: Workbench has not been created yet.

For example when calling

PlatformUI.getWorkbench().getDisplay();


from what I read this is due to the lazy instantiation, Can someone tell me how to instantiate the workbench, I need to impélmentation some selection Dialog

Trace
org.eclipse.e4.core.di.InjectionException: java.lang.IllegalStateException: Workbench has not been created yet.
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:850)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:743)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:727)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:662)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	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:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.lang.IllegalStateException: Workbench has not been created yet.
	at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:93)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.createViewMenu(FilteredItemsSelectionDialog.java:549)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.createHeader(FilteredItemsSelectionDialog.java:478)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.createDialogArea(FilteredItemsSelectionDialog.java:655)
	at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:775)
	at org.eclipse.jface.window.Window.create(Window.java:432)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1104)
	at org.eclipse.ui.dialogs.SelectionStatusDialog.create(SelectionStatusDialog.java:153)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.create(FilteredItemsSelectionDialog.java:355)
	at org.eclipse.jface.window.Window.open(Window.java:791)
	at dz.iaityahia.cieptalcars.matresorerie.handlers.ExportToExcelAction.execute(ExportToExcelAction.java:17)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	... 33 more
  


Re: Exception Workbench has not been created yet [message #1463466 is a reply to message #1067414] Thu, 06 November 2014 15:40 Go to previous messageGo to next message
Patty Eilers is currently offline Patty EilersFriend
Messages: 10
Registered: October 2014
Junior Member
Did you ever get an answer to this or figure out how to resolve it? I am having the same issue and would like to know how you worked around it. Much appreciated....
Re: Exception Workbench has not been created yet [message #1470331 is a reply to message #1463466] Wed, 12 November 2014 08:55 Go to previous message
Olivier Prouvost is currently offline Olivier ProuvostFriend
Messages: 14
Registered: August 2011
Location: TOULOUSE
Junior Member

Hi,

The PlatformUI.getWorkbench() is a Eclipse 3.x method. If you are in a pure E4 application, you must not depend on org.eclipse.ui and you will not be able to call this method.

If you need to get the Display or current IWorkbench (which would be an E4 workbench), you must inject it where you need it, or you can get the Display using Display.getCurrent().
Previous Topic:How to change the style of the main application window shell
Next Topic:How to contribute to the toolbar of an e4view?
Goto Forum:
  


Current Time: Mon Dec 22 07:52:25 GMT 2014

Powered by FUDForum. Page generated in 0.02146 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software