Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfullbright2012-05-10 15:45:49 +0000
committerpfullbright2012-05-10 15:45:49 +0000
commit8b8ca2f4840414d8021453572704953a18aa5386 (patch)
treef73e44b290ce1646262bcc5842f300417d9b9832
parenta126499873f1bf00a98de8c963654965f082eb61 (diff)
downloadwebtools.dali-8b8ca2f4840414d8021453572704953a18aa5386.tar.gz
webtools.dali-8b8ca2f4840414d8021453572704953a18aa5386.tar.xz
webtools.dali-8b8ca2f4840414d8021453572704953a18aa5386.zip
bug 369684 - added library install delegate disposals
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java31
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetDataModelProvider.java1
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/facet/RuntimeChangedListener.java3
3 files changed, 21 insertions, 14 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java
index 686bbb11b3..35af48af0d 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbProject.java
@@ -1168,26 +1168,29 @@ public abstract class AbstractJaxbProject
}
protected void validateLibraryProvider(List<IMessage> messages) {
+ IFacetedProject facetedProject = null;
try {
- IFacetedProject facetedProject = ProjectFacetsManager.create(getProject());
- IProjectFacetVersion facetVersion = facetedProject.getInstalledVersion(JaxbFacet.FACET);
- LibraryInstallDelegate lid = new LibraryInstallDelegate(facetedProject, facetVersion);
- ILibraryProvider lp = lid.getLibraryProvider();
- if (lid.getLibraryProviderOperationConfig() instanceof JaxbLibraryProviderInstallOperationConfig) {
- ((JaxbLibraryProviderInstallOperationConfig) lid.getLibraryProviderOperationConfig()).setJaxbPlatform(getPlatform().getDescription());
- }
- if (! lp.isEnabledFor(facetedProject, facetVersion) || ! lid.validate().isOK()) {
- messages.add(
- DefaultValidationMessages.buildMessage(
- IMessage.HIGH_SEVERITY,
- JaxbValidationMessages.PROJECT_INVALID_LIBRARY_PROVIDER,
- this));
- }
+ facetedProject = ProjectFacetsManager.create(getProject());
}
catch (CoreException ce) {
// fall through
JptJaxbCorePlugin.log(ce);
+ }
+
+ IProjectFacetVersion facetVersion = facetedProject.getInstalledVersion(JaxbFacet.FACET);
+ LibraryInstallDelegate lid = new LibraryInstallDelegate(facetedProject, facetVersion);
+ ILibraryProvider lp = lid.getLibraryProvider();
+ if (lid.getLibraryProviderOperationConfig() instanceof JaxbLibraryProviderInstallOperationConfig) {
+ ((JaxbLibraryProviderInstallOperationConfig) lid.getLibraryProviderOperationConfig()).setJaxbPlatform(getPlatform().getDescription());
+ }
+ if (! lp.isEnabledFor(facetedProject, facetVersion) || ! lid.validate().isOK()) {
+ messages.add(
+ DefaultValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JaxbValidationMessages.PROJECT_INVALID_LIBRARY_PROVIDER,
+ this));
}
+ lid.dispose();
}
protected void validateSchemaLibrary(List<IMessage> messages) {
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetDataModelProvider.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetDataModelProvider.java
index c1a2b6b5bd..638e6ea8c5 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetDataModelProvider.java
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/facet/JaxbFacetDataModelProvider.java
@@ -273,5 +273,6 @@ public abstract class JaxbFacetDataModelProvider
public void dispose() {
super.dispose();
getFacetedProjectWorkingCopy().removeListener(this.fprojListener);
+ this.defaultLibraryInstallDelegate.dispose();
}
}
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 6a58138938..21bfef97e2 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
@@ -46,6 +46,9 @@ public class RuntimeChangedListener
catch (CoreException ce) {
JptJpaCorePlugin.log(ce);
}
+ finally {
+ lp.dispose();
+ }
}
}

Back to the top