Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault (JBoss)2013-05-02 19:03:31 +0000
committerPascal Rapicault2013-05-02 20:48:46 +0000
commit83c85716ebfe71e8fa1d2cc12adcfddfd78e1d71 (patch)
treecb27fd936139ded24f799e8b40ecb9eccb25066c /bundles/org.eclipse.equinox.p2.operations
parent697de6584f6ae94e4020d92a541a33405ce9181c (diff)
downloadrt.equinox.p2-83c85716ebfe71e8fa1d2cc12adcfddfd78e1d71.tar.gz
rt.equinox.p2-83c85716ebfe71e8fa1d2cc12adcfddfd78e1d71.tar.xz
rt.equinox.p2-83c85716ebfe71e8fa1d2cc12adcfddfd78e1d71.zip
Bug 407099 - [Remediation] Operation should not special case isCheckForUpdates
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.operations')
-rw-r--r--bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemediationOperation.java44
-rw-r--r--bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemedyConfig.java13
2 files changed, 22 insertions, 35 deletions
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemediationOperation.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemediationOperation.java
index df1a4e159..143afc409 100644
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemediationOperation.java
+++ b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemediationOperation.java
@@ -38,6 +38,11 @@ public class RemediationOperation extends ProfileChangeOperation {
private Remedy bestSolutionChangingTheRequest;
private Remedy bestSolutionChangingWhatIsInstalled;
private Remedy currentRemedy;
+ private RemedyConfig[] remedyConfigs;
+
+ public RemedyConfig[] getRemedyConfigs() {
+ return remedyConfigs;
+ }
public Remedy getCurrentRemedy() {
return currentRemedy;
@@ -49,26 +54,17 @@ public class RemediationOperation extends ProfileChangeOperation {
}
private IProfileChangeRequest originalRequest;
- private boolean isCheckForUpdates;
-
- public boolean isCheckForUpdates() {
- return isCheckForUpdates;
- }
public RemediationOperation(ProvisioningSession session, IProfileChangeRequest iProfileChangeRequest) {
- this(session, iProfileChangeRequest, null);
-
- }
+ this(session, iProfileChangeRequest, RemedyConfig.getAllRemedyConfigs());
- public RemediationOperation(ProvisioningSession session, IProfileChangeRequest originalRequest, List<RemedyConfig> configuration) {
- this(session, originalRequest, false);
}
- public RemediationOperation(ProvisioningSession session, IProfileChangeRequest originalRequest, boolean isCheckForUpdates) {
+ public RemediationOperation(ProvisioningSession session, IProfileChangeRequest originalRequest, RemedyConfig[] remedyConfigs) {
super(session);
this.originalRequest = originalRequest;
remedies = new ArrayList<Remedy>();
- this.isCheckForUpdates = isCheckForUpdates;
+ this.remedyConfigs = remedyConfigs;
}
public Remedy bestSolutionChangingTheRequest() {
@@ -92,34 +88,14 @@ public class RemediationOperation extends ProfileChangeOperation {
return;
}
try {
- if (isCheckForUpdates)
- status.add(computeCheckForUpdates(sub.newChild(1)));
- else
- status.add(computeAllRemediations(sub.newChild(1)));
+ status.add(computeAllRemediations(sub.newChild(1)));
} catch (OperationCanceledException e) {
status.add(Status.CANCEL_STATUS);
}
- if (!isCheckForUpdates) {
- determineBestSolutions();
- }
- }
-
- private IStatus computeCheckForUpdates(IProgressMonitor monitor) {
- RemedyConfig config = new RemedyConfig();
- config.allowDifferentVersion = true;
- config.allowInstalledRemoval = false;
- config.allowInstalledUpdate = true;
- config.allowPartialInstall = false;
- Remedy remedy = computeRemedy(config, monitor);
- if (remedy != null) {
- remedies.add(remedy);
- }
- return Status.OK_STATUS;
+ determineBestSolutions();
}
private IStatus computeAllRemediations(IProgressMonitor monitor) {
- RemedyConfig[] remedyConfigs = RemedyConfig.getAllRemdyConfigs();
- //SubMonitor sub = SubMonitor.convert(monitor, Messages.RemediationOperation_ProfileChangeRequestProgress, remedyConfigs.length);
SubMonitor sub = SubMonitor.convert(monitor, remedyConfigs.length);
sub.setTaskName(Messages.RemediationOperation_ProfileChangeRequestProgress);
List<Remedy> tmpRemedies = new ArrayList<Remedy>(remedyConfigs.length);
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemedyConfig.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemedyConfig.java
index d18d2b2af..a4221d72a 100644
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemedyConfig.java
+++ b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RemedyConfig.java
@@ -33,7 +33,18 @@ public class RemedyConfig {
}
- public static RemedyConfig[] getAllRemdyConfigs() {
+ private RemedyConfig(boolean allowPartialInstall, boolean allowDifferentVersion, boolean allowInstalledUpdate, boolean allowInstalledRemoval) {
+ this.allowDifferentVersion = allowDifferentVersion;
+ this.allowInstalledRemoval = allowInstalledRemoval;
+ this.allowInstalledUpdate = allowInstalledUpdate;
+ this.allowPartialInstall = allowPartialInstall;
+ }
+
+ public static RemedyConfig[] getCheckForUpdateRemedyConfigs() {
+ return new RemedyConfig[] {new RemedyConfig(false, true, true, false)};
+ }
+
+ public static RemedyConfig[] getAllRemedyConfigs() {
Collection<RemedyConfig> remedyConfigs = new ArrayList<RemedyConfig>();
int allMasks = (1 << 4);
for (int i = 1; i < allMasks; i++) {

Back to the top