Bug 349628 - No update proposed when there are repository with errors

When a repository fails to load, we continue the update check.  All the
repositories that fail to load are 'accumulated' and shown to the user,
but the update check proceeds with the available repositories.

This commit changes the visibility of a method in an API class from
private to protected. However, this class is marked as 'noextend' so
really shouldn't be considered new API.
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java
index e1f89a9..e8a3822 100644
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java
+++ b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java
@@ -77,6 +77,7 @@
 			//cancel any load that is already running
 			Job.getJobManager().cancel(LoadMetadataRepositoryJob.LOAD_FAMILY);
 			final LoadMetadataRepositoryJob loadJob = new LoadMetadataRepositoryJob(getProvisioningUI()) {
+
 				public IStatus runModal(IProgressMonitor monitor) {
 					SubMonitor sub = SubMonitor.convert(monitor, getProgressTaskName(), 1000);
 					IStatus status = super.runModal(sub.newChild(500));
@@ -87,6 +88,12 @@
 					} catch (OperationCanceledException e) {
 						return Status.CANCEL_STATUS;
 					}
+					if (shouldAccumulateFailures()) {
+						// If we are accumulating failures, don't return a combined status here. By returning OK, 
+						// we are indicating that the operation should continue with the repositories that
+						// did load.
+						return Status.OK_STATUS;
+					}
 					return status;
 				}
 			};
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java
index bae1955..19fef37 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java
@@ -146,7 +146,7 @@
 		}
 	}
 
-	private boolean shouldAccumulateFailures() {
+	protected boolean shouldAccumulateFailures() {
 		return getProperty(LoadMetadataRepositoryJob.ACCUMULATE_LOAD_ERRORS) != null;
 	}