[185022] Remove JST references from HTTP server
diff --git a/plugins/org.eclipse.jst.server.core/.classpath b/plugins/org.eclipse.jst.server.core/.classpath
index 3d1822d..ce73933 100644
--- a/plugins/org.eclipse.jst.server.core/.classpath
+++ b/plugins/org.eclipse.jst.server.core/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="sjavacore/"/>
+ <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
diff --git a/plugins/org.eclipse.jst.server.core/build.properties b/plugins/org.eclipse.jst.server.core/build.properties
index 301bd68..27bddaa 100644
--- a/plugins/org.eclipse.jst.server.core/build.properties
+++ b/plugins/org.eclipse.jst.server.core/build.properties
@@ -18,4 +18,4 @@
temp.folder/**
src.includes = schema/,\
component.xml
-source.. = sjavacore/
+source.. = src/
diff --git a/plugins/org.eclipse.jst.server.core/plugin.xml b/plugins/org.eclipse.jst.server.core/plugin.xml
index 43f3fc6..6a1a052 100644
--- a/plugins/org.eclipse.jst.server.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.core/plugin.xml
@@ -39,6 +39,8 @@
id="org.eclipse.jst.server.core.runtimeType"
name="%runtimeTypeName"
description="%runtimeTypeDescription"
+ facetRuntimeComponent="org.eclipse.jst.server.core.runtimeType"
+ facetRuntimeVersion="1.0"
class="org.eclipse.jst.server.core.internal.GenericRuntime">
<moduleType
types="jst.*"
@@ -137,12 +139,6 @@
</supported>
</extension>
- <extension point="org.eclipse.wst.common.project.facet.core.runtimeBridges">
- <bridge
- id="org.eclipse.jst.server.core.default"
- class="org.eclipse.jst.server.core.internal.RuntimeBridge"/>
- </extension>
-
<extension point="org.eclipse.wst.common.project.facet.core.runtimes">
<runtime-component-type
id="org.eclipse.jst.server.core.runtimeType"/>
@@ -185,122 +181,10 @@
</supported>
</extension>
- <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
- <runtimeFacetMapping
- runtimeTypeId="org.eclipse.jst.server.core.runtimeType"
- runtime-component="org.eclipse.jst.server.core.runtimeType"
- version="1.0"/>
+ <extension point="org.eclipse.wst.server.core.runtimeFacetComponentProviders">
+ <runtimeComponentProvider
+ id="org.eclipse.jst.server.core.JRERuntimeComponentProvider"
+ runtimeTypeIds="*"
+ class="org.eclipse.jst.server.core.internal.JRERuntimeComponentProvider"/>
</extension>
-
- <extension point="org.eclipse.wst.server.core.runtimeTypes">
- <runtimeType
- id="org.eclipse.jst.server.preview.runtime"
- name="%previewRuntimeTypeName"
- description="%previewRuntimeTypeDescription"
- class="org.eclipse.jst.server.core.internal.preview.PreviewRuntime">
- <moduleType
- types="wst.web"
- versions="1.0"/>
- <moduleType
- types="jst.web"
- versions="2.2,2.3,2.4,2.5"/>
- <moduleType
- types="jst.utility"
- versions="1.0"/>
- </runtimeType>
- </extension>
-
- <extension point="org.eclipse.wst.server.core.serverTypes">
- <serverType
- id="org.eclipse.jst.server.preview.server"
- name="%previewServerTypeName"
- description="%previewServerTypeDescription"
- supportsRemoteHosts="false"
- runtime="true"
- initialState="stopped"
- hasConfiguration="false"
- launchModes="run,debug,profile"
- launchConfigId="org.eclipse.jst.server.core.preview.launchConfigurationType"
- runtimeTypeId="org.eclipse.jst.server.preview.runtime"
- class="org.eclipse.jst.server.core.internal.preview.PreviewServer"
- behaviourClass="org.eclipse.jst.server.core.internal.preview.PreviewServerBehaviour"/>
- </extension>
-
- <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
- <runtimeClasspathProvider
- id="org.eclipse.jst.server.preview.runtimeTarget"
- runtimeTypeIds="org.eclipse.jst.server.preview.runtime"
- class="org.eclipse.jst.server.core.internal.preview.PreviewRuntimeClasspathProvider"/>
- </extension>
-
- <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
- <runtime-component-type
- id="org.eclipse.jst.server.preview.runtime"/>
-
- <runtime-component-version
- type="org.eclipse.jst.server.preview.runtime"
- version="1.0"/>
-
- <adapter>
- <runtime-component
- id="org.eclipse.jst.server.preview.runtime"/>
- <factory
- class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
- <type
- class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
- </adapter>
-
- <supported>
- <runtime-component
- id="org.eclipse.jst.server.preview.runtime"
- version="1.0"/>
- <facet
- id="wst.web"
- version="1.0"/>
- <facet
- id="jst.web"
- version="2.2,2.3,2.4,2.5"/>
- <facet
- id="jst.utility"
- version="1.0"/>
- </supported>
- </extension>
-
- <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
- <runtimeFacetMapping
- runtimeTypeId="org.eclipse.jst.server.preview.runtime"
- runtime-component="org.eclipse.jst.server.preview.runtime"
- version="1.0"/>
- </extension>
-
- <extension point="org.eclipse.debug.core.sourcePathComputers">
- <sourcePathComputer
- id="org.eclipse.jst.server.core.preview.sourcePathComputer"
- class="org.eclipse.jst.server.core.internal.preview.PreviewSourcePathComputerDelegate"/>
- </extension>
-
- <extension point="org.eclipse.debug.core.launchConfigurationTypes">
- <launchConfigurationType
- id="org.eclipse.jst.server.core.preview.launchConfigurationType"
- name="%previewLaunchConfigurationType"
- delegate="org.eclipse.jst.server.core.internal.preview.PreviewLaunchConfigurationDelegate"
- modes="run,debug,profile"
- sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
- sourcePathComputerId="org.eclipse.jst.server.core.preview.sourcePathComputer"/>
- </extension>
-
- <extension point="org.eclipse.wst.server.core.launchableAdapters">
- <launchableAdapter
- id="org.eclipse.jst.server.core.preview.server"
- class="org.eclipse.jst.server.core.internal.preview.PreviewLaunchableAdapterDelegate"/>
- </extension>
-
-<!--
-<extension point="org.eclipse.wst.server.core.internalStartup">
- <startup
- id="org.eclipse.jst.server.core.startup"
- class="org.eclipse.jst.server.core.internal.preview.PreviewStartup"/>
-</extension>
--->
-
</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
deleted file mode 100644
index abb2395..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- * IBM Corporation - Support for all server types
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstall2;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IJavaRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeBridge;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Runtime;
-/**
- *
- */
-public class RuntimeBridge implements IRuntimeBridge {
- protected static final String CLASSPATH = "classpath";
-
- protected static Map mappings = new HashMap();
-
- static {
- initialize();
- }
-
- private static void addMapping(String id, String id2, String version) {
- ArrayList list = null;
- try {
- list = (ArrayList) mappings.get(id);
- } catch (Exception e) {
- // ignore
- }
-
- if (list == null)
- list = new ArrayList(2);
-
- try {
- list.add(RuntimeManager.getRuntimeComponentType(id2).getVersion(version));
- mappings.put(id, list);
- } catch (Exception e) {
- // ignore
- }
- }
-
- private static void initialize() {
- RuntimeFacetMapping[] rfms = JavaServerPlugin.getRuntimeFacetMapping();
- int 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 {
- IRuntime[] runtimes = ServerCore.getRuntimes();
- Set result = new HashSet(runtimes.length);
-
- for (int i = 0; i < runtimes.length; i++) {
- IRuntime runtime = runtimes[i];
- IRuntimeType runtimeType = runtime.getRuntimeType();
- if (runtimeType != null && mappings.containsKey(runtimeType.getId())) {
- result.add(runtime.getName());
- }
- }
-
- return result;
- }
-
- public IStub bridge(String name) throws CoreException {
- if (name == null)
- throw new IllegalArgumentException();
-
- IRuntime[] runtimes = ServerCore.getRuntimes();
- int size = runtimes.length;
- for (int i = 0; i < size; i++) {
- if (runtimes[i].getName().equals(name))
- return new Stub(runtimes[i]);
- }
- return null;
- }
-
- private static class Stub implements IStub {
- private IRuntime runtime;
- protected int timestamp = -1;
- protected IVMInstall vmInstall;
- protected String jvmver;
-
- public Stub(IRuntime runtime) {
- this.runtime = runtime;
- }
-
- public List getRuntimeComponents() {
- List components = new ArrayList(2);
- if (runtime == null)
- return components;
-
- // define server runtime component
- Map properties = new HashMap(5);
- if (runtime.getLocation() != null)
- properties.put("location", runtime.getLocation().toPortableString());
- else
- properties.put("location", "");
- properties.put("name", runtime.getName());
- properties.put("type", runtime.getRuntimeType().getName());
- properties.put("id", runtime.getId());
-
- RuntimeClasspathProviderWrapper rcpw = JavaServerPlugin.findRuntimeClasspathProvider(runtime.getRuntimeType());
- if (rcpw != null) {
- IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER);
- path = path.append(rcpw.getId()).append(runtime.getId());
- properties.put(CLASSPATH, path.toPortableString());
- }
-
- String typeId = runtime.getRuntimeType().getId();
- if (mappings.containsKey(typeId)) {
- ArrayList list = (ArrayList) mappings.get(typeId);
- int size = list.size();
- for (int i = 0; i < size; i++) {
- IRuntimeComponentVersion mapped = (IRuntimeComponentVersion) list.get(i);
- components.add(RuntimeManager.createRuntimeComponent(mapped, properties));
- }
- }
-
- // define JRE component
- IJavaRuntime javaRuntime = (IJavaRuntime) runtime.loadAdapter(IJavaRuntime.class, null);
- if (javaRuntime != null) {
- if (timestamp != ((Runtime) runtime).getTimestamp()) {
- vmInstall = null;
- jvmver = null;
- timestamp = ((Runtime) runtime).getTimestamp();
- }
- if (vmInstall == null)
- vmInstall = javaRuntime.getVMInstall();
-
- if (jvmver == null) {
- IVMInstall2 vmInstall2 = (IVMInstall2) vmInstall;
- if (vmInstall2 != null)
- jvmver = vmInstall2.getJavaVersion();
- }
-
- String vmInstallName;
- if (vmInstall != null)
- vmInstallName = vmInstall.getName();
- else
- vmInstallName = "Unknown";
-
- IRuntimeComponentVersion rcv = null;
- if (vmInstall == null) {
- // JRE couldn't be found - assume 6.0 for now
- rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
- } else if (jvmver == null) {
- Trace.trace(Trace.WARNING, "Could not determine VM version for: " + vmInstallName);
- rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
- } else if (jvmver.startsWith("1.3"))
- rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.3");
- else if (jvmver.startsWith("1.4"))
- rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.4");
- else if (jvmver.startsWith("1.5") || jvmver.startsWith("5.0"))
- rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("5.0");
- else if (jvmver.startsWith("1.6") || jvmver.startsWith("6.0"))
- rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
- else {
- Trace.trace(Trace.WARNING, "Invalid Java version: " + vmInstallName + ", " + jvmver);
- rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
- }
-
- if (rcv != null) {
- properties = new HashMap(3);
- if (vmInstallName != null)
- properties.put("name", vmInstallName);
- else
- properties.put("name", "-");
-
- if (vmInstall == null) {
- // no classpath
- } else if (vmInstall == null || javaRuntime.isUsingDefaultJRE())
- properties.put(CLASSPATH, new Path(JavaRuntime.JRE_CONTAINER).toPortableString());
- else
- properties.put(CLASSPATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
- components.add(RuntimeManager.createRuntimeComponent(rcv, properties));
- }
- }
-
- RuntimeComponentProviderWrapper componentProvider = JavaServerPlugin.findRuntimeComponentProvider(runtime.getRuntimeType());
- if (componentProvider != null) {
- List list = componentProvider.getComponents(runtime);
- if (list != null)
- components.addAll(list);
- }
-
- return components;
- }
-
- public Map getProperties() {
- if (runtime == null)
- return new HashMap(0);
- return Collections.singletonMap("id", runtime.getId());
- }
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PingThread.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PingThread.java
deleted file mode 100644
index cc64b1c..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PingThread.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Thread used to ping server to test when it is started.
- */
-public class PingThread {
- // delay before pinging starts
- private static final int PING_DELAY = 2000;
-
- // delay between pings
- private static final int PING_INTERVAL = 250;
-
- // maximum number of pings before giving up
- private int maxPings = 40;
-
- private boolean stop = false;
- private String url;
- private IServer server;
- private PreviewServerBehaviour behaviour;
-
- /**
- * Create a new PingThread.
- *
- * @param server
- * @param url
- * @param behaviour
- */
- public PingThread(IServer server, String url, PreviewServerBehaviour behaviour) {
- super();
- this.server = server;
- this.url = url;
- this.behaviour = behaviour;
- Thread t = new Thread("Preview Ping Thread") {
- public void run() {
- ping();
- }
- };
- t.setDaemon(true);
- t.start();
- }
-
- /**
- * Ping the server until it is started. Then set the server
- * state to STATE_STARTED.
- */
- protected void ping() {
- int count = 0;
- try {
- Thread.sleep(PING_DELAY);
- } catch (Exception e) {
- // ignore
- }
- while (!stop) {
- try {
- if (count == maxPings) {
- try {
- server.stop(false);
- } catch (Exception e) {
- Trace.trace(Trace.FINEST, "Ping: could not stop server");
- }
- stop = true;
- break;
- }
- count++;
-
- Trace.trace(Trace.FINEST, "Ping: pinging " + count);
- URL pingUrl = new URL(url);
- URLConnection conn = pingUrl.openConnection();
- ((HttpURLConnection)conn).getResponseCode();
-
- // ping worked - server is up
- if (!stop) {
- Trace.trace(Trace.FINEST, "Ping: success");
- Thread.sleep(200);
- behaviour.setServerStarted();
- }
- stop = true;
- } catch (FileNotFoundException fe) {
- try {
- Thread.sleep(200);
- } catch (Exception e) {
- // ignore
- }
- behaviour.setServerStarted();
- stop = true;
- } catch (Exception e) {
- Trace.trace(Trace.FINEST, "Ping: failed");
- // pinging failed
- if (!stop) {
- try {
- Thread.sleep(PING_INTERVAL);
- } catch (InterruptedException e2) {
- // ignore
- }
- }
- }
- }
- }
-
- /**
- * Tell the pinging to stop.
- */
- public void stop() {
- Trace.trace(Trace.FINEST, "Ping: stopping");
- stop = true;
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewLaunchConfigurationDelegate.java
deleted file mode 100644
index 03e12fb..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.io.File;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.*;
-import org.eclipse.jst.server.core.ServerProfilerDelegate;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.Trace;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.osgi.framework.Bundle;
-/**
- *
- */
-public class PreviewLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
- private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
- "org.eclipse.core.runtime",
- "org.apache.commons.logging",
- "javax.servlet",
- "javax.servlet.jsp",
- "org.mortbay.jetty",
- "org.eclipse.wst.server.preview"
- };
-
- private static final String MAIN_CLASS = "org.eclipse.wst.server.preview.internal.PreviewStarter";
-
- public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
- IServer server = ServerUtil.getServer(configuration);
- if (server == null) {
- Trace.trace(Trace.FINEST, "Launch configuration could not find server");
- // throw CoreException();
- return;
- }
-
- PreviewServerBehaviour previewServer = (PreviewServerBehaviour) server.loadAdapter(PreviewServerBehaviour.class, null);
-
- int size = REQUIRED_BUNDLE_IDS.length;
- String[] jars = new String[size];
- for (int i = 0; i < size; i++) {
- Bundle b = Platform.getBundle(REQUIRED_BUNDLE_IDS[i]);
- IPath path = null;
- if (b != null)
- path = PreviewRuntime.getJarredPluginPath(b);
- if (path == null)
- throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, "Could not find required bundle " + REQUIRED_BUNDLE_IDS[i]));
- jars[i] = path.toOSString();
- }
-
- if (new File(jars[5] + "bin").exists())
- jars[5] = jars[5] + "bin";
-
- IVMInstall vm = verifyVMInstall(configuration);
-
- IVMRunner runner = vm.getVMRunner(mode);
- if (runner == null)
- runner = vm.getVMRunner(ILaunchManager.RUN_MODE);
-
- File workingDir = verifyWorkingDirectory(configuration);
- String workingDirName = null;
- if (workingDir != null)
- workingDirName = workingDir.getAbsolutePath();
-
- // Program & VM args
- String pgmArgs = previewServer.getTempDirectory().append("preview.xml").toOSString();
- //getProgramArguments(configuration);
- String vmArgs = getVMArguments(configuration);
- String[] envp = getEnvironment(configuration);
-
- ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
-
- // VM-specific attributes
- Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-
- // Classpath
- String[] classpath2 = getClasspath(configuration);
- String[] classpath = new String[classpath2.length + REQUIRED_BUNDLE_IDS.length];
- System.arraycopy(jars, 0, classpath, 0, REQUIRED_BUNDLE_IDS.length);
- System.arraycopy(classpath2, 0, classpath, REQUIRED_BUNDLE_IDS.length, classpath2.length);
-
- // Create VM config
- VMRunnerConfiguration runConfig = new VMRunnerConfiguration(MAIN_CLASS, classpath);
- runConfig.setProgramArguments(execArgs.getProgramArgumentsArray());
- runConfig.setVMArguments(execArgs.getVMArgumentsArray());
- runConfig.setWorkingDirectory(workingDirName);
- runConfig.setEnvironment(envp);
- runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
- // Bootpath
- String[] bootpath = getBootpath(configuration);
- if (bootpath != null && bootpath.length > 0)
- runConfig.setBootClassPath(bootpath);
-
- setDefaultSourceLocator(launch, configuration);
-
- // Launch the configuration
- previewServer.setupLaunch(launch, mode, monitor);
-
- if (ILaunchManager.PROFILE_MODE.equals(mode))
- ServerProfilerDelegate.configureProfiling(launch, vm, runConfig, monitor);
-
- try {
- runner.run(runConfig, launch, monitor);
- previewServer.setProcess(launch.getProcesses()[0]);
- } catch (Exception e) {
- // ignore - process failed
- }
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewLaunchableAdapterDelegate.java
deleted file mode 100644
index e83a75a..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-
-public class PreviewLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
- /*
- * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact)
- */
- public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
- if (server == null || moduleArtifact == null)
- return null;
-
- PreviewServer server2 = (PreviewServer) server.loadAdapter(PreviewServer.class, null);
- if (server2 == null)
- return null;
-
- try {
- URL url = server2.getModuleRootURL(moduleArtifact.getModule());
-
- if (moduleArtifact instanceof WebResource) {
- WebResource resource = (WebResource) moduleArtifact;
- String path = resource.getPath().toString();
-
- if (path.startsWith("/"))
- path = path.substring(1);
- url = new URL(url.toExternalForm() + "/" + path);
- }
- return new HttpLaunchable(url);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error in launchable adapter", e);
- }
-
- return null;
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewRuntime.java
deleted file mode 100644
index a9214df..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewRuntime.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IJavaRuntime;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.osgi.framework.Bundle;
-/**
- *
- */
-public class PreviewRuntime extends RuntimeDelegate implements IJavaRuntime {
- public static final String ID = "org.eclipse.jst.server.preview.runtime";
-
- protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
- protected static final String PROP_VM_INSTALL_ID = "vm-install-id";
-
- /**
- * Create a new preview runtime.
- */
- public PreviewRuntime() {
- // do nothing
- }
-
- /**
- * Returns the path that corresponds to the specified bundle.
- *
- * @return a path
- */
- protected static Path getPluginPath(Bundle bundle) {
- try {
- URL installURL = bundle.getEntry("/");
- URL localURL = FileLocator.toFileURL(installURL);
- return new Path(localURL.getFile());
- } catch (IOException ioe) {
- return null;
- }
- }
-
- protected static IPath getJarredPluginPath(Bundle bundle) {
- Path runtimeLibFullPath = null;
- String jarPluginLocation = bundle.getLocation().substring(7);
-
- // handle case where jars are installed outside of eclipse installation
- Path jarPluginPath = new Path(jarPluginLocation);
- if (jarPluginPath.isAbsolute())
- runtimeLibFullPath = jarPluginPath;
- // handle normal case where all plugins under eclipse install
- else {
- int ind = jarPluginLocation.lastIndexOf(":");
- if (ind > 0)
- jarPluginLocation = jarPluginLocation.substring(ind+1);
-
- String installPath = Platform.getInstallLocation().getURL().getPath();
- runtimeLibFullPath = new Path(installPath+"/"+jarPluginLocation);
- }
- return runtimeLibFullPath;
- }
-
- protected String getVMInstallTypeId() {
- return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
- }
-
- protected String getVMInstallId() {
- return getAttribute(PROP_VM_INSTALL_ID, (String)null);
- }
-
- /**
- * @see RuntimeDelegate#setDefaults(IProgressMonitor)
- */
- public void setDefaults(IProgressMonitor monitor) {
- getRuntimeWorkingCopy().setLocation(new Path(""));
- }
-
- /**
- * Returns <code>true</code> if the runtime is using the default JRE.
- *
- * @return <code>true</code> if the runtime is using the default JRE,
- * and <code>false</code> otherwise
- */
- public boolean isUsingDefaultJRE() {
- return getVMInstallTypeId() == null;
- }
-
- public IVMInstall getVMInstall() {
- if (getVMInstallTypeId() == null)
- return JavaRuntime.getDefaultVMInstall();
- try {
- IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId());
- IVMInstall[] vmInstalls = vmInstallType.getVMInstalls();
- int size = vmInstalls.length;
- String id = getVMInstallId();
- for (int i = 0; i < size; i++) {
- if (id.equals(vmInstalls[i].getId()))
- return vmInstalls[i];
- }
- } catch (Exception e) {
- // ignore
- }
- return null;
- }
-
- /**
- * @see RuntimeDelegate#validate()
- */
- public IStatus validate() {
- IStatus status = super.validate();
- if (!status.isOK())
- return status;
-
- if (getVMInstall() == null)
- return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorJRE, null);
-
- return Status.OK_STATUS;
- }
-
- public void setVMInstall(IVMInstall vmInstall) {
- if (vmInstall == null) {
- setVMInstall(null, null);
- } else
- setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
- }
-
- protected void setVMInstall(String typeId, String id) {
- if (typeId == null)
- setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
- else
- setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-
- if (id == null)
- setAttribute(PROP_VM_INSTALL_ID, (String)null);
- else
- setAttribute(PROP_VM_INSTALL_ID, id);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewRuntimeClasspathProvider.java
deleted file mode 100644
index 2c8fe9b..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewRuntimeClasspathProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.osgi.framework.Bundle;
-/**
- *
- */
-public class PreviewRuntimeClasspathProvider extends RuntimeClasspathProviderDelegate {
- private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
- "javax.servlet",
- "javax.servlet.jsp"
- };
-
- /** (non-Javadoc)
- * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IProject, IRuntime)
- */
- public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
- List list = new ArrayList();
-
- int size = REQUIRED_BUNDLE_IDS.length;
- for (int i = 0; i < size; i++) {
- Bundle b = Platform.getBundle(REQUIRED_BUNDLE_IDS[i]);
- IPath path = PreviewRuntime.getJarredPluginPath(b);
- if (path != null)
- list.add(JavaCore.newLibraryEntry(path, null, null));
- }
-
- return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewServer.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewServer.java
deleted file mode 100644
index 1a8e2c2..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewServer.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-/**
- * Generic HTTP server.
- */
-public class PreviewServer extends ServerDelegate implements IURLProvider {
- public static final String ID = "org.eclipse.jst.server.preview.server";
-
- public static final String PROPERTY_PORT = "port";
-
- /**
- * PreviewServer.
- */
- public PreviewServer() {
- super();
- }
-
- protected void initialize() {
- // do nothing
- }
-
- public PreviewRuntime getPreviewRuntime() {
- if (getServer().getRuntime() == null)
- return null;
-
- return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
- }
-
- /**
- * Return the root URL of this module.
- *
- * @param module a module
- * @return java.net.URL
- */
- public URL getModuleRootURL(IModule module) {
- try {
- String base = "http://localhost";
-
- int port = getPort();
- URL url = null;
- if (port == 80)
- url = new URL(base + "/");
- else
- url = new URL(base + ":" + port + "/");
-
- String type = module.getModuleType().getId();
- if ("wst.web".equals(type)) {
- IStaticWeb staticWeb = (IStaticWeb) module.loadAdapter(IStaticWeb.class, null);
- return new URL(url, staticWeb.getContextRoot());
- } else if ("jst.web".equals(type)) {
- IWebModule webModule = (IWebModule) module.loadAdapter(IWebModule.class, null);
- return new URL(url, webModule.getContextRoot());
- }
- return url;
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not get root URL", e);
- return null;
- }
- }
-
- /*
- * Returns the child module(s) of this module.
- */
- public IModule[] getChildModules(IModule[] module) {
- return new IModule[0];
- }
-
- /*
- * Returns the root module(s) of this module.
- */
- public IModule[] getRootModules(IModule module) throws CoreException {
- return new IModule[] { module };
- }
-
- /**
- * Returns true if the given project is supported by this server, and false
- * otherwise.
- *
- * @param add modules
- * @param remove modules
- * @return the status
- */
- public IStatus canModifyModules(IModule[] add, IModule[] remove) {
- return new Status(IStatus.OK, JavaServerPlugin.PLUGIN_ID, 0, Messages.canModifyModules, null);
- }
-
- public ServerPort[] getServerPorts() {
- int port = getPort();
- ServerPort[] ports = { new ServerPort("http", Messages.httpPort, port, "http") };
- return ports;
- }
-
- public int getPort() {
- return getAttribute(PreviewServer.PROPERTY_PORT, 8080);
- }
-
- public void setPort(int port) {
- setAttribute(PreviewServer.PROPERTY_PORT, port);
- }
-
- public static IServer createPreviewServer(String serverName) {
- try {
- NullProgressMonitor monitor = new NullProgressMonitor();
- IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
- IRuntimeWorkingCopy runtimeCopy = runtimeType.createRuntime(PreviewRuntime.ID, monitor);
- IRuntime runtime = runtimeCopy.save(true, monitor);
-
- IServerType serverType = ServerCore.findServerType(ID);
- IServerWorkingCopy workingCopy = serverType.createServer(ID, null, runtime, monitor);
- workingCopy.setName(serverName);
- workingCopy.setHost("localhost");
- return workingCopy.save(true, monitor);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error creating server", e);
- }
-
- return null;
- }
-
- public static IServer findPreviewServer(String id) {
- IServer[] servers = ServerCore.getServers();
- for (int i = 0; i < servers.length; i++) {
- if (servers[i].getId().equals(id)) {
- return servers[i];
- }
- }
- return null;
- }
-
- public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
- // do nothing
- }
-
- /**
- * Return a string representation of this object.
- *
- * @return java.lang.String
- */
- public String toString() {
- return "PreviewServer";
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewServerBehaviour.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewServerBehaviour.java
deleted file mode 100644
index f9c9a9d..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewServerBehaviour.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.core.internal.IMemento;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.jst.server.core.internal.ProgressUtil;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.jst.server.core.internal.XMLMemento;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-import org.eclipse.wst.server.core.util.PublishUtil;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * Generic Http server.
- */
-public class PreviewServerBehaviour extends ServerBehaviourDelegate {
- // the thread used to ping the server to check for startup
- protected transient PingThread ping = null;
- protected transient IProcess process;
- protected transient IDebugEventSetListener processListener;
-
- /**
- * PreviewServer.
- */
- public PreviewServerBehaviour() {
- super();
- }
-
- public void initialize(IProgressMonitor monitor) {
- // do nothing
- }
-
- public PreviewRuntime getPreviewRuntime() {
- if (getServer().getRuntime() == null)
- return null;
-
- return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
- }
-
- public PreviewServer getPreviewServer() {
- return (PreviewServer) getServer().getAdapter(PreviewServer.class);
- }
-
- /**
- * Returns the runtime base path for relative paths in the server
- * configuration.
- *
- * @return the base path
- */
- public IPath getRuntimeBaseDirectory() {
- return getServer().getRuntime().getLocation();
- }
-
- /**
- * Setup for starting the server.
- *
- * @param launch ILaunch
- * @param launchMode String
- * @param monitor IProgressMonitor
- * @throws CoreException if anything goes wrong
- */
- protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
- // check that ports are free
- ServerPort[] ports = getPreviewServer().getServerPorts();
- int port = ports[0].getPort();
-
- if (SocketUtil.isPortInUse(port, 5))
- throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, new String[] {port + "", getServer().getName()}), null));
-
- // generate preview config file
- XMLMemento memento = XMLMemento.createWriteRoot("server");
- memento.putInteger("port", port);
-
- IModule[] modules = getServer().getModules();
- int size = modules.length;
- for (int i = 0; i < size; i++) {
- IMemento mod = memento.createChild("module");
- mod.putString("name", modules[i].getName());
- String type = modules[i].getModuleType().getId();
- if ("wst.web".equals(type)) {
- IStaticWeb staticWeb = (IStaticWeb) modules[i].loadAdapter(IStaticWeb.class, null);
- mod.putString("context", staticWeb.getContextRoot());
- mod.putString("type", "static");
- } else if ("jst.web".equals(type)) {
- IWebModule webModule = (IWebModule) modules[i].loadAdapter(IWebModule.class, null);
- mod.putString("context", webModule.getContextRoot());
- mod.putString("type", "j2ee");
- }
- mod.putString("path", getModulePublishDirectory(modules[i]).toPortableString());
- }
- try {
- memento.saveToFile(getTempDirectory().append("preview.xml").toOSString());
- } catch (IOException e) {
- Trace.trace(Trace.SEVERE, "Could not write preview config", e);
- throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, "Could not write preview configuration", null));
- }
-
- setServerRestartState(false);
- setServerState(IServer.STATE_STARTING);
- setMode(launchMode);
-
- // ping server to check for startup
- try {
- String url = "http://localhost";
- if (port != 80)
- url += ":" + port;
- ping = new PingThread(getServer(), url, this);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
- }
- }
-
- protected void setProcess(final IProcess newProcess) {
- if (process != null)
- return;
-
- process = newProcess;
- if (processListener != null)
- DebugPlugin.getDefault().removeDebugEventListener(processListener);
- if (newProcess == null)
- return;
-
- processListener = new IDebugEventSetListener() {
- public void handleDebugEvents(DebugEvent[] events) {
- if (events != null) {
- int size = events.length;
- for (int i = 0; i < size; i++) {
- Object obj = events[i].getSource();
-
- if (!(obj instanceof IDebugTarget))
- continue;
-
- IDebugTarget target = (IDebugTarget) obj;
- IProcess targetProcess = target.getProcess();
-
- if (process != null && process.equals(targetProcess)
- && events[i].getKind() == DebugEvent.TERMINATE) {
- DebugPlugin.getDefault().removeDebugEventListener(this);
- stopImpl();
- }
- }
- }
- }
- };
- DebugPlugin.getDefault().addDebugEventListener(processListener);
- }
-
- protected void setServerStarted() {
- setServerState(IServer.STATE_STARTED);
- }
-
- protected void stopImpl() {
- if (ping != null) {
- ping.stop();
- ping = null;
- }
- if (process != null) {
- process = null;
- DebugPlugin.getDefault().removeDebugEventListener(processListener);
- processListener = null;
- }
- setServerState(IServer.STATE_STOPPED);
- }
-
- protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.done();
-
- setServerPublishState(IServer.PUBLISH_STATE_NONE);
- }
-
- /*
- * Publishes the given module to the server.
- */
- protected void publishModule(int kind, int deltaKind, IModule[] moduleTree, IProgressMonitor monitor) throws CoreException {
- IModule module = moduleTree[moduleTree.length - 1];
- IPath to = getModulePublishDirectory(module);
-
- if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) {
- IStatus[] status = PublishUtil.deleteDirectory(to.toFile(), monitor);
- throwException(status);
- }
-
- IModuleResource[] res = getResources(moduleTree);
- IStatus[] status = PublishUtil.publishSmart(res, to, monitor);
- throwException(status);
-
- setModulePublishState(moduleTree, IServer.PUBLISH_STATE_NONE);
- }
-
- /**
- * Utility method to throw a CoreException based on the contents of a list of
- * error and warning status.
- *
- * @param status a List containing error and warning IStatus
- * @throws CoreException
- */
- private static void throwException(IStatus[] status) throws CoreException {
- if (status == null || status.length == 0)
- return;
-
- if (status.length == 1)
- throw new CoreException(status[0]);
-
- String message = Messages.errorPublish;
- MultiStatus status2 = new MultiStatus(JavaServerPlugin.PLUGIN_ID, 0, status, message, null);
- throw new CoreException(status2);
- }
-
- public void restart(String launchMode) throws CoreException {
- setServerState(IServer.STATE_STOPPED);
- setServerState(IServer.STATE_STARTED);
- }
-
- /**
- * Cleanly shuts down and terminates the server.
- *
- * @param force <code>true</code> to kill the server
- */
- public void stop(boolean force) {
- if (force) {
- terminate();
- return;
- }
- int state = getServer().getServerState();
- if (state == IServer.STATE_STOPPED)
- return;
- else if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
- terminate();
- return;
- }
-
- // should really try to stop normally
- terminate();
- }
-
- /**
- * Terminates the server.
- */
- protected void terminate() {
- if (getServer().getServerState() == IServer.STATE_STOPPED)
- return;
-
- try {
- setServerState(IServer.STATE_STOPPING);
- Trace.trace(Trace.FINEST, "Killing the HTTP process");
- if (process != null && !process.isTerminated())
- process.terminate();
-
- stopImpl();
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error killing the process", e);
- }
- }
-
- protected IPath getTempDirectory() {
- return super.getTempDirectory();
- }
-
- /**
- * Returns the module's publish path.
- *
- * @param module a module
- * @return the publish directory for the module
- */
- protected IPath getModulePublishDirectory(IModule module) {
- return getTempDirectory().append(module.getName());
- }
-
- /**
- * Return a string representation of this object.
- *
- * @return java.lang.String
- */
- public String toString() {
- return "PreviewServer";
- }
-
- protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
- return super.getPublishedResourceDelta(module);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewSourcePathComputerDelegate.java
deleted file mode 100644
index 97e9ff4..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- *
- */
-public class PreviewSourcePathComputerDelegate implements ISourcePathComputerDelegate {
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
- */
- public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
- List classpaths = new ArrayList();
- classpaths.addAll(Arrays.asList(JavaRuntime.computeUnresolvedSourceLookupPath(configuration)));
- List sourcefolderList = new ArrayList();
-
- IServer server = ServerUtil.getServer(configuration);
- if (server != null) {
- List list = new ArrayList();
- IModule[] modules = server.getModules();
- for (int i = 0; i < modules.length; i++) {
- IProject project = modules[i].getProject();
- if (project != null) {
- IFolder moduleFolder = project.getFolder(modules[i].getName());
- if (moduleFolder.exists()) {
- sourcefolderList.add(new FolderSourceContainer(moduleFolder, true));
- }
-
- try {
- if (project.hasNature(JavaCore.NATURE_ID)) {
- IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
- if (!list.contains(javaProject))
- list.add(javaProject);
- }
- } catch (Exception e) {
- // ignore
- }
- }
- }
- int size = list.size();
- IJavaProject[] projects = new IJavaProject[size];
- list.toArray(projects);
-
- for (int i = 0; i < size; i++)
- classpaths.addAll(Arrays.asList(JavaRuntime.computeUnresolvedRuntimeClasspath(projects[i])));
- }
-
- IRuntimeClasspathEntry[] entries = new IRuntimeClasspathEntry[classpaths.size()];
- classpaths.toArray(entries);
-
- IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
- ISourceContainer[] sourceContainers = JavaRuntime.getSourceContainers(resolved);
-
- if (!sourcefolderList.isEmpty()) {
- ISourceContainer[] combinedSourceContainers = new ISourceContainer[sourceContainers.length + sourcefolderList.size()];
- sourcefolderList.toArray(combinedSourceContainers);
- System.arraycopy(sourceContainers, 0, combinedSourceContainers, sourcefolderList.size(), sourceContainers.length);
- sourceContainers = combinedSourceContainers;
- }
-
- return sourceContainers;
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewStartup.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewStartup.java
deleted file mode 100644
index e911c8e..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/preview/PreviewStartup.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.preview;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.IStartup;
-
-public class PreviewStartup implements IStartup {
- private static final String ID = "xyz";
-
- public void startup() {
- // create runtime
- IRuntime[] runtimes = ServerCore.getRuntimes();
- IRuntime runtime = null;
-
- int size = runtimes.length;
- for (int i = 0; i < size; i++) {
- if (runtimes[i].getRuntimeType() != null && PreviewRuntime.ID.equals(runtimes[i].getRuntimeType().getId())) {
- if (ID.equals(runtimes[i].getId()))
- runtime = runtimes[i];
- }
- }
-
- if (runtime == null) {
- try {
- IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
- IRuntimeWorkingCopy wc = runtimeType.createRuntime(ID, null);
- wc.setName("My Preview");
- wc.setReadOnly(true);
- runtime = wc.save(true, null);
- } catch (CoreException ce) {
- Trace.trace(Trace.WARNING, "Could not create default preview runtime");
- }
- }
-
- // create server
- IServer[] servers = ServerCore.getServers();
-
- boolean found = false;
- size = servers.length;
- for (int i = 0; i < size; i++) {
- if (servers[i].getServerType() != null && PreviewServer.ID.equals(servers[i].getServerType().getId())) {
- if (ID.equals(servers[i].getId()))
- found = true;
- }
- }
-
- if (!found) {
- try {
- IServerType serverType = ServerCore.findServerType(PreviewServer.ID);
- IServerWorkingCopy wc = serverType.createServer(ID, null, runtime, null);
- wc.setName("My preview");
- wc.setHost("localhost");
- wc.setReadOnly(true);
- wc.save(true, null);
- } catch (CoreException ce) {
- Trace.trace(Trace.WARNING, "Could not create default preview server");
- }
- }
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/EJBBean.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/EJBBean.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/FacetUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/FacetUtil.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/FacetUtil.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/FacetUtil.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IApplicationClientModule.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IApplicationClientModule.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IConnectorModule.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IConnectorModule.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEJBModule.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEJBModule.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEnterpriseApplication.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEnterpriseApplication.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJ2EEModule.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJ2EEModule.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntime.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntime.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IUtilityModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IUtilityModule.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IUtilityModule.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IUtilityModule.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IWebModule.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IWebModule.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiLaunchable.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiLaunchable.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiObject.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiObject.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiObject.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiObject.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/PublishUtil.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/PublishUtil.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ServerProfilerDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ServerProfilerDelegate.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ServerProfilerDelegate.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ServerProfilerDelegate.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/Servlet.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/Servlet.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntime.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntime.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntime.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntime.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IMemento.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IMemento.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IMemento.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IMemento.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java
new file mode 100644
index 0000000..0b1b80e
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.server.core.internal;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.IVMInstall2;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.jst.server.core.IJavaRuntime;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
+import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.internal.Runtime;
+
+public class JRERuntimeComponentProvider extends RuntimeComponentProviderDelegate {
+ public static final String CLASSPATH = "classpath";
+
+ protected int timestamp = -1;
+ protected IVMInstall vmInstall;
+ protected String jvmver;
+
+ public List getRuntimeComponents(IRuntime runtime) {
+ // define JRE component
+ IJavaRuntime javaRuntime = (IJavaRuntime) runtime.loadAdapter(IJavaRuntime.class, null);
+ if (javaRuntime != null) {
+ if (timestamp != ((Runtime) runtime).getTimestamp()) {
+ vmInstall = null;
+ jvmver = null;
+ timestamp = ((Runtime) runtime).getTimestamp();
+ }
+ if (vmInstall == null)
+ vmInstall = javaRuntime.getVMInstall();
+
+ if (jvmver == null) {
+ IVMInstall2 vmInstall2 = (IVMInstall2) vmInstall;
+ if (vmInstall2 != null)
+ jvmver = vmInstall2.getJavaVersion();
+ }
+
+ String vmInstallName;
+ if (vmInstall != null)
+ vmInstallName = vmInstall.getName();
+ else
+ vmInstallName = "Unknown";
+
+ IRuntimeComponentVersion rcv = null;
+ if (vmInstall == null) {
+ // JRE couldn't be found - assume 6.0 for now
+ rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
+ } else if (jvmver == null) {
+ Trace.trace(Trace.WARNING, "Could not determine VM version for: " + vmInstallName);
+ rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
+ } else if (jvmver.startsWith("1.3"))
+ rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.3");
+ else if (jvmver.startsWith("1.4"))
+ rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.4");
+ else if (jvmver.startsWith("1.5") || jvmver.startsWith("5.0"))
+ rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("5.0");
+ else if (jvmver.startsWith("1.6") || jvmver.startsWith("6.0"))
+ rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
+ else {
+ Trace.trace(Trace.WARNING, "Invalid Java version: " + vmInstallName + ", " + jvmver);
+ rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
+ }
+
+ if (rcv != null) {
+ Map properties = new HashMap(3);
+ if (vmInstallName != null)
+ properties.put("name", vmInstallName);
+ else
+ properties.put("name", "-");
+
+ if (vmInstall == null) {
+ // no classpath
+ } else if (vmInstall == null || javaRuntime.isUsingDefaultJRE())
+ properties.put(CLASSPATH, new Path(JavaRuntime.JRE_CONTAINER).toPortableString());
+ else
+ properties.put(CLASSPATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
+
+ List list = new ArrayList();
+ list.add(RuntimeManager.createRuntimeComponent(rcv, properties));
+ return list;
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.properties
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.properties
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/ProgressUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ProgressUtil.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/ProgressUtil.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ProgressUtil.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
similarity index 97%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
index e978e3d..72a6a61 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
@@ -47,7 +47,7 @@
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(RuntimeBridge.CLASSPATH);
+ String s = rc.getProperty(JRERuntimeComponentProvider.CLASSPATH);
if (s == null || s.length() == 0)
return null;
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
similarity index 68%
copy from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
copy to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
index e5185f5..968e4dd 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2007 IBM Corporation and others.
* 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
@@ -10,9 +10,7 @@
*******************************************************************************/
package org.eclipse.jst.server.core.internal;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.internal.facets.RuntimeFacetComponentProviderDelegate;
/**
* A runtime component provider can provide additional runtime components for a facet runtime.
* This provider is scoped by runtime type and may provide components for multiple
@@ -30,17 +28,6 @@
*
* @plannedfor 2.0
*/
-public abstract class RuntimeComponentProviderDelegate {
- public RuntimeComponentProviderDelegate() {
- // default constructor
- }
-
- /**
- * Add runtime components to the given runtime. Components should be created by calling
- * RuntimeManager.createRuntimeComponent(IRuntimeComponentVersion, Map)
- *
- * @param runtime a server runtime
- * @return a list of runtimes, or an empty list or null if there are no additional components
- */
- public abstract List getRuntimeComponents(IRuntime runtime);
+public abstract class RuntimeComponentProviderDelegate extends RuntimeFacetComponentProviderDelegate {
+ // nothing added
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
similarity index 97%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
index fd74dcc..dc10d05 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
@@ -109,7 +109,7 @@
}
/*
- * @see RuntimeComponentProviderDelegate#getRuntimeComponents(IRuntime)
+ * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
*/
public List getComponents(IRuntime runtime) {
if (runtime == null)
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/ServerProfiler.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/ServerProfiler.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
similarity index 74%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
index a0eaa23..f2e96f9 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/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,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;
@@ -31,15 +32,19 @@
private IRuntimeComponent rc;
- public StandardJreClasspathProvider(final IRuntimeComponent rc) {
+ public StandardJreClasspathProvider(IRuntimeComponent rc) {
this.rc = rc;
}
- public List getClasspathEntries(final IProjectFacetVersion fv) {
+ public List getClasspathEntries(IProjectFacetVersion fv) {
if (fv.getProjectFacet() == JAVA_FACET) {
- String path = rc.getProperty(RuntimeBridge.CLASSPATH);
- if (path != null) {
- IClasspathEntry cpentry = JavaCore.newContainerEntry(new Path(path));
+ 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);
}
}
@@ -50,7 +55,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 StandardJreClasspathProvider(rc);
}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.html
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.xml b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.xml
similarity index 100%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.xml
rename to plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.xml
diff --git a/plugins/org.eclipse.jst.server.ui/.classpath b/plugins/org.eclipse.jst.server.ui/.classpath
index d2acb1f..ce73933 100644
--- a/plugins/org.eclipse.jst.server.ui/.classpath
+++ b/plugins/org.eclipse.jst.server.ui/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="sjavaui/"/>
+ <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
diff --git a/plugins/org.eclipse.jst.server.ui/build.properties b/plugins/org.eclipse.jst.server.ui/build.properties
index 2e85736..1fc39cb 100644
--- a/plugins/org.eclipse.jst.server.ui/build.properties
+++ b/plugins/org.eclipse.jst.server.ui/build.properties
@@ -17,4 +17,4 @@
bin.excludes = bin/**,\
@dot/**,\
temp.folder/**
-source.. = sjavaui/
+source.. = src/
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/preview.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/preview.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/preview.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.xml b/plugins/org.eclipse.jst.server.ui/plugin.xml
index 51c27ff..e8f5f28 100644
--- a/plugins/org.eclipse.jst.server.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.server.ui/plugin.xml
@@ -8,27 +8,27 @@
typeIds="org.eclipse.jst.server.core.runtimeType"
icon="icons/obj16/java_jar.gif"/>
<image
- id="org.eclipse.jst.server"
+ id="org.eclipse.jst.server.web"
typeIds="jst.web"
icon="icons/obj16/web_module.gif"/>
<image
- id="org.eclipse.jst.server"
+ id="org.eclipse.jst.server.ejb"
typeIds="jst.ejb"
icon="icons/obj16/ejb_module.gif"/>
<image
- id="org.eclipse.jst.server"
+ id="org.eclipse.jst.server.ear"
typeIds="jst.ear"
icon="icons/obj16/ear.gif"/>
<image
- id="org.eclipse.jst.server"
+ id="org.eclipse.jst.server.appclient"
typeIds="jst.appclient"
icon="icons/obj16/appclient_module.gif"/>
<image
- id="org.eclipse.jst.server"
+ id="org.eclipse.jst.server.connector"
typeIds="jst.connector"
icon="icons/obj16/java_jar.gif"/>
<image
- id="org.eclipse.jst.server"
+ id="org.eclipse.jst.server.utility"
typeIds="jst.utility"
icon="icons/obj16/java_jar.gif"/>
</extension>
@@ -97,41 +97,4 @@
id="org.eclipse.jst.server.ui.internal.cactus.CactusQuickFixProcessor">
</quickFixProcessor>
</extension>
-
-
- <extension point="org.eclipse.wst.server.ui.serverImages">
- <image
- id="org.eclipse.jst.server.ui"
- typeIds="org.eclipse.jst.server.preview.runtime,org.eclipse.jst.server.preview.server"
- icon="icons/obj16/preview.gif"/>
- </extension>
-
- <extension point="org.eclipse.wst.common.project.facet.ui.images">
- <image runtime-component-type="org.eclipse.jst.server.preview.runtime"
- path="icons/obj16/preview.gif"/>
- </extension>
-
- <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
- <adapter>
- <runtime-component id="org.eclipse.jst.server.preview.runtime"/>
- <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/>
- <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
- </adapter>
- </extension>
-
- <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
- <launchConfigurationTypeImage
- id="org.eclipse.jst.server.ui.preview.launchConfigurationTypeImage"
- configTypeID="org.eclipse.jst.server.core.preview.launchConfigurationType"
- icon="icons/obj16/preview.gif">
- </launchConfigurationTypeImage>
- </extension>
-
- <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
- <launchConfigurationTabGroup
- id="org.eclipse.jst.server.ui.preview.launchConfigurationTabGroup"
- type="org.eclipse.jst.server.core.preview.launchConfigurationType"
- class="org.eclipse.jst.server.ui.internal.preview.PreviewLaunchConfigurationTabGroup">
- </launchConfigurationTabGroup>
- </extension>
</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/preview/PreviewLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/preview/PreviewLaunchConfigurationTabGroup.java
deleted file mode 100644
index 51851cf..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/preview/PreviewLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal.preview;
-
-import org.eclipse.debug.ui.*;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-/**
- * A debug tab group for launching Tomcat.
- */
-public class PreviewLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
- /*
- * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
- */
- public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
- ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[6];
- tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.jst.server.preview" });
- tabs[0].setLaunchConfigurationDialog(dialog);
- tabs[1] = new JavaArgumentsTab();
- tabs[1].setLaunchConfigurationDialog(dialog);
- tabs[2] = new JavaClasspathTab();
- tabs[2].setLaunchConfigurationDialog(dialog);
- tabs[3] = new SourceLookupTab();
- tabs[3].setLaunchConfigurationDialog(dialog);
- tabs[4] = new EnvironmentTab();
- tabs[4].setLaunchConfigurationDialog(dialog);
- tabs[5] = new CommonTab();
- tabs[5].setLaunchConfigurationDialog(dialog);
- setTabs(tabs);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ContextIds.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ContextIds.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.properties
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.properties
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/SWTUtil.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/SWTUtil.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/CactusAddLibrariesProposal.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusAddLibrariesProposal.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/CactusAddLibrariesProposal.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusAddLibrariesProposal.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/CactusQuickFixProcessor.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusQuickFixProcessor.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/CactusQuickFixProcessor.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusQuickFixProcessor.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
similarity index 100%
rename from plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
rename to plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
diff --git a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
index fb52e02..58b1c6d 100644
--- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
@@ -8,6 +8,7 @@
Bundle-Localization: plugin
Export-Package: org.eclipse.wst.server.core,
org.eclipse.wst.server.core.internal;x-friends:="org.eclipse.wst.server.ui",
+ org.eclipse.wst.server.core.internal.facets;x-friends:="org.eclipse.wst.server.ui",
org.eclipse.wst.server.core.internal.provisional;x-internal:=true,
org.eclipse.wst.server.core.model,
org.eclipse.wst.server.core.util
@@ -15,6 +16,7 @@
org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)",
org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,4.0.0)"
+ org.eclipse.update.core;bundle-version="[3.2.0,4.0.0)";resolution:=optional,
+ org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,2.0.0)";resolution:=optional
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.core/plugin.properties b/plugins/org.eclipse.wst.server.core/plugin.properties
index aa65ea2..eb2647b 100644
--- a/plugins/org.eclipse.wst.server.core/plugin.properties
+++ b/plugins/org.eclipse.wst.server.core/plugin.properties
@@ -27,5 +27,7 @@
extensionPointInstallableServers=Installable Servers
extensionPointInstallableRuntimes=Installable Runtimes
+extensionPointRuntimeFacetComponentProviders=Runtime Facet Component Providers
+
moduleTypeUnknown=Unknown module
moduleTypeStaticWebName=Static Web project
diff --git a/plugins/org.eclipse.wst.server.core/plugin.xml b/plugins/org.eclipse.wst.server.core/plugin.xml
index b5800d0..8887523 100644
--- a/plugins/org.eclipse.wst.server.core/plugin.xml
+++ b/plugins/org.eclipse.wst.server.core/plugin.xml
@@ -17,6 +17,7 @@
<extension-point id="internalStartup" name="%extensionPointServerStartup" schema="schema/startup.exsd"/>
<extension-point id="installableServers" name="%extensionPointInstallableServers" schema="schema/installableServers.exsd"/>
<extension-point id="installableRuntimes" name="%extensionPointInstallableRuntimes" schema="schema/installableRuntimes.exsd"/>
+ <extension-point id="runtimeFacetComponentProviders" name="%extensionPointRuntimeFacetComponentProviders" schema="schema/runtimeFacetComponentProviders.exsd"/>
<extension point="org.eclipse.wst.server.core.moduleTypes">
<moduleType
@@ -26,4 +27,10 @@
id="wst.web"
name="%moduleTypeStaticWebName"/>
</extension>
+
+ <extension point="org.eclipse.wst.common.project.facet.core.runtimeBridges">
+ <bridge
+ id="org.eclipse.wst.server.core.default"
+ class="org.eclipse.wst.server.core.internal.facets.RuntimeBridge"/>
+ </extension>
</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeFacetComponentProviders.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeFacetComponentProviders.exsd
new file mode 100644
index 0000000..475d4ec
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeFacetComponentProviders.exsd
@@ -0,0 +1,136 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.server.core">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.wst.server.core" id="runtimeFacetComponentProviders" name="Runtime Facet Component Providers"/>
+ </appInfo>
+ <documentation>
+ This extension point is internal and experimental and should not be used by downstream components.
+This extension point is used to provide new runtime components to an existing facet runtime.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence>
+ <element ref="runtimeComponentProvider" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+ a fully qualified identifier of the target extension point
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+ an optional identifier of the extension instance
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ an optional name of the extension instance
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="runtimeComponentProvider">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="name"/>
+ </appInfo>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ specifies a unique identifier for this extension point
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="runtimeTypeIds" type="string" use="required">
+ <annotation>
+ <documentation>
+ a comma separated list of runtime type ids that this provider may support. Used for memory & performance reasons
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ specifies the fully qualified name of the Java class that extends <samp>RuntimeClasspathProviderDelegate</samp>.
+Runtime classpath provider instances of this type will delegate to instances of this class.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 2.0.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ The following is an example of a runtime component provider extension point:
+
+<pre>
+ <extension point="org.eclipse.wst.server.core.runtimeFacetComponentProviders">
+ <runtimeComponentProvider
+ id="com.example.runtimeComponentProvider"
+ runtimeTypeIds="com.example.runtime, com.example2.*"
+ class="com.example.ExampleRuntimeComponentProvider"/>
+ </extension>
+</pre>
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.RuntimeFacetClasspathProviderDelegate</b> and contains a public 0-arg constructor.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2007 IBM Corporation and others.<br>
+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
+<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
index 9ac37bf..b52e889 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
@@ -108,6 +108,20 @@
</appInfo>
</annotation>
</attribute>
+ <attribute name="facetRuntimeComponent" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="facetRuntimeVersion" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
</complexType>
</element>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
index d6e3d39..b0e3179 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
@@ -73,6 +73,9 @@
public static String errorRename;
public static String errorNotADirectory;
+ public static String errorNoRuntime;
+ public static String errorFacet;
+
static {
NLS.initializeMessages(ServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
index 95d17e7..91c2035 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
@@ -83,3 +83,5 @@
errorRename=Could not replace with temp file {0}.
errorNotADirectory=Could not delete {0} since it is not a directory.
+errorNoRuntime=Cannot verify facets because there is no runtime associated with the server.
+errorFacet=Project facet {0} version {1} is not supported.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
index fa32434..c74f28b 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
@@ -86,7 +86,23 @@
}
return Messages.defaultVersion;
}
-
+
+ public String getFacetRuntimeComponent() {
+ try {
+ return element.getAttribute("facetRuntimeComponent");
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ public String getFacetRuntimeVersion() {
+ try {
+ return element.getAttribute("facetRuntimeVersion");
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
protected RuntimeDelegate createRuntimeDelegate() throws CoreException {
try {
return (RuntimeDelegate) element.createExecutableExtension("class");
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
index b2eb04b..42e21ae 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
@@ -164,7 +164,7 @@
* @return int
*/
public boolean getDefaultAutoPublishLocal() {
- return false;
+ return true;
}
/**
@@ -185,14 +185,14 @@
preferences.setValue(PREF_AUTO_PUBLISH_LOCAL, auto);
ServerPlugin.getInstance().savePluginPreferences();
}
-
+
/**
* Returns the default setting for local auto-publishing.
*
* @return int
*/
public int getDefaultAutoPublishLocalTime() {
- return 15;
+ return 5;
}
/**
@@ -220,7 +220,7 @@
* @return int
*/
public boolean getDefaultAutoPublishRemote() {
- return false;
+ return true;
}
/**
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java
new file mode 100644
index 0000000..25a817e
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.core.internal.facets;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.*;
+import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.internal.ServerPlugin;
+import org.eclipse.wst.server.core.internal.Trace;
+/**
+ * The main server tooling plugin class.
+ */
+public class FacetMappingUtil extends Plugin {
+ // cached copy of all runtime component providers
+ private static List runtimeComponentProviders;
+
+ // cached copy of all runtime facet mappings
+ private static List runtimeFacetMappings;
+
+ /**
+ * Returns an array of all known runtime facet mapping instances.
+ * <p>
+ * A new array is returned on each call, so clients may store or modify the result.
+ * </p>
+ *
+ * @return a possibly-empty array of runtime facet mapping instances
+ * {@link RuntimeFacetMapping}
+ */
+ public static RuntimeFacetMapping[] getRuntimeFacetMapping() {
+ if (runtimeFacetMappings == null)
+ loadRuntimeFacetMapping();
+
+ RuntimeFacetMapping[] rfm = new RuntimeFacetMapping[runtimeFacetMappings.size()];
+ runtimeFacetMappings.toArray(rfm);
+ return rfm;
+ }
+
+ /**
+ * Returns the runtime component provider that supports the given runtime type, or <code>null</code>
+ * if none. This convenience method searches the list of known runtime
+ * component providers for the one with a matching runtime type.
+ * The runtimeType may not be null.
+ *
+ * @param runtimeType a runtime type
+ * @return the runtime component provider instance, or <code>null</code> if
+ * there is no runtime component provider with the given id
+ */
+ public static RuntimeComponentProviderWrapper findRuntimeFacetComponentProvider(IRuntimeType runtimeType) {
+ if (runtimeType == null)
+ throw new IllegalArgumentException();
+
+ if (runtimeComponentProviders == null)
+ loadRuntimeComponentProviders();
+
+ Iterator iterator = runtimeComponentProviders.iterator();
+ while (iterator.hasNext()) {
+ RuntimeComponentProviderWrapper runtimeComponentProvider = (RuntimeComponentProviderWrapper) iterator.next();
+ if (runtimeComponentProvider.supportsRuntimeType(runtimeType))
+ return runtimeComponentProvider;
+ }
+ return null;
+ }
+
+ /**
+ * Load the runtime component providers.
+ */
+ private static synchronized void loadRuntimeComponentProviders() {
+ if (runtimeComponentProviders != null)
+ return;
+ Trace.trace(Trace.CONFIG, "->- Loading .runtimeFacetComponentProviders extension point ->-");
+ IExtensionRegistry registry = Platform.getExtensionRegistry();
+ IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeFacetComponentProviders");
+
+ int size = cf.length;
+ List list = new ArrayList(size);
+ for (int i = 0; i < size; i++) {
+ try {
+ list.add(new RuntimeComponentProviderWrapper(cf[i]));
+ Trace.trace(Trace.CONFIG, " Loaded runtimeFacetComponentProvider: " + cf[i].getAttribute("id"));
+ } catch (Throwable t) {
+ Trace.trace(Trace.SEVERE, " Could not load runtimeFacetComponentProvider: " + cf[i].getAttribute("id"), t);
+ }
+ }
+ runtimeComponentProviders = list;
+
+ Trace.trace(Trace.CONFIG, "-<- Done loading .runtimeFacetComponentProviders extension point -<-");
+ }
+
+ /**
+ * Load the runtime facet mappings.
+ */
+ private static synchronized void loadRuntimeFacetMapping() {
+ if (runtimeFacetMappings != null)
+ return;
+ Trace.trace(Trace.CONFIG, "->- Loading .runtimeFacetMapping extension point ->-");
+ IExtensionRegistry registry = Platform.getExtensionRegistry();
+ IConfigurationElement[] cf = registry.getConfigurationElementsFor("org.eclipse.jst.server.core.runtimeFacetMappings");
+
+ int size = cf.length;
+ List list = new ArrayList(size);
+ for (int i = 0; i < size; i++) {
+ try {
+ list.add(new RuntimeFacetMapping(cf[i]));
+ Trace.trace(Trace.CONFIG, " Loaded runtimeFacetMapping: " + cf[i].getAttribute("runtimeTypeId"));
+ } catch (Throwable t) {
+ Trace.trace(Trace.SEVERE, " Could not load runtimeFacetMapping: " + cf[i].getAttribute("id"), t);
+ }
+ }
+ runtimeFacetMappings = list;
+
+ Trace.trace(Trace.CONFIG, "-<- Done loading .runtimeFacetMapping extension point -<-");
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetUtil.java
new file mode 100644
index 0000000..31c6f02
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetUtil.java
@@ -0,0 +1,138 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.core.internal.facets;
+
+import java.util.Iterator;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.internal.Messages;
+import org.eclipse.wst.server.core.internal.ServerPlugin;
+/**
+ * Utility class for converting between facet runtimes and server runtimes.
+ * <p>
+ * This class provides all its functionality through static members.
+ * It is not intended to be subclassed or instantiated.
+ * </p>
+ * <p>
+ * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ */
+public final class FacetUtil {
+ /**
+ * Static utility class - cannot create an instance.
+ */
+ private FacetUtil() {
+ // can't create
+ }
+
+ /**
+ * Returns the server runtime that corresponds to a facet runtime, or null
+ * if none could be found.
+ *
+ * @param runtime a facet runtime
+ * @return the server runtime that corresponds to the facet runtime, or
+ * <code>null</code> if none could be found.
+ */
+ public static IRuntime getRuntime(org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime) {
+ if (runtime == null)
+ throw new IllegalArgumentException();
+
+ String id = runtime.getProperty("id");
+ if (id == null)
+ return null;
+
+ IRuntime[] runtimes = ServerCore.getRuntimes();
+ int size = runtimes.length;
+ for (int i = 0; i < size; i++) {
+ if (id.equals(runtimes[i].getId()))
+ return runtimes[i];
+ }
+
+ return null;
+ }
+
+ /**
+ * Returns the facet runtime that corresponds to a server runtime, or null
+ * if none could be found.
+ *
+ * @param runtime a server runtime
+ * @return the facet runtime that corresponds to the server runtime, or
+ * <code>null</code> if none could be found.
+ */
+ public static org.eclipse.wst.common.project.facet.core.runtime.IRuntime getRuntime(IRuntime runtime) {
+ if (runtime == null)
+ throw new IllegalArgumentException();
+
+ String id = runtime.getId();
+ if (id == null)
+ return null;
+
+ Set runtimes = RuntimeManager.getRuntimes();
+ Iterator iterator = runtimes.iterator();
+ while (iterator.hasNext()) {
+ org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = (org.eclipse.wst.common.project.facet.core.runtime.IRuntime) iterator.next();
+ if (id.equals(runtime2.getProperty("id")))
+ return runtime2;
+ }
+ return null;
+ }
+
+ /**
+ * Tests whether the facets on a project are supported by a given server. Returns
+ * an OK status if the server's runtime supports the project's facets, and an
+ * ERROR status (with message) if it doesn't.
+ *
+ * @param project a project
+ * @param server a server
+ * @return OK status if the server's runtime supports the project's facets, and an
+ * ERROR status (with message) if it doesn't
+ */
+ public static final IStatus verifyFacets(IProject project, IServer server) {
+ if (server == null)
+ return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorNoRuntime, null);
+ IRuntime runtime = server.getRuntime();
+ if (runtime == null)
+ return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorNoRuntime, null);
+
+ org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = getRuntime(runtime);
+
+ if (runtime2 == null) // bug 150194 - what do we do if the facet runtime doesn't exist yet
+ return Status.OK_STATUS;
+
+ try {
+ IFacetedProject facetedProject = ProjectFacetsManager.create(project);
+ Iterator iterator = facetedProject.getProjectFacets().iterator();
+ while (iterator.hasNext()) {
+ IProjectFacetVersion facet = (IProjectFacetVersion) iterator.next();
+ if (!runtime2.supports(facet))
+ return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorFacet, facet.getProjectFacet().getLabel(), facet.getVersionString()), null);
+ }
+ } catch (CoreException ce) {
+ return ce.getStatus();
+ }
+ return Status.OK_STATUS;
+ }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..c299f5b
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Konstantin Komissarchik - initial API and implementation
+ * IBM Corporation - Support for all server types
+ *******************************************************************************/
+package org.eclipse.wst.server.core.internal.facets;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeBridge;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
+import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.internal.RuntimeType;
+/**
+ *
+ */
+public class RuntimeBridge implements IRuntimeBridge {
+ protected static Map mappings = new HashMap();
+
+ static {
+ initialize();
+ }
+
+ private static void addMapping(String id, String id2, String version) {
+ ArrayList list = null;
+ try {
+ list = (ArrayList) mappings.get(id);
+ } catch (Exception e) {
+ // ignore
+ }
+
+ if (list == null)
+ list = new ArrayList(2);
+
+ try {
+ list.add(RuntimeManager.getRuntimeComponentType(id2).getVersion(version));
+ mappings.put(id, list);
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+
+ private static void initialize() {
+ // add runtime mappings
+ IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
+ int size = runtimeTypes.length;
+ for (int i = 0; i < size; i++) {
+ RuntimeType rt = (RuntimeType) runtimeTypes[i];
+ String component = rt.getFacetRuntimeComponent();
+ String version = rt.getFacetRuntimeVersion();
+ if (component != null && !"".equals(component) && version != null && !"".equals(version))
+ addMapping(rt.getId(), component, version);
+ }
+
+ // add extension mappings
+ RuntimeFacetMapping[] rfms = FacetMappingUtil.getRuntimeFacetMapping();
+ size = rfms.length;
+ for (int i = 0; i < size; i++)
+ addMapping(rfms[i].getRuntimeTypeId(), rfms[i].getRuntimeComponent(), rfms[i].getVersion());
+ }
+
+ public Set getExportedRuntimeNames() throws CoreException {
+ IRuntime[] runtimes = ServerCore.getRuntimes();
+ Set result = new HashSet(runtimes.length);
+
+ for (int i = 0; i < runtimes.length; i++) {
+ IRuntime runtime = runtimes[i];
+ IRuntimeType runtimeType = runtime.getRuntimeType();
+ if (runtimeType != null && mappings.containsKey(runtimeType.getId())) {
+ result.add(runtime.getName());
+ }
+ }
+
+ return result;
+ }
+
+ public IStub bridge(String name) throws CoreException {
+ if (name == null)
+ throw new IllegalArgumentException();
+
+ IRuntime[] runtimes = ServerCore.getRuntimes();
+ int size = runtimes.length;
+ for (int i = 0; i < size; i++) {
+ if (runtimes[i].getName().equals(name))
+ return new Stub(runtimes[i]);
+ }
+ return null;
+ }
+
+ private static class Stub implements IStub {
+ private IRuntime runtime;
+
+ public Stub(IRuntime runtime) {
+ this.runtime = runtime;
+ }
+
+ public List getRuntimeComponents() {
+ List components = new ArrayList(2);
+ if (runtime == null)
+ return components;
+
+ // define server runtime component
+ Map properties = new HashMap(5);
+ if (runtime.getLocation() != null)
+ properties.put("location", runtime.getLocation().toPortableString());
+ else
+ properties.put("location", "");
+ properties.put("name", runtime.getName());
+ properties.put("id", runtime.getId());
+ if (runtime.getRuntimeType() != null) {
+ properties.put("type", runtime.getRuntimeType().getName());
+ properties.put("type-id", runtime.getRuntimeType().getId());
+ }
+
+ String typeId = runtime.getRuntimeType().getId();
+ if (mappings.containsKey(typeId)) {
+ ArrayList list = (ArrayList) mappings.get(typeId);
+ int size = list.size();
+ for (int i = 0; i < size; i++) {
+ IRuntimeComponentVersion mapped = (IRuntimeComponentVersion) list.get(i);
+ components.add(RuntimeManager.createRuntimeComponent(mapped, properties));
+ }
+ }
+
+ RuntimeComponentProviderWrapper componentProvider = FacetMappingUtil.findRuntimeFacetComponentProvider(runtime.getRuntimeType());
+ if (componentProvider != null) {
+ List list = componentProvider.getComponents(runtime);
+ if (list != null)
+ components.addAll(list);
+ }
+
+ return components;
+ }
+
+ public Map getProperties() {
+ if (runtime == null)
+ return new HashMap(0);
+ return Collections.singletonMap("id", runtime.getId());
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
similarity index 87%
copy from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
copy to plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
index fd74dcc..84f5616 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2007 IBM Corporation and others.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* IBM Corporation - Initial API and implementation
*******************************************************************************/
-package org.eclipse.jst.server.core.internal;
+package org.eclipse.wst.server.core.internal.facets;
import java.util.ArrayList;
import java.util.List;
@@ -17,12 +17,13 @@
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.internal.Trace;
/**
*
*/
public class RuntimeComponentProviderWrapper {
private IConfigurationElement element;
- private RuntimeComponentProviderDelegate delegate;
+ private RuntimeFacetComponentProviderDelegate delegate;
/**
* Create a new runtime component handler.
@@ -97,10 +98,10 @@
/*
* Loads the delegate class.
*/
- protected RuntimeComponentProviderDelegate getDelegate() {
+ protected RuntimeFacetComponentProviderDelegate getDelegate() {
if (delegate == null) {
try {
- delegate = (RuntimeComponentProviderDelegate) element.createExecutableExtension("class");
+ delegate = (RuntimeFacetComponentProviderDelegate) element.createExecutableExtension("class");
} catch (Throwable t) {
Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
}
@@ -109,7 +110,7 @@
}
/*
- * @see RuntimeComponentProviderDelegate#getRuntimeComponents(IRuntime)
+ * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
*/
public List getComponents(IRuntime runtime) {
if (runtime == null)
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
similarity index 88%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
rename to plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
index e5185f5..3a969ec 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2007 IBM Corporation and others.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* IBM Corporation - Initial API and implementation
*******************************************************************************/
-package org.eclipse.jst.server.core.internal;
+package org.eclipse.wst.server.core.internal.facets;
import java.util.List;
@@ -30,8 +30,8 @@
*
* @plannedfor 2.0
*/
-public abstract class RuntimeComponentProviderDelegate {
- public RuntimeComponentProviderDelegate() {
+public abstract class RuntimeFacetComponentProviderDelegate {
+ public RuntimeFacetComponentProviderDelegate() {
// default constructor
}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetMapping.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetMapping.java
new file mode 100644
index 0000000..c12e9ec
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetMapping.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.core.internal.facets;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+/**
+ *
+ */
+public class RuntimeFacetMapping {
+ private IConfigurationElement element;
+
+ /**
+ * Create a new runtime facet mapping.
+ *
+ * @param element a configuration element
+ */
+ public RuntimeFacetMapping(IConfigurationElement element) {
+ super();
+ this.element = element;
+ }
+
+ /**
+ *
+ * @return the id
+ */
+ public String getId() {
+ return element.getAttribute("id");
+ }
+
+ /**
+ *
+ * @return the id
+ */
+ public String getRuntimeTypeId() {
+ return element.getAttribute("runtimeTypeId");
+ }
+
+ /**
+ *
+ * @return the id
+ */
+ public String getVersion() {
+ return element.getAttribute("version");
+ }
+
+ /**
+ *
+ * @return the id
+ */
+ public String getRuntimeComponent() {
+ return element.getAttribute("runtime-component");
+ }
+
+ public String toString() {
+ return "RuntimeFacetMapping[" + getId() + "]";
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
index 28ec686..5f06d1e 100644
--- a/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
@@ -11,7 +11,6 @@
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
org.eclipse.core.commands;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.204,2.0.0)",
- org.eclipse.debug.core;bundle-version="[3.3.0,4.0.0)"
+ org.eclipse.wst.server.core;bundle-version="[1.0.204,2.0.0)"
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.http.core/plugin.xml b/plugins/org.eclipse.wst.server.http.core/plugin.xml
index 8a43f60..0c6fc3d 100644
--- a/plugins/org.eclipse.wst.server.http.core/plugin.xml
+++ b/plugins/org.eclipse.wst.server.http.core/plugin.xml
@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
- <extension point="org.eclipse.wst.server.core.runtimeTypes">
+ <extension point="org.eclipse.wst.server.core.runtimeTypes">
<runtimeType
id="org.eclipse.wst.server.http.runtime"
name="%runtimeTypeHttpLabel"
description="%runtimeTypeHttpDescription"
+ facetRuntimeComponent="org.eclipse.wst.server.http.runtime"
+ facetRuntimeVersion="1.0"
class="org.eclipse.wst.server.http.core.internal.HttpRuntime">
<moduleType
types="PHP"
@@ -53,88 +55,10 @@
</supported>
</extension>
- <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
- <runtimeFacetMapping
- runtimeTypeId="org.eclipse.wst.server.http.runtime"
- runtime-component="org.eclipse.wst.server.http.runtime"
- version="1.0"/>
- </extension>
-
<extension point="org.eclipse.wst.server.core.launchableAdapters">
<launchableAdapter
id="org.eclipse.wst.server.http.web"
class="org.eclipse.wst.server.http.core.internal.HttpLaunchableAdapterDelegate"
typeIds="org.eclipse.wst.server.http.server"/>
</extension>
-
-
-
-
-
- <extension point="org.eclipse.wst.server.core.runtimeTypes">
- <runtimeType
- id="org.eclipse.wst.server.preview.runtime"
- name="%previewRuntimeTypeName"
- description="%previewRuntimeTypeDescription"
- class="org.eclipse.wst.server.http.core.internal.preview.PreviewRuntime">
- <moduleType
- types="wst.web"
- versions="1.0"/>
- </runtimeType>
- </extension>
-
- <extension point="org.eclipse.wst.server.core.serverTypes">
- <serverType
- id="org.eclipse.wst.server.preview.server"
- name="%previewServerTypeName"
- description="%previewServerTypeDescription"
- supportsRemoteHosts="false"
- runtime="true"
- initialState="stopped"
- hasConfiguration="false"
- launchModes="run,debug,profile"
- launchConfigId="org.eclipse.wst.server.core.preview.launchConfigurationType"
- runtimeTypeId="org.eclipse.wst.server.preview.runtime"
- class="org.eclipse.wst.server.http.core.internal.preview.PreviewServer"
- behaviourClass="org.eclipse.wst.server.http.core.internal.preview.PreviewServerBehaviour"/>
- </extension>
-
- <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
- <runtime-component-type
- id="org.eclipse.wst.server.preview.runtime"/>
-
- <runtime-component-version
- type="org.eclipse.wst.server.preview.runtime"
- version="1.0"/>
-
- <supported>
- <runtime-component
- id="org.eclipse.wst.server.preview.runtime"
- version="1.0"/>
- <facet
- id="wst.web"
- version="1.0"/>
- </supported>
- </extension>
-
- <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
- <runtimeFacetMapping
- runtimeTypeId="org.eclipse.wst.server.preview.runtime"
- runtime-component="org.eclipse.wst.server.preview.runtime"
- version="1.0"/>
- </extension>
-
- <extension point="org.eclipse.debug.core.launchConfigurationTypes">
- <launchConfigurationType
- id="org.eclipse.wst.server.core.preview.launchConfigurationType"
- name="%previewLaunchConfigurationType"
- delegate="org.eclipse.wst.server.http.core.internal.preview.PreviewLaunchConfigurationDelegate"
- modes="run,debug,profile"/>
- </extension>
-
- <extension point="org.eclipse.wst.server.core.launchableAdapters">
- <launchableAdapter
- id="org.eclipse.wst.server.core.preview.server"
- class="org.eclipse.wst.server.http.core.internal.preview.PreviewLaunchableAdapterDelegate"/>
- </extension>
-</plugin>
+</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/IMemento.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/IMemento.java
deleted file mode 100644
index f3dea63..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/IMemento.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- * <li>Certain objects need to be saved and restored across platform sessions.
- * </li>
- * <li>When an object is restored, an appropriate class for an object might not
- * be available. It must be possible to skip an object in this case.</li>
- * <li>When an object is restored, the appropriate class for the object may be
- * different from the one when the object was originally saved. If so, the
- * new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value. However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
- /**
- * Special reserved key used to store the memento id
- * (value <code>"org.eclipse.ui.id"</code>).
- *
- * @see #getId
- */
- public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
- /**
- * Creates a new child of this memento with the given type.
- * <p>
- * The <code>getChild</code> and <code>getChildren</code> methods
- * are used to retrieve children of a given type.
- * </p>
- *
- * @param type the type
- * @return a new child memento
- * @see #getChild
- * @see #getChildren
- */
- public IMemento createChild(String type);
-
- /**
- * Creates a new child of this memento with the given type and id.
- * The id is stored in the child memento (using a special reserved
- * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
- * <p>
- * The <code>getChild</code> and <code>getChildren</code> methods
- * are used to retrieve children of a given type.
- * </p>
- *
- * @param type the type
- * @param id the child id
- * @return a new child memento with the given type and id
- * @see #getId
- */
- public IMemento createChild(String type, String id);
-
- /**
- * Returns the first child with the given type id.
- *
- * @param type the type id
- * @return the first child with the given type
- */
- public IMemento getChild(String type);
-
- /**
- * Returns all children with the given type id.
- *
- * @param type the type id
- * @return the list of children with the given type
- */
- public IMemento[] getChildren(String type);
-
- /**
- * Returns the floating point value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- * but was not a floating point number
- */
- public Float getFloat(String key);
-
- /**
- * Returns the id for this memento.
- *
- * @return the memento id, or <code>null</code> if none
- * @see #createChild(java.lang.String,java.lang.String)
- */
- public String getId();
-
- /**
- * Returns the name for this memento.
- *
- * @return the memento name, or <code>null</code> if none
- * @see #createChild(java.lang.String,java.lang.String)
- */
- public String getName();
-
- /**
- * Returns the integer value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- * but was not an integer
- */
- public Integer getInteger(String key);
-
- /**
- * Returns the string value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- * but was not an integer
- */
- public String getString(String key);
-
- /**
- * Returns the boolean value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- * but was not a boolean
- */
- public Boolean getBoolean(String key);
-
- /**
- * Return the list of names.
- *
- * @return a possibly empty list of names
- */
- public List getNames();
-
- /**
- * Sets the value of the given key to the given floating point number.
- *
- * @param key the key
- * @param value the value
- */
- public void putFloat(String key, float value);
-
- /**
- * Sets the value of the given key to the given integer.
- *
- * @param key the key
- * @param value the value
- */
- public void putInteger(String key, int value);
-
- /**
- * Sets the value of the given key to the given boolean value.
- *
- * @param key the key
- * @param value the value
- */
- public void putBoolean(String key, boolean value);
-
- /**
- * Copy the attributes and children from <code>memento</code>
- * to the receiver.
- *
- * @param memento the IMemento to be copied.
- */
- public void putMemento(IMemento memento);
-
- /**
- * Sets the value of the given key to the given string.
- *
- * @param key the key
- * @param value the value
- */
- public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PingThread.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PingThread.java
deleted file mode 100644
index 4dc2515..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PingThread.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.wst.server.http.core.internal.Trace;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Thread used to ping server to test when it is started.
- */
-public class PingThread {
- // delay before pinging starts
- private static final int PING_DELAY = 2000;
-
- // delay between pings
- private static final int PING_INTERVAL = 250;
-
- // maximum number of pings before giving up
- private int maxPings = 40;
-
- private boolean stop = false;
- private String url;
- private IServer server;
- private PreviewServerBehaviour behaviour;
-
- /**
- * Create a new PingThread.
- *
- * @param server
- * @param url
- * @param behaviour
- */
- public PingThread(IServer server, String url, PreviewServerBehaviour behaviour) {
- super();
- this.server = server;
- this.url = url;
- this.behaviour = behaviour;
- Thread t = new Thread("Preview Ping Thread") {
- public void run() {
- ping();
- }
- };
- t.setDaemon(true);
- t.start();
- }
-
- /**
- * Ping the server until it is started. Then set the server
- * state to STATE_STARTED.
- */
- protected void ping() {
- int count = 0;
- try {
- Thread.sleep(PING_DELAY);
- } catch (Exception e) {
- // ignore
- }
- while (!stop) {
- try {
- if (count == maxPings) {
- try {
- server.stop(false);
- } catch (Exception e) {
- Trace.trace(Trace.FINEST, "Ping: could not stop server");
- }
- stop = true;
- break;
- }
- count++;
-
- Trace.trace(Trace.FINEST, "Ping: pinging " + count);
- URL pingUrl = new URL(url);
- URLConnection conn = pingUrl.openConnection();
- ((HttpURLConnection)conn).getResponseCode();
-
- // ping worked - server is up
- if (!stop) {
- Trace.trace(Trace.FINEST, "Ping: success");
- Thread.sleep(200);
- behaviour.setServerStarted();
- }
- stop = true;
- } catch (FileNotFoundException fe) {
- try {
- Thread.sleep(200);
- } catch (Exception e) {
- // ignore
- }
- behaviour.setServerStarted();
- stop = true;
- } catch (Exception e) {
- Trace.trace(Trace.FINEST, "Ping: failed");
- // pinging failed
- if (!stop) {
- try {
- Thread.sleep(PING_INTERVAL);
- } catch (InterruptedException e2) {
- // ignore
- }
- }
- }
- }
- }
-
- /**
- * Tell the pinging to stop.
- */
- public void stop() {
- Trace.trace(Trace.FINEST, "Ping: stopping");
- stop = true;
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewLaunchConfigurationDelegate.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewLaunchConfigurationDelegate.java
deleted file mode 100644
index 2aa0132..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.LaunchConfigurationDelegate;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.wst.server.http.core.internal.HttpCorePlugin;
-import org.eclipse.wst.server.http.core.internal.Trace;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.osgi.framework.Bundle;
-/**
- *
- */
-public class PreviewLaunchConfigurationDelegate extends LaunchConfigurationDelegate {
- private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
- "org.eclipse.core.runtime",
- "org.apache.commons.logging",
- "javax.servlet",
- "javax.servlet.jsp",
- "org.mortbay.jetty",
- "org.eclipse.wst.server.preview"
- };
-
- private static final String[] fgCandidateJavaFiles = {"javaw", "javaw.exe", "java",
- "java.exe", "j9w", "j9w.exe", "j9", "j9.exe"};
- private static final String[] fgCandidateJavaLocations = {"bin" + File.separatorChar,
- "jre" + File.separatorChar + "bin" + File.separatorChar};
-
- private static final String MAIN_CLASS = "org.eclipse.wst.server.preview.internal.PreviewStarter";
-
- public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
- IServer server = ServerUtil.getServer(configuration);
- if (server == null) {
- Trace.trace(Trace.FINEST, "Launch configuration could not find server");
- // throw CoreException();
- return;
- }
-
- PreviewServerBehaviour previewServer = (PreviewServerBehaviour) server.loadAdapter(PreviewServerBehaviour.class, null);
-
- int size = REQUIRED_BUNDLE_IDS.length;
- //String[] jars = new String[size];
- StringBuffer cp = new StringBuffer();
- for (int i = 0; i < size; i++) {
- Bundle b = Platform.getBundle(REQUIRED_BUNDLE_IDS[i]);
- IPath path = null;
- if (b != null)
- path = PreviewRuntime.getJarredPluginPath(b);
- if (path == null)
- throw new CoreException(new Status(IStatus.ERROR, HttpCorePlugin.PLUGIN_ID, "Could not find required bundle " + REQUIRED_BUNDLE_IDS[i]));
-
- if (i == 5 && path.append("bin").toFile().exists())
- path = path.append("bin");
-
- if (i > 0)
- cp.append(File.pathSeparator);
- cp.append(path.toOSString());
- }
-
- List cmds = new ArrayList();
-
- // jre
- File java = getJavaExecutable();
- if (java == null)
- throw new CoreException(new Status(IStatus.ERROR, HttpCorePlugin.PLUGIN_ID, "Could not find JRE executable"));
-
- cmds.add(java.getAbsolutePath());
-
- cmds.add("-classpath");
- cmds.add(cp.toString());
-
- cmds.add(MAIN_CLASS);
-
- cmds.add(previewServer.getTempDirectory().append("preview.xml").toOSString());
-
- //setDefaultSourceLocator(launch, configuration);
-
- // launch the configuration
- previewServer.setupLaunch(launch, mode, monitor);
-
- try {
- String[] cmdLine = new String[cmds.size()];
- cmds.toArray(cmdLine);
- Process p = DebugPlugin.exec(cmdLine, null);
- if (p != null) {
- IProcess pr = DebugPlugin.newProcess(launch, p, "Preview!");
- if (pr != null)
- launch.addProcess(pr);
- }
- previewServer.setProcess(launch.getProcesses()[0]);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Problem creating preview process");
- }
- }
-
- protected static File getJavaExecutable() {
- // do not detect on the Mac OS
- if (Platform.getOS().equals(Constants.OS_MACOSX))
- return null;
-
- // Retrieve the 'java.home' system property. If that directory doesn't exist,
- // return null.
- File javaHome;
- try {
- javaHome = new File(System.getProperty("java.home")).getCanonicalFile();
- } catch (IOException e) {
- return null;
- }
- if (!javaHome.exists())
- return null;
-
- // Find the 'java' executable file under the java home directory. If it can't be
- // found, return null.
- return findJavaExecutable(javaHome);
- }
-
- protected static File findJavaExecutable(File vmInstallLocation) {
- // Try each candidate in order. The first one found wins. Thus, the order
- // of fgCandidateJavaLocations and fgCandidateJavaFiles is significant.
- for (int i = 0; i < fgCandidateJavaFiles.length; i++) {
- for (int j = 0; j < fgCandidateJavaLocations.length; j++) {
- File javaFile = new File(vmInstallLocation, fgCandidateJavaLocations[j] + fgCandidateJavaFiles[i]);
- if (javaFile.isFile()) {
- return javaFile;
- }
- }
- }
- return null;
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewLaunchableAdapterDelegate.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewLaunchableAdapterDelegate.java
deleted file mode 100644
index dadcaf7..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.http.core.internal.Trace;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-
-public class PreviewLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
- /*
- * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact)
- */
- public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
- if (server == null || moduleArtifact == null)
- return null;
-
- PreviewServer server2 = (PreviewServer) server.loadAdapter(PreviewServer.class, null);
- if (server2 == null)
- return null;
-
- try {
- URL url = server2.getModuleRootURL(moduleArtifact.getModule());
-
- if (moduleArtifact instanceof WebResource) {
- WebResource resource = (WebResource) moduleArtifact;
- String path = resource.getPath().toString();
-
- if (path.startsWith("/"))
- path = path.substring(1);
- url = new URL(url.toExternalForm() + "/" + path);
- }
- return new HttpLaunchable(url);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error in launchable adapter", e);
- }
-
- return null;
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewRuntime.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewRuntime.java
deleted file mode 100644
index 5f13ed7..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewRuntime.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.osgi.framework.Bundle;
-/**
- *
- */
-public class PreviewRuntime extends RuntimeDelegate {
- public static final String ID = "org.eclipse.jst.server.preview.runtime";
-
- /**
- * Create a new preview runtime.
- */
- public PreviewRuntime() {
- // do nothing
- }
-
- /**
- * Returns the path that corresponds to the specified bundle.
- *
- * @return a path
- */
- protected static Path getPluginPath(Bundle bundle) {
- try {
- URL installURL = bundle.getEntry("/");
- URL localURL = FileLocator.toFileURL(installURL);
- return new Path(localURL.getFile());
- } catch (IOException ioe) {
- return null;
- }
- }
-
- protected static IPath getJarredPluginPath(Bundle bundle) {
- Path runtimeLibFullPath = null;
- String jarPluginLocation = bundle.getLocation().substring(7);
-
- // handle case where jars are installed outside of eclipse installation
- Path jarPluginPath = new Path(jarPluginLocation);
- if (jarPluginPath.isAbsolute())
- runtimeLibFullPath = jarPluginPath;
- // handle normal case where all plugins under eclipse install
- else {
- int ind = jarPluginLocation.lastIndexOf(":");
- if (ind > 0)
- jarPluginLocation = jarPluginLocation.substring(ind+1);
-
- String installPath = Platform.getInstallLocation().getURL().getPath();
- runtimeLibFullPath = new Path(installPath+"/"+jarPluginLocation);
- }
- return runtimeLibFullPath;
- }
-
- /**
- * @see RuntimeDelegate#setDefaults(IProgressMonitor)
- */
- public void setDefaults(IProgressMonitor monitor) {
- getRuntimeWorkingCopy().setLocation(new Path(""));
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewServer.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewServer.java
deleted file mode 100644
index fffa9d0..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewServer.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.http.core.internal.HttpCorePlugin;
-import org.eclipse.wst.server.http.core.internal.Messages;
-import org.eclipse.wst.server.http.core.internal.Trace;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-/**
- * Generic HTTP server.
- */
-public class PreviewServer extends ServerDelegate implements IURLProvider {
- public static final String ID = "org.eclipse.jst.server.preview.server";
-
- public static final String PROPERTY_PORT = "port";
-
- /**
- * PreviewServer.
- */
- public PreviewServer() {
- super();
- }
-
- protected void initialize() {
- // do nothing
- }
-
- public PreviewRuntime getPreviewRuntime() {
- if (getServer().getRuntime() == null)
- return null;
-
- return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
- }
-
- /**
- * Return the root URL of this module.
- *
- * @param module a module
- * @return java.net.URL
- */
- public URL getModuleRootURL(IModule module) {
- try {
- String base = "http://localhost";
-
- int port = getPort();
- URL url = null;
- if (port == 80)
- url = new URL(base + "/");
- else
- url = new URL(base + ":" + port + "/");
-
- String type = module.getModuleType().getId();
- if ("wst.web".equals(type)) {
- IStaticWeb staticWeb = (IStaticWeb) module.loadAdapter(IStaticWeb.class, null);
- return new URL(url, staticWeb.getContextRoot());
- }
- return url;
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not get root URL", e);
- return null;
- }
- }
-
- /*
- * Returns the child module(s) of this module.
- */
- public IModule[] getChildModules(IModule[] module) {
- return new IModule[0];
- }
-
- /*
- * Returns the root module(s) of this module.
- */
- public IModule[] getRootModules(IModule module) throws CoreException {
- return new IModule[] { module };
- }
-
- /**
- * Returns true if the given project is supported by this server, and false
- * otherwise.
- *
- * @param add modules
- * @param remove modules
- * @return the status
- */
- public IStatus canModifyModules(IModule[] add, IModule[] remove) {
- return new Status(IStatus.OK, HttpCorePlugin.PLUGIN_ID, 0, Messages.canModifyModules, null);
- }
-
- public ServerPort[] getServerPorts() {
- int port = getPort();
- ServerPort[] ports = { new ServerPort("http", Messages.httpPort, port, "http") };
- return ports;
- }
-
- public int getPort() {
- return getAttribute(PreviewServer.PROPERTY_PORT, 8080);
- }
-
- public void setPort(int port) {
- setAttribute(PreviewServer.PROPERTY_PORT, port);
- }
-
- public static IServer createPreviewServer(String serverName) {
- try {
- NullProgressMonitor monitor = new NullProgressMonitor();
- IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
- IRuntimeWorkingCopy runtimeCopy = runtimeType.createRuntime(PreviewRuntime.ID, monitor);
- IRuntime runtime = runtimeCopy.save(true, monitor);
-
- IServerType serverType = ServerCore.findServerType(ID);
- IServerWorkingCopy workingCopy = serverType.createServer(ID, null, runtime, monitor);
- workingCopy.setName(serverName);
- workingCopy.setHost("localhost");
- return workingCopy.save(true, monitor);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error creating server", e);
- }
-
- return null;
- }
-
- public static IServer findPreviewServer(String id) {
- IServer[] servers = ServerCore.getServers();
- for (int i = 0; i < servers.length; i++) {
- if (servers[i].getId().equals(id)) {
- return servers[i];
- }
- }
- return null;
- }
-
- public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
- // do nothing
- }
-
- /**
- * Return a string representation of this object.
- *
- * @return java.lang.String
- */
- public String toString() {
- return "PreviewServer";
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewServerBehaviour.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewServerBehaviour.java
deleted file mode 100644
index 980aaba..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewServerBehaviour.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-import org.eclipse.wst.server.core.util.PublishUtil;
-import org.eclipse.wst.server.core.util.SocketUtil;
-import org.eclipse.wst.server.http.core.internal.HttpCorePlugin;
-import org.eclipse.wst.server.http.core.internal.Messages;
-import org.eclipse.wst.server.http.core.internal.Trace;
-/**
- * Generic Http server.
- */
-public class PreviewServerBehaviour extends ServerBehaviourDelegate {
- // the thread used to ping the server to check for startup
- protected transient PingThread ping = null;
- protected transient IProcess process;
- protected transient IDebugEventSetListener processListener;
-
- /**
- * PreviewServer.
- */
- public PreviewServerBehaviour() {
- super();
- }
-
- public void initialize(IProgressMonitor monitor) {
- // do nothing
- }
-
- public PreviewRuntime getPreviewRuntime() {
- if (getServer().getRuntime() == null)
- return null;
-
- return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
- }
-
- public PreviewServer getPreviewServer() {
- return (PreviewServer) getServer().getAdapter(PreviewServer.class);
- }
-
- /**
- * Returns the runtime base path for relative paths in the server
- * configuration.
- *
- * @return the base path
- */
- public IPath getRuntimeBaseDirectory() {
- return getServer().getRuntime().getLocation();
- }
-
- /**
- * Setup for starting the server.
- *
- * @param launch ILaunch
- * @param launchMode String
- * @param monitor IProgressMonitor
- * @throws CoreException if anything goes wrong
- */
- protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
- // check that ports are free
- ServerPort[] ports = getPreviewServer().getServerPorts();
- int port = ports[0].getPort();
-
- if (SocketUtil.isPortInUse(port, 5))
- throw new CoreException(new Status(IStatus.ERROR, HttpCorePlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, new String[] {port + "", getServer().getName()}), null));
-
- // generate preview config file
- XMLMemento memento = XMLMemento.createWriteRoot("server");
- memento.putInteger("port", port);
-
- IModule[] modules = getServer().getModules();
- int size = modules.length;
- for (int i = 0; i < size; i++) {
- IMemento mod = memento.createChild("module");
- mod.putString("name", modules[i].getName());
- String type = modules[i].getModuleType().getId();
- if ("wst.web".equals(type)) {
- IStaticWeb staticWeb = (IStaticWeb) modules[i].loadAdapter(IStaticWeb.class, null);
- mod.putString("context", staticWeb.getContextRoot());
- mod.putString("type", "static");
- }
- mod.putString("path", getModulePublishDirectory(modules[i]).toPortableString());
- }
- try {
- memento.saveToFile(getTempDirectory().append("preview.xml").toOSString());
- } catch (IOException e) {
- Trace.trace(Trace.SEVERE, "Could not write preview config", e);
- throw new CoreException(new Status(IStatus.ERROR, HttpCorePlugin.PLUGIN_ID, 0, "Could not write preview configuration", null));
- }
-
- setServerRestartState(false);
- setServerState(IServer.STATE_STARTING);
- setMode(launchMode);
-
- // ping server to check for startup
- try {
- String url = "http://localhost";
- if (port != 80)
- url += ":" + port;
- ping = new PingThread(getServer(), url, this);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
- }
- }
-
- protected void setProcess(final IProcess newProcess) {
- if (process != null)
- return;
-
- process = newProcess;
- if (processListener != null)
- DebugPlugin.getDefault().removeDebugEventListener(processListener);
- if (newProcess == null)
- return;
-
- processListener = new IDebugEventSetListener() {
- public void handleDebugEvents(DebugEvent[] events) {
- if (events != null) {
- int size = events.length;
- for (int i = 0; i < size; i++) {
- Object obj = events[i].getSource();
-
- if (!(obj instanceof IDebugTarget))
- continue;
-
- IDebugTarget target = (IDebugTarget) obj;
- IProcess targetProcess = target.getProcess();
-
- if (process != null && process.equals(targetProcess)
- && events[i].getKind() == DebugEvent.TERMINATE) {
- DebugPlugin.getDefault().removeDebugEventListener(this);
- stopImpl();
- }
- }
- }
- }
- };
- DebugPlugin.getDefault().addDebugEventListener(processListener);
- }
-
- protected void setServerStarted() {
- setServerState(IServer.STATE_STARTED);
- }
-
- protected void stopImpl() {
- if (ping != null) {
- ping.stop();
- ping = null;
- }
- if (process != null) {
- process = null;
- DebugPlugin.getDefault().removeDebugEventListener(processListener);
- processListener = null;
- }
- setServerState(IServer.STATE_STOPPED);
- }
-
- protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.done();
-
- setServerPublishState(IServer.PUBLISH_STATE_NONE);
- }
-
- /*
- * Publishes the given module to the server.
- */
- protected void publishModule(int kind, int deltaKind, IModule[] moduleTree, IProgressMonitor monitor) throws CoreException {
- IModule module = moduleTree[moduleTree.length - 1];
- IPath to = getModulePublishDirectory(module);
-
- if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) {
- IStatus[] status = PublishUtil.deleteDirectory(to.toFile(), monitor);
- throwException(status);
- }
-
- IModuleResource[] res = getResources(moduleTree);
- IStatus[] status = PublishUtil.publishSmart(res, to, monitor);
- throwException(status);
-
- setModulePublishState(moduleTree, IServer.PUBLISH_STATE_NONE);
- }
-
- /**
- * Utility method to throw a CoreException based on the contents of a list of
- * error and warning status.
- *
- * @param status a List containing error and warning IStatus
- * @throws CoreException
- */
- private static void throwException(IStatus[] status) throws CoreException {
- if (status == null || status.length == 0)
- return;
-
- if (status.length == 1)
- throw new CoreException(status[0]);
-
- String message = Messages.errorPublish;
- MultiStatus status2 = new MultiStatus(HttpCorePlugin.PLUGIN_ID, 0, status, message, null);
- throw new CoreException(status2);
- }
-
- public void restart(String launchMode) throws CoreException {
- setServerState(IServer.STATE_STOPPED);
- setServerState(IServer.STATE_STARTED);
- }
-
- /**
- * Cleanly shuts down and terminates the server.
- *
- * @param force <code>true</code> to kill the server
- */
- public void stop(boolean force) {
- if (force) {
- terminate();
- return;
- }
- int state = getServer().getServerState();
- if (state == IServer.STATE_STOPPED)
- return;
- else if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
- terminate();
- return;
- }
-
- // should really try to stop normally
- terminate();
- }
-
- /**
- * Terminates the server.
- */
- protected void terminate() {
- if (getServer().getServerState() == IServer.STATE_STOPPED)
- return;
-
- try {
- setServerState(IServer.STATE_STOPPING);
- Trace.trace(Trace.FINEST, "Killing the HTTP process");
- if (process != null && !process.isTerminated())
- process.terminate();
-
- stopImpl();
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error killing the process", e);
- }
- }
-
- protected IPath getTempDirectory() {
- return super.getTempDirectory();
- }
-
- /**
- * Returns the module's publish path.
- *
- * @param module a module
- * @return the publish directory for the module
- */
- protected IPath getModulePublishDirectory(IModule module) {
- return getTempDirectory().append(module.getName());
- }
-
- /**
- * Return a string representation of this object.
- *
- * @return java.lang.String
- */
- public String toString() {
- return "PreviewServer";
- }
-
- protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
- return super.getPublishedResourceDelta(module);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewStartup.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewStartup.java
deleted file mode 100644
index dd3ee44..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/PreviewStartup.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.http.core.internal.Trace;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.IStartup;
-
-public class PreviewStartup implements IStartup {
- private static final String ID = "xyz";
-
- public void startup() {
- // create runtime
- IRuntime[] runtimes = ServerCore.getRuntimes();
- IRuntime runtime = null;
-
- int size = runtimes.length;
- for (int i = 0; i < size; i++) {
- if (runtimes[i].getRuntimeType() != null && PreviewRuntime.ID.equals(runtimes[i].getRuntimeType().getId())) {
- if (ID.equals(runtimes[i].getId()))
- runtime = runtimes[i];
- }
- }
-
- if (runtime == null) {
- try {
- IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
- IRuntimeWorkingCopy wc = runtimeType.createRuntime(ID, null);
- wc.setName("My Preview");
- wc.setReadOnly(true);
- runtime = wc.save(true, null);
- } catch (CoreException ce) {
- Trace.trace(Trace.WARNING, "Could not create default preview runtime");
- }
- }
-
- // create server
- IServer[] servers = ServerCore.getServers();
-
- boolean found = false;
- size = servers.length;
- for (int i = 0; i < size; i++) {
- if (servers[i].getServerType() != null && PreviewServer.ID.equals(servers[i].getServerType().getId())) {
- if (ID.equals(servers[i].getId()))
- found = true;
- }
- }
-
- if (!found) {
- try {
- IServerType serverType = ServerCore.findServerType(PreviewServer.ID);
- IServerWorkingCopy wc = serverType.createServer(ID, null, runtime, null);
- wc.setName("My preview");
- wc.setHost("localhost");
- wc.setReadOnly(true);
- wc.save(true, null);
- } catch (CoreException ce) {
- Trace.trace(Trace.WARNING, "Could not create default preview server");
- }
- }
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/ProgressUtil.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/ProgressUtil.java
deleted file mode 100644
index b327474..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/ProgressUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import org.eclipse.core.runtime.*;
-/**
- * Progress Monitor utility.
- */
-public class ProgressUtil {
- /**
- * ProgressUtil constructor comment.
- */
- private ProgressUtil() {
- super();
- }
-
- /**
- * Return a valid progress monitor.
- *
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- * @return org.eclipse.core.runtime.IProgressMonitor
- */
- public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) {
- if (monitor == null)
- return new NullProgressMonitor();
- return monitor;
- }
-
- /**
- * Return a sub-progress monitor with the given amount on the
- * current progress monitor.
- *
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- * @param ticks int
- * @return org.eclipse.core.runtime.IProgressMonitor
- */
- public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) {
- if (monitor == null)
- return new NullProgressMonitor();
- if (monitor instanceof NullProgressMonitor)
- return monitor;
- return new SubProgressMonitor(monitor, ticks);
- }
-
- /**
- * Return a sub-progress monitor with the given amount on the
- * current progress monitor.
- *
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- * @param ticks a number of ticks
- * @param style a style
- * @return org.eclipse.core.runtime.IProgressMonitor
- */
- public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) {
- if (monitor == null)
- return new NullProgressMonitor();
- if (monitor instanceof NullProgressMonitor)
- return monitor;
- return new SubProgressMonitor(monitor, ticks, style);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/XMLMemento.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/XMLMemento.java
deleted file mode 100644
index be13600..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/preview/XMLMemento.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.core.internal.preview;
-
-import java.io.*;
-import java.util.*;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-/**
- * A Memento is a class independent container for persistence
- * info. It is a reflection of 3 storage requirements.
- *
- * 1) We need the ability to persist an object and restore it.
- * 2) The class for an object may be absent. If so we would
- * like to skip the object and keep reading.
- * 3) The class for an object may change. If so the new class
- * should be able to read the old persistence info.
- *
- * We could ask the objects to serialize themselves into an
- * ObjectOutputStream, DataOutputStream, or Hashtable. However
- * all of these approaches fail to meet the second requirement.
- *
- * Memento supports binary persistance with a version ID.
- */
-public final class XMLMemento implements IMemento {
- private Document factory;
- private Element element;
-
- /**
- * Answer a memento for the document and element. For simplicity
- * you should use createReadRoot and createWriteRoot to create the initial
- * mementos on a document.
- */
- private XMLMemento(Document doc, Element el) {
- factory = doc;
- element = el;
- }
-
- /**
- * @see IMemento#createChild(String)
- */
- public IMemento createChild(String type) {
- Element child = factory.createElement(type);
- element.appendChild(child);
- return new XMLMemento(factory, child);
- }
-
- /**
- * @see IMemento#createChild(String, String)
- */
- public IMemento createChild(String type, String id) {
- Element child = factory.createElement(type);
- child.setAttribute(TAG_ID, id);
- element.appendChild(child);
- return new XMLMemento(factory, child);
- }
-
- /**
- * Create a Document from a Reader and answer a root memento for reading
- * a document.
- */
- protected static XMLMemento createReadRoot(InputStream in) {
- Document document = null;
- try {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = factory.newDocumentBuilder();
- document = parser.parse(new InputSource(in));
- Node node = document.getFirstChild();
- if (node instanceof Element)
- return new XMLMemento(document, (Element) node);
- } catch (Exception e) {
- // ignore
- } finally {
- try {
- in.close();
- } catch (Exception e) {
- // ignore
- }
- }
- return null;
- }
-
- /**
- * Answer a root memento for writing a document.
- *
- * @param type a type
- * @return a memento
- */
- public static XMLMemento createWriteRoot(String type) {
- Document document;
- try {
- document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
- Element element = document.createElement(type);
- document.appendChild(element);
- return new XMLMemento(document, element);
- } catch (ParserConfigurationException e) {
- throw new Error(e);
- }
- }
-
- /*
- * @see IMemento
- */
- public IMemento getChild(String type) {
- // Get the nodes.
- NodeList nodes = element.getChildNodes();
- int size = nodes.getLength();
- if (size == 0)
- return null;
-
- // Find the first node which is a child of this node.
- for (int nX = 0; nX < size; nX ++) {
- Node node = nodes.item(nX);
- if (node instanceof Element) {
- Element element2 = (Element)node;
- if (element2.getNodeName().equals(type))
- return new XMLMemento(factory, element2);
- }
- }
-
- // A child was not found.
- return null;
- }
-
- /*
- * @see IMemento
- */
- public IMemento [] getChildren(String type) {
- // Get the nodes.
- NodeList nodes = element.getChildNodes();
- int size = nodes.getLength();
- if (size == 0)
- return new IMemento[0];
-
- // Extract each node with given type.
- ArrayList list = new ArrayList(size);
- for (int nX = 0; nX < size; nX ++) {
- Node node = nodes.item(nX);
- if (node instanceof Element) {
- Element element2 = (Element)node;
- if (element2.getNodeName().equals(type))
- list.add(element2);
- }
- }
-
- // Create a memento for each node.
- size = list.size();
- IMemento [] results = new IMemento[size];
- for (int x = 0; x < size; x ++) {
- results[x] = new XMLMemento(factory, (Element)list.get(x));
- }
- return results;
- }
-
- /**
- * Return the contents of this memento as a byte array.
- *
- * @return byte[]
- * @throws IOException if anything goes wrong
- */
- public byte[] getContents() throws IOException {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- save(out);
- return out.toByteArray();
- }
-
- /**
- * Returns an input stream for writing to the disk with a local locale.
- *
- * @return java.io.InputStream
- * @throws IOException if anything goes wrong
- */
- public InputStream getInputStream() throws IOException {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- save(out);
- return new ByteArrayInputStream(out.toByteArray());
- }
-
- /*
- * @see IMemento
- */
- public Float getFloat(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null)
- return null;
- String strValue = attr.getValue();
- try {
- return new Float(strValue);
- } catch (NumberFormatException e) {
- return null;
- }
- }
-
- /*
- * @see IMemento
- */
- public String getId() {
- return element.getAttribute(TAG_ID);
- }
-
- /*
- * @see IMemento
- */
- public String getName() {
- return element.getNodeName();
- }
-
- /*
- * @see IMemento
- */
- public Integer getInteger(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null)
- return null;
- String strValue = attr.getValue();
- try {
- return new Integer(strValue);
- } catch (NumberFormatException e) {
- return null;
- }
- }
-
- /*
- * @see IMemento
- */
- public String getString(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null)
- return null;
- return attr.getValue();
- }
-
- public List getNames() {
- NamedNodeMap map = element.getAttributes();
- int size = map.getLength();
- List list = new ArrayList();
- for (int i = 0; i < size; i++) {
- Node node = map.item(i);
- String name = node.getNodeName();
- list.add(name);
- }
- return list;
- }
-
- /**
- * Loads a memento from the given filename.
- *
- * @param filename java.lang.String
- * @exception java.io.IOException
- * @return a memento
- */
- public static IMemento loadMemento(String filename) throws IOException {
- InputStream in = null;
- try {
- in = new BufferedInputStream(new FileInputStream(filename));
- return XMLMemento.createReadRoot(in);
- } finally {
- try {
- if (in != null)
- in.close();
- } catch (Exception e) {
- // ignore
- }
- }
- }
-
- /*
- * @see IMemento
- */
- private void putElement(Element element2) {
- NamedNodeMap nodeMap = element2.getAttributes();
- int size = nodeMap.getLength();
- for (int i = 0; i < size; i++){
- Attr attr = (Attr)nodeMap.item(i);
- putString(attr.getName(),attr.getValue());
- }
-
- NodeList nodes = element2.getChildNodes();
- size = nodes.getLength();
- for (int i = 0; i < size; i ++) {
- Node node = nodes.item(i);
- if (node instanceof Element) {
- XMLMemento child = (XMLMemento)createChild(node.getNodeName());
- child.putElement((Element)node);
- }
- }
- }
-
- /*
- * @see IMemento
- */
- public void putFloat(String key, float f) {
- element.setAttribute(key, String.valueOf(f));
- }
-
- /*
- * @see IMemento
- */
- public void putInteger(String key, int n) {
- element.setAttribute(key, String.valueOf(n));
- }
-
- /*
- * @see IMemento
- */
- public void putMemento(IMemento memento) {
- XMLMemento xmlMemento = (XMLMemento) memento;
- putElement(xmlMemento.element);
- }
-
- /*
- * @see IMemento
- */
- public void putString(String key, String value) {
- if (value == null)
- return;
- element.setAttribute(key, value);
- }
-
- /**
- * Save this Memento to a Writer.
- *
- * @param os an output stream
- * @throws IOException if anything goes wrong
- */
- public void save(OutputStream os) throws IOException {
- Result result = new StreamResult(os);
- Source source = new DOMSource(factory);
- try {
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty(OutputKeys.METHOD, "xml");
- transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
- transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
- transformer.transform(source, result);
- } catch (Exception e) {
- throw (IOException) (new IOException().initCause(e));
- }
- }
-
- /**
- * Saves the memento to the given file.
- *
- * @param filename java.lang.String
- * @exception java.io.IOException
- */
- public void saveToFile(String filename) throws IOException {
- FileOutputStream w = null;
- try {
- w = new FileOutputStream(filename);
- save(w);
- } catch (IOException e) {
- throw e;
- } catch (Exception e) {
- throw new IOException(e.getLocalizedMessage());
- } finally {
- if (w != null) {
- try {
- w.close();
- } catch (Exception e) {
- // ignore
- }
- }
- }
- }
-
- /*
- * @see IMemento#getBoolean(String)
- */
- public Boolean getBoolean(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null)
- return null;
- String strValue = attr.getValue();
- if ("true".equalsIgnoreCase(strValue))
- return new Boolean(true);
- return new Boolean(false);
- }
-
- /*
- * @see IMemento#putBoolean(String, boolean)
- */
- public void putBoolean(String key, boolean value) {
- element.setAttribute(key, value ? "true" : "false");
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
index f9289b6..cd9c4c3 100644
--- a/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
@@ -7,13 +7,11 @@
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.wst.server.http.ui.internal;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)",
+Require-Bundle: org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)",
org.eclipse.wst.server.core;bundle-version="[1.0.204,2.0.0)",
org.eclipse.wst.server.ui;bundle-version="[1.0.103,1.1.0)",
org.eclipse.wst.server.http.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.debug.ui;bundle-version="[3.3.0,4.0.0)",
+ org.eclipse.wst.common.project.facet.core;bundle-version="[1.2.0,2.0.0)",
org.eclipse.wst.common.project.facet.ui;bundle-version="[1.2.0,2.0.0)"
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.http.ui/icons/obj16/preview.gif b/plugins/org.eclipse.wst.server.http.ui/icons/obj16/preview.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/icons/obj16/preview.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.http.ui/plugin.xml b/plugins/org.eclipse.wst.server.http.ui/plugin.xml
index fde56f2..b28f4ac 100644
--- a/plugins/org.eclipse.wst.server.http.ui/plugin.xml
+++ b/plugins/org.eclipse.wst.server.http.ui/plugin.xml
@@ -9,14 +9,15 @@
</extension>
<extension point="org.eclipse.wst.common.project.facet.ui.images">
- <image runtime-component-type="org.eclipse.wst.server.http.runtime"
+ <image runtime-component-type="org.eclipse.wst.server.http.runtime"
path="icons/obj16/server.gif"/>
</extension>
<extension point="org.eclipse.wst.common.project.facet.core.runtimes">
<adapter>
<runtime-component id="org.eclipse.wst.server.http.runtime"/>
- <factory class="org.eclipse.wst.server.http.ui.internal.preview.RuntimeLabelProvider$Factory"/>
+ <!--<factory class="org.eclipse.wst.server.http.ui.internal.RuntimeLabelProvider$Factory"/>-->
+ <factory class="org.eclipse.wst.server.ui.internal.facets.RuntimeLabelProvider$Factory"/>
<type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
</adapter>
</extension>
@@ -43,41 +44,4 @@
typeIds="org.eclipse.wst.server.http.server"
class="org.eclipse.wst.server.http.ui.internal.HttpSection"/>
</extension>
-
-
- <extension point="org.eclipse.wst.server.ui.serverImages">
- <image
- id="org.eclipse.wst.server.http.ui"
- typeIds="org.eclipse.wst.server.preview.runtime,org.eclipse.wst.server.preview.server"
- icon="icons/obj16/preview.gif"/>
- </extension>
-
- <extension point="org.eclipse.wst.common.project.facet.ui.images">
- <image runtime-component-type="org.eclipse.wst.server.preview.runtime"
- path="icons/obj16/preview.gif"/>
- </extension>
-
- <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
- <adapter>
- <runtime-component id="org.eclipse.wst.server.preview.runtime"/>
- <factory class="org.eclipse.wst.server.http.ui.internal.preview.RuntimeLabelProvider$Factory"/>
- <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
- </adapter>
- </extension>
-
- <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
- <launchConfigurationTypeImage
- id="org.eclipse.wst.server.ui.preview.launchConfigurationTypeImage"
- configTypeID="org.eclipse.wst.server.core.preview.launchConfigurationType"
- icon="icons/obj16/preview.gif">
- </launchConfigurationTypeImage>
- </extension>
-
- <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
- <launchConfigurationTabGroup
- id="org.eclipse.wst.server.ui.preview.launchConfigurationTabGroup"
- type="org.eclipse.wst.server.core.preview.launchConfigurationType"
- class="org.eclipse.wst.server.http.ui.internal.preview.PreviewLaunchConfigurationTabGroup">
- </launchConfigurationTabGroup>
- </extension>
</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/RuntimeLabelProvider.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/RuntimeLabelProvider.java
similarity index 96%
rename from plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/RuntimeLabelProvider.java
rename to plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/RuntimeLabelProvider.java
index 2f9f815..50af508 100644
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/RuntimeLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/RuntimeLabelProvider.java
@@ -9,7 +9,7 @@
* Konstantin Komissarchik - initial API and implementation
* IBM Corporation - Support for all server types
******************************************************************************/
-package org.eclipse.wst.server.http.ui.internal.preview;
+package org.eclipse.wst.server.http.ui.internal;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/PreviewLaunchConfigurationTabGroup.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/PreviewLaunchConfigurationTabGroup.java
deleted file mode 100644
index 8a8ce3d..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/PreviewLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.http.ui.internal.preview;
-
-import org.eclipse.debug.ui.*;
-
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-/**
- * A debug tab group for launching Tomcat.
- */
-public class PreviewLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
- /*
- * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
- */
- public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
- ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[2];
- tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.wst.server.preview" });
- tabs[0].setLaunchConfigurationDialog(dialog);
- /*tabs[1] = new SourceLookupTab();
- tabs[1].setLaunchConfigurationDialog(dialog);
- tabs[2] = new EnvironmentTab();
- tabs[2].setLaunchConfigurationDialog(dialog);*/
- tabs[1] = new CommonTab();
- tabs[1].setLaunchConfigurationDialog(dialog);
- setTabs(tabs);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
index dadb567..bdc9643 100644
--- a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
@@ -33,6 +33,7 @@
org.eclipse.debug.ui;bundle-version="[3.2.0,4.0.0)",
org.eclipse.wst.server.core;bundle-version="[1.0.103,1.1.0)",
org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,4.0.0)"
+ org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.wst.common.project.facet.ui;resolution:=optional;bundle-version="[1.1.0,2.0.0)"
Eclipse-LazyStart: true; exceptions="org.eclipse.wst.server.ui.internal.webbrowser"
Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/RuntimeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/facets/RuntimeLabelProvider.java
similarity index 76%
copy from plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/RuntimeLabelProvider.java
copy to plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/facets/RuntimeLabelProvider.java
index 2f9f815..715dd7f 100644
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/preview/RuntimeLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/facets/RuntimeLabelProvider.java
@@ -1,15 +1,14 @@
/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
+ * Copyright (c) 2007 IBM Corporation and others.
* 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
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
- * Konstantin Komissarchik - initial API and implementation
- * IBM Corporation - Support for all server types
+ * IBM Corporation - Initial API and implementation
******************************************************************************/
-package org.eclipse.wst.server.http.ui.internal.preview;
+package org.eclipse.wst.server.ui.internal.facets;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
@@ -20,7 +19,7 @@
public final class RuntimeLabelProvider implements IRuntimeComponentLabelProvider {
private final IRuntimeComponent rc;
- public RuntimeLabelProvider(final IRuntimeComponent rc) {
+ public RuntimeLabelProvider(IRuntimeComponent rc) {
this.rc = rc;
}
@@ -31,7 +30,7 @@
public static final class Factory implements IAdapterFactory {
private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
- public Object getAdapter(final Object adaptable, final Class adapterType) {
+ public Object getAdapter(Object adaptable, Class adapterType) {
final IRuntimeComponent rc = (IRuntimeComponent) adaptable;
return new RuntimeLabelProvider(rc);
}