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

Bug 343441

Summary: NPE when creating a Session bean.
Product: [WebTools] WTP EJB Tools Reporter: Israel Gomez Delgado <israelgd>
Component: jst.ejbAssignee: Carl Anderson <ccc>
Status: RESOLVED FIXED QA Contact: Kaloyan Raev <kaloyan>
Severity: normal    
Priority: P3 CC: ccc
Version: 3.2.2Flags: ccc: review+
Target Milestone: 3.4   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
draft patch, in case could not reproduce ccc: iplog+

Description Israel Gomez Delgado CLA 2011-04-20 13:37:41 EDT
Build Identifier: 

I got the following NPE from an user...

java.lang.NullPointerException
at org.eclipse.jst.j2ee.ejb.internal.operations.NewEnterpriseBeanClassDataModelProvider.validateEjbName(NewEnterpriseBeanClassDataModelProvider.java:171)
at org.eclipse.jst.j2ee.ejb.internal.operations.NewEnterpriseBeanClassDataModelProvider.validate(NewEnterpriseBeanClassDataModelProvider.java:107)
at org.eclipse.jst.j2ee.ejb.internal.operations.NewSessionBeanClassDataModelProvider.validate(NewSessionBeanClassDataModelProvider.java:333)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.validate(DataModelImpl.java:377)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.isValid(DataModelImpl.java:423)
at org.eclipse.jst.ejb.ui.internal.wizard.NewEnterpriseBeanWizard.canFinish(NewEnterpriseBeanWizard.java:102)
at org.eclipse.jface.wizard.WizardDialog.updateButtons(WizardDialog.java:1324)
at org.eclipse.jface.wizard.WizardPage.setPageComplete(WizardPage.java:299)
at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage.validatePage(DataModelWizardPage.java:342)
at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage$1.run(DataModelWizardPage.java:454)
at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage.propertyChanged(DataModelWizardPage.java:462)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.notifyListeners(DataModelImpl.java:347)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.notifyPropertyChange(DataModelImpl.java:338)
at org.eclipse.jst.j2ee.ejb.internal.operations.NewSessionBeanClassDataModelProvider.propertySet(NewSessionBeanClassDataModelProvider.java:203)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.internalSetProperty(DataModelImpl.java:182)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.setProperty(DataModelImpl.java:172)
at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper.setProperty(DataModelSynchHelper.java:189)
at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper$ModifyTextListener.modifyText(DataModelSynchHelper.java:74)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:173)
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.Widget.sendEvent(Widget.java:1077)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)
at org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:2526)
at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:4299)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4165)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2362)
at org.eclipse.swt.widgets.Text.callWindowProc(Text.java:255)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4253)
at org.eclipse.swt.widgets.Text.windowProc(Text.java:2170)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:98)
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:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
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: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:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)

Reproducible: Couldn't Reproduce

Steps to Reproduce:
1. Create an EJB Project.
2. Create a Session Bean
3.
Comment 1 Israel Gomez Delgado CLA 2011-04-20 14:04:44 EDT
Created attachment 193731 [details]
draft patch, in case could not reproduce

I had try to reproduce the defect without luck, meanwhile I have prepare just a validation to avoid the NPE.
Comment 2 Carl Anderson CLA 2011-04-20 21:44:10 EDT
Israel, what version of WTP do you intend for this patch to go in?
Comment 3 Israel Gomez Delgado CLA 2011-04-21 11:47:13 EDT
(In reply to comment #2)
> Israel, what version of WTP do you intend for this patch to go in?

since I were not able to reproduce it, 3.2.4 should be good, but maybe optional if pmc approval is really necessary, 3.3 is good unless someone else has got this same issue.
Comment 4 Carl Anderson CLA 2012-05-02 08:00:54 EDT
Committed to HEAD for WTP 3.4.0.