[304577] Update dependencies for p.director v 2.0 bundle
diff --git a/plugins/org.eclipse.wst.server.discovery/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.discovery/META-INF/MANIFEST.MF
index 611da77..eaa669d 100644
--- a/plugins/org.eclipse.wst.server.discovery/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.discovery/META-INF/MANIFEST.MF
@@ -9,7 +9,7 @@
  org.eclipse.ui;bundle-version="[3.5.0,4.0)",
  org.eclipse.equinox.p2.engine;bundle-version="[2.0.0,3.0)",
  org.eclipse.equinox.p2.metadata;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.equinox.p2.director;bundle-version="[1.0.100,2.0)",
+ org.eclipse.equinox.p2.director;bundle-version="[1.0.100,3.0.0]",
  org.eclipse.equinox.p2.updatesite;bundle-version="[1.0.100,2.0)",
  org.eclipse.equinox.p2.ui;bundle-version="[2.0.0,3.0)",
  org.eclipse.equinox.p2.repository;bundle-version="[2.0.0,3.0.0)",
diff --git a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionInstallableUnitQuery.java b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionInstallableUnitQuery.java
index 3c1236a..e30a659 100644
--- a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionInstallableUnitQuery.java
+++ b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionInstallableUnitQuery.java
@@ -11,8 +11,9 @@
 package org.eclipse.wst.server.discovery.internal;
 
 import java.util.List;
+
+import org.eclipse.equinox.internal.p2.metadata.query.MatchQuery;
 import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.query.MatchQuery;
 
 public class ExtensionInstallableUnitQuery extends MatchQuery<IInstallableUnit> {
 	private List<String> list;
diff --git a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionUtility.java b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionUtility.java
index 2582d3c..ff88668 100644
--- a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionUtility.java
+++ b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/ExtensionUtility.java
@@ -19,9 +19,9 @@
 import org.eclipse.equinox.p2.engine.IProfileRegistry;
 import org.eclipse.equinox.p2.metadata.IInstallableUnit;
 import org.eclipse.equinox.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.query.InstallableUnitQuery;
 import org.eclipse.equinox.p2.query.IQuery;
 import org.eclipse.equinox.p2.query.IQueryResult;
+import org.eclipse.equinox.p2.query.QueryUtil;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.discovery.internal.model.Extension;
 import org.eclipse.wst.server.discovery.internal.model.ExtensionUpdateSite;
@@ -147,9 +147,10 @@
 		monitor.beginTask(Messages.discoverLocalConfiguration, 100);
 		
 		IProfileRegistry profileRegistry = (IProfileRegistry) getService(Activator.getDefault().getBundle().getBundleContext(), IProfileRegistry.class.getName());
+		IProfile[] profiles = profileRegistry.getProfiles();
 		IProfile profile = profileRegistry.getProfile(IProfileRegistry.SELF);
 		
-		IQuery<IInstallableUnit> query = InstallableUnitQuery.ANY;
+		IQuery<IInstallableUnit> query = QueryUtil.createIUAnyQuery();
 		//Query query = new InstallableUnitQuery("org.eclipse.wst.server.core.serverAdapter");
 		//List<String> list2 = new ArrayList();
 		//Query query = new ExtensionInstallableUnitQuery(list2);
diff --git a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/PatternInstallableUnitQuery.java b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/PatternInstallableUnitQuery.java
index 41e5c95..1decbae 100644
--- a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/PatternInstallableUnitQuery.java
+++ b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/PatternInstallableUnitQuery.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.server.discovery.internal;
 
+import org.eclipse.equinox.internal.p2.metadata.query.MatchQuery;
 import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.query.MatchQuery;
 
 public class PatternInstallableUnitQuery extends MatchQuery<IInstallableUnit> {
 	private String categoryId;
diff --git a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/Extension.java b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/Extension.java
index 12232fc..d0d14d8 100644
--- a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/Extension.java
+++ b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/Extension.java
@@ -11,6 +11,8 @@
 package org.eclipse.wst.server.discovery.internal.model;
 
 import java.net.URI;
+import java.util.Collection;
+
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.equinox.p2.engine.*;
@@ -48,11 +50,11 @@
 	}
 
 	public String getLicense() {
-		ILicense[] licenses = iu.getLicenses(null);
-		if (licenses == null || licenses.length == 0)
+		Collection<ILicense> licenses = iu.getLicenses(null);
+		if (licenses == null || licenses.isEmpty())
 			return "";
-		//TODO support multiple licenses
-		return licenses[0].getBody();
+		// TODO support multiple licenses
+		return licenses.iterator().next().getBody();
 	}
 
 	public String getProvider() {
diff --git a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/ExtensionUpdateSite.java b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/ExtensionUpdateSite.java
index b45cffb..fbb6dba 100644
--- a/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/ExtensionUpdateSite.java
+++ b/plugins/org.eclipse.wst.server.discovery/src/org/eclipse/wst/server/discovery/internal/model/ExtensionUpdateSite.java
@@ -17,7 +17,7 @@
 import org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory;
 import org.eclipse.equinox.p2.metadata.IInstallableUnit;
 import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.ExpressionQuery;
+import org.eclipse.equinox.p2.query.ExpressionQuery;
 import org.eclipse.equinox.p2.query.IQuery;
 import org.eclipse.equinox.p2.query.IQueryResult;
 import org.eclipse.equinox.p2.repository.IRepositoryManager;
@@ -73,8 +73,8 @@
 			
 			IQueryResult<IInstallableUnit> collector = repo.query(query, monitor);
 			List<Extension> list = new ArrayList<Extension>();
-			for (IInstallableUnit iu: collector.unmodifiableSet()) {
-				Collection<IRequirement> req = iu.getRequiredCapabilities();
+			for (IInstallableUnit iu: collector.toUnmodifiableSet()) {
+				Collection<IRequirement> req = iu.getRequirements();
 				if (req != null) {
 					for (IRequirement requirement : req) {
 					    query = new ExpressionQuery<IInstallableUnit>(IInstallableUnit.class, requirement.getMatches());