diff options
author | Paul Fullbright | 2013-05-15 16:02:20 +0000 |
---|---|---|
committer | Paul Fullbright | 2013-05-15 16:02:20 +0000 |
commit | cc95e2208170dae066c65a734837e603d75a0deb (patch) | |
tree | 506c7cbb96345b07921b45cdfe13406b14645ae0 | |
parent | 316643d10348cd5e402066221279c76384bed685 (diff) | |
download | webtools.dali-cc95e2208170dae066c65a734837e603d75a0deb.tar.gz webtools.dali-cc95e2208170dae066c65a734837e603d75a0deb.tar.xz webtools.dali-cc95e2208170dae066c65a734837e603d75a0deb.zip |
Fixed NPE's in RuntimeChangeListener (Bug 406458)
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/facet/RuntimeChangedListener.java | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/facet/RuntimeChangedListener.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/facet/RuntimeChangedListener.java index 10b89e624f..49cd55e93c 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/facet/RuntimeChangedListener.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/facet/RuntimeChangedListener.java @@ -12,12 +12,16 @@ package org.eclipse.jpt.jpa.core.internal.facet; import java.util.HashMap; import java.util.Map; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jpt.jpa.core.JpaPlatform; +import org.eclipse.jpt.jpa.core.JpaPreferences; import org.eclipse.jpt.jpa.core.JpaProject; +import org.eclipse.jpt.jpa.core.JpaWorkspace; import org.eclipse.jpt.jpa.core.internal.plugin.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.libprov.JpaLibraryProviderInstallOperationConfig; +import org.eclipse.jpt.jpa.core.platform.JpaPlatformManager; import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate; import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase; import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; @@ -25,8 +29,8 @@ import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent; import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener; public class RuntimeChangedListener - implements IFacetedProjectListener -{ + implements IFacetedProjectListener { + public void handleEvent(IFacetedProjectEvent facetedProjectEvent) { IFacetedProjectBase fpb = facetedProjectEvent.getWorkingCopy(); @@ -52,30 +56,20 @@ public class RuntimeChangedListener } protected String getJpaPlatformId(IProject project) { - JpaProject jpaProject = this.getJpaProject(project); - return (jpaProject == null) ? null : jpaProject.getJpaPlatform().getId(); + return JpaPreferences.getJpaPlatformID(project); } protected JpaPlatform.Config getJpaPlatformConfig(IProject project) { - JpaProject jpaProject = this.getJpaProject(project); - return (jpaProject == null) ? null : jpaProject.getJpaPlatform().getConfig(); - } - - protected JpaProject getJpaProject(IProject project) { - try { - return this.getJpaProject_(project); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - return null; - } + JpaPlatformManager jpaPlatformManager = getJpaPlatformManager(); + return (jpaPlatformManager == null) ? null : jpaPlatformManager.getJpaPlatformConfig(getJpaPlatformId(project)); } - - protected JpaProject getJpaProject_(IProject project) throws InterruptedException { - JpaProject.Reference ref = this.getJpaProjectReference(project); - return (ref == null) ? null : ref.getValue(); + + protected JpaPlatformManager getJpaPlatformManager() { + JpaWorkspace jpaWorkspace = getJpaWorkspace(); + return (jpaWorkspace == null) ? null : jpaWorkspace.getJpaPlatformManager(); } - protected JpaProject.Reference getJpaProjectReference(IProject project) { - return (JpaProject.Reference) project.getAdapter(JpaProject.Reference.class); + protected JpaWorkspace getJpaWorkspace() { + return (JpaWorkspace) ResourcesPlugin.getWorkspace().getAdapter(JpaWorkspace.class); } } |