[477101] 

Remove org.eclipse.core.runtime.compatibility.registry from 
wsdl.ui build.properties and react to IExtension changes 

Change-Id: Icb04acec5db4f6af62ca1275c9cd578dd0082d50
diff --git a/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
index 4ba224e..e962fad 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_UI_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsdl.ui; singleton:=true
-Bundle-Version: 1.2.700.qualifier
+Bundle-Version: 1.2.800.qualifier
 Bundle-Activator: org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.wsdl.ui/build.properties b/bundles/org.eclipse.wst.wsdl.ui/build.properties
index 0e4e295..a07374a 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/build.properties
+++ b/bundles/org.eclipse.wst.wsdl.ui/build.properties
@@ -22,4 +22,3 @@
            src-search/
 output.. = bin/
 src.includes = schema/
-jars.extra.classpath=platform:/plugin/org.eclipse.core.runtime.compatibility.registry
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java
index 79dddd0..b342892 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java
@@ -560,8 +560,8 @@
         bindingGeneratorExtension.setLabel(element.getAttribute(ATT_LABEL));
         try
         {
-          ClassLoader pluginClasssLoader = element.getDeclaringExtension().getDeclaringPluginDescriptor().getPlugin().getClass().getClassLoader();
-          bindingGeneratorExtension.setClassLoader(pluginClasssLoader);
+          Bundle contributorBundle = Platform.getBundle(element.getContributor().getName());
+          bindingGeneratorExtension.setBundleContributor(contributorBundle);
           registry.add(bindingGeneratorExtension);
         }
         catch (Exception e)
@@ -609,8 +609,8 @@
         adapterFactoryExtension.setAdapterFactoryClassName(element.getAttribute(ATT_ADAPTER_FACTORY_CLASS));
         try
         {
-          ClassLoader pluginClasssLoader = element.getDeclaringExtension().getDeclaringPluginDescriptor().getPlugin().getClass().getClassLoader();
-          adapterFactoryExtension.setClassLoader(pluginClasssLoader);
+          Bundle contributorBundle = Platform.getBundle(element.getContributor().getName());
+          adapterFactoryExtension.setBundleContributor(contributorBundle);
           registry.add(adapterFactoryExtension);
         }
         catch (Exception e)
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/adapterfactory/extension/AdapterFactoryExtension.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/adapterfactory/extension/AdapterFactoryExtension.java
index 1470905..97298df 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/adapterfactory/extension/AdapterFactoryExtension.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/adapterfactory/extension/AdapterFactoryExtension.java
@@ -11,11 +11,12 @@
 package org.eclipse.wst.wsdl.ui.internal.asd.adapterfactory.extension;
 
 import org.eclipse.emf.common.notify.AdapterFactory;
+import org.osgi.framework.Bundle;
 
 public class AdapterFactoryExtension {
 	private String namespace;
 	private String adapterFactoryClassName;
-	private ClassLoader classLoader;
+	private Bundle bundleContributor;
 	
 	public AdapterFactoryExtension(String namespace) {
 		this.namespace = namespace;
@@ -26,18 +27,22 @@
 	}
 	
 	public void setClassLoader(ClassLoader classLoader){
-	    this.classLoader = classLoader;
+	    // unused
 	}
 	
 	public String getNamespace() {
 		return namespace;
 	}
 	
+	public void setBundleContributor(Bundle bundleContributor) {
+		this.bundleContributor = bundleContributor;
+	}
+	
 	public AdapterFactory getAdapterFactory() {
 		AdapterFactory factory = null;
 		if (adapterFactoryClassName != null) {
 			try {
-				Class theClass = classLoader != null ? classLoader.loadClass(adapterFactoryClassName) : Class.forName(adapterFactoryClassName);
+				Class theClass = bundleContributor != null ? bundleContributor.loadClass(adapterFactoryClassName) : Class.forName(adapterFactoryClassName);
 				factory = (AdapterFactory) theClass.newInstance();
 			}
 			catch (Exception e) {
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/contentgenerator/ui/extension/ContentGeneratorUIExtension.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/contentgenerator/ui/extension/ContentGeneratorUIExtension.java
index 3258049..a67944a 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/contentgenerator/ui/extension/ContentGeneratorUIExtension.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/contentgenerator/ui/extension/ContentGeneratorUIExtension.java
@@ -11,6 +11,7 @@
 package org.eclipse.wst.wsdl.ui.internal.asd.contentgenerator.ui.extension;
 
 import org.eclipse.wst.wsdl.ui.internal.wizards.ContentGeneratorOptionsPage;
+import org.osgi.framework.Bundle;
 
 public class ContentGeneratorUIExtension {
 	private String name;
@@ -18,8 +19,7 @@
 	private String label;
 	private String bindingOptionsPageClassName;
 	private String portOptionsPageClassName;
-	
-	private ClassLoader classLoader;
+	private Bundle bundleContributor;
 	
 	public ContentGeneratorUIExtension(String name, String namespace) {
 		this.name = name;
@@ -35,7 +35,11 @@
 	}
 	
 	public void setClassLoader(ClassLoader classLoader){
-	    this.classLoader = classLoader;
+	    // unused
+	}
+	
+	public void setBundleContributor(Bundle bundleContributor) {
+		this.bundleContributor = bundleContributor;
 	}
 	
 	public String getName() {
@@ -50,7 +54,7 @@
 		ContentGeneratorOptionsPage result = null;
 		if (bindingOptionsPageClassName != null) {
 			try {
-				Class theClass = classLoader != null ? classLoader.loadClass(bindingOptionsPageClassName) : Class.forName(bindingOptionsPageClassName);
+				Class theClass = bundleContributor != null ? bundleContributor.loadClass(bindingOptionsPageClassName) : Class.forName(bindingOptionsPageClassName);
 				result = (ContentGeneratorOptionsPage) theClass.newInstance();
 			}
 			catch (Exception e) {
@@ -64,7 +68,7 @@
 		ContentGeneratorOptionsPage result = null;
 		if (portOptionsPageClassName != null) {
 			try {
-				Class theClass = classLoader != null ? classLoader.loadClass(portOptionsPageClassName) : Class.forName(portOptionsPageClassName);
+				Class theClass = bundleContributor != null ? bundleContributor.loadClass(portOptionsPageClassName) : Class.forName(portOptionsPageClassName);
 				result = (ContentGeneratorOptionsPage) theClass.newInstance();
 			}
 			catch (Exception e) {