Bug 513790 - Compiler warnings in I20170316-2000 after moving to M6
compiler

Change-Id: I3de8ff54e4efc354443ab2d99fd75316f2abacbb
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
index ee97dc2..85162fa 100644
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
+++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
@@ -236,7 +236,7 @@
 									|| "feature".equals(cap.getName())) { //$NON-NLS-1$
 								featureOrBundle = true;
 							}
-						} else if (Boolean.TRUE.equals(unit.getProperties().get("org.eclipse.equinox.p2.type.group"))) { //$NON-NLS-1$
+						} else if (Boolean.TRUE.equals(Boolean.valueOf(unit.getProperties().get("org.eclipse.equinox.p2.type.group")))) { //$NON-NLS-1$
 							featureOrBundle = true;
 						}
 					}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java
index 2308eff..f9ab50b 100644
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java
+++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java
@@ -156,16 +156,19 @@
 		List<IArtifactRepository> repos = new ArrayList<>();
 		SubMonitor sub = SubMonitor.convert(monitor, (repositories.length + 1) * 100);
 		for (int i = 0; i < repositories.length; i++) {
-			if (sub.isCanceled())
+			if (sub.isCanceled()) {
 				throw new OperationCanceledException();
+			}
+			URI location = repositories[i];
 			try {
-				repos.add(repoManager.loadRepository(repositories[i], sub.newChild(100)));
+				repos.add(repoManager.loadRepository(location, sub.newChild(100)));
 			} catch (ProvisionException e) {
 				//skip unreadable repositories
 			}
 			// Remove this URI from the list of extra references if it is there.
-			if (referencedArtifactRepositories != null)
-				referencedArtifactRepositories.remove(repositories[i]);
+			if (referencedArtifactRepositories != null && location != null) {
+				referencedArtifactRepositories.remove(location.toString());
+			}
 		}
 		// Are there any extra artifact repository references to consider?
 		if (referencedArtifactRepositories != null && referencedArtifactRepositories.size() > 0 && shouldFollowArtifactReferences()) {
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java
index a1d37c7..2f89f04 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java
@@ -434,7 +434,13 @@
 	}
 
 	public boolean containsPlugin(String plugin) {
-		return getBundles(true).contains(plugin);
+		List<IVersionedId> bundles = getBundles(true);
+		for (IVersionedId versionedId : bundles) {
+			if (versionedId.getId().equals(plugin)) {
+				return true;
+			}
+		}
+		return false;
 	}
 
 	public String[] getIcons() {