diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository')
3 files changed, 10 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java index d3f53876b..4898d1ad0 100644 --- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java +++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java @@ -62,6 +62,8 @@ public class Messages extends NLS { public static String MirrorLog_Console_Log; public static String MirrorLog_Exception_Occurred; + public static String MirrorRequest_multipleDownloadProblems; + public static String exception_unableToCreateParentDir; public static String folder_artifact_not_file_repo; diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java index 04b41e784..f0bd5e118 100644 --- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java +++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java @@ -116,8 +116,13 @@ public class MirrorRequest extends ArtifactRequest { return; } - // try with canonical - setResult(transfer(getDestinationDescriptor(canonical), canonical, monitor)); + IStatus canonicalStatus = transfer(getDestinationDescriptor(canonical), canonical, monitor); + // To prevent the optimized transfer status severity from dominating the canonical, only merge + // if the canonical severity is equal to or higher than the optimized transfer severity. + if (canonicalStatus.getSeverity() < status.getSeverity()) + setResult(canonicalStatus); + else + setResult(new MultiStatus(Activator.ID, canonicalStatus.getCode() != 0 ? canonicalStatus.getCode() : status.getCode(), new IStatus[] {status, canonicalStatus}, Messages.MirrorRequest_multipleDownloadProblems, null)); } private ArtifactDescriptor getDestinationDescriptor(IArtifactDescriptor sourceDescriptor) { diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties index 9b55885fd..5759209f2 100644 --- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties +++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties @@ -52,6 +52,7 @@ Mirroring_ValidationError=Error occurred while validating mirror. Mirroring_compareAndDownload=Compare and download of {0} from baseline. MirrorLog_Console_Log=Logging to the console instead. MirrorLog_Exception_Occurred=An exception occurred while writing to the log: +MirrorRequest_multipleDownloadProblems=Multiple problems occurred while downloading. exception_unsupportedAddToComposite = Cannot add descriptors to a composite repository. exception_unsupportedGetOutputStream=Cannot write artifacts to a composite repository. |