Community
Participate
Working Groups
Build Identifier: Eclipse 3.6.2 Using an adopter product over eclipse 3.7.1 and WTP when creating an EJB project on a workspace with two runtimes, one supports a facet and the other doesn't. The wizard never appears and log. file shows a NPE. java.lang.NullPointerException at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.setProjectFacets(FacetedProjectWorkingCopy.java:726) at org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard.setRuntimeAndDefaultFacets(NewProjectDataModelFacetWizard.java:261) at org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard.createPageControls(NewProjectDataModelFacetWizard.java:150) at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736) at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:608) at org.eclipse.jface.window.Window.create(Window.java:431) at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089) Reproducible: Always Steps to Reproduce: 1.Install the two runtimes with EJB facet that is not supported in one of them 2.Create a web project with runtime of the runtime that does not support the EJB facet and check the Add project to EAR checkbox 3.File > New > EJB Project
Created attachment 207680 [details] Prevents the NPE error while creating EJB Projects Prevents the NPE error while creating EJB Projects
To clarify, this is the addition of a simple null pointer check to WTP 3.2.5, via a patch.
The Eclipse Portal is not allowing me to add a target of 3.2.5 P to Common's Target Milestones. I am setting this with a target of 3.2.5 for now, and will retarget as soon as the issue with the Portal is resolved.
-1 on the change to ProjectFacet. It doesn't seem necessary and changes behavior of an API. The caller can easily make sure that it isn't passing a null into this method. There no inherent assumption in this method that it should accept null parameter values.
Created attachment 207747 [details] Prevents NPE Changes to Konstantin's code was rolled back
Created attachment 207765 [details] null check for runtime on 364993 Avoids the NPE when creating the EJB client
Both patches were committed to R3_2_5_patches