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

Bug 340689

Summary: NPE in org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider#handleProjectFacetsChanged()
Product: [WebTools] WTP Java EE Tools Reporter: Rosendo Martinez <rosendo>
Component: jst.j2eeAssignee: Rosendo Martinez <rosendo>
Status: RESOLVED FIXED QA Contact: Chuck Bridgham <cbridgha>
Severity: normal    
Priority: P3 CC: ccc
Version: 3.2.3Flags: cbridgha: review+
Target Milestone: 3.2.4   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
It contains a proposed solution to avoid NPE in handleProjectFacetsChanged ccc: iplog+

Description Rosendo Martinez CLA 2011-03-22 13:15:13 EDT
Build Identifier: 3.6.2.r362_v20110210

Looking over a clients .log file, found the following NPE:

!ENTRY org.eclipse.wst.common.project.facet.core 4 0 2011-02-07 10:04:36.641
!MESSAGE null
!STACK 0
java.lang.NullPointerException
    at org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider.handleProjectFacetsChanged(Unknown Source)
    at org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider.access$0(Unknown Source)
    at org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider$2.handleEvent(Unknown Source)
    at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.notifyListeners(Unknown Source)
    at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.resumeEventNotification(Unknown Source)
    at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.setSelectedPreset(Unknown Source)
    at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$8.widgetSelected(Unknown Source)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.jface.window.Window.runEventLoop(Unknown Source)
    at org.eclipse.jface.window.Window.open(Unknown Source)
    at org.eclipse.ui.dialogs.PropertyDialogAction.run(Unknown Source)
    at org.eclipse.jface.action.Action.runWithEvent(Unknown Source)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Unknown Source)
    at org.eclipse.jface.action.ActionContributionItem.access$2(Unknown Source)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
    at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
    at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
    at org.eclipse.ui.internal.Workbench$7.run(Unknown Source)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    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(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

Reproducible: Couldn't Reproduce
Comment 1 Rosendo Martinez CLA 2011-03-22 14:08:09 EDT
Created attachment 191704 [details]
It contains a proposed solution to avoid NPE in handleProjectFacetsChanged
Comment 2 Chuck Bridgham CLA 2011-04-14 09:51:05 EDT
approved
Comment 3 Carl Anderson CLA 2011-04-14 10:17:28 EDT
Committed to R3_2_maintenance and HEAD for WTP 3.2.4 and WTP 3.3 M7