Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Merks2015-04-14 14:04:43 +0000
committerEd Merks2015-04-14 14:04:43 +0000
commit73371039f786a6ba846b4144b26a44437f1c7c25 (patch)
treea6d6a3298a8320826f9b4d5e804332211cfe9901 /plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal
parente7bae7da6f0bc4fdd8eda44ccb538e1a98206ab4 (diff)
downloadorg.eclipse.oomph-73371039f786a6ba846b4144b26a44437f1c7c25.tar.gz
org.eclipse.oomph-73371039f786a6ba846b4144b26a44437f1c7c25.tar.xz
org.eclipse.oomph-73371039f786a6ba846b4144b26a44437f1c7c25.zip
[458225] Improved cachingTransport strategy
https://bugs.eclipse.org/bugs/show_bug.cgi?id=458225
Diffstat (limited to 'plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal')
-rw-r--r--plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletContainer.java17
-rw-r--r--plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletsCorePlugin.java13
2 files changed, 30 insertions, 0 deletions
diff --git a/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletContainer.java b/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletContainer.java
index 670b6bbd1..b662166ee 100644
--- a/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletContainer.java
+++ b/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletContainer.java
@@ -20,6 +20,7 @@ import org.eclipse.oomph.p2.core.P2Util;
import org.eclipse.oomph.p2.core.Profile;
import org.eclipse.oomph.p2.core.ProfileTransaction;
import org.eclipse.oomph.p2.core.ProfileTransaction.CommitContext;
+import org.eclipse.oomph.p2.internal.core.CacheUsageConfirmer;
import org.eclipse.oomph.resources.SourceLocator;
import org.eclipse.oomph.targlets.FeatureGenerator;
import org.eclipse.oomph.targlets.IUGenerator;
@@ -692,8 +693,17 @@ public class TargletContainer extends AbstractBundleContainer implements ITargle
ProfileTransaction transaction = profile.change().setRemoveExistingInstallableUnits(true);
transaction.setMirrors(MIRRORS.get() == Boolean.TRUE);
+ IProvisioningAgent provisioningAgent = profile.getAgent().getProvisioningAgent();
+ CacheUsageConfirmer cacheUsageConfirmer = TargletsCorePlugin.INSTANCE.getCacheUsageConfirmer();
+ CacheUsageConfirmer oldCacheUsageConfirmer = (CacheUsageConfirmer)provisioningAgent.getService(CacheUsageConfirmer.SERVICE_NAME);
+
try
{
+ if (cacheUsageConfirmer != null)
+ {
+ provisioningAgent.registerService(CacheUsageConfirmer.SERVICE_NAME, cacheUsageConfirmer);
+ }
+
ProfileDefinition profileDefinition = transaction.getProfileDefinition();
profileDefinition.setIncludeSourceBundles(isIncludeSources());
@@ -746,6 +756,13 @@ public class TargletContainer extends AbstractBundleContainer implements ITargle
TargletsCorePlugin.INSTANCE.coreException(t);
}
+ finally
+ {
+ if (cacheUsageConfirmer != null && oldCacheUsageConfirmer != null)
+ {
+ provisioningAgent.registerService(CacheUsageConfirmer.SERVICE_NAME, oldCacheUsageConfirmer);
+ }
+ }
progress.done();
return profile;
diff --git a/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletsCorePlugin.java b/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletsCorePlugin.java
index 7fc569be3..eee39ea93 100644
--- a/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletsCorePlugin.java
+++ b/plugins/org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/internal/core/TargletsCorePlugin.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.oomph.targlets.internal.core;
+import org.eclipse.oomph.p2.internal.core.CacheUsageConfirmer;
import org.eclipse.oomph.util.OomphPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
@@ -25,6 +26,8 @@ public final class TargletsCorePlugin extends OomphPlugin
private static Implementation plugin;
+ private CacheUsageConfirmer cacheUsageConfirmer;
+
public TargletsCorePlugin()
{
super(new ResourceLocator[] {});
@@ -36,6 +39,16 @@ public final class TargletsCorePlugin extends OomphPlugin
return plugin;
}
+ public CacheUsageConfirmer getCacheUsageConfirmer()
+ {
+ return cacheUsageConfirmer;
+ }
+
+ public void setCacheUsageConfirmer(CacheUsageConfirmer cacheUsageConfirmer)
+ {
+ this.cacheUsageConfirmer = cacheUsageConfirmer;
+ }
+
/**
* @author Eike Stepper
*/

Back to the top