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

Bug 356996

Summary: NPE on closing the workbench
Product: [WebTools] Dali JPA Tools Reporter: Raghunathan Srinivasan <raghunathan.srinivasan>
Component: JPAAssignee: Brian Vosburgh <brian.vosburgh>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: neil.hauge, thatnitind
Version: 2.3.2   
Target Milestone: 3.2 M6   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Raghunathan Srinivasan CLA 2011-09-07 15:13:04 EDT
Testing in the adopter product, we saw the following NPE in the log file when closing the workbench

java.lang.NullPointerException
at
org.eclipse.jpt.jpa.db.JptJpaDbPlugin.getConnectionProfileFactory(JptJpaDbPlug
in.java:51)
at
org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform.getConnectionProfileFacto
ry(GenericJpaPlatform.java:185)
at
org.eclipse.jpt.jpa.core.internal.jpa1.GenericJpaDataSource.getConnectionProfi
leFactory(GenericJpaDataSource.java:76)
at
org.eclipse.jpt.jpa.core.internal.jpa1.GenericJpaDataSource.buildConnectionPro
file(GenericJpaDataSource.java:136)
at
org.eclipse.jpt.jpa.core.internal.jpa1.GenericJpaDataSource.<init>(GenericJpaD
ataSource.java:64)
at
org.eclipse.jpt.jpa.core.internal.AbstractJpaFactory.buildJpaDataSource(Abstra
ctJpaFactory.java:179)
at
org.eclipse.jpt.jpa.core.internal.AbstractJpaProject.<init>(AbstractJpaProject
.java:242)
at
org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaProjectImpl.<init>
(EclipseLinkJpaProjectImpl.java:26)
at
org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaFactory.buildJpaPr
oject(EclipseLinkJpaFactory.java:60)
at
org.eclipse.jpt.jpa.eclipselink.core.internal.v2_0.EclipseLink2_0JpaFactory.bu
ildJpaProject(EclipseLink2_0JpaFactory.java:83)
at
org.eclipse.jpt.jpa.eclipselink.core.internal.v2_0.EclipseLink2_0JpaFactory.bu
ildJpaProject(EclipseLink2_0JpaFactory.java:1)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.buildJpaProject(GenericJpaPr
ojectManager.java:398)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.buildJpaProject(GenericJpaPr
ojectManager.java:384)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.buildJpaProject(GenericJpaPr
ojectManager.java:373)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.addJpaProject(GenericJpaProj
ectManager.java:356)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager$ResourceProxyVisitor.process
Project(GenericJpaProjectManager.java:734)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager$ResourceProxyVisitor.visit(G
enericJpaProjectManager.java:719)
at
org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:65)
at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIt
erator.java:82)
at
org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterat
or.java:120)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:75)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.buildJpaProjects_(GenericJpa
ProjectManager.java:245)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.buildJpaProjects(GenericJpaP
rojectManager.java:236)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.start_(GenericJpaProjectMana
ger.java:220)
at
org.eclipse.jpt.jpa.core.GenericJpaProjectManager.start(GenericJpaProjectManag
er.java:211)
at
org.eclipse.jpt.jpa.core.JptJpaCorePlugin.getJpaProjectManager_(JptJpaCorePlug
in.java:759)
at
org.eclipse.jpt.jpa.core.JptJpaCorePlugin.getJpaProjectManager(JptJpaCorePlugi
n.java:242)
at
org.eclipse.jpt.jpa.core.JptJpaCorePlugin.getJpaProject(JptJpaCorePlugin.java:
251)
at
oracle.eclipse.tools.adf.appgen.utils.SessionBeanChangeListener$1.visit(Sessio
nBeanChangeListener.java:51)
at
org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:69)
at
org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
at
org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:49)
at
oracle.eclipse.tools.adf.appgen.utils.SessionBeanChangeListener.resourceChange
d(SessionBeanChangeListener.java:97)
at
org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager
.java:291)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at
org.eclipse.core.internal.events.NotificationManager.notify(NotificationManage
r.java:285)
at
org.eclipse.core.internal.events.NotificationManager.broadcastChanges(Notifica
tionManager.java:149)
at
org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.ja
va:395)
at
org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530
)
at
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspace
Job.java:45)
Comment 1 Brian Vosburgh CLA 2012-05-10 17:06:58 EDT
This exception occurred because JptJpaCorePlugin.getJpaProject(...) did not check whether the plug-in was still active before it tried to lazily start up the JpaProjectManager. The current code now checks whether the plug-in is still active before lazily-initializing anything; so this bug is fixed.