Community
Participate
Working Groups
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)
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.