[185022] Remove JST references from HTTP server
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
index cf07924..958de35 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
@@ -217,7 +217,7 @@
*
* @param runtimeType a runtime type
* @return the runtime classpath provider instance, or <code>null</code> if
- * there is no runtime classpath provider with the given id
+ * there is no runtime classpath provider that supports the given id
*/
public static RuntimeClasspathProviderWrapper findRuntimeClasspathProvider(IRuntimeType runtimeType) {
if (runtimeType == null)
@@ -236,6 +236,32 @@
}
/**
+ * Returns the runtime classpath provider that supports the given runtime type id,
+ * or <code>null</code> if none. This convenience method searches the list of known
+ * runtime classpath providers ({@link #getRuntimeClasspathProviders()}) for the one
+ * with a matching runtime type id. The id may not be null.
+ *
+ * @param id a runtime type id
+ * @return the runtime classpath provider instance, or <code>null</code> if
+ * there is no runtime classpath provider that supports the given id
+ */
+ public static RuntimeClasspathProviderWrapper findRuntimeClasspathProviderBySupport(String id) {
+ if (id == null)
+ throw new IllegalArgumentException();
+
+ if (runtimeClasspathProviders == null)
+ loadRuntimeClasspathProviders();
+
+ Iterator iterator = runtimeClasspathProviders.iterator();
+ while (iterator.hasNext()) {
+ RuntimeClasspathProviderWrapper runtimeClasspathProvider = (RuntimeClasspathProviderWrapper) iterator.next();
+ if (runtimeClasspathProvider.supportsRuntimeType(id))
+ return runtimeClasspathProvider;
+ }
+ return null;
+ }
+
+ /**
* Returns the runtime classpath provider with the given id, or <code>null</code>
* if none. This convenience method searches the list of known runtime
* classpath providers ({@link #getRuntimeClasspathProviders()}) for the one with
@@ -249,7 +275,7 @@
public static RuntimeClasspathProviderWrapper findRuntimeClasspathProvider(String id) {
if (id == null)
throw new IllegalArgumentException();
-
+
if (runtimeClasspathProviders == null)
loadRuntimeClasspathProviders();
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
index 72a6a61..86aafe9 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
@@ -1,5 +1,5 @@
/******************************************************************************
- * Copyright (c) 2005, 2006 BEA Systems, Inc.
+ * Copyright (c) 2005, 2007 BEA Systems, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -15,6 +15,7 @@
import java.util.List;
import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
@@ -36,23 +37,28 @@
private IRuntimeComponent rc;
- public RuntimeClasspathProvider(final IRuntimeComponent rc) {
+ public RuntimeClasspathProvider(IRuntimeComponent rc) {
this.rc = rc;
}
- public List getClasspathEntries(final IProjectFacetVersion fv) {
+ public List getClasspathEntries(IProjectFacetVersion fv) {
IProjectFacet pf = fv.getProjectFacet();
if (pf == null)
return null;
if (pf.equals(WEB_FACET) || pf.equals(EJB_FACET) || pf.equals(EAR_FACET) ||
pf.equals(UTILITY_FACET) || pf.equals(CONNECTOR_FACET) || pf.equals(APP_CLIENT_FACET)) {
- String s = rc.getProperty(JRERuntimeComponentProvider.CLASSPATH);
- if (s == null || s.length() == 0)
+ String runtimeTypeId = rc.getProperty("type-id");
+ String runtimeId = rc.getProperty("id");
+ if (runtimeTypeId == null || runtimeId == null)
return null;
-
- IClasspathEntry cpentry = JavaCore.newContainerEntry(new Path(s));
- return Collections.singletonList(cpentry);
+ RuntimeClasspathProviderWrapper rcpw = JavaServerPlugin.findRuntimeClasspathProviderBySupport(runtimeTypeId);
+ if (rcpw != null) {
+ IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER);
+ path = path.append(rcpw.getId()).append(runtimeId);
+ IClasspathEntry cpentry = JavaCore.newContainerEntry(path);
+ return Collections.singletonList(cpentry);
+ }
}
return null;
@@ -61,7 +67,7 @@
public static final class Factory implements IAdapterFactory {
private static final Class[] ADAPTER_TYPES = { IClasspathProvider.class };
- public Object getAdapter(final Object adaptable, final Class adapterType) {
+ public Object getAdapter(Object adaptable, Class adapterType) {
IRuntimeComponent rc = (IRuntimeComponent) adaptable;
return new RuntimeClasspathProvider(rc);
}
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
index d607002..40f78b9 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
@@ -91,10 +91,21 @@
public boolean supportsRuntimeType(IRuntimeType runtimeType) {
if (runtimeType == null)
return false;
- String id = runtimeType.getId();
+ return supportsRuntimeType(runtimeType.getId());
+ }
+
+ /**
+ * Returns true if the given server resource type (given by the
+ * id) can be opened with this editor. This result is based on
+ * the result of the getServerResources() method.
+ *
+ * @param id a runtime type id
+ * @return boolean
+ */
+ public boolean supportsRuntimeType(String id) {
if (id == null || id.length() == 0)
return false;
-
+
String[] s = getRuntimeTypeIds();
if (s == null)
return false;
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
index f2e96f9..adb5156 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
@@ -15,7 +15,6 @@
import java.util.List;
import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
@@ -38,15 +37,12 @@
public List getClasspathEntries(IProjectFacetVersion fv) {
if (fv.getProjectFacet() == JAVA_FACET) {
- String runtimeTypeId = rc.getProperty("type-id");
- String runtimeId = rc.getProperty("id");
- RuntimeClasspathProviderWrapper rcpw = JavaServerPlugin.findRuntimeClasspathProvider(runtimeTypeId);
- if (rcpw != null) {
- IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER);
- path = path.append(rcpw.getId()).append(runtimeId);
- IClasspathEntry cpentry = JavaCore.newContainerEntry(path);
- return Collections.singletonList(cpentry);
- }
+ String s = rc.getProperty(JRERuntimeComponentProvider.CLASSPATH);
+ if (s == null || s.length() == 0)
+ return null;
+
+ IClasspathEntry cpentry = JavaCore.newContainerEntry(new Path(s));
+ return Collections.singletonList(cpentry);
}
return null;
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
index ee9db90..8355ce8 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
@@ -73,6 +73,15 @@
size = rfms.length;
for (int i = 0; i < size; i++)
addMapping(rfms[i].getRuntimeTypeId(), rfms[i].getRuntimeComponent(), rfms[i].getVersion());
+
+ // generic runtimes
+ addMapping("org.eclipse.jst.server.generic.runtime.jboss323", "org.eclipse.jst.server.generic.runtime.jboss", "3.2.3");
+
+ addMapping("org.eclipse.jst.server.generic.runtime.jonas4", "org.eclipse.jst.server.generic.runtime.jonas", "4.0");
+
+ addMapping("org.eclipse.jst.server.generic.runtime.oracle1013", "org.eclipse.jst.server.generic.runtime.oracle", "10.1.3");
+
+ addMapping("org.eclipse.jst.server.generic.runtime.websphere.6", "org.eclipse.jst.server.generic.runtime.websphere", "6.0");
}
public Set getExportedRuntimeNames() throws CoreException {