Bug 255984 - [planner] [ui] Uninstall does not remove entry from Installed Software
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanAnalyzer.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanAnalyzer.java
index 06b8cf7..2195a58 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanAnalyzer.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/PlanAnalyzer.java
@@ -69,6 +69,14 @@
return report;
}
+ if (nothingToDo(originalRequest)) {
+ report.addSummaryStatus(getStatus(IStatusCodes.UNEXPECTED_NOTHING_TO_DO, null));
+ IStatus[] details = originalStatus.getChildren();
+ for (int i = 0; i < details.length; i++)
+ report.addSummaryStatus(details[i]);
+ return report;
+ }
+
// If there was already some status supplied before resolution, this should get included
// with the report. For example, this might contain information about the profile request
// being altered before resolution began.
@@ -139,4 +147,8 @@
return name;
return iu.getId();
}
+
+ private static boolean nothingToDo(ProfileChangeRequest request) {
+ return request.getAddedInstallableUnits().length == 0 && request.getRemovedInstallableUnits().length == 0 && request.getInstallableUnitProfilePropertiesToAdd().size() == 0 && request.getInstallableUnitProfilePropertiesToRemove().size() == 0;
+ }
}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties
index 7d1147a..00168f4 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties
@@ -165,7 +165,7 @@
PlanStatusHelper_IgnoringImpliedDowngrade="{0}" will be ignored because a newer version is already installed.
PlanStatusHelper_ImpliedUpdate="{0}" is already installed, so an update will be performed instead.
PlanStatusHelper_Items=Items
-PlanStatusHelper_NothingToDo=Cannot complete the request. See the details.
+PlanStatusHelper_NothingToDo=Cannot complete the request.
PlanStatusHelper_AlreadyInstalled="{0}" will be ignored because it is already installed.
PlanStatusHelper_AnotherOperationInProgress=Cannot continue the operation. There is another install operation in progress.
PlanStatusHelper_Launch=Launch...