Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDJ Houghton2009-05-06 14:33:07 +0000
committerDJ Houghton2009-05-06 14:33:07 +0000
commitded58dc49cbe48c38cae34e9ed98941bd5f0203c (patch)
treec7b5ea0ae9f30ce2e5b2ea432a60660cd155641d /bundles/org.eclipse.equinox.p2.director/src/org/eclipse
parent80872bc58feb585302ea2d72b361fbcd7a9de8a6 (diff)
downloadrt.equinox.p2-ded58dc49cbe48c38cae34e9ed98941bd5f0203c.tar.gz
rt.equinox.p2-ded58dc49cbe48c38cae34e9ed98941bd5f0203c.tar.xz
rt.equinox.p2-ded58dc49cbe48c38cae34e9ed98941bd5f0203c.zip
Bug 275089 - Indicate both user readable name and IU id in explanation message
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.director/src/org/eclipse')
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java32
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties1
3 files changed, 30 insertions, 4 deletions
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java
index 5ad4e5c2f..509ad94c8 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java
@@ -40,8 +40,8 @@ public abstract class Explanation implements Comparable {
public IStatus toStatus() {
MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Explanation_unsatisfied, null);
- final String fromString = "Patched " + patch.toString() + ' ' + iu;//$NON-NLS-1$
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_from, fromString)));
+ final String fromString = patch.toString() + ' ' + getUserReadableName(iu);
+ result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_fromPatch, fromString)));
result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_to, req)));
return result;
}
@@ -66,7 +66,7 @@ public abstract class Explanation implements Comparable {
public IStatus toStatus() {
MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Explanation_unsatisfied, null);
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_from, iu)));
+ result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_from, getUserReadableName(iu))));
result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_to, req)));
return result;
}
@@ -90,6 +90,10 @@ public abstract class Explanation implements Comparable {
public String toString() {
return NLS.bind(Messages.Explanation_alreadyInstalled, iu);
}
+
+ public IStatus toStatus() {
+ return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_alreadyInstalled, getUserReadableName(iu)));
+ }
}
public static class IUToInstall extends Explanation {
@@ -106,6 +110,10 @@ public abstract class Explanation implements Comparable {
public String toString() {
return NLS.bind(Messages.Explanation_toInstall, iu);
}
+
+ public IStatus toStatus() {
+ return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_toInstall, getUserReadableName(iu)));
+ }
}
public static class MissingIU extends Explanation {
@@ -133,6 +141,13 @@ public abstract class Explanation implements Comparable {
return NLS.bind(Messages.Explanation_missingRequiredFilter, new Object[] {filter, iu, req});
}
+ public IStatus toStatus() {
+ String filter = req.getFilter();
+ if (filter == null) {
+ return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_missingRequired, getUserReadableName(iu), req));
+ }
+ return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_missingRequiredFilter, new Object[] {filter, getUserReadableName(iu), req}));
+ }
}
public static class Singleton extends Explanation {
@@ -153,7 +168,7 @@ public abstract class Explanation implements Comparable {
public IStatus toStatus() {
MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, NLS.bind(Messages.Explanation_singleton, ""), null); //$NON-NLS-1$
for (int i = 0; i < ius.length; i++)
- result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, ius[i].toString()));
+ result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, getUserReadableName(ius[i])));
return result;
}
@@ -202,4 +217,13 @@ public abstract class Explanation implements Comparable {
public IStatus toStatus() {
return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, toString());
}
+
+ protected String getUserReadableName(IInstallableUnit iu) {
+ if (iu == null)
+ return ""; //$NON-NLS-1$
+ String result = iu.getProperty(IInstallableUnit.PROP_NAME);
+ if (result == null)
+ return iu.toString();
+ return result + ' ' + iu.getVersion() + " (" + iu.toString() + ')'; //$NON-NLS-1$
+ }
}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
index 9173c350b..bfbc64360 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
@@ -33,6 +33,7 @@ public class Messages extends NLS {
public static String Explanation_alreadyInstalled;
public static String Explanation_from;
+ public static String Explanation_fromPatch;
public static String Explanation_hardDependency;
public static String Explanation_patchedHardDependency;
public static String Explanation_missingRequired;
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
index 010b4c7a1..56700e7f3 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
@@ -19,6 +19,7 @@ Director_error_applying_configuration=Unexpected failure applying configuration
Explanation_alreadyInstalled=Software currently installed: {0}
Explanation_from=From: {0}
+Explanation_fromPatch=From Patch: {0}
Explanation_hardDependency=Cannot satisfy dependency: {0} depends on: {1}
Explanation_patchedHardDependency=Cannot satisfy patched ({0}) dependency: {1} depends on: {2}
Explanation_missingRequired=Missing requirement: {0} requires ''{1}'' but it could not be found

Back to the top