Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 333765

Summary: e4 Photo demo reports injection problem
Product: [Eclipse Project] e4 Reporter: Paul Webster <pwebster>
Component: UIAssignee: Remy Suen <remy.suen>
Status: RESOLVED FIXED QA Contact: Remy Suen <remy.suen>
Severity: normal    
Priority: P3 CC: remy.suen
Version: 1.0   
Target Milestone: 4.1 M5   
Hardware: All   
OS: All   
Whiteboard:

Description Paul Webster CLA 2011-01-07 11:50:13 EST
I started the e4 photo demo in a clean environment.  It came up, but complained about this:

!ENTRY org.eclipse.e4.ui.workbench 4 0 2011-01-07 11:10:09.539
!MESSAGE Failed to grant focus to part (_YuUc4EleEd-TVO58rzJVgA)
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to find matching method to invoke
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:198)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:86)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:506)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:474)
	at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:105)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$3.handleEvent(ContributedPartRenderer.java:210)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1263)
	at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1580)
	at org.eclipse.swt.widgets.Control.gtk_button_press_event(Control.java:2649)
	at org.eclipse.swt.widgets.Control.gtk_button_press_event(Control.java:2585)
	at org.eclipse.swt.widgets.Composite.gtk_button_press_event(Composite.java:681)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1731)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4800)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4359)
	at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8256)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1239)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2258)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3158)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:810)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:726)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:89)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:131)
	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:369)
	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:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Created at: /opt/pwebster/workspaces/runtime-e4photo.product/Album 1
Comment 1 Remy Suen CLA 2011-01-07 11:52:28 EST
Likely caused by changes for bug 331899 as the DI invocation was swapped to the one that didn't take a default value as a parameter.
Comment 2 Remy Suen CLA 2011-01-07 12:11:25 EST
I've added a @Focus method to the Location class from the photo demo and also rolled back the changes to the PartServiceImpl so that a @Focus method is no longer a hard requirement. We can make it so (and have it log warnings like what it did here) if we decide that is the better option further down the road.