[sever sync -BLB]: <reaction to server api changes- combined launchable code/ added debug.ui dependancy for launchable integration> + Committed for M3
diff --git a/plugins/org.eclipse.jst.j2ee.web/plugin.xml b/plugins/org.eclipse.jst.j2ee.web/plugin.xml index ce1e2ad..982e146 100644 --- a/plugins/org.eclipse.jst.j2ee.web/plugin.xml +++ b/plugins/org.eclipse.jst.j2ee.web/plugin.xml
@@ -36,6 +36,7 @@ <import plugin="org.eclipse.jface"/> <import plugin="org.eclipse.jst.common.annotations.controller"/> <import plugin="org.eclipse.jst.common.frameworks"/> + <import plugin="org.eclipse.debug.ui"/> </requires> <!--============================--> @@ -170,12 +171,13 @@ <!-- ==================================================================== --> <extension point="org.eclipse.wst.server.ui.moduleArtifactAdapters"> - <!-- <moduleArtifactAdapter + <!-- <moduleArtifactAdapter class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableObjectAdapter" objectClass="org.eclipse.jst.j2ee.internal.webapplication.WebApp" id="org.eclipse.jst.web.server.webresource"> </moduleArtifactAdapter> --> - <moduleArtifactAdapter + + <moduleArtifactAdapter id="org.eclipse.jst.web.server.webresource"> <enablement> <with variable="selection"> @@ -183,12 +185,14 @@ </with> </enablement> </moduleArtifactAdapter> + <!-- <moduleArtifactAdapter objectClass="org.eclipse.jst.j2ee.internal.webapplication.Servlet" class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableObjectAdapter" id="org.eclipse.jst.web.server.webresource2"> </moduleArtifactAdapter>--> + <moduleArtifactAdapter id="org.eclipse.jst.web.server.webresource2"> <enablement> @@ -197,6 +201,7 @@ </with> </enablement> </moduleArtifactAdapter> + <!-- </moduleArtifactAdapter> <moduleArtifactAdapter objectClass="org.eclipse.core.resources.IProject" @@ -262,12 +267,14 @@ class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableArtifactAdapterFactory" adaptableType="org.eclipse.jst.j2ee.internal.webapplication.Servlet"> <adapter type="org.eclipse.wst.server.core.IModuleArtifact"/> + <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> </factory> <factory class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableArtifactAdapterFactory" - adaptableType=" org.eclipse.jst.j2ee.internal.webapplication.WebApp"> + adaptableType="org.eclipse.jst.j2ee.webapplication.WebApp"> <adapter type="org.eclipse.wst.server.core.IModuleArtifact"/> - </factory> + <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> + </factory> </extension> <!-- =============================================================== -->
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/deployables/WebDeployableArtifactAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/deployables/WebDeployableArtifactAdapterFactory.java index cba63cd..8c3fffb 100644 --- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/deployables/WebDeployableArtifactAdapterFactory.java +++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/deployables/WebDeployableArtifactAdapterFactory.java
@@ -7,6 +7,8 @@ package org.eclipse.jst.j2ee.internal.web.deployables; import org.eclipse.core.runtime.IAdapterFactory; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.debug.ui.actions.ILaunchable; import org.eclipse.wst.server.core.IModuleArtifact; public class WebDeployableArtifactAdapterFactory implements IAdapterFactory { @@ -15,12 +17,16 @@ IModuleArtifact moduleArtifact = null; if (adapterType == IModuleArtifact.class) moduleArtifact = WebDeployableArtifactUtil.getModuleObject(adaptableObject); + else if (adapterType == ILaunchable.class) { + if (adaptableObject instanceof EObject) { + return adaptableObject; + } + } return moduleArtifact; } - - public Class[] getAdapterList() { - return new Class[]{IModuleArtifact.class}; + public Class[] getAdapterList() { + return new Class[] { IModuleArtifact.class, ILaunchable.class }; } }