Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault (JBoss)2013-04-29 19:24:06 +0000
committerPascal Rapicault2013-04-29 20:55:35 +0000
commitdf57b8a2a5eb635cf3eddd4617dbeee19e213669 (patch)
tree0ed6b4273cffed0a2e765e9777246e9d08c9b15d /bundles/org.eclipse.equinox.p2.ui.discovery
parentd287d7ac898af36e2e4aba587218528b5956ca80 (diff)
downloadrt.equinox.p2-df57b8a2a5eb635cf3eddd4617dbeee19e213669.tar.gz
rt.equinox.p2-df57b8a2a5eb635cf3eddd4617dbeee19e213669.tar.xz
rt.equinox.p2-df57b8a2a5eb635cf3eddd4617dbeee19e213669.zip
Add remediation support to Discovery UII20130430-0800I20130430-0031I20130429-2000
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui.discovery')
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.discovery/META-INF/MANIFEST.MF3
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.discovery/src/org/eclipse/equinox/internal/p2/ui/discovery/operations/DiscoveryInstallOperation.java29
2 files changed, 21 insertions, 11 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui.discovery/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui.discovery/META-INF/MANIFEST.MF
index 286ffc308..3a804d075 100644
--- a/bundles/org.eclipse.equinox.p2.ui.discovery/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.ui.discovery/META-INF/MANIFEST.MF
@@ -24,4 +24,5 @@ Export-Package: org.eclipse.equinox.internal.p2.ui.discovery;x-internal:=true,
org.eclipse.equinox.internal.p2.ui.discovery.util;x-internal:=true,
org.eclipse.equinox.internal.p2.ui.discovery.wizards;x-internal:=true
Bundle-ClassPath: .
-Import-Package: com.ibm.icu.text
+Import-Package: com.ibm.icu.text,
+ org.eclipse.equinox.p2.planner;version="2.0.0"
diff --git a/bundles/org.eclipse.equinox.p2.ui.discovery/src/org/eclipse/equinox/internal/p2/ui/discovery/operations/DiscoveryInstallOperation.java b/bundles/org.eclipse.equinox.p2.ui.discovery/src/org/eclipse/equinox/internal/p2/ui/discovery/operations/DiscoveryInstallOperation.java
index cbeb28687..4212a5096 100644
--- a/bundles/org.eclipse.equinox.p2.ui.discovery/src/org/eclipse/equinox/internal/p2/ui/discovery/operations/DiscoveryInstallOperation.java
+++ b/bundles/org.eclipse.equinox.p2.ui.discovery/src/org/eclipse/equinox/internal/p2/ui/discovery/operations/DiscoveryInstallOperation.java
@@ -16,6 +16,7 @@ import java.net.*;
import java.util.*;
import org.eclipse.core.runtime.*;
import org.eclipse.equinox.internal.p2.discovery.model.CatalogItem;
+import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
import org.eclipse.equinox.internal.p2.ui.discovery.DiscoveryUi;
import org.eclipse.equinox.internal.p2.ui.discovery.util.WorkbenchUtil;
import org.eclipse.equinox.internal.p2.ui.discovery.wizards.Messages;
@@ -59,7 +60,7 @@ public class DiscoveryInstallOperation implements IRunnableWithProgress {
public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
try {
- SubMonitor monitor = SubMonitor.convert(progressMonitor, Messages.InstallConnectorsJob_task_configuring, 100);
+ SubMonitor monitor = SubMonitor.convert(progressMonitor, Messages.InstallConnectorsJob_task_configuring, 150);
try {
final IInstallableUnit[] ius = computeInstallableUnits(monitor.newChild(50));
@@ -69,11 +70,22 @@ public class DiscoveryInstallOperation implements IRunnableWithProgress {
checkCancelled(monitor);
- Display.getDefault().asyncExec(new Runnable() {
- public void run() {
- provisioningUI.openInstallWizard(Arrays.asList(ius), installOperation, null);
- }
- });
+ if (installOperation.getResolutionResult().getSeverity() > IStatus.WARNING) {
+ monitor.setTaskName(ProvUIMessages.ProvisioningOperationWizard_Remediation_Operation);
+ final RemediationOperation remediationOperation = new RemediationOperation(provisioningUI.getSession(), installOperation.getProfileChangeRequest());
+ remediationOperation.getResolveJob(monitor.newChild(50));
+ Display.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ provisioningUI.openInstallWizard(Arrays.asList(ius), installOperation, remediationOperation, null);
+ }
+ });
+ } else {
+ Display.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ provisioningUI.openInstallWizard(Arrays.asList(ius), installOperation, null);
+ }
+ });
+ }
} finally {
monitor.done();
}
@@ -92,10 +104,7 @@ public class DiscoveryInstallOperation implements IRunnableWithProgress {
private InstallOperation resolve(IProgressMonitor monitor, final IInstallableUnit[] ius, URI[] repositories) throws CoreException {
final InstallOperation installOperation = provisioningUI.getInstallOperation(Arrays.asList(ius), repositories);
- IStatus operationStatus = installOperation.resolveModal(new SubProgressMonitor(monitor, installableConnectors.size()));
- if (operationStatus.getSeverity() > IStatus.WARNING) {
- throw new CoreException(operationStatus);
- }
+ installOperation.resolveModal(new SubProgressMonitor(monitor, installableConnectors.size()));
return installOperation;
}

Back to the top