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

Bug 330454

Summary: Receive unhandled event loop error when change JPA from 2.0 to 1.0 and Apply
Product: [WebTools] Dali JPA Tools Reporter: Jolene Moffitt <jolene.moffitt>
Component: GeneralAssignee: Paul Fullbright <paul.fullbright>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: neil.hauge, paul.fullbright
Version: 3.0   
Target Milestone: 3.0   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Jolene Moffitt CLA 2010-11-17 09:05:01 EST
Create a JPA 2.0 Generic 2.0 project.  
R-Click on project and select properties
Select Project Facets and change JPA from 2.0 to 1.0 
Click on Further configuration required link
Select Generic 1.0 for the platform and click OK
Select Java Persistence - Notice message stating Uncommitted changes...
Select Project Facets again
Click on Apply button for the Properties dialog
Receive the following Error in the Error Log
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: duplicate listener: SWT(org.eclipse.jpt.ui.internal.properties.JpaProjectPropertiesPage$9@ea553e))
	at org.eclipse.swt.SWT.error(SWT.java:4091)
	at org.eclipse.swt.SWT.error(SWT.java:4006)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4059)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3678)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
	at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.performOk(FacetsPropertyPage.java:257)
	at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.performApply(FacetsPropertyPage.java:313)
	at org.eclipse.jface.preference.PreferencePage$2.widgetSelected(PreferencePage.java:281)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4084)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3675)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4084)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3675)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	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: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:621)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:576)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1409)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1385)
Caused by: java.lang.IllegalArgumentException: duplicate listener: SWT(org.eclipse.jpt.ui.internal.properties.JpaProjectPropertiesPage$9@ea553e)
	at org.eclipse.jpt.utility.internal.ListenerList.add(ListenerList.java:94)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.addListener(ChangeSupport.java:123)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.addListener(SingleAspectChangeSupport.java:100)
	at org.eclipse.jpt.utility.internal.model.value.AspectAdapter$LocalChangeSupport.addListener(AspectAdapter.java:245)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.addPropertyChangeListener(ChangeSupport.java:397)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.addPropertyChangeListener(AbstractModel.java:155)
	at org.eclipse.jpt.ui.internal.properties.JpaProjectPropertiesPage.buildConnectionGroup(JpaProjectPropertiesPage.java:626)
	at org.eclipse.jpt.ui.internal.properties.JpaProjectPropertiesPage.createPageContents(JpaProjectPropertiesPage.java:479)
	at org.eclipse.jst.common.project.facet.ui.libprov.LibraryFacetPropertyPage.updateContents(LibraryFacetPropertyPage.java:266)
	at org.eclipse.jst.common.project.facet.ui.libprov.LibraryFacetPropertyPage.access$0(LibraryFacetPropertyPage.java:210)
	at org.eclipse.jst.common.project.facet.ui.libprov.LibraryFacetPropertyPage$2.run(LibraryFacetPropertyPage.java:220)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	... 45 more
Comment 1 Paul Fullbright CLA 2010-12-07 15:05:33 EST
I have a fix for this I'll check in on my next commit.
Comment 2 Paul Fullbright CLA 2010-12-08 23:38:08 EST
Committed changes for M4