Community
Participate
Working Groups
Create a JAXB 2.1 or JAXB 2.2 project using defaults for either R-Click and select Properties Go to Project Facets and select any one of the JavaServer Faces from the Configuration drop down. Receive the following error - java.lang.NullPointerException at org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider.getWebContentFolderName(JSFFacetInstallDataModelProvider.java:383) at org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider.getWebContentFolder(JSFFacetInstallDataModelProvider.java:361) at org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider.validateConfigLocation(JSFFacetInstallDataModelProvider.java:231) at org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider.validate(JSFFacetInstallDataModelProvider.java:161) at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.validate(DataModelImpl.java:377) at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.validate(DataModelImpl.java:358) at org.eclipse.wst.common.componentcore.datamodel.FacetDataModelConfigAdapter.validate(FacetDataModelConfigAdapter.java:63) at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.updateFurtherConfigHyperlink(FacetsPropertyPage.java:422) at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.access$4(FacetsPropertyPage.java:337) at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage$6.run(FacetsPropertyPage.java:330) at org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.runOnDisplayThread(SwtUtil.java:34) at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.handleProjectModifiedEvent(FacetsPropertyPage.java:334) at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.access$2(FacetsPropertyPage.java:324) at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage$3.handleEvent(FacetsPropertyPage.java:189) at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.notifyListeners(FacetedProjectWorkingCopy.java:1752) at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.resumeEventNotification(FacetedProjectWorkingCopy.java:1797) at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.setSelectedPreset(FacetedProjectWorkingCopy.java:1097) at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$8.widgetSelected(ModifyFacetedProjectWizard.java:576) 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)
This doesn't appear related to having a JAXB faceted project, so you should be able to reproduce with any faceted project.
What is a JAXB project? Is it a Web project? Does it have a WebContent folder?
(In reply to comment #2) > What is a JAXB project? Is it a Web project? Does it have a WebContent folder? It's really just a faceted project that only contains a JAXB facet. It can be combined with a Web facet to get Web project content.
The stack trace suggests there is no WebContent folder in the project, which implies that this is not a valid Dynamic Web Project to begin with. I don't know why, just throwing it out there.
(In reply to comment #4) > The stack trace suggests there is no WebContent folder in the project, which > implies that this is not a valid Dynamic Web Project to begin with. > I don't know why, just throwing it out there. That would probably explain the NPE. : ) I guess we need to figure out why these configurations are available. I was able to reproduce with a JPA project (faceted project with Java and JPA facets). The JAXB facet also has the Java facet, which I didn't mention before.
Took another look at this. The Configurations appear to be valid options. All you need is a plain faceted project to reproduce the issue. I encountered this exception first while testing selection of JSF Configurations. java.lang.NullPointerException at org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider.handleProjectFacetsChanged(J2EEModuleFacetInstallDataModelProvider.java:216) at org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider.access$0(J2EEModuleFacetInstallDataModelProvider.java:198) at org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider$2.handleEvent(J2EEModuleFacetInstallDataModelProvider.java:180) at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.notifyListeners(FacetedProjectWorkingCopy.java:1752) at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.resumeEventNotification(FacetedProjectWorkingCopy.java:1797) at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.setSelectedPreset(FacetedProjectWorkingCopy.java:1097) at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$8.widgetSelected(ModifyFacetedProjectWizard.java:576) ...
Moving this to 3.3 since we are in ramp down for 3.2.3
I just spotted this again and yes, this is reproducible by creating a new faceted project, go to Facet properties and enable/disable the JSF facet. It seems it assumes that it is always called on a dynamic web project and that is not the case when the user is just selecting the facet.
org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider was making some invalid assumptions about the existence of a Java project. Fix submitted at 2011/03/21 04:17PM PDT.
(In reply to comment #6) > Took another look at this. The Configurations appear to be valid options. All > you need is a plain faceted project to reproduce the issue. > > I encountered this exception first while testing selection of JSF > Configurations. > > > > java.lang.NullPointerException > at > org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider.handleProjectFacetsChanged(J2EEModuleFacetInstallDataModelProvider.java:216) > at > org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider.access$0(J2EEModuleFacetInstallDataModelProvider.java:198) > at > org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider$2.handleEvent(J2EEModuleFacetInstallDataModelProvider.java:180) > at > org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.notifyListeners(FacetedProjectWorkingCopy.java:1752) > at > org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.resumeEventNotification(FacetedProjectWorkingCopy.java:1797) > at > org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.setSelectedPreset(FacetedProjectWorkingCopy.java:1097) > at > org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$8.widgetSelected(ModifyFacetedProjectWizard.java:576) > ... Regarding comment # 6, a new bugzilla was created: https://bugs.eclipse.org/bugs/show_bug.cgi?id=340689 and a patch was attached with a proposed fix.