132450 Search for updates on features with dependency requires multiple searches
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/operations/UpdateUtils.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/operations/UpdateUtils.java
index c773326..d7ee8b6 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/operations/UpdateUtils.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/operations/UpdateUtils.java
@@ -393,9 +393,13 @@
 //	}
 	
 	public static UpdateSearchRequest createNewUpdatesRequest(IFeature [] features) {
+		return createNewUpdatesRequest(features, true);
+	}
+	
+	public static UpdateSearchRequest createNewUpdatesRequest(IFeature [] features, boolean automatic) {
 		UpdateSearchScope scope = new UpdateSearchScope();
 		scope.setUpdateMapURL(UpdateUtils.getUpdateMapURL());
-		UpdatesSearchCategory category = new UpdatesSearchCategory();
+		UpdatesSearchCategory category = new UpdatesSearchCategory(automatic);
 		if (features!=null)
 			category.setFeatures(features);
 		UpdateSearchRequest searchRequest = new UpdateSearchRequest(category, scope);
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java
index 22b1395..14d995a 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java
@@ -43,6 +43,7 @@
 	private static final String CATEGORY_ID =
 		"org.eclipse.update.core.new-updates"; //$NON-NLS-1$
 	private IFeature [] features;
+	private boolean automatic;
 
 	class Candidate {
 		ArrayList children;
@@ -316,7 +317,12 @@
 	private ArrayList candidates;
 
 	public UpdatesSearchCategory() {
+		this(true);
+	}
+	
+	public UpdatesSearchCategory(boolean automatic) {
 		super(CATEGORY_ID);
+		this.automatic = automatic;
 	}
 
 	private void collectValidHits(
@@ -335,12 +341,18 @@
 				UpdateCore.log(job.getFeature().getVersionedIdentifier() + ": " + Messages.DefaultFeatureParser_NoLicenseText, null);  //$NON-NLS-1$
 				continue;
 			}
-			IStatus status;
-			if( hit.getPatchedJob()==null){
-				status = OperationsManager.getValidator().validatePendingInstall(job.getOldFeature(), job.getFeature());
-			}else{
-				status = OperationsManager.getValidator().validatePendingChanges(new IInstallFeatureOperation[]{hit.getPatchedJob(), job});
-						
+			IStatus status = null;
+			
+			// Fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=132450
+			// Only validate for automatic updates because
+			// non-automatic once will arrive in the review wizard
+			// where additional validation will be performed
+			if (automatic) {
+				if( hit.getPatchedJob()==null){
+					status = OperationsManager.getValidator().validatePendingInstall(job.getOldFeature(), job.getFeature());
+				}else{
+					status = OperationsManager.getValidator().validatePendingChanges(new IInstallFeatureOperation[]{hit.getPatchedJob(), job});
+				}
 			}
 			if (status == null || status.getCode() == IStatus.WARNING) {
 				if (hit.isPatch()) {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
index b477f54..e5c27ce 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
@@ -59,7 +59,7 @@
 
 	private void initializeSearch() {
 		if (searchRequest!=null) return;
-		searchRequest = UpdateUtils.createNewUpdatesRequest(null);
+		searchRequest = UpdateUtils.createNewUpdatesRequest(null, false);
 	}
 
 	/* (non-Javadoc)
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java
index b5205fe..a56579a 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java
@@ -115,7 +115,7 @@
 		this.isAutomatic = isAutomatic;
 		this.download = download;
 		updates = new ArrayList();
-		searchRequest = UpdateUtils.createNewUpdatesRequest(features);
+		searchRequest = UpdateUtils.createNewUpdatesRequest(features, isAutomatic);
 		setPriority(Job.DECORATE);
 		mirrorIndex = 0;
 	}