diff options
author | DJ Houghton | 2009-05-06 14:33:07 +0000 |
---|---|---|
committer | DJ Houghton | 2009-05-06 14:33:07 +0000 |
commit | ded58dc49cbe48c38cae34e9ed98941bd5f0203c (patch) | |
tree | c7b5ea0ae9f30ce2e5b2ea432a60660cd155641d /bundles/org.eclipse.equinox.p2.director/src/org/eclipse | |
parent | 80872bc58feb585302ea2d72b361fbcd7a9de8a6 (diff) | |
download | rt.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')
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 |