This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
[Build 20050411 netbeans41 branch] Steps: 1) create new Free-form project 2) open one entity bean impl class in editor 3) invoke enterprise resource | Use database ERROR: get java.lang.NullPointerException at org.netbeans.modules.j2ee.ejbjarproject.ui.logicalview.ejb.dnd.EjbReference.populateReference(EjbReference.java:100)
Created attachment 21582 [details] stack trace
Created attachment 21584 [details] Proposed patch
Problem occures only when freeform doesn't specify client jar target. Of course it is not needed, because in freeform one can call only its own EJBs. This check was performed when bean was asked to generate reference and name of this reference was used for comparing with set of existing resources. Anyway, there is issue 57021 pointing to missing validations in Call EJB dialog, it means checked reference name was compared to empty set. Proposed patch only removes this check for reference name. There is zero user impact, because checked name was compared to empty set :-)
I agree with the proposed patch as a hotfix for this problem (the NPE). As I understand the patch removes problematic code that causes the NPE. The code was supposed to prevent creation of multiple references for the same ejb, but this code was not effective anyway - even now there are multiple references created, even in 'standard' ejb project. This is not big issue and should be resolved separately.
Fixed in trunk. http://j2ee.netbeans.org/source/browse/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/entres/CallEjbPanel.java?r1=1.14&r2=1.15
Verified in continual trunk build 20050412-2226
Fixed in release41 branch. http://j2ee.netbeans.org/source/browse/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/entres/CallEjbPanel.java?r1=1.13.2.1&r2=1.13.2.2
I am able to reproduce the issue in daily build 20050413, netbeans41 branch. My steps: 1) import Freeform project(cmp2 project) 2) create new session bean 3) open bean class in editor 4) invoke Enterprise respource | Call EJB 5) select one Entity bean 6) specify JNDI name 7) click OK button ERROR: java.lang.NullPointerException at org.netbeans.modules.j2ee.ejbjarproject.ui.logicalview.ejb.dnd.EjbReference.populateReference(EjbReference.java:100)
Created attachment 21632 [details] cmp2 sample
I will look at this.
Again, it is caused by the freeform project not specifying output jars. The proposed fix is to workaround this case by assuming that a bean from the current project is called is the output is not set (we only support calling beans from the current project in the EJB freeform project anyway).
Checking in src/org/netbeans/modules/j2ee/ejbjarproject/EnterpriseReferenceContainerImpl.java; /cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/EnterpriseReferenceContainerImpl.java,v <-- EnterpriseReferenceContainerImpl.java new revision: 1.13; previous revision: 1.12 done Checking in src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/dnd/EjbReference.java; /cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/dnd/EjbReference.java,v <-- EjbReference.java new revision: 1.9; previous revision: 1.8 done
The diffs: http://www.netbeans.org/source/browse/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/EnterpriseReferenceContainerImpl.java?r1=1.12&r2=1.13 http://www.netbeans.org/source/browse/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/dnd/EjbReference.java?r1=1.8&r2=1.9
I reviewed the code (again) and tested and I agree with the fix.
Verified and tested in trunk, build 20050414
Fixed in the release41 branch: Checking in src/org/netbeans/modules/j2ee/ejbjarproject/EnterpriseReferenceContainerImpl.java; /cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/EnterpriseReferenceContainerImpl.java,v <-- EnterpriseReferenceContainerImpl.java new revision: 1.11.2.2; previous revision: 1.11.2.1 done Checking in src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/dnd/EjbReference.java; /cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/dnd/EjbReference.java,v <-- EjbReference.java new revision: 1.8.4.1; previous revision: 1.8 done
[Build netbeans41 RC1]