This commit was manufactured by cvs2svn to create tag 'v20050630'.
diff --git a/plugins/org.eclipse.jst.server.core/.classpath b/plugins/org.eclipse.jst.server.core/.classpath
deleted file mode 100644
index a74595e..0000000
--- a/plugins/org.eclipse.jst.server.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="sjavacore/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.core/.cvsignore b/plugins/org.eclipse.jst.server.core/.cvsignore
deleted file mode 100644
index 8d1d585..0000000
--- a/plugins/org.eclipse.jst.server.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.core_3.0.0.jar
-sjavacore.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.core/.options b/plugins/org.eclipse.jst.server.core/.options
deleted file mode 100644
index 7da2b54..0000000
--- a/plugins/org.eclipse.jst.server.core/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.core plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.core/debug=true
diff --git a/plugins/org.eclipse.jst.server.core/.project b/plugins/org.eclipse.jst.server.core/.project
deleted file mode 100644
index 7d5e17d..0000000
--- a/plugins/org.eclipse.jst.server.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
deleted file mode 100644
index f0f4ab3..0000000
--- a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.core; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.jst.server.core.internal.JavaServerPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.core,
- org.eclipse.jst.server.core.internal;x-friends:="org.eclipse.jst.server.ui",
- org.eclipse.jst.server.core.internal.cactus;x-friends:="org.eclipse.jst.server.ui"
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.expressions,
- org.eclipse.wst.server.core,
- org.eclipse.jdt.core,
- org.eclipse.jdt.launching,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.server.core/build.properties b/plugins/org.eclipse.jst.server.core/build.properties
deleted file mode 100644
index c522431..0000000
--- a/plugins/org.eclipse.jst.server.core/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               META-INF/
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/,\
-               component.xml
-source.. = sjavacore/
diff --git a/plugins/org.eclipse.jst.server.core/component.xml b/plugins/org.eclipse.jst.server.core/component.xml
deleted file mode 100644
index 8b6f073..0000000
--- a/plugins/org.eclipse.jst.server.core/component.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jst.server">
-<component-depends unrestricted="true"/>
-  <plugin id="org.eclipse.jst.server.core" fragment="false"/>
-  <package name="org.eclipse.jst.server.core">
-<!--    <type name="IConnectorModule"/>
-    <type name="IEJBModule"/>
-    <type name="IJ2EEModule"/>
-    <type name="Servlet"/>
-    <type name="ILooseArchiveSupport"/>
-    <type name="ILooseArchive"/>
-    <type name="IWebModule"/>
-    <type name="IEnterpriseApplication"/>
-    <type name="JndiObject"/>
-    <type name="ClasspathRuntimeTargetHandler"/>
-    <type name="IApplicationClientModule"/>
-    <type name="EJBBean"/>
-    <type name="JndiLaunchable"/> -->
-  </package>
-
-  <plugin id="org.eclipse.jst.server.ui" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.generic.core" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.generic.serverdefinitions" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.generic.ui" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.tomcat.core" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.tomcat.ui" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.geronimo.core" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.geronimo.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/plugin.properties b/plugins/org.eclipse.jst.server.core/plugin.properties
deleted file mode 100644
index 0bd3822..0000000
--- a/plugins/org.eclipse.jst.server.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 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
-###############################################################################
-pluginName=Java Server Support
-providerName=Eclipse.org
-
-runtimeTypeName=J2EE Runtime Library
-runtimeTypeDescription=A runtime that represents a set of J2EE runtime libraries.
-
-moduleTypeJ2EEWebName=J2EE Web module
-moduleTypeJ2EEEJBName=J2EE EJB module
-moduleTypeJ2EEEARName=J2EE Enterprise application
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/plugin.xml b/plugins/org.eclipse.jst.server.core/plugin.xml
deleted file mode 100644
index 5ec36e1..0000000
--- a/plugins/org.eclipse.jst.server.core/plugin.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
-    <classpathContainerInitializer
-      id="org.eclipse.jst.server.core.container"
-      class="org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.moduleTypes">
-    <moduleType
-       id="j2ee.web"
-       name="%moduleTypeJ2EEWebName"/>
-    <moduleType
-       id="j2ee.ejb"
-       name="%moduleTypeJ2EEEJBName"/>
-    <moduleType
-       id="j2ee.ear"
-       name="%moduleTypeJ2EEEARName"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.runtimeTypes">
-    <runtimeType
-       id="org.eclipse.jst.server.core.runtimeType"
-       name="%runtimeTypeName"
-       description="%runtimeTypeDescription"
-       class="org.eclipse.jst.server.core.internal.GenericRuntime">
-       <moduleType
-         types="j2ee.*"
-         versions="*"/>
-       <moduleType
-         types="utility"
-         versions="*"/>
-    </runtimeType>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.runtimeTargetHandlers">
-    <runtimeTargetHandler
-      id="org.eclipse.jst.server.core.runtimeTarget"
-      runtimeTypeIds="org.eclipse.jst.server.core.runtimeType"
-      class="org.eclipse.jst.server.core.internal.GenericRuntimeTargetHandler"/>
-  </extension>
-
-  <extension point="org.eclipse.core.expressions.propertyTesters">
-    <propertyTester
-      namespace="org.eclipse.jst.cactus.expressions"
-      type="org.eclipse.core.runtime.IAdaptable"
-      class="org.eclipse.jst.server.core.internal.cactus.ServletTestCasePropertyTester"
-      properties="isServletTestCase"
-      id="org.eclipse.jst.server.cactus.expression"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.moduleArtifactAdapters">
-    <moduleArtifactAdapter
-      id="org.eclipse.jst.server.cactus.moduleArtifactAdapter"
-      class="org.eclipse.jst.server.core.internal.cactus.CactusModuleArtifactAdapterDelegate"
-      priority="10">
-      <enablement>
-         <or>
-            <instanceof value="org.eclipse.jdt.core.IMethod"/>
-            <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
-            <instanceof value="org.eclipse.jdt.core.IType"/>
-         </or>
-      </enablement>
-    </moduleArtifactAdapter>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.launchableAdapters">
-    <launchableAdapter
-       id="org.eclipse.jst.server.cactus.launchableAdapter"
-       class="org.eclipse.jst.server.core.internal.cactus.CactusLaunchableAdapterDelegate"/>
-  </extension>
-
-</plugin>
\ 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/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
deleted file mode 100644
index ec33ca1..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
+++ /dev/null
@@ -1,519 +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.jst.server.core;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.internal.*;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate;
-/**
- * A runtime target handler that supports changing the classpath of the
- * project by adding one or more classpath containers. Runtime providers
- * can extend this class and implement the abstract methods to provide
- * the correct build path for their runtime type. 
- * 
- * <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>
- * @since 1.0
- */
-public abstract class ClasspathRuntimeTargetHandler extends RuntimeTargetHandlerDelegate {
-	private class SourceAttachmentUpdate {
-		String runtimeId;
-		String id;
-		IPath entry;
-		IPath sourceAttachmentPath;
-		IPath sourceAttachmentRootPath;
-		IClasspathAttribute[] attributes;
-	}
-
-	private List sourceAttachments;
-
-	/** (non-Javadoc)
-	 * @see RuntimeTargetHandlerDelegate#setRuntimeTarget(IProject, IRuntime, IProgressMonitor)
-	 */
-	public void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		if (project == null || runtime == null)
-			return;
-
-		IJavaProject javaProject = null;
-		try {
-			javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		if (javaProject == null)
-			return;
-		
-		try {
-			List list = new ArrayList();
-			IClasspathEntry[] cp = javaProject.getRawClasspath();
-			int size = cp.length;
-			for (int i = 0; i < size; i++) {
-				if (cp[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-					if (!cp[i].getPath().segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER))
-						list.add(cp[i]);
-				} else
-					list.add(cp[i]);
-			}
-			
-			List add = new ArrayList();
-			IClasspathEntry[] entries = getDelegateClasspathEntries(runtime, monitor);
-			if (entries != null) {
-				size = entries.length;
-				for (int i = 0; i < size; i++)
-					add.add(entries[i]);
-			}
-			
-			String[] ids = getClasspathEntryIds();
-			if (ids != null) {
-				size = ids.length;
-				for (int i = 0; i < size; i++) {
-					String id2 = getRuntimeTargetHandler().getId();
-					IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER).append(id2).append(runtime.getId());
-					if (ids[i] != null)
-						path.append(ids[i]);
-					add.add(JavaCore.newContainerEntry(path));
-					String id = "";
-					if (path.segmentCount() > 3)
-						id = path.segment(3);
-					RuntimeClasspathContainer rcc = new RuntimeClasspathContainer(path, this, runtime, id);
-					JavaCore.setClasspathContainer(path, new IJavaProject[] { javaProject}, new IClasspathContainer[] { rcc }, monitor);
-				}
-			}
-			
-			// clean up duplicates
-			cleanupDuplicateClasspath(javaProject, list, add);
-			
-			Iterator iterator = add.iterator();
-			while (iterator.hasNext()) {
-				list.add(iterator.next());
-			}
-			
-			cp = new IClasspathEntry[list.size()];
-			list.toArray(cp);
-			javaProject.setRawClasspath(cp, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error setting runtime target", e);
-			throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, e.getLocalizedMessage(), e));
-		}
-	}
-
-	private void cleanupDuplicateClasspath(IJavaProject project, List current, List add) {
-		if (project == null || current == null || add == null)
-			throw new IllegalArgumentException();
-		
-		// check if we even have to bother
-		boolean sourceOnly = true;
-		Iterator iterator = current.iterator();
-		while (iterator.hasNext()) {
-			IClasspathEntry entry = (IClasspathEntry) iterator.next();
-			if (entry.getEntryKind() != IClasspathEntry.CPE_SOURCE)
-				sourceOnly = false;
-		}
-		if (sourceOnly)
-			return;
-		
-		// remove any of our own containers
-		List remove = new ArrayList();
-		iterator = current.iterator();
-		while (iterator.hasNext()) {
-			IClasspathEntry entry = (IClasspathEntry) iterator.next();
-			
-			if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-				try {
-					if (RuntimeClasspathContainer.SERVER_CONTAINER.equals(entry.getPath().segment(0))
-						|| JavaRuntime.JRE_CONTAINER.equals(entry.getPath().segment(0)))
-						remove.add(entry);
-				} catch (Exception e) {
-					Trace.trace(Trace.FINEST, "Error resolving classpath container", e);
-				}
-			}
-		}
-
-		// expand the "add" list
-		List addExpanded = new ArrayList();
-		iterator = add.iterator();
-		while (iterator.hasNext()) {
-			IClasspathEntry entry = (IClasspathEntry) iterator.next();
-			if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-				try {
-					IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
-					IClasspathEntry[] entries = container.getClasspathEntries();
-					int size = entries.length;
-					for (int i = 0; i < size; i++) {
-						if (entries[i] != null)
-							addExpanded.add(entries[i]);
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.FINEST, "Error resolving classpath container 2", e);
-				}
-			} else if (entry.getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
-				entry = JavaCore.getResolvedClasspathEntry(entry);
-				if (entry != null)
-					addExpanded.add(entry);
-			} else
-				addExpanded.add(entry);
-		}
-		
-		// check for duplicates by also expanding the current list
-		iterator = current.iterator();
-		while (iterator.hasNext()) {
-			IClasspathEntry entry = (IClasspathEntry) iterator.next();
-			
-			List currentExpanded = new ArrayList();
-			if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-				try {
-					IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
-					IClasspathEntry[] entries = container.getClasspathEntries();
-					int size = entries.length;
-					for (int i = 0; i < size; i++) {
-						if (entries[i] != null)
-							currentExpanded.add(entries[i]);
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.FINEST, "Error resolving classpath container 3", e);
-				}
-			} else if (entry.getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
-				entry = JavaCore.getResolvedClasspathEntry(entry);
-				if (entry != null)
-					currentExpanded.add(entry);
-			} else
-				currentExpanded.add(entry);
-			
-			// loop over all of the expanded entries of this current entry
-			boolean dup = false;
-			Iterator iterator2 = currentExpanded.iterator();
-			while (!dup && iterator2.hasNext()) {
-				IClasspathEntry entry2 = (IClasspathEntry) iterator2.next();
-				Iterator iterator3 = addExpanded.iterator();
-				while (iterator3.hasNext()) {
-					IClasspathEntry entry3 = (IClasspathEntry) iterator3.next();
-					if (entry3.getPath().equals(entry2.getPath()))
-						dup = true;
-				}
-			}
-			if (dup && !remove.contains(entry))
-				remove.add(entry);
-		}
-		
-		// remove duplicates
-		iterator = remove.iterator();
-		while (iterator.hasNext()) {
-			current.remove(iterator.next());
-		}
-	}
-
-	/** (non-Javadoc)
-	 * @see RuntimeTargetHandlerDelegate#removeRuntimeTarget(IProject, IRuntime, IProgressMonitor)
-	 */
-	public void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "Removing runtime target");
-		if (project == null || runtime == null)
-			return;
-
-		IJavaProject javaProject = null;
-		try {
-			javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-		} catch (Exception e) {
-			// ignore
-		}
-
-		if (javaProject == null)
-			return;
-		
-		try {
-			IClasspathEntry[] delegates = getDelegateClasspathEntries(runtime, monitor);
-			int delegateSize = 0;
-			if (delegates != null)
-				delegateSize = delegates.length;
-
-			List list = new ArrayList();
-			IClasspathEntry[] cp = javaProject.getRawClasspath();
-			int size = cp.length;
-			for (int i = 0; i < size; i++) {
-				boolean remove = false;
-				
-				if (cp[i].getPath().segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER))
-					remove = true;
-				
-				for (int j = 0; j < delegateSize; j++) {
-					if (cp[i].equals(delegates[j]))
-						remove = true;
-				}
-				if (!remove)
-					list.add(cp[i]);
-			}
-			
-			cp = new IClasspathEntry[list.size()];
-			list.toArray(cp);
-			javaProject.setRawClasspath(cp, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error removing runtime target", e);
-		}
-	}
-	
-	private static void addJarFiles(File dir, List list, boolean includeSubdirectories) {
-		int depth = 0;
-		if (includeSubdirectories)
-			depth = 2;
-		addJarFiles(dir, list, depth);
-	}
-	
-	private static void addJarFiles(File dir, List list, int depth) {
-		if (dir == null)
-			throw new IllegalArgumentException();
-		
-		File[] files = dir.listFiles();
-		if (files != null) {
-			int size = files.length;
-			for (int i = 0; i < size; i++) {
-				if (files[i].isDirectory() && depth > 0) {
-					addJarFiles(files[i], list, depth - 1);
-				} else if (files[i].getAbsolutePath().endsWith(".jar") || files[i].getAbsolutePath().endsWith(".zip")) {
-					IPath path = new Path(files[i].getAbsolutePath());
-					list.add(JavaCore.newLibraryEntry(path, null, null));
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Add library entries to the given list for every jar file found in the
-	 * given directory. Optionally search subdirectories as well.
-	 * 
-	 * @param list a list
-	 * @param dir a directory
-	 * @param includeSubdirectories <code>true</code> to include subdirectories, and
-	 *    <code>false</code> otherwise
-	 */
-	protected static void addLibraryEntries(List list, File dir, boolean includeSubdirectories) {
-		if (dir == null)
-			throw new IllegalArgumentException();
-		addJarFiles(dir, list, includeSubdirectories);
-	}
-
-	/**
-	 * Returns the classpath entries that correspond to the given runtime.
-	 * 
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return an array of classpath entries
-	 */
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		return null;
-	}
-
-	/**
-	 * Returns the classpath entry ids for this runtime target handler. These
-	 * ids will be added to the classpath container id to create a new fully
-	 * qualified classpath container id.
-	 * <p>
-	 * By default, there is a single classpath entry for the runtime, with no
-	 * extra id (<code>new String[1]</code>). To create multiple ids, just
-	 * return a string array containing the ids. For instance, to have two
-	 * classpath containers with ids "id1" and "id2", use
-	 * <code>new String[] { "id1", "id2" }</code>
-	 * </p>
-	 * 
-	 * @return an array of classpath entry ids
-	 */
-	public String[] getClasspathEntryIds() {
-		return new String[1];
-	}
-
-	/**
-	 * Request that the classpath container for the given runtime and id be updated
-	 * with the given classpath container entries.
-	 * 
-	 * @param runtime a runtime
-	 * @param id an id
-	 * @param entries an array of classpath entries
-	 */
-	public void requestClasspathContainerUpdate(IRuntime runtime, String id, IClasspathEntry[] entries) {
-		// default behaviour is to save the source path entries
-		if (runtime == null || entries == null)
-			return;
-		
-		// find the source attachments
-		sourceAttachments = new ArrayList();
-		
-		int size = entries.length;
-		for (int i = 0; i < size; i++) {
-			if (entries[i].getSourceAttachmentPath() != null || entries[i].getExtraAttributes() != null) {
-				SourceAttachmentUpdate sau = new SourceAttachmentUpdate();
-				sau.runtimeId = runtime.getId();
-				sau.id = id;
-				sau.entry = entries[i].getPath();
-				sau.sourceAttachmentPath = entries[i].getSourceAttachmentPath();
-				sau.sourceAttachmentRootPath = entries[i].getSourceAttachmentRootPath();
-				sau.attributes = entries[i].getExtraAttributes();
-				sourceAttachments.add(sau);
-			}
-		}
-		save();
-	}
-
-	/**
-	 * Returns the classpath container label for the given runtime and the given
-	 * classpath container id (returned from getClasspathEntryIds()). This method
-	 * must not return null.
-	 * 
-	 * @param runtime the runtime to resolve the container label for
-	 * @param id the classpath entry id
-	 * @return a classpath container label
-	 */
-	public abstract String getClasspathContainerLabel(IRuntime runtime, String id);
-
-	/**
-	 * Resolve the classpath container.
-	 * 
-	 * @param runtime a runtime
-	 * @param id a container id
-	 * @return a possibly empty array of classpath entries
-	 */
-	public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime, String id) {
-		IClasspathEntry[] entries = resolveClasspathContainer(runtime, id);
-		
-		if (entries == null)
-			entries = new IClasspathEntry[0];
-		
-		if (sourceAttachments == null)
-			load();
-		
-		int size = entries.length;
-		int size2 = sourceAttachments.size();
-		for (int i = 0; i < size; i++) {
-			for (int j = 0; j < size2; j++) {
-				SourceAttachmentUpdate sau = (SourceAttachmentUpdate) sourceAttachments.get(j);
-				if ((id != null && sau.id.equals(id)) || (id == null && sau.id == null)) {
-					if (sau.runtimeId.equals(runtime.getId()) && sau.entry.equals(entries[i].getPath())) {
-						entries[i] = JavaCore.newLibraryEntry(entries[i].getPath(), sau.sourceAttachmentPath, sau.sourceAttachmentRootPath, new IAccessRule[0], sau.attributes, false);
-					}
-				}
-			}
-		}
-		
-		return entries;
-	}
-	
-	private void save() {
-		if (sourceAttachments == null)
-			return;
-		String id = getRuntimeTargetHandler().getId();
-		String filename = JavaServerPlugin.getInstance().getStateLocation().append(id + ".xml").toOSString();
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("classpath");
-
-			Iterator iterator = sourceAttachments.iterator();
-			while (iterator.hasNext()) {
-				SourceAttachmentUpdate sau = (SourceAttachmentUpdate) iterator.next();
-				IMemento child = memento.createChild("source-attachment");
-				child.putString("runtime-id", sau.runtimeId);
-				if (sau.id != null)
-					child.putString("id", sau.id);
-				if (sau.entry != null)
-					child.putString("entry", sau.entry.toPortableString());
-				if (sau.sourceAttachmentPath != null)
-					child.putString("source-attachment-path", sau.sourceAttachmentPath.toPortableString());
-				if (sau.sourceAttachmentRootPath != null)
-					child.putString("source-attachment-root-path", sau.sourceAttachmentRootPath.toPortableString());
-				if (sau.attributes != null) {
-					int size = sau.attributes.length;
-					for (int i = 0; i < size; i++) {
-						IClasspathAttribute attr = sau.attributes[i];
-						IMemento attrChild = child.createChild("attribute");
-						attrChild.putString("name", attr.getName());
-						attrChild.putString("value", attr.getValue());
-					}
-				}
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error saving source path info", e);
-		}
-	}
-
-	private void load() {
-		sourceAttachments = new ArrayList();
-		
-		if (getRuntimeTargetHandler() == null)
-			return;
-		String id = getRuntimeTargetHandler().getId();
-		String filename = JavaServerPlugin.getInstance().getStateLocation().append(id + ".xml").toOSString();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("source-attachment");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				try {
-					SourceAttachmentUpdate sau = new SourceAttachmentUpdate();
-					sau.runtimeId = children[i].getString("runtime-id");
-					sau.id = children[i].getString("id");
-					String temp = children[i].getString("entry");
-					if (temp != null)
-						sau.entry = new Path(temp);
-					temp = children[i].getString("source-attachment-path");
-					if (temp != null)
-						sau.sourceAttachmentPath = new Path(temp);
-					temp = children[i].getString("source-attachment-root-path");
-					if (temp != null)
-						sau.sourceAttachmentRootPath = new Path(temp);
-					IMemento[] attrChildren = children[i].getChildren("attribute");
-					if (attrChildren != null) {
-						int size2 = attrChildren.length;
-						sau.attributes = new IClasspathAttribute[size2];
-						for (int j = 0; j < size2; j++) {
-							String name = attrChildren[j].getString("name");
-							String value = attrChildren[j].getString("value");
-							sau.attributes[j] = JavaCore.newClasspathAttribute(name, value);
-						}
-					}
-					sourceAttachments.add(sau);
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not load monitor: " + e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load source path info: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Resolves (creates the classpath entries for) the classpath container with
-	 * the given runtime and the given classpath container id (returned from
-	 * getClasspathEntryIds()). If the classpath container cannot be resolved
-	 * (for instance, if the runtime does not exist), return null.
-	 * 
-	 * @param runtime the runtime to resolve the container for
-	 * @param id the classpath entry id
-	 * @return an array of classpath entries for the container, or null if the
-	 *   container could not be resolved
-	 */
-	public abstract IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java
deleted file mode 100644
index 95c003f..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java
+++ /dev/null
@@ -1,83 +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.jst.server.core;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-/**
- * An EJB bean.
- * <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>
- * @since 1.0
- */
-public class EJBBean implements IModuleArtifact {
-	private IModule module;
-	private String jndiName;
-	private boolean local;
-	private boolean remote;
-
-	/**
-	 * Create a new EJBBean.
-	 * 
-	 * @param module the module that the EJB is contained in
-	 * @param jndiName the JNDI name of the EJB
-	 * @param remote <code>true</code> if the EJB has a remote interface, and
-	 *    <code>false</code> otherwise
-	 * @param local <code>true</code> if the EJB has a local interface, and
-	 *    <code>false</code> otherwise
-	 */
-	public EJBBean(IModule module, String jndiName, boolean remote, boolean local) {
-		this.module = module;
-		this.jndiName = jndiName;
-		this.remote = remote;
-		this.local = local;
-	}
-
-	/**
-	 * @see IModuleArtifact#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Returns the JNDI name of the EJB.
-	 * 
-	 * @return the JNDI name of the EJB
-	 */
-	public String getJndiName() {
-		return jndiName;
-	}
-
-	/**
-	 * Returns whether the EJB has a remote interface.
-	 * 
-	 * @return <code>true</code> if the EJB has a remote interface, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean hasRemoteInterface() {
-		return remote;
-	}
-
-	/**
-	 * Returns whether the EJB has a local interface.
-	 * 
-	 * @return <code>true</code> if the EJB has a local interface, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean hasLocalInterface() {
-		return local;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java
deleted file mode 100644
index f3e5c60..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java
+++ /dev/null
@@ -1,24 +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.jst.server.core;
-/**
- * A J2EE application client module.
- * <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>
- * @since 1.0
- */
-public interface IApplicationClientModule extends IJ2EEModule {
-	// no additional methods
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java
deleted file mode 100644
index df4e502..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java
+++ /dev/null
@@ -1,31 +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.jst.server.core;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * A J2EE connector module.
- * <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>
- * @since 1.0
- */
-public interface IConnectorModule extends IJ2EEModule {
-	/**
-	 * Returns the classpath as an array of absolute IPaths.
-	 * 
-	 * @return an array of classpath entries
-	 */
-	public IPath[] getClasspath();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java
deleted file mode 100644
index 408377e..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java
+++ /dev/null
@@ -1,29 +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.jst.server.core;
-/**
- * A representation of a J2EE EJB module.
- * <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>
- * @since 1.0
- */
-public interface IEJBModule extends IJ2EEModule {
-	/**
-	 * Returns a version number in the form "x.y.z".
-	 *
-	 * @return java.lang.String
-	 */
-	public String getEJBSpecificationVersion();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java
deleted file mode 100644
index e533fc3..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java
+++ /dev/null
@@ -1,67 +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.jst.server.core;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.IModule;
-/**
- * A representation of a J2EE enterprise application (EAR file).
- * <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>
- * @since 1.0
- */
-public interface IEnterpriseApplication {
-	/**
-	 * Returns a version number in the form "x.y.z".
-	 * 
-	 * @return the J2EE specification version
-	 */
-	public String getJ2EESpecificationVersion();
-
-	/**
-	 * Returns the modules contained within this EAR. The returned modules will
-	 * all be adaptable to IJ2EEModule.
-	 *
-	 * @return a possibly empty array of modules contained within this application
-	 */
-	public IModule[] getModules();
-
-	/**
-	 * Returns the URI of the given J2EE module within this
-	 * enterprise application.
-	 *
-	 * @param module a module within this application
-	 * @return the URI of the given module, or <code>null</code> if the URI could
-	 *    not be found
-	 */
-	public String getURI(IJ2EEModule module);
-
-	/**
-	 * Returns <code>true</code> if this EAR supports loose modules and <code>false</code>
-	 * otherwise.
-	 * 
-	 * @return returns <code>true</code> if this module contains loose modules, or
-	 *    <code>false</code> otherwise
-	 */
-	public boolean containsLooseModules();
-	
-	/**
-	 * Returns the location of the root of the application. This should
-	 * be an absolute path that is not workbench relative.
-	 * 
-	 * @return the absolute path to the root of this application
-	 */
-	public IPath getLocation();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java
deleted file mode 100644
index 41b7713..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java
+++ /dev/null
@@ -1,62 +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.jst.server.core;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * An abstract J2EE module that can be deployed to a server.
- * 
- * <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>
- * @since 1.0
- */
-public interface IJ2EEModule {
-	/**
-	 * Returns a version number in the form "x.y.z".
-	 * 
-	 * @return the J2EE specification version
-	 */
-	public String getJ2EESpecificationVersion();
-
-	/**
-	 * Returns the location of the root of the module. This should
-	 * be an absolute path that is not workbench relative.
-	 * 
-	 * @return the absolute path to the root of this application
-	 */
-	public IPath getLocation();
-
-	/**
-	 * Returns true if this is a binary (zipped) module, and
-	 * false if it is expanded.
-	 * 
-	 * <p>If true, members() should return only a single element -
-	 * the binary (jar or zip file) that contains the contents of
-	 * this module. (a single IModuleResource, e.g.
-	 * myejb.jar) Also, getLocation() should return the full path
-	 * up to and including the binary itself. (e.g.
-	 * c:\temp\myejb.jar)</p>
-	 * 
-	 * <p>If false, members() should return the entire contents
-	 * of the module, starting at the root. There should be no
-	 * preceeding directory structure. (an array of
-	 * IModuleResources, e.g. index.html, WEB-INF/web.xml,
-	 * ...) In this case, getLocation() should return the path to
-	 * the root folder containing these resources.</p>
-	 * 
-	 * @return boolean
-	 */
-	public boolean isBinary();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ILooseArchive.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ILooseArchive.java
deleted file mode 100644
index a4c1876..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ILooseArchive.java
+++ /dev/null
@@ -1,54 +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.jst.server.core;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * A loose archive. Used to represent utility jars in J2EE modules.
- * <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>
- * @since 1.0
- */
-public interface ILooseArchive {
-	/**
-	 * Returns the location of the root of the loose utility. This should
-	 * be an absolute path that is not workbench relative.
-	 * 
-	 * @return org.eclipse.core.runtime.IPath
-	 */
-	public IPath getLocation();
-
-	/**
-	 * Returns true if this is a binary (zipped) archive, and
-	 * false if it is expanded.
-	 * 
-	 * <p>If true, members() should return only a single element -
-	 * the binary (jar or zip file) that contains the contents of
-	 * this module. (a single IPublishableResource, e.g.
-	 * myejb.jar) Also, getLocation() should return the full path
-	 * up to and including the binary itself. (e.g.
-	 * c:\temp\myejb.jar)</p>
-	 * 
-	 * <p>If false, members() should return the entire contents
-	 * of the module, starting at the root. There should be no
-	 * preceeding directory structure. (an array of
-	 * IPublishableResources, e.g. index.html, WEB-INF/web.xml,
-	 * ...) In this case, getLocation() should return the path to
-	 * the root folder containing these resources.</p>
-	 * 
-	 * @return boolean
-	 */
-	public boolean isBinary();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ILooseArchiveSupport.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ILooseArchiveSupport.java
deleted file mode 100644
index 7a82709..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ILooseArchiveSupport.java
+++ /dev/null
@@ -1,42 +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.jst.server.core;
-
-import org.eclipse.wst.server.core.IModule;
-/**
- * Used to represent loose archive support in a J2EE module.
- * <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>
- * @since 1.0
- */
-public interface ILooseArchiveSupport {
-	/**
-	 * Return the loose archives that are contained within this enterprise
-	 * application. The returned modules will all be adaptable to ILooseArchive.
-	 *
-	 * @return a possibly empty array of modules contained within this application
-	 */
-	public IModule[] getLooseArchives();
-
-	/**
-	 * Returns the URI of the given loose archive within this
-	 * enterprise application.
-	 *
-	 * @param archive a loose archive
-	 * @return the URI of the given archive, or <code>null</code> if the URI could
-	 *    not be found
-	 */
-	public String getURI(ILooseArchive archive);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java
deleted file mode 100644
index 19ad3e8..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java
+++ /dev/null
@@ -1,53 +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.jst.server.core;
-/**
- * A J2EE web module.
- * <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>
- * @since 1.0
- */
-public interface IWebModule extends IJ2EEModule {
-	/**
-	 * Returns a version number in the form "x.y.z".
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getServletSpecificationVersion();
-
-	/**
-	 * Returns a version number in the form "x.y.z".
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getJSPSpecificationVersion();
-
-	/**
-	 * Returns the context root of the module.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getContextRoot();
-	
-	/**
-	 * Returns false if the files in this module are placed in the
-	 * correct structure for testing before publishing. Returns true
-	 * if the file system resources must be published before they will
-	 * work.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isPublishRequired();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java
deleted file mode 100644
index 8eb1990..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java
+++ /dev/null
@@ -1,56 +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.jst.server.core;
-
-import java.util.Properties;
-/**
- * A representation of an object in JNDI that can be tested on a server.
- * <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>
- * @since 1.0
- */
-public class JndiLaunchable {
-	private Properties props;
-	private String jndiName;
-
-	/**
-	 * Create a reference to an object that is launchable via JNDI.
-	 * 
-	 * @param props the JNDI properties required to connect to the object
-	 * @param jndiName the JNDI name of the object
-	 */
-	public JndiLaunchable(Properties props, String jndiName) {
-		this.jndiName = jndiName;
-		this.props = props;
-	}
-
-	/**
-	 * Returns the JNDI properties required to connect to the object.
-	 * 
-	 * @return the JNDI properties required to connect to the object
-	 */
-	public Properties getProperties() {
-		return props;
-	}
-
-	/**
-	 * Returns the JNDI name of the object.
-	 * 
-	 * @return the JNDI name of the object
-	 */
-	public String getJNDIName() {
-		return jndiName;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiObject.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiObject.java
deleted file mode 100644
index ae0ebc8..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiObject.java
+++ /dev/null
@@ -1,55 +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.jst.server.core;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-/**
- * A representation of an object in JNDI that can be tested on a server.
- * <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>
- * @since 1.0
- */
-public class JndiObject implements IModuleArtifact {
-	private IModule module;
-	private String jndiName;
-
-	/**
-	 * Create a reference to an object in JNDI.
-	 * 
-	 * @param module the module that the object is contained in
-	 * @param jndiName the JNDI name of the object
-	 */
-	public JndiObject(IModule module, String jndiName) {
-		this.module = module;
-		this.jndiName = jndiName;
-	}
-
-	/**
-	 * @see IModuleArtifact#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Return the JNDI name of the object.
-	 * 
-	 * @return the JNDI name of the object
-	 */
-	public String getJndiName() {
-		return jndiName;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java
deleted file mode 100644
index 797e221..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java
+++ /dev/null
@@ -1,74 +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.jst.server.core;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-/**
- * A J2EE Servlet.
- * <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>
- * @since 1.0
- */
-public class Servlet implements IModuleArtifact {
-	private IModule module;
-	private String className;
-	private String alias;
-	
-	/**
-	 * Create a reference to a servlet.
-	 * 
-	 * @param module the module that the servlet is contained in
-	 * @param className the class name of the servlet
-	 * @param alias the servlet's alias
-	 */
-	public Servlet(IModule module, String className, String alias) {
-		this.module = module;
-		this.className = className;
-		this.alias = alias;
-	}
-
-	/**
-	 * @see IModuleArtifact#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Return the class name of the servlet.
-	 * 
-	 * @return the class name of the servlet
-	 */
-	public String getServletClassName() {
-		return className;
-	}
-	
-	/**
-	 * Return the servlet's alias.
-	 * 
-	 * @return the servlet's alias
-	 */
-	public String getAlias() {
-		return alias;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "Servlet [module=" + module + ", class=" + className + ", alias=" + alias + "]";
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
deleted file mode 100644
index 738d034..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
+++ /dev/null
@@ -1,120 +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.jst.server.core.internal;
-
-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.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- *
- */
-public class GenericRuntime extends RuntimeDelegate implements IGenericRuntime, IGenericRuntimeWorkingCopy {
-	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 generic runtime.
-	 */
-	public GenericRuntime() {
-		// do nothing
-	}
-
-	protected String getVMInstallTypeId() {
-		return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-
-	protected String getVMInstallId() {
-		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * @see IGenericRuntime#getVMInstall()
-	 */
-	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;
-		
-		IRuntime runtime = getRuntime();
-
-		IPath path = runtime.getLocation();
-		if (!path.toFile().exists())
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorLocation, null);
-		else if (getVMInstall() == null)
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorJRE, null);
-		else
-			return new Status(IStatus.OK, JavaServerPlugin.PLUGIN_ID, 0, "", null);
-	}
-
-	/**
-	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-		setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-	}
-
-	/**
-	 * @see IGenericRuntimeWorkingCopy#setVMInstall(IVMInstall)
-	 */
-	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/GenericRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeTargetHandler.java
deleted file mode 100644
index 4be235c..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeTargetHandler.java
+++ /dev/null
@@ -1,64 +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.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.ClasspathRuntimeTargetHandler;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class GenericRuntimeTargetHandler extends ClasspathRuntimeTargetHandler {
-	/**
-	 * @see ClasspathRuntimeTargetHandler#getDelegateClasspathEntries(IRuntime, IProgressMonitor)
-	 */
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		GenericRuntime genericRuntime = (GenericRuntime) runtime.getAdapter(GenericRuntime.class);
-		IVMInstall vmInstall = genericRuntime.getVMInstall();
-		if (vmInstall != null) {
-			String name = vmInstall.getName();
-			String typeId = vmInstall.getVMInstallType().getId();
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(name)) };
-		}
-		return null;
-	}
-
-	/**
-	 * @see ClasspathRuntimeTargetHandler#getClasspathContainerLabel(IRuntime, String)
-	 */
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		return runtime.getRuntimeType().getName();
-	}
-
-	/** (non-Javadoc)
-	 * @see ClasspathRuntimeTargetHandler#resolveClasspathContainer(IRuntime, String)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) {
-		IPath installPath = runtime.getLocation();
-		
-		if (installPath == null)
-			return new IClasspathEntry[0];
-		
-		List list = new ArrayList();
-		addLibraryEntries(list, installPath.toFile(), false);
-		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/GenericRuntimeUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java
deleted file mode 100644
index 0d77532..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java
+++ /dev/null
@@ -1,43 +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.jst.server.core.internal;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * Utility methods for the generic J2EE runtime.
- * 
- * @since 1.0
- */
-public class GenericRuntimeUtil {
-	protected static final String RUNTIME_TYPE_ID = "org.eclipse.jst.server.core.runtimeType";
-
-	/**
-	 * Cannot create GenericRuntimeUtil - use static methods.
-	 */
-	private GenericRuntimeUtil() {
-		// can't create
-	}
-
-	/**
-	 * Returns <code>true</code> if the given runtime is a generic J2EE runtime, and
-	 * <code>false</code> otherwise. The runtime may not be null.
-	 * 
-	 * @param runtime 
-	 * @return <code>true</code> if 
-	 */
-	public static boolean isGenericJ2EERuntime(IRuntime runtime) {
-		if (runtime == null)
-			throw new IllegalArgumentException();
-
-		return (runtime.getRuntimeType() != null &&
-			runtime.getRuntimeType().getId().startsWith(RUNTIME_TYPE_ID));
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java
deleted file mode 100644
index fd308e2..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java
+++ /dev/null
@@ -1,24 +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.jst.server.core.internal;
-
-import org.eclipse.jdt.launching.IVMInstall;
-/**
- * @since 1.0
- */
-public interface IGenericRuntime {
-	/**
-	 * Return the VM install (installed JRE) that this runtime is using.
-	 * 
-	 * @return the current VM install
-	 */
-	public IVMInstall getVMInstall();
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
deleted file mode 100644
index 070727b..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,25 +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.jst.server.core.internal;
-
-import org.eclipse.jdt.launching.IVMInstall;
-/**
- * @since 1.0
- */
-public interface IGenericRuntimeWorkingCopy extends IGenericRuntime {
-	/**
-	 * Set the VM install (installed JRE) that this runtime is using.
-	 * Use <code>null</code> to use the Eclipse default JRE.
-	 * 
-	 * @param vmInstall the VM install to use
-	 */
-	public void setVMInstall(IVMInstall vmInstall);
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/IMemento.java
deleted file mode 100644
index 398c72c..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/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.jst.server.core.internal;
-
-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.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java
deleted file mode 100644
index 5776860..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java
+++ /dev/null
@@ -1,59 +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.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.core.IJ2EEModule;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * Utility class for dealing with J2EE modules.
- * 
- * @since 1.0
- */
-public class J2EEUtil {
-	/**
-	 * Returns the enterprise applications that the module is contained within.
-	 * 
-	 * @param module
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly empty array of enterprise applications
-	 */
-	public static IModule[] getEnterpriseApplications(IJ2EEModule module, IProgressMonitor monitor) {
-		List list = new ArrayList();
-		IModule[] modules = ServerUtil.getModules("j2ee.ear");
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				IModule module2 = modules[i];
-				IEnterpriseApplication ear = (IEnterpriseApplication) module2.loadAdapter(IEnterpriseApplication.class, monitor);
-				if (ear != null) {
-					IModule[] modules2 = ear.getModules();
-					if (modules2 != null) {
-						int size2 = modules2.length;
-						for (int j = 0; j < size2; j++) {
-							if (module.equals(modules2[j].loadAdapter(IJ2EEModule.class, monitor)))
-								list.add(module2);
-						}
-					}
-				}
-			}
-		}
-		IModule[] ears = new IModule[list.size()];
-		list.toArray(ears);
-		return ears;
-	}
-}
\ 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/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
deleted file mode 100644
index dc1419b..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
+++ /dev/null
@@ -1,60 +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.jst.server.core.internal;
-
-import org.eclipse.core.runtime.*;
-/**
- * The main server tooling plugin class.
- */
-public class JavaServerPlugin extends Plugin {
-	/**
-	 * Java server plugin id
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.core";
-
-	// singleton instance of this class
-	private static JavaServerPlugin singleton;
-
-	/**
-	 * Create the JavaServerPlugin.
-	 */
-	public JavaServerPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return a singleton instance
-	 */
-	public static JavaServerPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status a status
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-	
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param t a throwable
-	 */
-	public static void log(Throwable t) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "Internal error", t)); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
deleted file mode 100644
index 6b94bbe..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
+++ /dev/null
@@ -1,56 +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.jst.server.core.internal;
-/**
- * 
- */
-public class LaunchConfigurationUtil {
-	/**
-	 * Gets the classpath from the launch configuration of the given server.
-	 * If create is false, it will return null if there is no launch configuration
-	 * (i.e. the server has not been run before) If create is true, it will create
-	 * a launch configuration if one does not exist.
-	 *
-	 * @param server
-	 * @param create
-	 * @param monitor a progress monitor
-	 * @return an array containing runtime classpath entries
-	 * @throws CoreException
-	 */
-	/*public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create, IProgressMonitor monitor) throws CoreException {
-		ILaunchConfiguration config = server.getLaunchConfiguration(create, monitor);
-		if (config == null)
-			return null;
-		
-		return JavaRuntime.computeUnresolvedRuntimeClasspath(config);
-	}*/
-
-	/**
-	 * Sets the classpath on the given server's launch configuration.
-	 *
-	 * @param server
-	 * @param classpath
-	 * @throws CoreException
-	 */
-	/*public static void setClasspath(IServer server, IRuntimeClasspathEntry[] classpath, IProgressMonitor monitor) throws CoreException {
-		ILaunchConfiguration config = server.getLaunchConfiguration(true, monitor);
-		ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy();
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-	
-		List mementos = new ArrayList(classpath.length);
-		for (int i = 0; i < classpath.length; i++) {
-			IRuntimeClasspathEntry entry = classpath[i];
-			mementos.add(entry.getMemento());
-		}
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, mementos);
-		wc.doSave();
-	}*/
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/Messages.java
deleted file mode 100644
index 7ff7866..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 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.jst.server.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String errorLocation;
-	public static String errorJRE;
-	public static String classpathContainerDescription;
-	
-	static {
-		NLS.initializeMessages(JavaServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties
deleted file mode 100644
index e365f11..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 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
-###############################################################################
-
-classpathContainerDescription=Server Classpath Container
-
-errorLocation=Invalid location.
-errorJRE=Invalid JRE.
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/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
deleted file mode 100644
index fcdb825..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
+++ /dev/null
@@ -1,88 +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.jst.server.core.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jst.server.core.ClasspathRuntimeTargetHandler;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class RuntimeClasspathContainer implements IClasspathContainer {
-	/**
-	 * The server container id.
-	 */
-	public static final String SERVER_CONTAINER = JavaServerPlugin.PLUGIN_ID + ".container";
-	
-	private IPath path;
-	private ClasspathRuntimeTargetHandler delegate;
-	private IRuntime runtime;
-	
-	private String id;
-	
-	/**
-	 * Create a new runtime classpath container.
-	 * 
-	 * @param path
-	 * @param delegate
-	 * @param runtime
-	 * @param id
-	 */
-	public RuntimeClasspathContainer(IPath path, ClasspathRuntimeTargetHandler delegate, IRuntime runtime, String id) {
-		this.path = path;
-		this.delegate = delegate;
-		this.runtime = runtime;
-		this.id = id;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getClasspathEntries()
-	 */
-	public IClasspathEntry[] getClasspathEntries() {
-		IClasspathEntry[] entries = null;
-		if (delegate != null && runtime != null)
-			entries = delegate.resolveClasspathContainerImpl(runtime, id);
-
-		if (entries == null)
-			return new IClasspathEntry[0];
-		
-		return entries;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getDescription()
-	 */
-	public String getDescription() {
-		String s = delegate.getClasspathContainerLabel(runtime, id);
-		
-		if (s != null)
-			return s;
-		
-		return Messages.classpathContainerDescription;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getKind()
-	 */
-	public int getKind() {
-		return IClasspathContainer.K_APPLICATION;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getPath()
-	 */
-	public IPath getPath() {
-		return path;
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
deleted file mode 100644
index cbb1d07..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
+++ /dev/null
@@ -1,97 +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.jst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jst.server.core.*;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeTargetHandler;
-import org.eclipse.wst.server.core.ServerCore;
-/**
- * 
- */
-public class RuntimeClasspathContainerInitializer extends ClasspathContainerInitializer {
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#initialize(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public void initialize(IPath containerPath, IJavaProject project) throws CoreException {
-		if (containerPath.segmentCount() > 0) {
-			if (containerPath.segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER)) {
-				ClasspathRuntimeTargetHandler crth = null;
-				IRuntime runtime = null;
-				String id = "";
-				if (containerPath.segmentCount() > 2) {
-					IRuntimeTargetHandler handler = ServerCore.findRuntimeTargetHandler(containerPath.segment(1));
-					if (handler != null)
-						crth = (ClasspathRuntimeTargetHandler) handler.getAdapter(ClasspathRuntimeTargetHandler.class);
-					String runtimeId = containerPath.segment(2);
-					if (runtimeId != null)
-						runtime = ServerCore.findRuntime(runtimeId);
-					if (containerPath.segmentCount() > 3)
-						id = containerPath.segment(3);
-				}
-				RuntimeClasspathContainer container = new RuntimeClasspathContainer(containerPath, crth, runtime, id);
-				JavaCore.setClasspathContainer(containerPath, new IJavaProject[] {project}, new IClasspathContainer[] {container}, null);
-			}
-		}
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getDescription(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public String getDescription(IPath containerPath, IJavaProject project) {
-		return Messages.classpathContainerDescription;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#canUpdateClasspathContainer(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) {
-		return true;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#requestClasspathContainerUpdate(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IClasspathContainer)
-	 */
-	public void requestClasspathContainerUpdate(IPath containerPath, IJavaProject project, IClasspathContainer containerSuggestion) throws CoreException {
-		if (containerPath.segmentCount() > 0) {
-			if (containerPath.segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER)) {
-				ClasspathRuntimeTargetHandler crth = null;
-				IRuntime runtime = null;
-				String id = "";
-				if (containerPath.segmentCount() > 2) {
-					IRuntimeTargetHandler handler = ServerCore.findRuntimeTargetHandler(containerPath.segment(1));
-					if (handler != null) {
-						crth = (ClasspathRuntimeTargetHandler) handler.getAdapter(ClasspathRuntimeTargetHandler.class);
-					}
-					String runtimeId = containerPath.segment(2);
-					if (runtimeId != null)
-						runtime = ServerCore.findRuntime(runtimeId);
-					if (containerPath.segmentCount() > 3)
-						id = containerPath.segment(3);
-					crth.requestClasspathContainerUpdate(runtime, id, containerSuggestion.getClasspathEntries());
-				}
-			}
-		}
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getComparisonID(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public Object getComparisonID(IPath containerPath, IJavaProject project) {
-		if (containerPath == null)
-			return null;
-		
-		return containerPath.toPortableString();
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/Trace.java
deleted file mode 100644
index ff7db57..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java
+++ /dev/null
@@ -1,65 +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.jst.server.core.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Config tracing
-	 */
-	public static byte CONFIG = 0;
-	/**
-	 * Warning tracing
-	 */
-	public static byte WARNING = 1;
-	/**
-	 * Severe tracing
-	 */
-	public static byte SEVERE = 2;
-	/**
-	 * Finest tracing
-	 */
-	public static byte FINEST = 3;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 * @param t Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!JavaServerPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(JavaServerPlugin.PLUGIN_ID + " " +s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java
deleted file mode 100644
index 01b81c9..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,388 +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.jst.server.core.internal;
-
-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
-	 * @return org.eclipse.ui.IMemento
-	 * @exception java.io.IOException
-	 */
-	public static IMemento loadMemento(String filename) throws IOException {
-		return XMLMemento.createReadRoot(new FileInputStream(filename));
-	}
-
-	/*
-	 * @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.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java
deleted file mode 100644
index de2f447..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 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:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import java.net.URL;
-/**
- *
- */
-public class CactusLaunchable {
-	private String fProjectname;
-	private String fClassName;
-	private String fTestName;
-	private URL fCactusURL;
-
-	public CactusLaunchable(String projectName, String className, String testName, URL cactusURL) {
-		fProjectname = projectName;
-		fClassName = className;
-		fTestName = testName;
-		fCactusURL = cactusURL;
-	}
-
-	public String getTestClassName() {
-		return fClassName;
-	}
-
-	public String getTestName() {
-		return fTestName;
-	}
-
-	public String getProjectName() {
-		return fProjectname;
-	}
-
-	public URL getCactusURL() {
-		return fCactusURL;
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java
deleted file mode 100644
index 0b34149..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 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:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-/**
- *
- */
-public class CactusLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
-		if (moduleArtifact instanceof WebTestableResource) {
-			WebTestableResource resource = (WebTestableResource) moduleArtifact;
-			URL url = ((IURLProvider) server.getAdapter(IURLProvider.class))
-					.getModuleRootURL(resource.getModule());
-			
-			String urlString = url.toString();
-			if (urlString.endsWith("/")) {
-				try {
-					url = new URL(urlString.substring(0, urlString.length() - 1));
-				} catch (MalformedURLException e) {
-					JavaServerPlugin.log(e);
-					return null;
-				}
-			}
-			return new CactusLaunchable(resource.getProjectName(),
-					resource.getClassName(), resource.getTestName(), url);
-		}
-		return null;
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java
deleted file mode 100644
index af5ecb0..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 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:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate;
-/**
- *
- */
-public class CactusModuleArtifactAdapterDelegate extends ModuleArtifactAdapterDelegate {
-	private static final String SERVLET_TEST_CASE_TYPE = "org.apache.cactus.ServletTestCase";
-
-	public IModuleArtifact getModuleArtifact(Object obj) {
-		String methodName = "";
-		if (obj instanceof IMethod) {
-			IMethod method = (IMethod) obj;
-			methodName = method.getElementName();
-			obj = method.getCompilationUnit();
-		}
-		if (obj instanceof IAdaptable) {
-			IResource resource = (IResource) ((IAdaptable) obj).getAdapter(IResource.class);
-			String testClassName = getClassNameForType(resource,
-					SERVLET_TEST_CASE_TYPE);
-			String projectName = resource.getProject().getName();
-			if (testClassName != null) {
-				return new WebTestableResource(getModule(resource.getProject()),
-						false, projectName, testClassName, methodName);
-			}
-		}
-		return null;
-	}
-
-	public static String getClassNameForType(IResource resource, String superType) {
-		if (resource == null)
-			return null;
-		try {
-			IProject project = resource.getProject();
-			IPath path = resource.getFullPath();
-			if (!project.hasNature(JavaCore.NATURE_ID) || path == null)
-				return null;
-			
-			IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-			if (!javaProject.isOpen())
-				javaProject.open(new NullProgressMonitor());
-			
-			// output location may not be on classpath
-			IPath outputPath = javaProject.getOutputLocation();
-			if (outputPath != null
-					&& "class".equals(path.getFileExtension()) && outputPath.isPrefixOf(path)) { //$NON-NLS-1$
-				int count = outputPath.segmentCount();
-				path = path.removeFirstSegments(count);
-			}
-			
-			// remove initial part of classpath
-			IClasspathEntry[] classPathEntry = javaProject.getResolvedClasspath(true);
-			if (classPathEntry != null) {
-				int size = classPathEntry.length;
-				for (int i = 0; i < size; i++) {
-					IPath classPath = classPathEntry[i].getPath();
-					if (classPath.isPrefixOf(path)) {
-						int count = classPath.segmentCount();
-						path = path.removeFirstSegments(count);
-						i += size;
-					}
-				}
-			}
-
-			// get java element
-			IJavaElement javaElement = javaProject.findElement(path);
-			IType[] types = getTypes(javaElement);
-			if (types != null) {
-				int size2 = types.length;
-				for (int i = 0; i < size2; i++) {
-					if (hasSuperclass(types[i], superType))
-						return types[i].getFullyQualifiedName();
-				}
-			}
-			return null;
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	private static IType[] getTypes(IJavaElement element) {
-		try {
-			if (element.getElementType() != IJavaElement.COMPILATION_UNIT)
-				return null;
-			return ((ICompilationUnit) element).getAllTypes();
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public static boolean hasSuperclass(IType type, String superClassName) {
-		try {
-			ITypeHierarchy hierarchy = type.newSupertypeHierarchy(null);
-			IType[] superClasses = hierarchy.getAllSuperclasses(type);
-			int size = superClasses.length;
-			for (int i = 0; i < size; i++) {
-				if (superClassName.equals(superClasses[i].getFullyQualifiedName())) //$NON-NLS-1$
-					return true;
-			}
-			return false;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	protected static IModule getModule(IProject project) {
-		IModule deployable = null;
-		Iterator iterator = Arrays.asList(ServerUtil.getModules("j2ee.web")).iterator();
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-			if (next instanceof IModule) {
-				deployable = (IModule) next;
-				if (deployable.getProject().equals(project))
-					return deployable;
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java
deleted file mode 100644
index e3b6c52..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 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:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-/**
- * 
- */
-public class ServletTestCasePropertyTester extends PropertyTester {
-	public static final String PROPERTY_IS_SERVLET_TEST_CASE = "isServletTestCase";
-	private static final String TEST_SUPERCLASS_NAME = "org.apache.cactus.ServletTestCase";
-
-	public boolean test(Object receiver, String method, Object[] args, Object expectedValue) {
-		IJavaElement javaElement = null;
-		if (receiver instanceof IAdaptable) {
-			javaElement = (IJavaElement) ((IAdaptable) receiver).getAdapter(IJavaElement.class);
-		}
-		if (javaElement != null) {
-			if (!javaElement.exists()) {
-				return false;
-			}
-		}
-		if (javaElement instanceof IJavaProject
-				|| javaElement instanceof IPackageFragmentRoot
-				|| javaElement instanceof IPackageFragment) {
-			return true;
-		}
-		if (javaElement != null) {
-			if (PROPERTY_IS_SERVLET_TEST_CASE.equals(method)) { //$NON-NLS-1$
-				return isServletTestCase(javaElement);
-			}
-		}
-		return false;
-	}
-
-	private boolean isServletTestCase(IJavaElement element) {
-		IType testType = null;
-
-		try {
-			if (element instanceof ICompilationUnit) {
-				ICompilationUnit cu = (ICompilationUnit) element;
-				testType = cu.getType(Signature.getQualifier(cu.getElementName()));
-			} else if (element instanceof IClassFile) {
-				testType = ((IClassFile) element).getType();
-			} else if (element instanceof IType) {
-				testType = (IType) element;
-			} else if (element instanceof IMember) {
-				testType = ((IMember) element).getDeclaringType();
-			}
-
-			if (testType != null && testType.exists() && isTestOrSuite(testType)) {
-				return true;
-			}
-		} catch (JavaModelException e) {
-			// TODO: what do we do here?
-			JavaServerPlugin.log(e);
-		}
-		return false;
-	}
-
-	/**
-	 * 
-	 * @param testType
-	 * @return true if the type is a test, false otherwise
-	 */
-	private boolean isTestOrSuite(IType testType) throws JavaModelException {
-		IType[] types = testType.newSupertypeHierarchy(null).getAllSuperclasses(testType);
-		for (int i = 0; i < types.length; i++) {
-			if (types[i].getFullyQualifiedName().equals(TEST_SUPERCLASS_NAME)) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
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/sjavacore/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java
deleted file mode 100644
index c760ce8..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 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:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.server.core.internal.cactus;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-
-public class WebTestableResource implements IModuleArtifact {
-	private IModule fModule;
-	private boolean fServletIsConfigured;
-	private String fClassName;
-	private String fTestName;
-	private String fProjectName;
-
-	public WebTestableResource(IModule module, boolean servletIsConfigured,
-			String projectName, String className, String testName) {
-		fModule = module;
-		fServletIsConfigured = servletIsConfigured;
-		fClassName = className;
-		fTestName = testName;
-		fProjectName = projectName;
-	}
-
-	public String getProjectName() {
-		return fProjectName;
-	}
-
-	public boolean isServletConfigured() {
-		return fServletIsConfigured;
-	}
-
-	public IModule getModule() {
-		return fModule;
-	}
-
-	public String getClassName() {
-		return fClassName;
-	}
-
-	public String getTestName() {
-		return fTestName;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html
deleted file mode 100644
index 0dfa3c3..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../..//apistyles.css" type="text/css">
-<title>WTP API overview</title>
-</head>
-<body>
-<table width="500">
-<tr>
-<td>
-<p>Support for Java and J2EE server types.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The ClasspathRuntimeTargetHandler class provides a common subclass
-for runtime target handlers that need to modify a project's classpath
-when a project is targetted to a particular runtime.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>IGenericRuntime and its working copy provide type-specific access
-to the generic runtime type. When using a generic runtime, clients can
-access the type specific information by adapting to these types using
-<pre>IGenericRuntime gr = (IGenericRuntime) runtime.getAdapter(IGenericRuntime.class)</pre>.
-GenericRuntimeUtil contains some utility methods for handling the
-generic runtime type.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>IEnterpriseApplication, IEJBModule, IWebModule, IApplicationClientModule,
-and IConnectorModule are J2EE module interfaces meant to be implemented
-by module delegates that provide J2EE module support.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>ILooseArchive and ILooseArchiveSupport are module interfaces for modules
-that take advantage of loose archive support - allowing JARs contained within
-the module to be available in a separate Java project instead of directly
-within the module.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The remainder of the classes in this package are module artifact and
-launchable types to provide access to J2EE resource types for the server tool
-framework.</p>
-</td>
-</tr>
-</table>
-</body>
-</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/sjavacore/org/eclipse/jst/server/core/package.xml
deleted file mode 100644
index b4c0529..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-<p>Support for Java and J2EE server types.</p>
-
-<p>The ClasspathRuntimeTargetHandler class provides a common subclass
-for runtime target handlers that need to modify a project's classpath
-when a project is targetted to a particular runtime.</p>
-
-<p>IGenericRuntime and its working copy provide type-specific access
-to the generic runtime type. When using a generic runtime, clients can
-access the type specific information by adapting to these types using
-<pre>IGenericRuntime gr = (IGenericRuntime) runtime.getAdapter(IGenericRuntime.class)</pre>.
-GenericRuntimeUtil contains some utility methods for handling the
-generic runtime type.</p>
-
-<p>IEnterpriseApplication, IEJBModule, IWebModule, IApplicationClientModule,
-and IConnectorModule are J2EE module interfaces meant to be implemented
-by module delegates that provide J2EE module support.</p>
-
-<p>ILooseArchive and ILooseArchiveSupport are module interfaces for modules
-that take advantage of loose archive support - allowing JARs contained within
-the module to be available in a separate Java project instead of directly
-within the module.</p>
-
-<p>The remainder of the classes in this package are module artifact and
-launchable types to provide access to J2EE resource types for the server tool
-framework.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore b/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
deleted file mode 100644
index 42654c1..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-commonmodules.jar
-org.eclipse.jst.server.generic.modules_1.0.0.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.project b/plugins/org.eclipse.jst.server.generic.modules/.project
deleted file mode 100644
index af14ba8..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.classpath b/plugins/org.eclipse.jst.server.generic.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore b/plugins/org.eclipse.jst.server.generic.ui/.cvsignore
deleted file mode 100644
index 058a1b7..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-genericui.jar
-org.eclipse.jst.server.generic.ui_1.0.0.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.project b/plugins/org.eclipse.jst.server.generic.ui/.project
deleted file mode 100644
index af14ba8..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 7a0c057..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.generic.ui; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: genericui.jar
-Bundle-Activator: org.eclipse.jst.server.generic.ui.internal.GenericUiPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.generic.ui.internal
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.wst.server.ui,
- org.eclipse.debug.ui,
- org.eclipse.jdt.debug.ui,
- org.eclipse.jst.server.generic.core,
- org.eclipse.wst.server.core
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.server.generic.ui/build.properties b/plugins/org.eclipse.jst.server.generic.ui/build.properties
deleted file mode 100644
index 0fa6d51..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.genericui.jar = src/
-output.genericui.jar = bin/
-bin.includes = plugin.xml,\
-               genericui.jar,\
-               icons/,\
-               plugin.properties,\
-               META-INF/
-src.includes = build.properties
diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif
deleted file mode 100644
index 30de91f..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties b/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
deleted file mode 100644
index 0f78cc4..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-pluginName=Generic Server Plugin UI
-providerName=Eclipse.org
-pluginDescription=UI Components for the generic server plugin.
-
diff --git a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml b/plugins/org.eclipse.jst.server.generic.ui/plugin.xml
deleted file mode 100644
index 650f409..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <!--<extension point="org.eclipse.wst.server.ui.editorPages">
-      <page
-         id="org.eclipse.jst.server.generic.configuration.editor.webmodule"
-         order="20"
-         name="Lomboz server Edit"
-         typeIds="org.eclipse.jst.server.generic.*"
-         class="org.eclipse.jst.server.generic.ui.internal.GenericServerEditorPartFactory"/>
-   </extension>
-   
-    <extension point="org.eclipse.wst.server.ui.editorPageSections">
-      <section
-         id="org.eclipse.jst.server.generic.editor.general"
-         order="0"
-         insertionId="org.eclipse.wst.server.editor.overview.left"
-         typeIds="org.eclipse.jst.server.generic.*"
-         class="org.eclipse.jst.server.generic.ui.internal.GenericServerEditorSectionFactory"/>       
-   </extension>-->
- 	
-  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.generic.image.ui.launchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.generic.core.launchConfigurationType"
-      icon="icons/obj16/server.gif">
-    </launchConfigurationTypeImage>
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.generic.image.ui.ExternalLaunchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
-      icon="icons/obj16/server.gif">
-    </launchConfigurationTypeImage>
-  </extension>
-  
-  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.generic.core.launchConfigurationType"
-      class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
-      class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java
deleted file mode 100644
index d87abf6..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-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.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-
-
-public class GenericLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup{
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[7];
-		tabs[0] = new ServerLaunchConfigurationTab(getTypeIds());
-		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 JavaJRETab();
-		tabs[5].setLaunchConfigurationDialog(dialog);	 
-		tabs[6] = new CommonTab();
-		tabs[6].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}
-
-	private String[] getTypeIds() {
-		ArrayList list = new ArrayList();
-		IExtension[] extensions= ExtensionPointUtil.getGenericServerDefinitionExtensions();
-		 for (int i = 0; extensions!=null && i < extensions.length; i++) {
-			 IExtension extension = extensions[i];
-	         IConfigurationElement[] elements = ExtensionPointUtil.getConfigurationElements(extension);
-	         for (int j = 0; j < elements.length; j++) {
-	        	 IConfigurationElement element = elements[j];
-	        	 String genericRuntimeID = element.getAttribute("id");
-	        	 IServerType[] serverTypes = ServerCore.getServerTypes();
-	        	 for (int k = 0; k < serverTypes.length; k++) {
-					if(serverTypes[k].hasRuntime() && serverTypes[k].getRuntimeType().getId().equals(genericRuntimeID))
-						list.add(serverTypes[k].getId());
-				}
-	         }
-		 }
-		 return (String[])list.toArray(new String[list.size()]);
-	}
-	
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java
deleted file mode 100644
index 22621da..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-public class GenericServerComposite extends Composite {
-
-	private GenericServerCompositeDecorator[] fDecorators;
-	public GenericServerComposite(Composite parent, GenericServerCompositeDecorator[] decorators) {
-		super(parent, SWT.NONE);
-		fDecorators = decorators;
-        setLayoutData(new GridData(GridData.FILL_BOTH));
-        setLayout(new GridLayout(3,false));
-		createControl();
-	}
-
-	private void createControl(){
-		for (int i = 0; fDecorators!= null && i < fDecorators.length; i++) {
-			fDecorators[i].decorate(this);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java
deleted file mode 100644
index ce71a7a..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-
-/**
- * 
- * @author Gorkem Ercan
- */
-public interface GenericServerCompositeDecorator 
-{
-	/**
-	 * 
-	 * @param composite
-	 */
-	public abstract void decorate(GenericServerComposite composite);
-    /**
-	 * Called if all the fields are valid. This gives subclasses opportunity to
-	 * validate and take necessary actions.
-	 * 
-	 * @return
-	 */
-	public abstract boolean validate();
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java
deleted file mode 100644
index ddd8b3c..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-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.ServerCore;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-/**
- * A serverDefinitionType aware wizard for defining runtimes.
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerRuntimeWizardFragment extends ServerDefinitionTypeAwareWizardFragment {
-	
-	private GenericServerCompositeDecorator[] fDecorators;
-	Composite fParent;
-	
-	/**
-	 * Constructor
-	 */
-	public GenericServerRuntimeWizardFragment() {
-		super();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#isComplete()
-	 */
-	public boolean isComplete() {
-	  	RuntimeDelegate runtime = getRuntimeDelegate();
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate();
-		return (status != null && status.isOK());
-	}
-	
-	public void createContent(Composite parent, IWizardHandle handle) {
-		this.fParent = parent;
-		
-	}
-
-	
-	private String getServerDefinitionId(){
-		String currentDefinition= null;
-		if(getRuntimeDelegate()!=null)
-			currentDefinition =  getRuntimeDelegate().getRuntime().getRuntimeType().getId();
-		if(currentDefinition!= null && currentDefinition.length()>0)
-		{	
-			return currentDefinition;
-		}
-		return null;
-	}
-	
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#enter()
-	 */
-	public void enter() {
-	    if(getRuntimeDelegate()!=null)
-			getRuntimeDelegate().getRuntimeWorkingCopy().setName(createName());
-	    
-	    
-	    Control[] controls = fParent.getChildren();
-	    for (int i = 0; i < controls.length; i++) {
-			controls[i].dispose();
-		}
-	    // This block should really be in createContent 
-	    // moved here as a workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=98098
-		Map properties= null;
-		ServerRuntime definition=null;
-        if(getRuntimeDelegate()!=null){
- 			properties = getRuntimeDelegate().getServerInstanceProperties();
-			definition = getServerTypeDefinition(getServerDefinitionId(),properties);
-		}
-		fDecorators= new GenericServerCompositeDecorator[2]; 
-		fDecorators[0]= new JRESelectDecorator(getRuntimeDelegate());
-		fDecorators[1]= new ServerTypeDefinitionRuntimeDecorator(definition,properties,getWizard(),getRuntimeDelegate());
-		GenericServerComposite composite = new GenericServerComposite(fParent,fDecorators);
-		fParent.layout();
-	   //end 
-		
-	    for (int i = 0; i < fDecorators.length; i++) {
-			if(fDecorators[i].validate())
-				return;
-		}
-	}
-	
-	public void exit() {
-//		fRuntimeDelegate=null;
-	}
-
-
-	private String createName()
-	{
-	    RuntimeDelegate dl = getRuntimeDelegate();
-	    IRuntimeType runtimeType = dl.getRuntime().getRuntimeType();
-	    String name = GenericServerUIMessages.bind(GenericServerUIMessages.runtimeName,runtimeType.getName());
-		IRuntime[] list = ServerCore.getRuntimes();
-		int suffix = 1;
-		String suffixName=name;
-		for(int i=0;i<list.length;i++)
-	    {
-	        if((list[i].getName().equals(name)|| list[i].getName().equals(suffixName))&& !list[i].equals(dl.getRuntime()))
-	            suffix++;
-	        suffixName= name+" "+suffix;
-	    }
-	    
-		if(suffix>1)
-		    return suffixName;
-	    return name;
-	}
-	
-	private GenericServerRuntime getRuntimeDelegate(){
-		IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		if (wc == null)
-			return null;
-		return (GenericServerRuntime) wc.loadAdapter(GenericServerRuntime.class, new NullProgressMonitor());
-	}
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description()
-     */
-    public String description() {
-        String rName = getRuntimeName();
-        if(rName == null || rName.length()<1)
-            rName="Generic";      
-        return  GenericServerUIMessages.bind(GenericServerUIMessages.runtimeWizardDescription,rName);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
-     */
-    public String title() {
-        String rName = getRuntimeName();
-        if(rName == null || rName.length()<1)
-            rName="Generic";
-       return GenericServerUIMessages.bind(GenericServerUIMessages.runtimeWizardTitle,rName);
-    }
-    
-    private String getRuntimeName()
-    {
-       if(getRuntimeDelegate()!=null && getRuntimeDelegate().getRuntime()!=null)
-            return getRuntimeDelegate().getRuntime().getName();
-        return null;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java
deleted file mode 100644
index 1e0385f..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Helper class to get messages
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerUIMessages extends NLS{
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jst.server.generic.ui.internal.GenericServerUIMessages";//$NON-NLS-1$
-	public static String serverTypeGroup_label_browse;
-	public static String runtimeName;
-	public static String runtimeWizardDescription;
-	public static String runtimeWizardTitle;
-	public static String serverName;
-	public static String serverWizardDescription;
-	public static String serverWizardTitle;
-	public static String installed_jre_link;
-	public static String jre_select_label;
-	public static String defaultJRE;
-	public static String invalidPath;
-	
-	static{
-		  NLS.initializeMessages(RESOURCE_BUNDLE, GenericServerUIMessages.class);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties
deleted file mode 100644
index 972c2ed..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-serverWizardTitle=New {0} Server
-serverWizardDescription=Create a new {0} server 
-runtimeWizardTitle=New {0} Runtime
-runtimeWizardDescription=Define a new {0} runtime
-serverTypeGroup_label_browse=Browse...
-serverName = {0}(Generic)
-runtimeName= {0}(Generic)
-installed_jre_link = You can use <a>Installed JRE preferences</a> to create a new JRE
-jre_select_label= &JRE:
-defaultJRE = Default JRE
-invalidPath = {0} is not valid
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java
deleted file mode 100644
index 6d644c5..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * 
- *
- * @author Gorkem Ercan
- */
-public class GenericServerWizardFragment extends ServerDefinitionTypeAwareWizardFragment 
-{
-	private GenericServerCompositeDecorator[] fDecorators;
-
-	/**
-	 * 
-	 */
-	public boolean isComplete() {
-		for (int i = 0; fDecorators!=null && i < fDecorators.length; i++) {
-			if(fDecorators[i].validate())
-				return false;
-		}
-		ServerRuntime serverRuntime = getServerTypeDefinitionFor(getServer());
-		if(serverRuntime==null)
-		    return false;
-		return true;
-	}
-
-	public void createContent(Composite parent, IWizardHandle handle){
-		IServerWorkingCopy server = getServer();
-		GenericServer dl= (GenericServer)server.loadAdapter(GenericServer.class,null);
-		ServerRuntime definition = getServerTypeDefinitionFor(server);
-		fDecorators = new GenericServerCompositeDecorator[1];
-		fDecorators[0]=new ServerTypeDefinitionServerDecorator(definition,null,getWizard(),dl);
-		new GenericServerComposite(parent,fDecorators);
-		
-	}
-	/**
-     * @param server
-     * @return
-     */
-    private ServerRuntime getServerTypeDefinitionFor(IServerWorkingCopy server) {        
-        GenericServerRuntime runtime = (GenericServerRuntime)server.getRuntime().getAdapter(GenericServerRuntime.class);
-        if(runtime==null){
-            IRuntime wc = (IRuntime)getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-            runtime= (GenericServerRuntime)wc.getAdapter(GenericServerRuntime.class);
-            if(runtime==null)
-            	runtime= (GenericServerRuntime)wc.loadAdapter(GenericServerRuntime.class,new NullProgressMonitor());
-        }        
-        String id = runtime.getRuntime().getRuntimeType().getId();
-        if(id==null){   
-            return null;
-        }
-        Map runtimeProperties = runtime.getServerInstanceProperties();
-		ServerRuntime definition = getServerTypeDefinition(id,runtimeProperties);
-        return definition;
-    }
-
-    /**
-     * @return
-     */
-    private IServerWorkingCopy getServer() {
-        IServerWorkingCopy server = (IServerWorkingCopy)getTaskModel().getObject(TaskModel.TASK_SERVER);
-        return server;
-    }
-
-    public void enter() {
-    	getServer().setName(GenericServerUIMessages.bind(GenericServerUIMessages.serverName,getServerTypeDefinitionFor(getServer()).getName()));
-    			
-    }
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description()
-     */
-    public String description() {
-        String sName = getServerName();
-        if(sName==null || sName.length()<1)
-            sName="Generic";
-        return  GenericServerUIMessages.bind(GenericServerUIMessages.serverWizardDescription,sName);
-    }
-
-    private String getServerName()
-    {
-        if(getServer()!=null && getServer().getRuntime()!=null)
-           return getServer().getRuntime().getRuntimeType().getName();
-        return null;
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
-     */
-    public String title() {
-        String sName= getServerName();
-        if(sName==null || sName.length()<1)
-            sName="Generic";
-        return  GenericServerUIMessages.bind(GenericServerUIMessages.serverWizardTitle,sName);
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java
deleted file mode 100644
index 715f349..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author Gorkem Ercan
- */
-public class GenericUiPlugin extends AbstractUIPlugin {
-	
-    public static final String WIZBAN_IMAGE = "genericlogo";
-    //The shared instance.
-	private static GenericUiPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public GenericUiPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.generic.ui.GenericUiPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static GenericUiPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = GenericUiPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-    protected ImageRegistry createImageRegistry() {
-        ImageRegistry registry = new ImageRegistry();
-        ImageDescriptor desc = ImageDescriptor.createFromURL(getDefault().getBundle().getEntry("/icons/wizban/new_server_wiz.gif"));
-        registry.put(WIZBAN_IMAGE,desc);
-        return registry;
-    }
-  	public ImageDescriptor imageDescriptor(String key){
-		return getImageRegistry().getDescriptor(key);
-	}
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java
deleted file mode 100644
index 60180e2..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.ui.PlatformUI;
-
-
-public class JRESelectDecorator implements GenericServerCompositeDecorator {
-	private List installedJREs;
-	private String[] jreNames;
-	private GenericServerRuntime fRuntime;
-	public JRESelectDecorator(GenericServerRuntime runtime){
-		super();
-		fRuntime = runtime;
-	}
-	
-	public void decorate(final GenericServerComposite composite) {
-		updateJREs();
-		Link link = new Link(composite,SWT.NONE);
-		link.setLayoutData(new GridData(SWT.FILL,SWT.NONE,true,false,3,1));
-		link.setText(GenericServerUIMessages.installed_jre_link);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(GenericServerUIMessages.jre_select_label);
-		
-		final Combo combo = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setItems(jreNames);
-		GridData data = new GridData(SWT.FILL,SWT.NONE,false,false,2,1);
-		
-		combo.setLayoutData(data);
-		
-		combo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				int sel = combo.getSelectionIndex();
-				IVMInstall vmInstall = null;
-				if (sel > 0)
-					vmInstall = (IVMInstall) installedJREs.get(sel - 1);
-			
-				fRuntime.setVMInstall(vmInstall);
-				validate();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		link.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String currentVM = combo.getText();
-				if (showPreferencePage(composite)) {
-					updateJREs();
-					combo.setItems(jreNames);
-					combo.setText(currentVM);
-					if (combo.getSelectionIndex() == -1)
-						combo.select(0);
-				}
-			}
-		});
-
-		if (fRuntime!=null){
-			if(fRuntime.isUsingDefaultJRE()){
-				combo.select(0);
-			}else{
-				combo.setText(fRuntime.getVMInstall().getName());
-			}
-		}
-	}
-
-	
-	protected boolean showPreferencePage(GenericServerComposite composite) {
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode("org.eclipse.jdt.debug.ui.preferences.VMPreferencePage");
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		final PreferenceDialog dialog = new PreferenceDialog(composite.getShell(), manager2);
-		final boolean[] result = new boolean[] { false };
-		BusyIndicator.showWhile(composite.getDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				if (dialog.open() == Window.OK)
-					result[0] = true;
-			}
-		});
-		return result[0];
-	}
-	
-	protected void updateJREs() {
-		installedJREs = new ArrayList();
-		IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
-		int size = vmInstallTypes.length;
-		for (int i = 0; i < size; i++) {
-			IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls();
-			int size2 = vmInstalls.length;
-			for (int j = 0; j < size2; j++) {
-				installedJREs.add(vmInstalls[j]);
-			}
-		}
-		
-		size = installedJREs.size();
-		jreNames = new String[size+1];
-		jreNames[0] = GenericServerUIMessages.defaultJRE;
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i+1] = vmInstall.getName();
-		}
-	}
-	
-	
-	
-	public boolean validate() {
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java
deleted file mode 100644
index cbcbbb5..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,89 +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.jst.server.generic.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-/**
- * SWT Utility class.
- * Copied from org.eclipse.wst.server.ui.internal.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp the component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	/**
-	 * Convert DLUs to pixels.
-	 * 
-	 * @param comp a component
-	 * @param x pixels
-	 * @return dlus
-	 */
-	public static int convertHorizontalDLUsToPixels(Composite comp, int x) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertHorizontalDLUsToPixels(fontMetrics, x);
-	}
-
-	/**
-	 * Convert DLUs to pixels.
-	 * 
-	 * @param comp a component
-	 * @param y pixels
-	 * @return dlus
-	 */
-	public static int convertVerticalDLUsToPixels(Composite comp, int y) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertVerticalDLUsToPixels(fontMetrics, y);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java
deleted file mode 100644
index ccf3228..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Created on Oct 19, 2004
- */
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * A wizard fragment that provides support for serverdef files.
- *
- * @author Gorkem Ercan
- */
-public abstract class ServerDefinitionTypeAwareWizardFragment extends WizardFragment {
-
-    private IWizardHandle fWizard;
-	
-    public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-	    
-	    this.fWizard = handle;
-	    Composite container = new Composite(parent, SWT.NONE);
-		container.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout grid = new GridLayout(1,false);
-		container.setLayout(grid);
-		handle.setImageDescriptor(GenericUiPlugin.getDefault().imageDescriptor(GenericUiPlugin.WIZBAN_IMAGE));
-		handle.setTitle(title());
-		handle.setDescription(description());
-		createContent(container,handle);
-		return container;
-	}
-	public IWizardHandle getWizard(){
-	    return fWizard;
-	}
-	/**
-	 * Returns the description to be displayed on the wizard head.
-	 * @return
-	 */
-	public abstract String description();
-	/**
-	 * Returns the title of the wizard.
-	 * @return
-	 */
-	public abstract String title();
-	/**
-	 * Create the real content
-	 * @param parent
-	 * @param handle
-	 */
-	public abstract void createContent(Composite parent, IWizardHandle handle);
-
-	/**
-	 * Retuns the ServerRuntime.
-	 * @param definitionID
-	 * @param properties
-	 * @return
-	 */	
-	protected ServerRuntime getServerTypeDefinition(String definitionID, Map properties)
-	{
-	    return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(definitionID,properties);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java
deleted file mode 100644
index 8496920..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.jst.server.generic.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Provides the UI objects for gathering user information
- * for server properties.
- * 
- * @author Gorkem Ercan
- */
-public abstract class ServerTypeDefinitionDecorator implements GenericServerCompositeDecorator {
-
-	protected static final String CONTEXT_RUNTIME = Property.CONTEXT_RUNTIME;
-	protected static final String CONTEXT_SERVER = Property.CONTEXT_SERVER;
-	private ServerRuntime fDefinition;
-    private Map fProperties;
-	private String fContext;
-	private GenericServerComposite fComposite;
-	private Map fStatusMap= new HashMap();
-	private String fLastMessage = null;
-	protected IWizardHandle fWizard;
-	private List fPropertyControls= new ArrayList();
-
-	private final class PathModifyListener implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			String path = ((Text) e.widget).getText();
-			if(!pathExist(path)){
-				fLastMessage = GenericServerUIMessages.bind(GenericServerUIMessages.invalidPath,path);
-				fWizard.setMessage(fLastMessage,IMessageProvider.ERROR);
-			}else{
-				if(fLastMessage!=null && fLastMessage.equals(fWizard.getMessage())){
-					fLastMessage=null;
-					fWizard.setMessage(null,IMessageProvider.NONE);
-				}
-				validate();
-			}
-		}
-		private boolean pathExist(String path){
-			File f = new File(path);
-			return f.exists();
-		}
-	}
-
-	
-	public ServerTypeDefinitionDecorator(ServerRuntime definition, Map initialProperties, String context, IWizardHandle handle) {
-		super();
-		fDefinition = definition;
-		fProperties = initialProperties;
-		fContext = context;
-		fWizard = handle;
-	}
-
-	public void decorate(GenericServerComposite composite) {
-		fComposite=composite;
-		List properties =null; 
-		if(fDefinition==null){
-			properties= new ArrayList(0);
-		}
-		else{
-			properties= fDefinition.getProperty();
-		}
-		for (int i = 0; i < properties.size(); i++) {
-			Property property = (Property) properties.get(i);
-			if (this.fContext.equals(property.getContext()))
-				createPropertyControl(composite, property);
-		}
-	}
-
-	
-    private void createPropertyControl(Composite parent, Property property){
-    	if( "directory".equals(property.getType())) {
-    		Text path = createLabeledPath(property.getLabel(),getPropertyValue(property),parent);
-    		path.setData(property);
-    		registerControl(path);
-     	} else if( "file".equals(property.getType())) {
-    	    Text file = createLabeledFile(property.getLabel(),getPropertyValue(property),parent);
-    		file.setData(property);
-    		registerControl(file);
-       	} else if( "string".equals(property.getType())) {
-    	    Text str = createLabeledText(property.getLabel(),getPropertyValue(property),parent);
-    		str.setData(property);
-    		registerControl(str);
-       	} else if( "boolean".equals(property.getType())) {
-    	    Button bool =createLabeledCheck(property.getLabel(),("true".equals( getPropertyValue(property))),	parent);
-    		bool.setData(property);
-    		registerControl(bool);
-       	} else  {
-    	    Text defaultText= createLabeledText(property.getLabel(),getPropertyValue(property),parent);
-    		defaultText.setData(property);
-    		registerControl(defaultText);
-    	}
-    }
-    private void registerControl(Control control)
-    {
-    	fPropertyControls.add(control);
-    }
-    private Button createLabeledCheck(String title, boolean value, Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-
-    	Button fButton = new Button(defPanel, SWT.CHECK);
-    	
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 2;
-    	fButton.setLayoutData(gridData);
-    	fButton.setSelection(value);
-    	fButton.addSelectionListener(new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-              
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-  
-            }
-        });
-    	
-    	return fButton;
-    }
-    private Text createLabeledFile(String title, String value,final Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	final Text text = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 1;
-    	text.setLayoutData(gridData);
-    	text.setText(value);
-    	text.addModifyListener(new PathModifyListener());
-    	Button fButton = SWTUtil.createButton(defPanel,GenericServerUIMessages.serverTypeGroup_label_browse);
-    	
-    	fButton.addSelectionListener(new SelectionListener() {
-    		public void widgetSelected(SelectionEvent e) {
-    			FileDialog dlg = new FileDialog(defPanel.getShell());
-    			dlg.setFileName(text.getText().replace('\\','/'));
-    			String res = dlg.open();
-    			if (res != null) {
-    				text.setText(res.replace('\\','/'));
-
-    			}
-    		}
-    
-    		public void widgetDefaultSelected(SelectionEvent e) {
-    			widgetSelected(e);
-    		}
-    
-    	});
-    
-    	return text;
-    }
-	
-    private Text createLabeledPath(String title, String value,
-    		final Composite parent) {
-    	GridData gridData;
-    	Label label = new Label(parent, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	final Text text = new Text(parent, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL);
-    	gridData.horizontalSpan = 1;
-    	text.setLayoutData(gridData);
-    	text.setText(value);
-    	text.addModifyListener(new PathModifyListener());
-    	Button fButton = SWTUtil.createButton(parent,GenericServerUIMessages.serverTypeGroup_label_browse);
-    	fButton.addSelectionListener(new SelectionListener() {
-    		public void widgetSelected(SelectionEvent e) {
-    			DirectoryDialog dlg = new DirectoryDialog(parent.getShell());
-    			dlg.setFilterPath(text.getText().replace('\\','/'));
-    			String res = dlg.open();
-    			if (res != null) {
-    				text.setText(res.replace('\\','/'));
-
-    			}
-    		}
-    
-    		public void widgetDefaultSelected(SelectionEvent e) {
-    			widgetSelected(e);
-    		}
-    
-    	});
-    	return text;
-    }
-    private Text createLabeledText(String title, String value,
-    		Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	Text text = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 2;
-    	text.setLayoutData(gridData);
-    	text.setText(value);
-
-    	return text;
-    }
-	private String getPropertyValue(Property property)
-	{
-		String value = property.getDefault();
-		if(fProperties!=null && fProperties.isEmpty()==false)
-			value=(String)fProperties.get(property.getId()); 
-		return value;
-	}	
-
-
-	
-   /**
-    * Returns the property name/value pairs.
-    * @return
-    */
-	public Map getValues()
-    {
-		Map propertyMap = new HashMap();
-    	for(int i=0; i<fPropertyControls.size();i++)
-    	{
-    		if(fPropertyControls.get(i)instanceof Button)
-    		{
-    			Button button = (Button)fPropertyControls.get(i);
-    			Property prop = (Property)button.getData();
-    			propertyMap.put(prop.getId(),Boolean.toString(button.getSelection()));
-    		}
-    		else
-    		{
-    			Text text = (Text)fPropertyControls.get(i);
-    			Property prop = (Property)text.getData();
-    			propertyMap.put(prop.getId(),text.getText());
-    		}
-    	}
-    	return propertyMap;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java
deleted file mode 100644
index 6594b0b..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-public class ServerTypeDefinitionRuntimeDecorator extends ServerTypeDefinitionDecorator {
-
-	private GenericServerRuntime fRuntime;
-	public ServerTypeDefinitionRuntimeDecorator(ServerRuntime definition, Map initialProperties, IWizardHandle wizard, GenericServerRuntime runtime) {
-		super(definition, initialProperties,CONTEXT_RUNTIME,wizard);
-		fRuntime=runtime;
-	}
-
-	public boolean validate(){
-
-		if(fRuntime==null)
-			return false;
-		fRuntime.setServerDefinitionId(fRuntime.getRuntime().getRuntimeType().getId());
-        fRuntime.setServerInstanceProperties(getValues());
-       
-		IStatus status = fRuntime.validate();
-		
-		if (status == null || status.isOK()){
-
-			fWizard.setMessage(null, IMessageProvider.NONE);
-			fWizard.update();
-	        String wDir = fRuntime.getServerTypeDefinition().getResolver().resolveProperties(fRuntime.getServerTypeDefinition().getStart().getWorkingDirectory()); 
-	        fRuntime.getRuntimeWorkingCopy().setLocation(new Path(wDir));
-
-			return false;
-		}else
-		{
-			fWizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-			fWizard.update();
-			return true;
-		} 
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java
deleted file mode 100644
index 4bc53a2..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Server properties decorator.
- * @author Gorkem Ercan
- */
-public class ServerTypeDefinitionServerDecorator extends
-		ServerTypeDefinitionDecorator {
-	
-	private GenericServer fServer;
-	public ServerTypeDefinitionServerDecorator(ServerRuntime definition, Map initialProperties,IWizardHandle wizard,GenericServer server) {
-		super(definition, initialProperties,CONTEXT_SERVER, wizard);
-		fServer=server;
-	}
-
-	public boolean validate() {
-		if(fServer!=null)
-			fServer.setServerInstanceProperties(getValues());
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.classpath b/plugins/org.eclipse.jst.server.tomcat.core/.classpath
deleted file mode 100644
index df44c2e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="tomcatcore/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.cvsignore b/plugins/org.eclipse.jst.server.tomcat.core/.cvsignore
deleted file mode 100644
index b39eed9..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.tomcat.core_3.0.0.jar
-tomcatcore.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.options b/plugins/org.eclipse.jst.server.tomcat.core/.options
deleted file mode 100644
index ceeae58..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.tomcat.core plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.tomcat.core/debug=true
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.project b/plugins/org.eclipse.jst.server.tomcat.core/.project
deleted file mode 100644
index 31bbe42..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.tomcat.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
deleted file mode 100644
index d6a4808..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.tomcat.core; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.tomcat.core.internal;x-friends:="org.eclipse.jst.server.tomcat.ui",
- org.eclipse.jst.server.tomcat.core.internal.command;x-friends:="org.eclipse.jst.server.tomcat.ui",
- org.eclipse.jst.server.tomcat.core.internal.xml;x-friends:="org.eclipse.jst.server.tomcat.ui",
- org.eclipse.jst.server.tomcat.core.internal.xml.server32;x-friends:="org.eclipse.jst.server.tomcat.ui",
- org.eclipse.jst.server.tomcat.core.internal.xml.server40;x-friends:="org.eclipse.jst.server.tomcat.ui"
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.core.commands,
- org.eclipse.debug.core,
- org.eclipse.jdt.core,
- org.eclipse.jdt.launching,
- org.eclipse.wst.server.core,
- org.eclipse.jst.server.core
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/build.properties b/plugins/org.eclipse.jst.server.tomcat.core/build.properties
deleted file mode 100644
index 76f717a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               verifyInstall.properties,\
-               .options,\
-               .,\
-               META-INF/
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/
-source.. = tomcatcore/
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
deleted file mode 100644
index 2232a5a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 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
-###############################################################################
-pluginName=Apache Tomcat Support
-providerName=Eclipse.org
-
-# --------------- Runtime Types ---------------
-apache=Apache
-runtimeTypeTomcat32Label=Apache Tomcat v3.2
-runtimeTypeTomcat32Description=Apache Tomcat v3.2 supports J2EE 1.2 Web modules.
-runtimeTypeTomcat40Label=Apache Tomcat v4.0
-runtimeTypeTomcat40Description=Apache Tomcat v4.0 supports J2EE 1.2 and 1.3 Web modules.
-runtimeTypeTomcat41Label=Apache Tomcat v4.1
-runtimeTypeTomcat41Description=Apache Tomcat v4.1 supports J2EE 1.2 and 1.3 Web modules.
-runtimeTypeTomcat50Label=Apache Tomcat v5.0
-runtimeTypeTomcat50Description=Apache Tomcat v5.0 supports J2EE 1.2, 1.3, and 1.4 Web modules.
-runtimeTypeTomcat55Label=Apache Tomcat v5.5
-runtimeTypeTomcat55Description=Apache Tomcat v5.5 supports J2EE 1.2, 1.3, and 1.4 Web modules.
-
-# runtime target
-target32runtime=Tomcat v3.2 runtime
-target40runtime=Tomcat v4.0 runtime
-target41runtime=Tomcat v4.1 runtime
-target50runtime=Tomcat v5.0 runtime
-target55runtime=Tomcat v5.5 runtime
-
-# --------------- Servers ---------------
-tomcat32ServerType=Tomcat v3.2 Server
-tomcat32ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat40ServerType=Tomcat v4.0 Server
-tomcat40ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat41ServerType=Tomcat v4.1 Server
-tomcat41ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat50ServerType=Tomcat v5.0 Server
-tomcat50ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat55ServerType=Tomcat v5.5 Server
-tomcat55ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcatLaunchConfigurationType=Apache Tomcat
-
-# --------------- General ---------------
-canAddModule=Web module can be added to the server.
-canModifyModules=Web modules can be modified.
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
deleted file mode 100644
index e433387..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension point="org.eclipse.wst.server.core.runtimeTypes">
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.runtime.32"
-       name="%runtimeTypeTomcat32Label"
-       description="%runtimeTypeTomcat32Description"
-       vendor="%apache"
-       version="3.2"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.runtime.40"
-       name="%runtimeTypeTomcat40Label"
-       description="%runtimeTypeTomcat40Description"
-       vendor="%apache"
-       version="4.0"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.runtime.41"
-       name="%runtimeTypeTomcat41Label"
-       description="%runtimeTypeTomcat41Description"
-       vendor="%apache"
-       version="4.1"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.runtime.50"
-       name="%runtimeTypeTomcat50Label"
-       description="%runtimeTypeTomcat50Description"
-       vendor="%apache"
-       version="5.0"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3, 1.4"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.runtime.55"
-       name="%runtimeTypeTomcat55Label"
-       description="%runtimeTypeTomcat55Description"
-       vendor="%apache"
-       version="5.5"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3, 1.4"/>
-    </runtimeType>
-
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.runtimeLocators">
-    <runtimeLocator
-       id="org.eclipse.jst.server.tomcat.runtime.locator"
-       typeIds="org.eclipse.jst.server.tomcat.runtime.*"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeLocator"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.runtimeTargetHandlers">
-     <runtimeTargetHandler
-        id="org.eclipse.jst.server.tomcat.runtimeTarget"
-        runtimeTypeIds="org.eclipse.jst.server.tomcat.runtime.*"
-        class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeTargetHandler"/>
-   </extension>
-
-  <extension point="org.eclipse.wst.server.core.serverTypes">
-     <serverType
-       id="org.eclipse.jst.server.tomcat.32"
-       name="%tomcat32ServerType"
-       description="%tomcat32ServerDescription"
-       supportsRemoteHosts="false"
-       runtime="true"
-       startTimeout="45000"
-       stopTimeout="15000"
-       initialState="stopped"
-       hasConfiguration="true"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.32"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.40"
-       name="%tomcat40ServerType"
-       description="%tomcat40ServerDescription"
-       supportsRemoteHosts="false"
-       runtime="true"
-       startTimeout="45000"
-       stopTimeout="15000"
-       initialState="stopped"
-       hasConfiguration="true"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.40"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.41"
-       name="%tomcat41ServerType"
-       description="%tomcat41ServerDescription"
-       supportsRemoteHosts="false"
-       runtime="true"
-       startTimeout="45000"
-       stopTimeout="15000"
-       initialState="stopped"
-       hasConfiguration="true"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.41"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.50"
-       name="%tomcat50ServerType"
-       description="%tomcat50ServerDescription"
-       supportsRemoteHosts="false"
-       runtime="true"
-       startTimeout="45000"
-       stopTimeout="15000"
-       initialState="stopped"
-       hasConfiguration="true"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.50"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.55"
-       name="%tomcat55ServerType"
-       description="%tomcat55ServerDescription"
-       supportsRemoteHosts="false"
-       runtime="true"
-       startTimeout="45000"
-       stopTimeout="15000"
-       initialState="stopped"
-       hasConfiguration="true"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.55"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
-     </serverType>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.serverLocators">
-    <serverLocator
-       id="org.eclipse.jst.server.tomcat.server.locator"
-       supportsRemoteHosts="false"
-       typeIds="org.eclipse.jst.server.tomcat.*"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServerLocator"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.launchableAdapters">
-     <launchableAdapter
-        class="org.eclipse.jst.server.tomcat.core.internal.TomcatLaunchableAdapterDelegate"
-        id="org.eclipse.jst.server.tomcat.web"/>
-  </extension>
-
-  <extension point="org.eclipse.debug.core.sourcePathComputers">
-     <sourcePathComputer
-        id="org.eclipse.jst.server.tomcat.core.sourcePathComputer"
-        class="org.eclipse.jst.server.tomcat.core.internal.TomcatSourcePathComputerDelegate"/>
-  </extension>
-
-  <extension point="org.eclipse.debug.core.launchConfigurationTypes">
-     <launchConfigurationType
-        id="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-        name="%tomcatLaunchConfigurationType"
-        delegate="org.eclipse.jst.server.tomcat.core.internal.TomcatLaunchConfigurationDelegate"
-        modes="run, debug"
-        sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
-        sourcePathComputerId="org.eclipse.jst.server.tomcat.core.sourcePathComputer"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.publishTasks">
-     <publishTask
-        id="org.eclipse.jst.server.tomcat.core.contextTask"
-        typeIds="org.eclipse.jst.server.tomcat.*"
-        class="org.eclipse.jst.server.tomcat.core.internal.ContextPublishTaskDelegate"/>
-<!--     <publishTask
-        id="org.eclipse.jst.server.tomcat.core.publishTask"
-        typeIds="org.eclipse.jst.server.tomcat.*"
-        class="org.eclipse.jst.server.tomcat.core.internal.PublishTask"/>-->
-  </extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ClassDetector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ClassDetector.java
deleted file mode 100644
index 2ff8737..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ClassDetector.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-/**
- * Utility class to check for the existence of a class given as an
- * argument. 
- */
-public class ClassDetector {
-	public static void main(String[] args) {
-		if (args == null || args.length != 1) {
-			System.out.println("Usage: ClassDetector [className]");
-			return;
-		}
-		
-		try {
-			Class.forName(args[0]);
-			System.out.println("true");
-		} catch (Exception e) {
-			System.out.println("false");
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ContextPublishTaskDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ContextPublishTaskDelegate.java
deleted file mode 100644
index e16beb8..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ContextPublishTaskDelegate.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.jst.server.tomcat.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.tomcat.core.internal.command.FixModuleContextRootTask;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.core.model.PublishTaskDelegate;
-
-public class ContextPublishTaskDelegate extends PublishTaskDelegate {
-	public PublishOperation[] getTasks(IServer server, List modules) {
-		if (modules == null)
-			return null;
-	
-		TomcatServer tomcatServer = (TomcatServer) server.loadAdapter(TomcatServer.class, null);
-		TomcatConfiguration configuration = null;
-		try {
-			configuration = tomcatServer.getTomcatConfiguration();
-		} catch (Exception e) {
-			return null;
-		}
-		
-		List tasks = new ArrayList();
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			IModule[] module = (IModule[]) modules.get(i);
-			IModule m = module[module.length - 1];
-			IWebModule webModule = (IWebModule) m.loadAdapter(IWebModule.class, null);
-			WebModule webModule2 = configuration.getWebModule(m);
-			if (webModule != null && webModule2 != null) {
-				String contextRoot = webModule.getContextRoot();
-				if (contextRoot != null && !contextRoot.startsWith("/"))
-					contextRoot = "/" + contextRoot;
-				if (!contextRoot.equals(webModule2.getPath())) {
-					int index = configuration.getWebModules().indexOf(webModule2);
-					FixModuleContextRootTask task = new FixModuleContextRootTask(m, index, webModule.getContextRoot());
-					tasks.add(task);
-				}
-			}
-		}
-		
-		return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java
deleted file mode 100644
index a7574bc..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java
+++ /dev/null
@@ -1,280 +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.jst.server.tomcat.core.internal;
-
-import java.io.*;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-/**
- * Utility class with an assortment of useful file methods.
- */
-public class FileUtil {
-	// size of the buffer
-	private static final int BUFFER = 10240;
-
-	// the buffer
-	private static byte[] buf = new byte[BUFFER];
-
-	/**
-	 * FileUtil cannot be created. Use static methods.
-	 */
-	private FileUtil() {
-		super();
-	}
-
-	/**
-	 * Copys a directory from a to b.
-	 *
-	 * @param from java.lang.String
-	 * @param to java.lang.String
-	 * @param monitor a progress monitor, or <code>null</code>
-	 */
-	public static void copyDirectory(String from, String to, IProgressMonitor monitor) {
-		try {
-			File fromDir = new File(from);
-			File toDir = new File(to);
-	
-			File[] files = fromDir.listFiles();
-	
-			toDir.mkdir();
-	
-			// cycle through files
-			int size = files.length;
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(NLS.bind(Messages.copyingTask, new String[] {from, to}), size * 50);
-	
-			for (int i = 0; i < size; i++) {
-				File current = files[i];
-				String fromFile = current.getAbsolutePath();
-				String toFile = to;
-				if (!toFile.endsWith(File.separator))
-					toFile += File.separator;
-				toFile += current.getName();
-				if (current.isFile()) {
-					copyFile(fromFile, toFile);
-					monitor.worked(50);
-				} else if (current.isDirectory()) {
-					monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {fromFile, toFile}));
-					copyDirectory(fromFile, toFile, ProgressUtil.getSubMonitorFor(monitor, 50));
-				}
-				if (monitor.isCanceled())
-					return;
-			}
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error copying directory", e);
-		}
-	}
-
-	/**
-	 * Copy a file from a to b. Closes the input stream after use.
-	 *
-	 * @param in java.io.InputStream
-	 * @param to java.lang.String
-	 * @return a status
-	 */
-	public static IStatus copyFile(InputStream in, String to) {
-		OutputStream out = null;
-	
-		try {
-			out = new FileOutputStream(to);
-	
-			int avail = in.read(buf);
-			while (avail > 0) {
-				out.write(buf, 0, avail);
-				avail = in.read(buf);
-			}
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.copyingTask, new String[] {to}), null);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error copying file", e);
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception ex) {
-				// ignore
-			}
-			try {
-				if (out != null)
-					out.close();
-			} catch (Exception ex) {
-				// ignore
-			}
-		}
-	}
-
-	/**
-	 * Copy a file from a to b.
-	 *
-	 * @param from java.lang.String
-	 * @param to java.lang.String
-	 * @return a status
-	 */
-	public static IStatus copyFile(String from, String to) {
-		try {
-			return copyFile(new FileInputStream(from), to);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error copying file", e);
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e);
-		}
-	}
-
-	/**
-	 * Copy a file from a to b.
-	 *
-	 * @param from java.net.URL
-	 * @param to java.lang.String
-	 * @return a status
-	 */
-	public static IStatus copyFile(URL from, String to) {
-		try {
-			return copyFile(from.openStream(), to);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error copying file", e);
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e);
-		}
-	}
-
-	/**
-	 * Recursively deletes a directory.
-	 *
-	 * @param dir java.io.File
-	 * @param monitor a progress monitor, or <code>null</code>
-	 */
-	public static void deleteDirectory(File dir, IProgressMonitor monitor) {
-		try {
-			if (!dir.exists() || !dir.isDirectory())
-				return;
-	
-			File[] files = dir.listFiles();
-			int size = files.length;
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(NLS.bind(Messages.deletingTask, new String[] {dir.getAbsolutePath()}), size * 10);
-	
-			// cycle through files
-			for (int i = 0; i < size; i++) {
-				File current = files[i];
-				if (current.isFile()) {
-					current.delete();
-					monitor.worked(10);
-				} else if (current.isDirectory()) {
-					monitor.subTask(NLS.bind(Messages.deletingTask, new String[] {current.getAbsolutePath()}));
-					deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10));
-				}
-			}
-			dir.delete();
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error deleting directory " + dir.getAbsolutePath(), e);
-		}
-	}
-
-	/**
-	 * Copys a directory from a to b, only modifying as needed
-	 * and deleting old files and directories.
-	 *
-	 * @param from a directory
-	 * @param to a directory
-	 * @param monitor a progress monitor
-	 */
-	public static void smartCopyDirectory(String from, String to, IProgressMonitor monitor) {
-		try {
-			File fromDir = new File(from);
-			File toDir = new File(to);
-	
-			File[] fromFiles = fromDir.listFiles();
-			int fromSize = fromFiles.length;
-	
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(NLS.bind(Messages.copyingTask, new String[] {from, to}), 550);
-	
-			File[] toFiles = null;
-	
-			// delete old files and directories from this directory
-			if (toDir.exists() && toDir.isDirectory()) {
-				toFiles = toDir.listFiles();
-				int toSize = toFiles.length;
-	
-				// check if this exact file exists in the new directory
-				for (int i = 0; i < toSize; i++) {
-					String name = toFiles[i].getName();
-					boolean isDir = toFiles[i].isDirectory();
-					boolean found = false;
-					for (int j = 0; j < fromSize; j++) {
-						if (name.equals(fromFiles[j].getName()) && isDir == fromFiles[j].isDirectory())
-							found = true;
-					}
-	
-					// delete file if it can't be found or isn't the correct type
-					if (!found) {
-						if (isDir)
-							deleteDirectory(toFiles[i], new NullProgressMonitor());
-						else
-							toFiles[i].delete();
-					}
-					if (monitor.isCanceled())
-						return;
-				}
-			} else {
-				if (toDir.isFile())
-					toDir.delete();
-				toDir.mkdir();
-			}
-			monitor.worked(50);
-	
-			// cycle through files and only copy when it doesn't exist
-			// or is newer
-			toFiles = toDir.listFiles();
-			int toSize = toFiles.length;
-			int dw = 0;
-			if (toSize > 0)
-				dw = 500 / toSize;
-	
-			for (int i = 0; i < fromSize; i++) {
-				File current = fromFiles[i];
-	
-				// check if this is a new or newer file
-				boolean copy = true;
-				if (!current.isDirectory()) {
-					String name = current.getName();
-					long mod = current.lastModified();
-					for (int j = 0; j < toSize; j++) {
-						if (name.equals(toFiles[j].getName()) && mod <= toFiles[j].lastModified())
-							copy = false;
-					}
-				}
-	
-				if (copy) {
-					String fromFile = current.getAbsolutePath();
-					String toFile = to;
-					if (!toFile.endsWith(File.separator))
-						toFile += File.separator;
-					toFile += current.getName();
-					if (current.isFile()) {
-						copyFile(fromFile, toFile);
-						monitor.worked(dw);
-					} else if (current.isDirectory()) {
-						monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {fromFile, toFile}));
-						smartCopyDirectory(fromFile, toFile, ProgressUtil.getSubMonitorFor(monitor, dw));
-					}
-				}
-				if (monitor.isCanceled())
-					return;
-			}
-			monitor.worked(500 - dw * toSize);
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error smart copying directory " + from + " - " + to, e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/IMimeMapping.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/IMimeMapping.java
deleted file mode 100644
index ee5946f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/IMimeMapping.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-/**
- * 
- */
-public interface IMimeMapping {
-	/**
-	 * Returns the extension.
-	 * 
-	 * @return the extension
-	 */
-	public String getExtension();
-
-	/**
-	 * Returns the mime type.
-	 * 
-	 * @return the mime type
-	 */
-	public String getMimeType();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfiguration.java
deleted file mode 100644
index b9bada1..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfiguration.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-
-import java.util.List;
-/**
- * 
- */
-public interface ITomcatConfiguration {
-	/**
-	 * Returns a list of mime mappings.
-	 * 
-	 * @return mime mappings
-	 */
-	public List getMimeMappings();
-	
-	/**
-	 * Returns a list of ServerPorts that this configuration uses.
-	 *
-	 * @return the server ports
-	 */
-	public List getServerPorts();
-
-	/**
-	 * Return a list of the web modules in this server.
-	 * 
-	 * @return the web modules
-	 */
-	public List getWebModules();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfigurationWorkingCopy.java
deleted file mode 100644
index 73a5c1b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-
-
-public interface ITomcatConfigurationWorkingCopy extends ITomcatConfiguration {
-	/**
-	 * Add a web module.
-	 *
-	 * @param index int
-	 * @param module org.eclipse.jst.server.tomcat.WebModule
-	 */
-	public void addWebModule(int index, ITomcatWebModule module);
-	
-	/**
-	 * Change a web module.
-	 * 
-	 * @param index int
-	 * @param docBase java.lang.String
-	 * @param path java.lang.String
-	 * @param reloadable boolean
-	 */
-	public void modifyWebModule(int index, String docBase, String path, boolean reloadable);
-
-	/**
-	 * Remove a web module.
-	 * 
-	 * @param index int
-	 */
-	public void removeWebModule(int index);
-
-	/**
-	 * Adds a mime mapping.
-	 *
-	 * @param index int
-	 * @param map MimeMapping
-	 */
-	public void addMimeMapping(int index, IMimeMapping map);
-
-	/**
-	 * Change a mime mapping.
-	 * 
-	 * @param index int
-	 * @param map MimeMapping
-	 */
-	public void modifyMimeMapping(int index, IMimeMapping map);
-
-	/**
-	 * Modify the port with the given id.
-	 *
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	public void modifyServerPort(String id, int port);
-
-	/**
-	 * Remove a mime mapping.
-	 * 
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
deleted file mode 100644
index 35edfcd..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-
-import java.util.List;
-
-import org.eclipse.jdt.launching.IVMInstall;
-/**
- * 
- * 
- * @since 1.0
- */
-public interface ITomcatRuntime {
-	/**
-	 * Return the VM install (installed JRE) that this runtime is using.
-	 * 
-	 * @return the current VM install
-	 */
-	public IVMInstall getVMInstall();
-	
-	public boolean isUsingDefaultJRE();
-
-	/**
-	 * Returns the runtime classpath that is used by this runtime.
-	 * 
-	 * @return the runtime classpath
-	 */
-	public List getRuntimeClasspath();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
deleted file mode 100644
index e3e25e9..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-
-import org.eclipse.jdt.launching.IVMInstall;
-/**
- *
- * @since 1.0
- */
-public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime {
-	/**
-	 * Set the VM install (installed JRE) that this runtime is using.
-	 * Use <code>null</code> to use the Eclipse default JRE.
-	 * 
-	 * @param vmInstall the VM install to use
-	 */
-	public void setVMInstall(IVMInstall vmInstall);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServer.java
deleted file mode 100644
index 1cd0044..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**********************************************************************
- * Copyright (c) 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.jst.server.tomcat.core.internal;
-
-import org.eclipse.wst.server.core.model.IURLProvider;
-/**
- * 
- * @since 1.0
- */
-public interface ITomcatServer extends IURLProvider {
-	public static final String PROPERTY_TEST_ENVIRONMENT = "testEnvironment";
-	/**
-	 * Returns true if this is a test (publish and run code out of the
-	 * workbench) environment server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isTestEnvironment();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerBehaviour.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerBehaviour.java
deleted file mode 100644
index 0311604..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerBehaviour.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-/**
- * 
- * @since 1.0
- */
-public interface ITomcatServerBehaviour {
-	/**
-	 * Returns the main class that is used to launch the Tomcat server.
-	 * 
-	 * @return the main runtime class
-	 */
-	public String getRuntimeClass();
-
-	/**
-	 * Set the process that is monitored for Tomcat startup and shutdown.
-	 * Warning: Do not call this method unless you know what you're doing;
-	 * it should only be used in rare cases.
-	 * 
-	 * @param newProcess
-	 */
-	public void setProcess(IProcess newProcess);
-	
-	/**
-	 * Setup for starting the server.
-	 * 
-	 * @param launch ILaunch
-	 * @param launchMode String
-	 * @param monitor IProgressMonitor
-	 * @throws CoreException if anything goes wrong
-	 */
-	public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerWorkingCopy.java
deleted file mode 100644
index 6d97523..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerWorkingCopy.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 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.jst.server.tomcat.core.internal;
-/**
- * 
- * @since 1.0
- */
-public interface ITomcatServerWorkingCopy extends ITomcatServer {
-	/**
-	 * Sets this server to test environment mode.
-	 * 
-	 * @param b boolean
-	 */
-	public void setTestEnvironment(boolean b);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java
deleted file mode 100644
index a19083e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java
+++ /dev/null
@@ -1,58 +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.jst.server.tomcat.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.core.IWebModule;
-/**
- * 
- */
-public interface ITomcatVersionHandler {
-	public boolean verifyInstallPath(IPath installPath);
-	
-	public String getRuntimeClass();
-	
-	public List getRuntimeClasspath(IPath installPath);
-	
-	/**
-	 * Return the program's runtime arguments.
-	 * 
-	 * @param configPath a config path
-	 * @param debug <code>true</code> if debug mode is on
-	 * @param starting <code>true</code> if the server is starting
-	 * @return a string array of program arguments
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting);
-	
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure);
-
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param module a web module
-	 * @return the status
-	 */
-	public IStatus canAddModule(IWebModule module);
-	
-	/**
-	 * Returns the runtime base path for relative paths in the server
-	 * configuration.
-	 * 
-	 * @param serverBehaviour TomcatServerBehaviour instance from
-	 * which to determine the base path
-	 * @return the base path
-	 */
-	public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatWebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatWebModule.java
deleted file mode 100644
index 7cb88b8..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatWebModule.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-/**
- * A Web module deployed on Tomcat.
- */
-public interface ITomcatWebModule {
-	/**
-	 * Get the document base.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getDocumentBase();
-
-	/**
-	 * Return the path. (context root)
-	 *
-	 * @return java.lang.String
-	 */
-	public String getPath();
-
-	/**
-	 * Return the memento.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getMemento();
-
-	/**
-	 * Return true if the web module is auto-reloadable.
-	 *
-	 * @return java.lang.String
-	 */
-	public boolean isReloadable();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java
deleted file mode 100644
index e3d9170..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**********************************************************************
- * Copyright (c) 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.jst.server.tomcat.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String copyingTask;
-	public static String errorCopyingFile;
-	public static String deletingTask;
-	public static String errorInstallDir;
-	public static String errorInstallDirTrailingSlash;
-	public static String errorJRE;
-	public static String warningJRE;
-	public static String target32runtime;
-	public static String target40runtime;
-	public static String target41runtime;
-	public static String target50runtime;
-	public static String target55runtime;
-	public static String portUnknown;
-	public static String loadingTask;
-	public static String errorCouldNotLoadConfiguration;
-	public static String savingTask;
-	public static String errorCouldNotSaveConfiguration;
-	public static String updatingConfigurationTask;
-	public static String canAddModule;
-	public static String errorSpec32;
-	public static String errorSpec40;
-	public static String errorSpec41;
-	public static String errorSpec50;
-	public static String errorSpec55;
-	public static String portServer;
-	public static String runtimeDirPrepared;
-	public static String publishConfigurationTask;
-	public static String publishContextConfigTask;
-	public static String savingContextConfigTask;
-	public static String checkingContextTask;
-	public static String serverPostProcessingComplete;
-	public static String errorPublishConfiguration;
-	public static String cleanupServerTask;
-	public static String detectingRemovedProjects;
-	public static String deletingContextFilesTask;
-	public static String deletingContextFile;
-	public static String deletedContextFile;
-	public static String errorCouldNotDeleteContextFile;
-	public static String errorCleanupServer;
-	public static String publisherPublishTask;
-	public static String errorNoConfiguration;
-	public static String errorWebModulesOnly;
-	public static String publishServerTask;
-	public static String errorPortInvalid;
-	public static String errorPortInUse;
-	public static String errorPortsInUse;
-	public static String errorDuplicateContextRoot;
-	public static String configurationEditorActionModifyPortDescription;
-	public static String configurationEditorActionModifyPort;
-	public static String configurationEditorActionModifyMimeMappingDescription;
-	public static String configurationEditorActionModifyMimeMapping;
-	public static String configurationEditorActionAddMimeMappingDescription;
-	public static String configurationEditorActionAddMimeMapping;
-	public static String configurationEditorActionAddWebModuleDescription;
-	public static String configurationEditorActionAddWebModule;
-	public static String configurationEditorActionModifyWebModuleDescription;
-	public static String configurationEditorActionModifyWebModule;
-	public static String configurationEditorActionRemoveMimeMappingDescription;
-	public static String configurationEditorActionRemoveMimeMapping;
-	public static String configurationEditorActionRemoveWebModuleDescription;
-	public static String configurationEditorActionRemoveWebModule;
-	public static String serverEditorActionSetDebugModeDescription;
-	public static String serverEditorActionSetDebugMode;
-	public static String serverEditorActionSetSecureDescription;
-	public static String serverEditorActionSetSecure;
-	public static String serverEditorActionSetTestEnvironmentDescription;
-	public static String serverEditorActionSetTestEnvironment;
-	public static String configurationEditorActionEditWebModuleDescription;
-	public static String configurationEditorActionEditWebModulePath;
-	public static String fixModuleContextRootDescription;
-	public static String fixModuleContextRoot;
-
-	static {
-		NLS.initializeMessages(TomcatPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties
deleted file mode 100644
index d48759a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 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
-###############################################################################
-
-# runtime target
-target32runtime=Tomcat v3.2 runtime
-target40runtime=Tomcat v4.0 runtime
-target41runtime=Tomcat v4.1 runtime
-target50runtime=Tomcat v5.0 runtime
-target55runtime=Tomcat v5.5 runtime
-
-# --------------- Tasks (progress monitors) ---------------
-savingTask=Saving...
-loadingTask=Loading...
-updatingConfigurationTask=Updating run-time configuration...
-publishServerTask=Publishing to server...
-publishConfigurationTask=Publishing the configuration...
-publisherPublishTask=Publishing {0}...
-fixModuleContextRoot=Update context root for Web module {0}
-fixModuleContextRootDescription=Update the context root of the Web module to match the current settings
-
-publishContextConfigTask=Publishing META-INF/context.xml configurations...
-checkingContextTask=Checking Context {0} for context.xml...
-savingContextConfigTask=Saving context configuration updates...
-serverPostProcessingComplete=Context configurations added.
-
-cleanupServerTask=Removing obsolete files from server...
-detectingRemovedProjects=Preparing list of removed projects...
-deletingContextFilesTask=Deleting obsolete context files from server...
-deletingContextFile=Deleting obsolete context file {0}...
-deletedContextFile=Context file {0} removed
-runtimeDirPrepared=Runtime directory prepared
-copyingTask=Copying from {0} to {1}
-deletingTask=Deleting {0}
-errorCopyingFile=Error copying file to {0}: {1}
-
-# Editor commands (used in undo/redo menus)
-configurationEditorActionAddMimeMapping=add MIME mapping
-configurationEditorActionAddMimeMappingDescription=Add a MIME mapping
-configurationEditorActionModifyMimeMapping=modify MIME mapping
-configurationEditorActionModifyMimeMappingDescription=Modify the MIME mapping
-configurationEditorActionRemoveMimeMapping=remove MIME mapping
-configurationEditorActionRemoveMimeMappingDescription=Remove a MIME mapping
-configurationEditorActionAddWebModule=add Web module
-configurationEditorActionAddWebModuleDescription=Add a Web module
-configurationEditorActionModifyWebModule=modify Web module
-configurationEditorActionModifyWebModuleDescription=Modify the Web module
-configurationEditorActionRemoveWebModule=remove Web module
-configurationEditorActionRemoveWebModuleDescription=Remove Web module {0}
-configurationEditorActionModifyPort=set port number
-configurationEditorActionModifyPortDescription=Set the port number
-configurationEditorActionEditWebModulePath=edit Web module path
-configurationEditorActionEditWebModuleDescription=Change Web module path from {0} to {1}
-
-# --------------- General ---------------
-canAddModule=Web module can be added to the server.
-portServer=Tomcat admin port
-portUnknown=unknown port
-
-# --------------- Errors and Info ---------------
-errorInstallDir=The Tomcat installation directory is not correct. It does not point to a valid Tomcat installation.
-errorInstallDirTrailingSlash=The Tomcat installation directory should not have a trailing slash.
-errorJRE=The JRE could not be found. Edit the server and change the JRE location.
-errorPortInvalid=The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports.
-errorPortInUse=Port {0} required by {1} is already in use. The server may already be running in another process, or a system process may be using the port. \
-  To start this server you will need to stop the other process or change the port number(s).
-errorPortsInUse=Several ports ({0}) required by {1} are already in use. The server may already be running in another process, or a system process may be using the port. \
-  To start this server you will need to stop the other process or change the port number(s).
-# the {0} in the following two lines will be replaced with a location (path) of the missing or corrupt server configuration
-errorNoConfiguration=The Tomcat server configuration at {0} is missing. Check the server for errors.
-errorCouldNotLoadConfiguration=Could not load the Tomcat server configuration at {0}. The configuration may be corrupt or incomplete.
-errorCouldNotSaveConfiguration=Could not save the Tomcat server configuration: {0}.
-errorPublishConfiguration=Could not publish server configuration: {0}.
-errorCouldNotDeleteContextFile=Could not delete obsolete context file: {0}
-errorCleanupServer=Could not clean server of obsolete files: {0}
-errorWebModulesOnly=Tomcat only supports running J2EE Web modules.
-errorSpec32=Tomcat version 3.2 only supports J2EE 1.2 Web modules
-errorSpec40=Tomcat version 4.0 only supports J2EE 1.2 and 1.3 Web modules
-errorSpec41=Tomcat version 4.1 only supports J2EE 1.2 and 1.3 Web modules
-errorSpec50=Tomcat version 5.0 only supports J2EE 1.2, 1.3, and 1.4 Web modules
-errorSpec55=Tomcat version 5.5 only supports J2EE 1.2, 1.3, and 1.4 Web modules
-errorDuplicateContextRoot=Two or more Web modules defined in the configuration have the same context root ({0}). \
-  To start this server you will need to remove the duplicate(s).
-
-warningJRE=Tomcat requires a Java SDK in order to compile JSP files. Ensure that the JRE preference settings point to an SDK install location.
-
-# Actions (used in undo/redo menus)
-serverEditorActionSetSecure=set security
-serverEditorActionSetSecureDescription=Set the Tomcat security
-serverEditorActionSetDebugMode=set Tomcat debug mode
-serverEditorActionSetDebugModeDescription=Set Tomcat in debug mode
-serverEditorActionSetTestEnvironment=run modules from workspace
-serverEditorActionSetTestEnvironmentDescription=Run modules from the workspace
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java
deleted file mode 100644
index bd3fb2e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java
+++ /dev/null
@@ -1,47 +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.jst.server.tomcat.core.internal;
-
-/**
- * A mime mapping.
- */
-public class MimeMapping implements IMimeMapping {
-	private String extension;
-	private String mimeType;
-
-	/**
-	 * MimeMapping constructor comment.
-	 * 
-	 * @param extension an extension
-	 * @param mimeType a mime type
-	 */
-	public MimeMapping(String extension, String mimeType) {
-		super();
-		this.extension = extension;
-		this.mimeType = mimeType;
-	}
-
-	/**
-	 * Returns the extension.
-	 * @return java.lang.String
-	 */
-	public String getExtension() {
-		return extension;
-	}
-
-	/**
-	 * Returns the mime type.
-	 * @return java.lang.String
-	 */
-	public String getMimeType() {
-		return mimeType;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
deleted file mode 100644
index 401dbd9..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
+++ /dev/null
@@ -1,127 +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.jst.server.tomcat.core.internal;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * Thread used to ping server to test when it is started.
- * 
- * @since 1.0
- */
-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 = 56; // total: 16 seconds + connection time
-
-	private boolean stop = false;
-	private String url;
-	private IServer server;
-	private TomcatServerBehaviour behaviour;
-
-	/**
-	 * Create a new PingThread.
-	 * 
-	 * @param server
-	 * @param url
-	 * @param maxPings
-	 * @param behaviour
-	 */
-	public PingThread(IServer server, String url, int maxPings, TomcatServerBehaviour behaviour) {
-		super();
-		this.server = server;
-		this.url = url;
-		this.maxPings = maxPings;
-		this.behaviour = behaviour;
-		Thread t = new 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");
-				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.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java
deleted file mode 100644
index aedadd5..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/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.jst.server.tomcat.core.internal;
-
-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.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
deleted file mode 100644
index 974246f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.jst.server.tomcat.core.internal;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.IModuleFile;
-import org.eclipse.wst.server.core.model.IModuleFolder;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.core.util.ProjectModule;
-
-public class PublishOperation2 extends PublishOperation {
-	protected TomcatServerBehaviour server;
-	protected IModule module;
-
-	public PublishOperation2(TomcatServerBehaviour server, IModule module) {
-		super("Publish to server", "Publish Web modules to Tomcat server");
-		this.server = server;
-		this.module = module;
-	}
-
-	public int getOrder() {
-		return 0;
-	}
-
-	public int getKind() {
-		return REQUIRED;
-	}
-
-	public void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException {
-		//IModuleResourceDelta[] delta = server.getPublishedResourceDelta(new IModule[] { module });
-		ProjectModule pm = (ProjectModule) module.loadAdapter(ProjectModule.class, monitor);
-		
-		IPath path = server.getTempDirectory();
-		path = path.append(module.getName());
-		copy(pm.members(), path);
-	}
-
-	protected void copy(IModuleResource[] resources, IPath path) throws CoreException {
-		if (resources == null)
-			return;
-		
-		int size = resources.length;
-		for (int i = 0; i < size; i++) {
-			copy(resources[i], path);
-		}
-	}
-
-	protected void copy(IModuleResource resource, IPath path) throws CoreException {
-		if (resource instanceof IModuleFolder) {
-			IModuleFolder folder = (IModuleFolder) resource;
-			copy(folder.members(), path);
-		} else {
-			IModuleFile mf = (IModuleFile) resource;
-			IFile file = (IFile) mf.getAdapter(IFile.class);
-			IPath path3 = path.append(mf.getModuleRelativePath()).append(mf.getName());
-			File f = path3.toFile().getParentFile();
-			if (!f.exists())
-				f.mkdirs();
-			FileUtil.copyFile(file.getContents(), path3.toOSString());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishTask.java
deleted file mode 100644
index e204b44..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishTask.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.jst.server.tomcat.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.core.model.PublishTaskDelegate;
-
-public class PublishTask extends PublishTaskDelegate {
-	public PublishOperation[] getTasks(IServer server, List modules) {
-		if (modules == null)
-			return null;
-	
-		TomcatServerBehaviour tomcatServer = (TomcatServerBehaviour) server.loadAdapter(TomcatServerBehaviour.class, null);
-		
-		List tasks = new ArrayList();
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			IModule[] module = (IModule[]) modules.get(i);
-			IModule m = module[module.length - 1];
-			tasks.add(new PublishOperation2(tomcatServer, m));
-		}
-		
-		return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java
deleted file mode 100644
index 0c789d2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java
+++ /dev/null
@@ -1,620 +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.jst.server.tomcat.core.internal;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
-import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.*;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Tomcat v3.2 server configuration.
- */
-public class Tomcat32Configuration extends TomcatConfiguration {
-	public static final String ID = "org.eclipse.tomcat.configuration.32";
-
-	protected static final String HTTP_HANDLER = "org.apache.tomcat.service.http.HttpConnectionHandler";
-	protected static final String APACHE_HANDLER = "org.apache.tomcat.service.connector.Ajp12ConnectionHandler";
-	protected static final String SSL_SOCKET_FACTORY = "org.apache.tomcat.net.SSLSocketFactory";
-
-	protected Server server;
-	protected Factory serverFactory;
-	protected boolean isServerDirty;
-
-	protected WebAppDocument webAppDocument;
-
-	protected Document tomcatUsersDocument;
-
-	protected String policyFile;
-
-	/**
-	 * Tomcat32Configuration constructor.
-	 * 
-	 * @param path a path
-	 */
-	public Tomcat32Configuration(IFolder path) {
-		super(path);
-	}
-	
-	/**
-	 * Return the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "";
-	}
-	
-	/**
-	 * Returns the main server port.
-	 * @return TomcatServerPort
-	 */
-	public ServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
-			if (port.getName().equals("HTTP Connector"))
-				return port;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the mime mappings.
-	 * @return java.util.List
-	 */
-	public List getMimeMappings() {
-		if (webAppDocument == null)
-			return new ArrayList(0);
-		
-		return webAppDocument.getMimeMappings();
-	}
-
-	/**
-	 * Returns the prefix that is used in front of the
-	 * web module path property. (e.g. "webapps")
-	 *
-	 * @return java.lang.String
-	 */
-	public String getPathPrefix() {
-		return "webapps";
-	}
-	
-	/**
-	 * Return the docBase of the ROOT web module.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getROOTModuleDocBase() {
-		return "webapps/ROOT";
-	}
-	
-	/**
-	 * Returns the server object (root of server.xml).
-	 * @return org.eclipse.jst.server.tomcat.internal.xml.server32.Server
-	 */
-	public Server getServer() {
-		return server;
-	}
-
-	/**
-	 * Returns a list of ServerPorts that this configuration uses.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerPorts() {
-		List ports = new ArrayList();
-	
-		try {
-			int count = server.getContextManager().getConnectorCount();
-			for (int i = 0; i < count; i++) {
-				Connector connector = server.getContextManager().getConnector(i);
-				int paramCount = connector.getParameterCount();
-				String handler = null;
-				String name = Messages.portUnknown;
-				String socketFactory = null;
-				String protocol = "TCPIP";
-				boolean advanced = true;
-				String[] contentTypes = null;
-				int port = -1;
-				for (int j = 0; j < paramCount; j++) {
-					Parameter p = connector.getParameter(j);
-					if ("port".equals(p.getName())) {
-						try {
-							port = Integer.parseInt(p.getValue());
-						} catch (Exception e) {
-							// ignore
-						}
-					} else if ("handler".equals(p.getName()))
-						handler = p.getValue();
-					else if ("socketFactory".equals(p.getName()))
-						socketFactory = p.getValue();
-				}
-				if (HTTP_HANDLER.equals(handler)) {
-					protocol = "HTTP";
-					contentTypes = new String[] { "web", "webservices" };
-					if (SSL_SOCKET_FACTORY.equals(socketFactory)) {
-						protocol = "SSL";
-						name = "SSL Connector";
-					} else {
-						name = "HTTP Connector";
-						advanced = false;
-					}
-				} else if (APACHE_HANDLER.equals(handler))
-					name = "Apache Connector";
-				if (handler != null)
-					ports.add(new ServerPort(i + "", name, port, protocol, contentTypes, advanced));
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting server ports", e);
-		}
-	
-		return ports;
-	}
-	
-	/**
-	 * Returns the tomcat-users.xml document.
-	 *
-	 * @return org.w3c.dom.Document
-	 */
-	public Document getTomcatUsersDocument() {
-		return tomcatUsersDocument;
-	}
-	
-	/**
-	 * Return a list of the web modules in this server.
-	 * @return java.util.List
-	 */
-	public List getWebModules() {
-		List list = new ArrayList();
-	
-		try {
-			ContextManager contextManager = server.getContextManager();
-	
-			int size = contextManager.getContextCount();
-			for (int i = 0; i < size; i++) {
-				Context context = contextManager.getContext(i);
-				String reload = context.getReloadable();
-				if (reload == null)
-					reload = "false";
-				WebModule module = new WebModule(context.getPath(), 
-					context.getDocBase(), context.getSource(),
-					reload.equalsIgnoreCase("true") ? true : false);
-				list.add(module);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting project refs", e);
-		}
-	
-		return list;
-	}
-	
-	/**
-	 * @see TomcatConfiguration#load(IPath, IProgressMonitor)
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 5);
-	
-			// check for tomcat.policy to verify that this is a v3.2 config
-			InputStream in = new FileInputStream(path.append("tomcat.policy").toFile());
-			in.read();
-			in.close();
-			monitor.worked(1);
-			
-			// create server.xml
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server32");
-			server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile()));
-			monitor.worked(1);
-	
-			webAppDocument = new WebAppDocument(path.append("web.xml"));
-			monitor.worked(1);
-			
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile())));
-			monitor.worked(1);
-	
-			// load policy file
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("tomcat.policy").toFile())));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-				br.close();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(1);
-	
-			if (monitor.isCanceled())
-				return;
-	
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load Tomcat v3.2 configuration from " + path.toOSString() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e));
-		}
-	}
-	
-	/**
-	 * @see TomcatConfiguration#load(IFolder, IProgressMonitor)
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 800);
-	
-			// check for tomcat.policy to verify that this is a v3.2 config
-			IFile file = folder.getFile("tomcat.policy");
-			if (!file.exists())
-				throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null));
-	
-			// load server.xml
-			file = folder.getFile("server.xml");
-			InputStream in = file.getContents();
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server32");
-			server = (Server) serverFactory.loadDocument(in);
-			monitor.worked(200);
-	
-			// load web.xml
-			file = folder.getFile("web.xml");
-			webAppDocument = new WebAppDocument(file);
-			monitor.worked(200);
-	
-			// load tomcat-users.xml
-			file = folder.getFile("tomcat-users.xml");
-			in = file.getContents();
-			
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
-			monitor.worked(200);
-	
-			// load tomcat.policy
-			file = folder.getFile("tomcat.policy");
-			in = file.getContents();
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(in));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-				br.close();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(200);
-	
-			if (monitor.isCanceled())
-				throw new Exception("Cancelled");
-	
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load Tomcat v3.2 configuration from: " + folder.getFullPath() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e));
-		}
-	}
-	
-	/**
-	 * Save the information held by this object to the given directory.
-	 * 
-	 * @param path a path
-	 * @param forceDirty if true, the files will be saved, regardless
-	 *  of whether they have been modified
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 5);
-	
-			// make sure directory exists
-			if (!path.toFile().exists()) {
-				forceDirty = true;
-				path.toFile().mkdir();
-			}
-			monitor.worked(1);
-	
-			// save files
-			if (forceDirty || isServerDirty)
-				serverFactory.save(path.append("server.xml").toOSString());
-			monitor.worked(1);
-	
-			webAppDocument.save(path.append("web.xml").toOSString(), forceDirty);
-			monitor.worked(1);
-	
-			if (forceDirty)
-				XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument);
-			monitor.worked(1);
-	
-			if (forceDirty) {
-				BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("tomcat.policy").toFile()));
-				bw.write(policyFile);
-				bw.close();
-			}
-			monitor.worked(1);
-			isServerDirty = false;
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v3.2 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-	
-	public void save(IPath path, IProgressMonitor monitor) throws CoreException {
-		save(path, true, monitor);
-	}
-	
-	/**
-	 * Save the information held by this object to the given directory.
-	 * 
-	 * @param folder a folder
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 900);
-	
-			if (!folder.exists())
-				folder.create(true, true, ProgressUtil.getSubMonitorFor(monitor, 100));
-			else
-				monitor.worked(100);
-	
-			// save server.xml
-			byte[] data = serverFactory.getContents();
-			InputStream in = new ByteArrayInputStream(data);
-			IFile file = folder.getFile("server.xml");
-			if (file.exists()) {
-				if (isServerDirty)
-					file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-				else
-					monitor.worked(200);
-			} else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save web.xml
-			file = folder.getFile("web.xml");
-			webAppDocument.save(file, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save tomcat-users.xml
-			data = XMLUtil.getContents(tomcatUsersDocument);
-			in = new ByteArrayInputStream(data);
-			file = folder.getFile("tomcat-users.xml");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save tomcat.policy
-			in = new ByteArrayInputStream(policyFile.getBytes());
-			file = folder.getFile("tomcat.policy");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v3.2 configuration to " + folder.getFullPath(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-	
-	
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping)
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule)
-	 */
-	public void addWebModule(int index, ITomcatWebModule module) {
-		try {
-			ContextManager contextManager = server.getContextManager();
-			Context context = (Context) contextManager.createElement(index, "Context");
-	
-			context.setPath(module.getPath());
-			context.setDocBase(module.getDocumentBase());
-			context.setReloadable(module.isReloadable() ? "true" : "false");
-			if (module.getMemento() != null && module.getMemento().length() > 0)
-				context.setSource(module.getMemento());
-			isServerDirty = true;
-			firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error adding web module", e);
-		}
-	}
-	
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param path a path
-	 * @param serverType a server type
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer serverType, IRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.updatingConfigurationTask, 100);
-	
-			Tomcat32Configuration config = new Tomcat32Configuration(null);
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 30));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (serverType.isTestEnvironment()) {
-				config.server.getContextManager().setHome(runtime.getLocation().toOSString());
-				config.isServerDirty = true;
-			} else {
-				//IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
-				//Tomcat32Configuration cfg = (Tomcat32Configuration) scwc.getAdapter(Tomcat32Configuration.class);
-				config.localizeWebModules();
-			}
-	
-			monitor.worked(40);
-	
-			if (monitor.isCanceled())
-				return;
-
-			config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 30));
-	
-			if (!monitor.isCanceled())
-				monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error localizing configuration", e);
-		}
-	}
-	
-	/**
-	 * Go through all of the web modules and make the document
-	 * base "local" to the configuration.
-	 */
-	protected void localizeWebModules() {
-		List modules = getWebModules();
-
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			WebModule module = (WebModule) modules.get(i);
-			String memento = module.getMemento();
-			if (memento != null && memento.length() > 0) {
-				// update document base to a relative ref
-				String docBase = getPathPrefix() + module.getPath();
-				if (docBase.startsWith("/") || docBase.startsWith("\\"))
-					docBase = docBase.substring(1);
-				modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
-			}
-		}
-	}
-	
-	/**
-	 * Change the extension of a mime mapping.
-	 * 
-	 * @param index
-	 * @param map
-	 */
-	public void modifyMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.modifyMimeMapping(index, map);
-		firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
-	}
-	
-	/**
-	 * Modify the port with the given id.
-	 *
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	public void modifyServerPort(String id, int port) {
-		try {
-			int con = Integer.parseInt(id);
-			Connector connector = server.getContextManager().getConnector(con);
-	
-			int size = connector.getParameterCount();
-			for (int i = 0; i < size; i++) {
-				Parameter p = connector.getParameter(i);
-				if ("port".equals(p.getName())) {
-					p.setValue(port + "");
-					isServerDirty = true;
-					firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying server port " + id, e);
-		}
-	}
-	
-	/**
-	 * Change a web module.
-	 * @param index int
-	 * @param docBase java.lang.String
-	 * @param path java.lang.String
-	 * @param reloadable boolean
-	 */
-	public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
-		try {
-			ContextManager contextManager = server.getContextManager();
-			Context context = contextManager.getContext(index);
-			context.setPath(path);
-			context.setDocBase(docBase);
-			context.setReloadable(reloadable ? "true" : "false");
-			isServerDirty = true;
-			WebModule module = new WebModule(path, docBase, null, reloadable);
-			firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying web module " + index, e);
-		}
-	}
-	
-	/**
-	 * Removes a mime mapping.
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index) {
-		webAppDocument.removeMimeMapping(index);
-		firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
-	}
-	
-	/**
-	 * Removes a web module.
-	 * @param index int
-	 */
-	public void removeWebModule(int index) {
-		try {
-			ContextManager contextManager = server.getContextManager();
-			contextManager.removeElement("Context", index);
-			isServerDirty = true;
-			firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error removing web module " + index, e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java
deleted file mode 100644
index 9084acb..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java
+++ /dev/null
@@ -1,112 +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.jst.server.tomcat.core.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IWebModule;
-/**
- * Tomcat 32 handler.
- */
-public class Tomcat32Handler implements ITomcatVersionHandler {
-	/**
-	 * @see ITomcatVersionHandler#verifyInstallPath(IPath)
-	 */
-	public boolean verifyInstallPath(IPath installPath) {
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_32);
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClass()
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.tomcat.startup.Tomcat";
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClasspath(IPath)
-	 */
-	public List getRuntimeClasspath(IPath installPath) {
-		List cp = new ArrayList();
-		// add all jars from the Tomcat lib directory
-		File libDir = installPath.append("lib").toFile();
-		if (libDir.exists()) {
-			String[] libs = libDir.list();
-			for (int i = 0; i < libs.length; i++) {
-				if (libs[i].endsWith("jar")) {
-					IPath path = installPath.append("lib").append(libs[i]);
-					cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-				}
-			}
-		}
-
-		return cp;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		if (configPath != null) {
-			list.add("-f \"" + configPath.append("conf").append("server.xml").toOSString() + "\"");
-		}
-		
-		if (!starting)
-			list.add("-stop");
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
-		List list = new ArrayList();
-		list.add("-Dtomcat.home=\"" + installPath.toOSString() + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			list.add("-Djava.security.manager");
-			IPath dir = configPath.append("conf").append("tomcat.policy");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#canAddModule(IWebModule)
-	 */
-	public IStatus canAddModule(IWebModule module) {
-		if ("1.2".equals(module.getJ2EESpecificationVersion()))
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.canAddModule, null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec32, null);
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour)
-	 */
-	public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) {
-		return serverBehaviour.getServer().getRuntime().getLocation();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java
deleted file mode 100644
index 1fc28eb..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java
+++ /dev/null
@@ -1,668 +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.jst.server.tomcat.core.internal;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
-import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.*;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Tomcat v4.0 server configuration.
- */
-public class Tomcat40Configuration extends TomcatConfiguration {
-	protected static final String DEFAULT_SERVICE = "Tomcat-Standalone";
-	protected static final String HTTP_CONNECTOR = "org.apache.catalina.connector.http.HttpConnector";
-	protected static final String SSL_SOCKET_FACTORY = "org.apache.catalina.net.SSLServerSocketFactory";
-	protected static final String TEST_CONNECTOR = "org.apache.catalina.connector.test.HttpConnector";
-	protected static final String APACHE_CONNECTOR = "org.apache.catalina.connector.warp.WarpConnector";
-
-	protected Server server;
-	protected Factory serverFactory;
-	protected boolean isServerDirty;
-
-	protected WebAppDocument webAppDocument;
-
-	protected Document tomcatUsersDocument;
-
-	protected String policyFile;
-	protected boolean isPolicyDirty;
-
-	/**
-	 * Tomcat40Configuration constructor.
-	 * 
-	 * @param path a path
-	 */
-	public Tomcat40Configuration(IFolder path) {
-		super(path);
-	}
-		
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public ServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
-			if (port.getName().equals("HTTP Connector"))
-				return port;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the mime mappings.
-	 * @return java.util.List
-	 */
-	public List getMimeMappings() {
-		return webAppDocument.getMimeMappings();
-	}
-
-	/**
-	 * Returns the prefix that is used in front of the
-	 * web module path property. (e.g. "webapps")
-	 *
-	 * @return java.lang.String
-	 */
-	public String getPathPrefix() {
-		return "";
-	}
-	
-	/**
-	 * Return the docBase of the ROOT web module.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getROOTModuleDocBase() {
-		return "ROOT";
-	}
-	
-	/**
-	 * Returns a list of ServerPorts that this configuration uses.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerPorts() {
-		List ports = new ArrayList();
-	
-		// first add server port
-		try {
-			int port = Integer.parseInt(server.getPort());
-			ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP"));
-		} catch (Exception e) {
-			// ignore
-		}
-	
-		// add connectors
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				int size2 = service.getConnectorCount();
-				for (int j = 0; j < size2; j++) {
-					Connector connector = service.getConnector(j);
-					String className = connector.getClassName();
-					String name = Messages.portUnknown;
-					String protocol = "TCPIP";
-					boolean advanced = true;
-					String[] contentTypes = null;
-					int port = -1;
-					try {
-						port = Integer.parseInt(connector.getPort());
-					} catch (Exception e) {
-						// ignore
-					}
-					if (HTTP_CONNECTOR.equals(className)) {
-						name = "HTTP Connector";
-						protocol = "HTTP";
-						contentTypes = new String[] { "web", "webservices" };
-						// check for SSL connector
-						try {
-							Element element = connector.getSubElement("Factory");
-							if (SSL_SOCKET_FACTORY.equals(element.getAttribute("className"))) {
-								name = "SSL Connector";
-								protocol = "SSL";
-							}
-						} catch (Exception e) {
-							// ignore
-						}
-						if ("HTTP".equals(protocol))
-							advanced = false;
-					} else if (APACHE_CONNECTOR.equals(className))
-						name = "Apache Connector";
-					if (className != null && className.length() > 0)
-						ports.add(new ServerPort(i + "/" + j, name, port, protocol, contentTypes, advanced));
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting server ports", e);
-		}
-		return ports;
-	}
-	
-	/**
-	 * Return a list of the web modules in this server.
-	 * @return java.util.List
-	 */
-	public List getWebModules() {
-		List list = new ArrayList();
-	
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						Context context = host.getContext(j);
-						String reload = context.getReloadable();
-						if (reload == null)
-							reload = "false";
-						WebModule module = new WebModule(context.getPath(), 
-							context.getDocBase(), context.getSource(),
-							reload.equalsIgnoreCase("true") ? true : false);
-						list.add(module);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting modules", e);
-		}
-		return list;
-	}
-	
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see TomcatConfiguration#load(IPath, IProgressMonitor)
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 5);
-			
-			// check for catalina.policy to verify that this is a v4.0 config
-			InputStream in = new FileInputStream(path.append("catalina.policy").toFile());
-			in.read();
-			in.close();
-			monitor.worked(1);
-	
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile()));
-			monitor.worked(1);
-
-			webAppDocument = new WebAppDocument(path.append("web.xml"));
-			monitor.worked(1);
-	
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile())));
-			monitor.worked(1);
-		
-			// load policy file
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile())));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(1);
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load Tomcat v4.0 configuration from " + path.toOSString() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e));
-		}
-	}
-
-	/**
-	 * @see TomcatConfiguration#load(IFolder, IProgressMonitor)
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 800);
-	
-			// check for catalina.policy to verify that this is a v4.0 config
-			IFile file = folder.getFile("catalina.policy");
-			if (!file.exists())
-				throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null));
-	
-			// load server.xml
-			file = folder.getFile("server.xml");
-			InputStream in = file.getContents();
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(in);
-			monitor.worked(200);
-	
-			// load web.xml
-			file = folder.getFile("web.xml");
-			webAppDocument = new WebAppDocument(file);
-			monitor.worked(200);
-	
-			// load tomcat-users.xml
-			file = folder.getFile("tomcat-users.xml");
-			in = file.getContents();
-			
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
-			monitor.worked(200);
-		
-			// load catalina.policy
-			file = folder.getFile("catalina.policy");
-			in = file.getContents();
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(in));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(200);
-	
-			if (monitor.isCanceled())
-				throw new Exception("Cancelled");
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not reload Tomcat v4.0 configuration from: " + folder.getFullPath() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e));
-		}
-	}
-	
-	/**
-	 * Save to the given directory.
-	 * 
-	 * @param path a path
-	 * @param forceDirty boolean
-	 * @param monitor a progress monitor
-	 * @exception CoreException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 3);
-	
-			// make sure directory exists
-			if (!path.toFile().exists()) {
-				forceDirty = true;
-				path.toFile().mkdir();
-			}
-			monitor.worked(1);
-	
-			// save files
-			if (forceDirty || isServerDirty)
-				serverFactory.save(path.append("server.xml").toOSString());
-			monitor.worked(1);
-	
-			//if (forceDirty || isWebAppDirty)
-			//	webAppFactory.save(dirPath + "web.xml");
-			//webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty);
-			webAppDocument.save(path.append("web.xml").toOSString(), forceDirty);
-			monitor.worked(1);
-	
-			if (forceDirty)
-				XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument);
-			monitor.worked(1);
-	
-			if (forceDirty || isPolicyDirty) {
-				BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile()));
-				bw.write(policyFile);
-				bw.close();
-			}
-			monitor.worked(1);
-			isServerDirty = false;
-			isPolicyDirty = false;
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.0 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-	
-	public void save(IPath path, IProgressMonitor monitor) throws CoreException {
-		save(path, true, monitor);
-	}
-
-	/**
-	 * Save the information held by this object to the given directory.
-	 *
-	 * @param folder a folder
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 900);
-	
-			// save server.xml
-			byte[] data = serverFactory.getContents();
-			InputStream in = new ByteArrayInputStream(data);
-			IFile file = folder.getFile("server.xml");
-			if (file.exists()) {
-				if (isServerDirty)
-					file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-				else
-					monitor.worked(200);
-			} else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save web.xml
-			webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save tomcat-users.xml
-			data = XMLUtil.getContents(tomcatUsersDocument);
-			in = new ByteArrayInputStream(data);
-			file = folder.getFile("tomcat-users.xml");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save catalina.policy
-			in = new ByteArrayInputStream(policyFile.getBytes());
-			file = folder.getFile("catalina.policy");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.0 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-	
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping)
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule)
-	 */
-	public void addWebModule(int index, ITomcatWebModule module) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = (Context) host.createElement(index, "Context");
-					context.setDocBase(module.getDocumentBase());
-					context.setPath(module.getPath());
-					context.setReloadable(module.isReloadable() ? "true" : "false");
-					if (module.getMemento() != null && module.getMemento().length() > 0)
-						context.setSource(module.getMemento());
-					isServerDirty = true;
-					firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error adding web module " + module.getPath(), e);
-		}
-	}
-	
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param path a path
-	 * @param server2 a server type
-	 * @param monitor a progress monitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.updatingConfigurationTask, 100);
-			
-			Tomcat40Configuration config = new Tomcat40Configuration(null);
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				//IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
-				//Tomcat40Configuration cfg = (Tomcat40Configuration) scwc.getAdapter(Tomcat40Configuration.class);
-				config.localizeWebModules();
-			}
-	
-			monitor.worked(20);
-	
-			if (monitor.isCanceled())
-				return;
-	
-			config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (!monitor.isCanceled())
-				monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error localizing configuration", e);
-		}
-	}
-	
-	/**
-	 * Go through all of the web modules and make the document
-	 * base "local" to the configuration.
-	 */
-	protected void localizeWebModules() {
-		List modules = getWebModules();
-
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			WebModule module = (WebModule) modules.get(i);
-			String memento = module.getMemento();
-			if (memento != null && memento.length() > 0) {
-				// update document base to a relative ref
-				String docBase = getPathPrefix() + module.getPath();
-				if (docBase.startsWith("/") || docBase.startsWith("\\"))
-					docBase = docBase.substring(1);
-				modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
-			}
-		}
-	}
-
-	/**
-	 * Change the extension of a mime mapping.
-	 * 
-	 * @param index
-	 * @param map
-	 */
-	public void modifyMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.modifyMimeMapping(index, map);
-		firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
-	}
-	
-	/**
-	 * Modify the port with the given id.
-	 *
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	public void modifyServerPort(String id, int port) {
-		try {
-			if ("server".equals(id)) {
-				server.setPort(port + "");
-				isServerDirty = true;
-				firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-				return;
-			}
-	
-			int i = id.indexOf("/");
-			int servNum = Integer.parseInt(id.substring(0, i));
-			int connNum = Integer.parseInt(id.substring(i + 1));
-			
-			Service service = server.getService(servNum);
-			Connector connector = service.getConnector(connNum);
-			connector.setPort(port + "");
-			isServerDirty = true;
-			firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying server port " + id, e);
-		}
-	}
-	/**
-	 * Change a web module.
-	 * @param index int
-	 * @param docBase java.lang.String
-	 * @param path java.lang.String
-	 * @param reloadable boolean
-	 */
-	public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = host.getContext(index);
-					context.setPath(path);
-					context.setDocBase(docBase);
-					context.setReloadable(reloadable ? "true" : "false");
-					isServerDirty = true;
-					WebModule module = new WebModule(path, docBase, null, reloadable);
-					firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying web module " + index, e);
-		}
-	}
-	
-	/**
-	 * Removes a mime mapping.
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index) {
-		webAppDocument.removeMimeMapping(index);
-		firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
-	}
-	
-	/**
-	 * Removes a web module.
-	 * @param index int
-	 */
-	public void removeWebModule(int index) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					host.removeElement("Context", index);
-					isServerDirty = true;
-					firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error removing module ref " + index, e);
-		}
-	}
-
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.runtimeDirPrepared, null);		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java
deleted file mode 100644
index d15e1b0..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java
+++ /dev/null
@@ -1,123 +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.jst.server.tomcat.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IWebModule;
-/**
- * Tomcat 40 handler.
- */
-public class Tomcat40Handler implements ITomcatVersionHandler {
-	/**
-	 * @see ITomcatVersionHandler#verifyInstallPath(IPath)
-	 */
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-		if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_40))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_40);
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClass()
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.catalina.startup.Bootstrap";
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClasspath(IPath)
-	 */
-	public List getRuntimeClasspath(IPath installPath) {
-		List cp = new ArrayList();
-		
-		// 4.0 - add bootstrap.jar from the Tomcat bin directory
-		IPath binPath = installPath.append("bin");
-		if (binPath.toFile().exists()) {
-			IPath path = binPath.append("bootstrap.jar");
-			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-		}
-		
-		return cp;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		
-		if (debug)
-			list.add("-debug");
-		
-		if (starting)
-			list.add("start");
-		else
-			list.add("stop");
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
-		List list = new ArrayList();
-		if (isTestEnv)
-			list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\"");
-		else 
-			list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\"");
-		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
-		String endorsed = installPath.append("bin").toOSString() +
-			installPath.append("common").append("lib").toOSString();
-		list.add("-Djava.endorsed.dirs=\"" + endorsed + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			list.add("-Djava.security.manager");
-			IPath dir = configPath.append("conf").append("catalina.policy");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#canAddModule(IWebModule)
-	 */
-	public IStatus canAddModule(IWebModule module) {
-		if ("1.2".equals(module.getJ2EESpecificationVersion()) || "1.3".equals(module.getJ2EESpecificationVersion()))
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.canAddModule, null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec40, null);
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour)
-	 */
-	public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) {
-		if (serverBehaviour.getTomcatServer().isTestEnvironment())
-			return serverBehaviour.getTempDirectory();
-		return serverBehaviour.getServer().getRuntime().getLocation();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java
deleted file mode 100644
index 64972c7..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java
+++ /dev/null
@@ -1,805 +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.jst.server.tomcat.core.internal;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
-import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.*;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Tomcat v4.1 server configuration.
- */
-public class Tomcat41Configuration extends TomcatConfiguration {
-	protected static final String DEFAULT_SERVICE = "Tomcat-Standalone";
-	protected static final String HTTP_CONNECTOR = "org.apache.coyote.tomcat4.CoyoteConnector";
-	protected static final String JK_PROTOCOL_HANDLER = "org.apache.jk.server.JkCoyoteHandler";
-	protected static final String SSL_SOCKET_FACTORY = "org.apache.coyote.tomcat4.CoyoteServerSocketFactory";
-	//protected static final String TEST_CONNECTOR = "org.apache.catalina.connector.test.HttpConnector";
-	//org.apache.ajp.tomcat4.Ajp13Connector
-	protected static final String APACHE_CONNECTOR = "org.apache.catalina.connector.warp.WarpConnector";
-
-	protected Server server;
-	protected Factory serverFactory;
-	protected boolean isServerDirty;
-
-	protected WebAppDocument webAppDocument;
-
-	protected Document tomcatUsersDocument;
-
-	protected String policyFile;
-	protected boolean isPolicyDirty;
-
-	/**
-	 * Tomcat41Configuration constructor.
-	 * 
-	 * @param path a path
-	 */
-	public Tomcat41Configuration(IFolder path) {
-		super(path);
-	}
-	
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public ServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
-			if (port.getName().equals("HTTP Connector"))
-				return port;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the mime mappings.
-	 * @return java.util.List
-	 */
-	public List getMimeMappings() {
-		return webAppDocument.getMimeMappings();
-	}
-	
-	/**
-	 * Returns the prefix that is used in front of the
-	 * web module path property. (e.g. "webapps")
-	 *
-	 * @return java.lang.String
-	 */
-	public String getPathPrefix() {
-		return "";
-	}
-	
-	/**
-	 * Return the docBase of the ROOT web module.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getROOTModuleDocBase() {
-		return "ROOT";
-	}
-	
-	/**
-	 * Returns a list of ServerPorts that this configuration uses.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerPorts() {
-		List ports = new ArrayList();
-	
-		// first add server port
-		try {
-			int port = Integer.parseInt(server.getPort());
-			ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP"));
-		} catch (Exception e) {
-			// ignore
-		}
-	
-		// add connectors
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				int size2 = service.getConnectorCount();
-				for (int j = 0; j < size2; j++) {
-					Connector connector = service.getConnector(j);
-					String className = connector.getClassName();
-					String name = className;
-					String protocol = "TCPIP";
-					boolean advanced = true;
-					String[] contentTypes = null;
-					int port = -1;
-					try {
-						port = Integer.parseInt(connector.getPort());
-					} catch (Exception e) {
-						// ignore
-					}
-					if (HTTP_CONNECTOR.equals(className)) {
-						name = "HTTP Connector";
-						protocol = "HTTP";
-						contentTypes = new String[] { "web", "webservices" };
-						// check for AJP/1.3 Coyote connector
-						String protocolHandler = connector.getProtocolHandlerClassName();
-						if (JK_PROTOCOL_HANDLER.equals(protocolHandler)) {
-							name = "AJP/1.3 Connector";
-							protocol = "AJP/1.3"; 
-						} else {
-							// assume HTTP, check for HTTP SSL connector
-							try {
-								Element element = connector.getSubElement("Factory");
-								if (SSL_SOCKET_FACTORY.equals(element.getAttribute("className"))) {
-									name = "SSL Connector";
-									protocol = "SSL";
-								}
-							} catch (Exception e) {
-								// ignore
-							}
-						}
-						if ("HTTP".equals(protocol))
-							advanced = false;
-					} else if (APACHE_CONNECTOR.equals(className))
-						name = "Apache Connector";
-					if (className != null && className.length() > 0)
-						ports.add(new ServerPort(i + "/" + j, name, port, protocol, contentTypes, advanced));
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting server ports", e);
-		}
-		return ports;
-	}
-	
-	/**
-	 * Return a list of the web modules in this server.
-	 * @return java.util.List
-	 */
-	public List getWebModules() {
-		List list = new ArrayList();
-	
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						Context context = host.getContext(j);
-						String reload = context.getReloadable();
-						if (reload == null)
-							reload = "false";
-						WebModule module = new WebModule(context.getPath(), 
-							context.getDocBase(), context.getSource(),
-							reload.equalsIgnoreCase("true") ? true : false);
-						list.add(module);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting project refs", e);
-		}
-		return list;
-	}
-	
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * @see TomcatConfiguration#load(IPath, IProgressMonitor)
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 5);
-			
-			// check for catalina.policy to verify that this is a v4.0 config
-			InputStream in = new FileInputStream(path.append("catalina.policy").toFile());
-			in.read();
-			in.close();
-			monitor.worked(1);
-
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile()));
-			monitor.worked(1);
-
-			webAppDocument = new WebAppDocument(path.append("web.xml"));
-			monitor.worked(1);
-	
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile())));
-			monitor.worked(1);
-		
-			// load policy file
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile())));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(1);
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load Tomcat v4.0 configuration from " + path.toOSString() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e));
-		}
-	}
-
-	/**
-	 * @see TomcatConfiguration#load(IFolder, IProgressMonitor)
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 800);
-	
-			// check for catalina.policy to verify that this is a v4.0 config
-			IFile file = folder.getFile("catalina.policy");
-			if (!file.exists())
-				throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null));
-	
-			// load server.xml
-			file = folder.getFile("server.xml");
-			InputStream in = file.getContents();
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(in);
-			monitor.worked(200);
-	
-			// load web.xml
-			file = folder.getFile("web.xml");
-			webAppDocument = new WebAppDocument(file);
-			monitor.worked(200);
-	
-			// load tomcat-users.xml
-			file = folder.getFile("tomcat-users.xml");
-			in = file.getContents();
-
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
-			monitor.worked(200);
-		
-			// load catalina.policy
-			file = folder.getFile("catalina.policy");
-			in = file.getContents();
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(in));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(200);
-	
-			if (monitor.isCanceled())
-				throw new Exception("Cancelled");
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not reload Tomcat v4.1 configuration from: " + folder.getFullPath() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e));
-		}
-	}
-
-	/**
-	 * Save to the given directory.
-	 * 
-	 * @param path a path
-	 * @param forceDirty boolean
-	 * @param monitor a progress monitor
-	 * @exception CoreException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 3);
-	
-			// make sure directory exists
-			if (!path.toFile().exists()) {
-				forceDirty = true;
-				path.toFile().mkdir();
-			}
-			monitor.worked(1);
-	
-			// save files
-			if (forceDirty || isServerDirty)
-				serverFactory.save(path.append("server.xml").toOSString());
-			monitor.worked(1);
-	
-			//if (forceDirty || isWebAppDirty)
-			//	webAppFactory.save(dirPath + "web.xml");
-			//webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty);
-			webAppDocument.save(path.append("web.xml").toOSString(), forceDirty);
-			monitor.worked(1);
-	
-			if (forceDirty)
-				XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument);
-			monitor.worked(1);
-	
-			if (forceDirty || isPolicyDirty) {
-				BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile()));
-				bw.write(policyFile);
-				bw.close();
-			}
-			monitor.worked(1);
-			isServerDirty = false;
-			isPolicyDirty = false;
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.1 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-	
-	public void save(IPath path, IProgressMonitor monitor) throws CoreException {
-		save(path, true, monitor);
-	}
-
-	/**
-	 * Save the information held by this object to the given directory.
-	 *
-	 * @param folder a folder
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 900);
-	
-			// save server.xml
-			byte[] data = serverFactory.getContents();
-			InputStream in = new ByteArrayInputStream(data);
-			IFile file = folder.getFile("server.xml");
-			if (file.exists()) {
-				if (isServerDirty)
-					file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-				else
-					monitor.worked(200);
-			} else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save web.xml
-			webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save tomcat-users.xml
-			data = XMLUtil.getContents(tomcatUsersDocument);
-			in = new ByteArrayInputStream(data);
-			file = folder.getFile("tomcat-users.xml");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save catalina.policy
-			in = new ByteArrayInputStream(policyFile.getBytes());
-			file = folder.getFile("catalina.policy");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.1 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-
-	protected static boolean hasMDBListener(Server server) {
-		if (server == null)
-			return false;
-		
-		int count = server.getListenerCount();
-		if (count == 0)
-			return false;
-			
-		for (int i = 0; i < count; i++) {
-			Listener listener = server.getListener(i);
-			if (listener != null && listener.getClassName() != null && listener.getClassName().indexOf("mbean") >= 0)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping)
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule)
-	 */
-	public void addWebModule(int index, ITomcatWebModule module) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = (Context) host.createElement(index, "Context");
-					context.setDocBase(module.getDocumentBase());
-					context.setPath(module.getPath());
-					context.setReloadable(module.isReloadable() ? "true" : "false");
-					if (module.getMemento() != null && module.getMemento().length() > 0)
-						context.setSource(module.getMemento());
-					isServerDirty = true;
-					firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error adding web module " + module.getPath(), e);
-		}
-	}
-
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param path a path
-	 * @param server2 a server type
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.updatingConfigurationTask, 100);
-			
-			Tomcat41Configuration config = new Tomcat41Configuration(null);
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				//IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
-				//Tomcat41Configuration cfg = (Tomcat41Configuration) scwc.getAdapter(Tomcat41Configuration.class);
-				config.localizeWebModules();
-			}
-			monitor.worked(20);
-	
-			if (monitor.isCanceled())
-				return;
-	
-			config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (!monitor.isCanceled())
-				monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error localizing configuration", e);
-		}
-	}
-	
-	/**
-	 * Go through all of the web modules and make the document
-	 * base "local" to the configuration.
-	 */
-	protected void localizeWebModules() {
-		List modules = getWebModules();
-
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			WebModule module = (WebModule) modules.get(i);
-			String memento = module.getMemento();
-			if (memento != null && memento.length() > 0) {
-				// update document base to a relative ref
-				String docBase = getPathPrefix() + module.getPath();
-				if (docBase.startsWith("/") || docBase.startsWith("\\"))
-					docBase = docBase.substring(1);
-				modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
-			}
-		}
-	}
-
-	/**
-	 * Change the extension of a mime mapping.
-	 * 
-	 * @param index
-	 * @param map
-	 */
-	public void modifyMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.modifyMimeMapping(index, map);
-		firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
-	}
-	
-	/**
-	 * Modify the port with the given id.
-	 *
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	public void modifyServerPort(String id, int port) {
-		try {
-			if ("server".equals(id)) {
-				server.setPort(port + "");
-				isServerDirty = true;
-				firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-				return;
-			}
-	
-			int i = id.indexOf("/");
-			int servNum = Integer.parseInt(id.substring(0, i));
-			int connNum = Integer.parseInt(id.substring(i + 1));
-			
-			Service service = server.getService(servNum);
-			Connector connector = service.getConnector(connNum);
-			connector.setPort(port + "");
-			isServerDirty = true;
-			firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying server port " + id, e);
-		}
-	}
-	/**
-	 * Change a web module.
-	 * @param index int
-	 * @param docBase java.lang.String
-	 * @param path java.lang.String
-	 * @param reloadable boolean
-	 */
-	public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = host.getContext(index);
-					context.setPath(path);
-					context.setDocBase(docBase);
-					context.setReloadable(reloadable ? "true" : "false");
-					isServerDirty = true;
-					WebModule module = new WebModule(path, docBase, null, reloadable);
-					firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying web module " + index, e);
-		}
-	}
-
-	/**
-	 * Removes a mime mapping.
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index) {
-		webAppDocument.removeMimeMapping(index);
-		firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
-	}
-
-	/**
-	 * Removes a web module.
-	 * @param index int
-	 */
-	public void removeWebModule(int index) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					host.removeElement("Context", index);
-					isServerDirty = true;
-					firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error removing module ref " + index, e);
-		}
-	}
-
-	protected IStatus backupAndPublish(IPath confDir, boolean doBackup, IProgressMonitor monitor) {
-		MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishConfigurationTask, null);
-		Trace.trace(Trace.FINER, "Backup and publish");
-		monitor = ProgressUtil.getMonitorFor(monitor);
-
-		backupAndPublish(confDir, doBackup, ms, monitor, 300);
-		// TODO Refactor success detection once Bug 81060 is addressed
-		// This approach avoids refactoring to TomcatConfiguration.backupFolder()
-		// and backupPath() for now.
-		if (ms.isOK() && ms.getChildren().length > 0)
-			publishContextConfig(confDir, ms, monitor);
-
-		monitor.done();
-		return ms;
-	}
-	
-	protected void publishContextConfig(IPath confDir, MultiStatus ms, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINER, "Apply context configurations");
-		try {
-			confDir = confDir.append("conf");
-			
-			monitor.subTask(Messages.publishContextConfigTask);
-			Factory factory = new Factory();
-			factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			Server publishedServer = (Server) factory.loadDocument(new FileInputStream(confDir.append("server.xml").toFile()));
-			monitor.worked(100);
-			
-			boolean modified = false;
-
-			int size = publishedServer.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = publishedServer.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						Context context = host.getContext(j);
-						monitor.subTask(NLS.bind(Messages.checkingContextTask,
-								new String[] {context.getPath()}));
-						if (addContextConfig(context)) {
-							modified = true;
-						}
-					}
-				}
-			}
-			monitor.worked(100);
-			if (modified) {
-				monitor.subTask(Messages.savingContextConfigTask);
-				factory.save(confDir.append("server.xml").toOSString());
-			}
-			monitor.worked(100);
-			
-			Trace.trace(Trace.FINER, "Server.xml updated with context.xml configurations");
-			ms.add(new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.serverPostProcessingComplete, null));
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not apply context configurations published Tomcat v5.0 configuration from " + confDir.toOSString() + ": " + e.getMessage());
-			IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e);
-			ms.add(s);
-		}
-	}
-	
-	/**
-	 * If the specified Context is linked to a project, try to
-	 * update any configuration found a META-INF/context.xml found
-	 * relative to the specified docBase.
-	 * @param context Context object to receive context.xml contents.
-	 * @return Returns true if context is modified.
-	 */
-	protected boolean addContextConfig(Context context) {
-		boolean modified = false;
-		String source = context.getSource();
-		if (source != null && source.length() > 0 )
-		{
-			String docBase = context.getDocBase();
-			Context contextConfig = loadContextConfig(docBase);
-			if (null != contextConfig) {
-				if (context.hasChildNodes())
-					context.removeChildren();
-				contextConfig.copyChildrenTo(context);
-				modified = true;
-			}
-		}
-		return modified;
-	}
-	
-	/**
-	 * Tries to read a META-INF/context.xml file relative to the
-	 * specified docBase.  If found, it creates a Context object
-	 * containing the contexts of that file.
-	 * @param docBase
-	 * @return Context element created from context.xml, or null if not found.
-	 */
-	protected Context loadContextConfig(String docBase) {
-		File contexXML = new File(docBase + File.separator + "META-INF" + File.separator + "context.xml");
-		if (contexXML.exists()) {
-			try {
-				InputStream is = new FileInputStream(contexXML);
-				Factory ctxFactory = new Factory();
-				ctxFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-				Context ctx = (Context)ctxFactory.loadDocument(is);
-				is.close();
-				return ctx;
-			} catch (FileNotFoundException e) {
-				// Ignore, should never occur
-			} catch (IOException e) {
-				Trace.trace(Trace.SEVERE, "Error reading web module's context.xml file: " + docBase, e);
-			}
-		}
-		return null;
- 	}
-	
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.runtimeDirPrepared, null);		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java
deleted file mode 100644
index 8d262c1..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java
+++ /dev/null
@@ -1,121 +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.jst.server.tomcat.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IWebModule;
-/**
- * Tomcat 41 handler.
- */
-public class Tomcat41Handler implements ITomcatVersionHandler {
-	/**
-	 * @see ITomcatVersionHandler#verifyInstallPath(IPath)
-	 */
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-		if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_41))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_41);
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClass()
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.catalina.startup.Bootstrap";
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClasspath(IPath)
-	 */
-	public List getRuntimeClasspath(IPath installPath) {
-		List cp = new ArrayList();
-		
-		// 4.1 - add bootstrap.jar from the Tomcat bin directory
-		IPath binPath = installPath.append("bin");
-		if (binPath.toFile().exists()) {
-			IPath path = binPath.append("bootstrap.jar");
-			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-		}
-		
-		return cp;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		
-		if (debug)
-			list.add("-debug");
-		
-		if (starting)
-			list.add("start");
-		else
-			list.add("stop");
-		
-		String[] temp = new String[list.size()];
-		list.toArray(temp);
-		return temp;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
-		List list = new ArrayList();
-		if (isTestEnv)
-			list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\"");
-		else 
-			list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\"");
-		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
-		list.add("-Djava.endorsed.dirs=\"" + installPath.append("common").append("endorsed").toOSString() + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			list.add("-Djava.security.manager");
-			IPath dir = configPath.append("conf").append("catalina.policy");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#canAddModule(IWebModule)
-	 */
-	public IStatus canAddModule(IWebModule module) {
-		if ("1.2".equals(module.getJ2EESpecificationVersion()) || "1.3".equals(module.getJ2EESpecificationVersion()))
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.canAddModule, null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec41, null);
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour)
-	 */
-	public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) {
-		if (serverBehaviour.getTomcatServer().isTestEnvironment())
-			return serverBehaviour.getTempDirectory();
-		return serverBehaviour.getServer().getRuntime().getLocation();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java
deleted file mode 100644
index 9a7a032..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java
+++ /dev/null
@@ -1,878 +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.jst.server.tomcat.core.internal;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
-import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.*;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Tomcat v5.0 server configuration.
- */
-public class Tomcat50Configuration extends TomcatConfiguration {
-	protected static final String DEFAULT_SERVICE = "Catalina";
-	protected Server server;
-	protected Factory serverFactory;
-	protected boolean isServerDirty;
-
-	protected WebAppDocument webAppDocument;
-
-	protected Document tomcatUsersDocument;
-
-	protected String policyFile;
-	protected boolean isPolicyDirty;
-
-	/**
-	 * Tomcat50Configuration constructor.
-	 * 
-	 * @param path a path
-	 */
-	public Tomcat50Configuration(IFolder path) {
-		super(path);
-	}
-	
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public ServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
-			if (port.getName().equals("HTTP"))
-				return port;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the mime mappings.
-	 * @return java.util.List
-	 */
-	public List getMimeMappings() {
-		return webAppDocument.getMimeMappings();
-	}
-	
-	/**
-	 * Returns the prefix that is used in front of the
-	 * web module path property. (e.g. "webapps")
-	 *
-	 * @return java.lang.String
-	 */
-	public String getPathPrefix() {
-		return "";
-	}
-	
-	/**
-	 * Return the docBase of the ROOT web module.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getROOTModuleDocBase() {
-		return "ROOT";
-	}
-	
-	/**
-	 * Returns a list of ServerPorts that this configuration uses.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerPorts() {
-		List ports = new ArrayList();
-	
-		// first add server port
-		try {
-			int port = Integer.parseInt(server.getPort());
-			ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP"));
-		} catch (Exception e) {
-			// ignore
-		}
-	
-		// add connectors
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				int size2 = service.getConnectorCount();
-				for (int j = 0; j < size2; j++) {
-					Connector connector = service.getConnector(j);
-					String name = "HTTP";
-					String protocol2 = "HTTP";
-					boolean advanced = true;
-					String[] contentTypes = null;
-					int port = -1;
-					try {
-						port = Integer.parseInt(connector.getPort());
-					} catch (Exception e) {
-						// ignore
-					}
-					String protocol = connector.getProtocol();
-					if (protocol != null && protocol.length() > 0) {
-						name = protocol;
-						protocol2 = protocol; 
-					}
-					if ("HTTP".equals(protocol))
-						contentTypes = new String[] { "web", "webservices" };
-					String secure = connector.getSecure();
-					if (secure != null && secure.length() > 0) {
-						name = "SSL";
-						protocol2 = "SSL";
-					} else
-						advanced = false;
-					ports.add(new ServerPort(i +"/" + j, name, port, protocol2, contentTypes, advanced));
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting server ports", e);
-		}
-		return ports;
-	}
-	
-	/**
-	 * Return a list of the web modules in this server.
-	 * @return java.util.List
-	 */
-	public List getWebModules() {
-		List list = new ArrayList();
-	
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						Context context = host.getContext(j);
-						String reload = context.getReloadable();
-						if (reload == null)
-							reload = "false";
-						WebModule module = new WebModule(context.getPath(), 
-							context.getDocBase(), context.getSource(),
-							reload.equalsIgnoreCase("true") ? true : false);
-						list.add(module);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting project refs", e);
-		}
-		return list;
-	}
-	
-	/**
-	 * @see TomcatConfiguration#load(IPath, IProgressMonitor)
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 5);
-			
-			// check for catalina.policy to verify that this is a v5.0 config
-			InputStream in = new FileInputStream(path.append("catalina.policy").toFile());
-			in.read();
-			in.close();
-			monitor.worked(1);
-
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile()));
-			monitor.worked(1);
-
-			webAppDocument = new WebAppDocument(path.append("web.xml"));
-			monitor.worked(1);
-			
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile())));
-			monitor.worked(1);
-			
-			// load policy file
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile())));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(1);
-			
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load Tomcat v5.0 configuration from " + path.toOSString() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e));
-		}
-	}
-
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see TomcatConfiguration#load(IFolder, IProgressMonitor)
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 800);
-	
-			// check for catalina.policy to verify that this is a v4.0 config
-			IFile file = folder.getFile("catalina.policy");
-			if (!file.exists())
-				throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null));
-	
-			// load server.xml
-			file = folder.getFile("server.xml");
-			InputStream in = file.getContents();
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(in);
-			monitor.worked(200);
-	
-			// load web.xml
-			file = folder.getFile("web.xml");
-			webAppDocument = new WebAppDocument(file);
-			monitor.worked(200);
-	
-			// load tomcat-users.xml
-			file = folder.getFile("tomcat-users.xml");
-			in = file.getContents();
-			
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
-			monitor.worked(200);
-		
-			// load catalina.policy
-			file = folder.getFile("catalina.policy");
-			in = file.getContents();
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(in));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(200);
-	
-			if (monitor.isCanceled())
-				throw new Exception("Cancelled");
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not reload Tomcat v5.0 configuration from: " + folder.getFullPath() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e));
-		}
-	}
-
-	/**
-	 * Save to the given directory.
-	 * @param path a path
-	 * @param forceDirty boolean
-	 * @param monitor a progress monitor
-	 * @exception CoreException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 3);
-	
-			// make sure directory exists
-			if (!path.toFile().exists()) {
-				forceDirty = true;
-				path.toFile().mkdir();
-			}
-			monitor.worked(1);
-	
-			// save files
-			if (forceDirty || isServerDirty)
-				serverFactory.save(path.append("server.xml").toOSString());
-			monitor.worked(1);
-	
-			//if (forceDirty || isWebAppDirty)
-			//	webAppFactory.save(dirPath + "web.xml");
-			//webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty);
-			webAppDocument.save(path.append("web.xml").toOSString(), forceDirty);
-			monitor.worked(1);
-	
-			if (forceDirty)
-				XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument);
-			monitor.worked(1);
-	
-			if (forceDirty || isPolicyDirty) {
-				BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile()));
-				bw.write(policyFile);
-				bw.close();
-			}
-			monitor.worked(1);
-			isServerDirty = false;
-			isPolicyDirty = false;
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.0 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-	
-	public void save(IPath path, IProgressMonitor monitor) throws CoreException {
-		save(path, true, monitor);
-	}
-
-	/**
-	 * Save the information held by this object to the given directory.
-	 *
-	 * @param folder a folder
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 900);
-	
-			// save server.xml
-			byte[] data = serverFactory.getContents();
-			InputStream in = new ByteArrayInputStream(data);
-			IFile file = folder.getFile("server.xml");
-			if (file.exists()) {
-				if (isServerDirty)
-					file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-				else
-					monitor.worked(200);
-			} else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save web.xml
-			webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save tomcat-users.xml
-			data = XMLUtil.getContents(tomcatUsersDocument);
-			in = new ByteArrayInputStream(data);
-			file = folder.getFile("tomcat-users.xml");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save catalina.policy
-			in = new ByteArrayInputStream(policyFile.getBytes());
-			file = folder.getFile("catalina.policy");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.0 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-
-	protected static boolean hasMDBListener(Server server) {
-		if (server == null)
-			return false;
-		
-		int count = server.getListenerCount();
-		if (count == 0)
-			return false;
-			
-		for (int i = 0; i < count; i++) {
-			Listener listener = server.getListener(i);
-			if (listener != null && listener.getClassName() != null && listener.getClassName().indexOf("mbean") >= 0)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping)
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule)
-	 */
-	public void addWebModule(int index, ITomcatWebModule module) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = (Context) host.createElement(index, "Context");
-					context.setDocBase(module.getDocumentBase());
-					context.setPath(module.getPath());
-					context.setReloadable(module.isReloadable() ? "true" : "false");
-					if (module.getMemento() != null && module.getMemento().length() > 0)
-						context.setSource(module.getMemento());
-					isServerDirty = true;
-					firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error adding web module " + module.getPath(), e);
-		}
-	}
-
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param path a path
-	 * @param server2 a server type
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.updatingConfigurationTask, 100);
-			
-			Tomcat50Configuration config = new Tomcat50Configuration(null);
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				//IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
-				//Tomcat50Configuration cfg = (Tomcat50Configuration) scwc.getAdapter(Tomcat50Configuration.class);
-				config.localizeWebModules();
-			}
-			monitor.worked(20);
-	
-			if (monitor.isCanceled())
-				return;
-	
-			config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (!monitor.isCanceled())
-				monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error localizing configuration", e);
-		}
-	}
-	
-	/**
-	 * Go through all of the web modules and make the document
-	 * base "local" to the configuration.
-	 */
-	protected void localizeWebModules() {
-		List modules = getWebModules();
-
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			WebModule module = (WebModule) modules.get(i);
-			String memento = module.getMemento();
-			if (memento != null && memento.length() > 0) {
-				// update document base to a relative ref
-				String docBase = getPathPrefix() + module.getPath();
-				if (docBase.startsWith("/") || docBase.startsWith("\\"))
-					docBase = docBase.substring(1);
-				modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
-			}
-		}
-	}
-
-	/**
-	 * Change the extension of a mime mapping.
-	 * 
-	 * @param index
-	 * @param map
-	 */
-	public void modifyMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.modifyMimeMapping(index, map);
-		firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
-	}
-	
-	/**
-	 * Modify the port with the given id.
-	 *
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	public void modifyServerPort(String id, int port) {
-		try {
-			if ("server".equals(id)) {
-				server.setPort(port + "");
-				isServerDirty = true;
-				firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-				return;
-			}
-	
-			int i = id.indexOf("/");
-			int servNum = Integer.parseInt(id.substring(0, i));
-			int connNum = Integer.parseInt(id.substring(i + 1));
-			
-			Service service = server.getService(servNum);
-			Connector connector = service.getConnector(connNum);
-			connector.setPort(port + "");
-			isServerDirty = true;
-			firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying server port " + id, e);
-		}
-	}
-	/**
-	 * Change a web module.
-	 * @param index int
-	 * @param docBase java.lang.String
-	 * @param path java.lang.String
-	 * @param reloadable boolean
-	 */
-	public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = host.getContext(index);
-					context.setPath(path);
-					context.setDocBase(docBase);
-					context.setReloadable(reloadable ? "true" : "false");
-					isServerDirty = true;
-					WebModule module = new WebModule(path, docBase, null, reloadable);
-					firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying web module " + index, e);
-		}
-	}
-
-	/**
-	 * Removes a mime mapping.
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index) {
-		webAppDocument.removeMimeMapping(index);
-		firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
-	}
-
-	/**
-	 * Removes a web module.
-	 * @param index int
-	 */
-	public void removeWebModule(int index) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					host.removeElement("Context", index);
-					isServerDirty = true;
-					firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error removing module ref " + index, e);
-		}
-	}
-
-	protected IStatus backupAndPublish(IPath confDir, boolean doBackup, IProgressMonitor monitor) {
-		MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishConfigurationTask, null);
-		Trace.trace(Trace.FINER, "Backup and publish");
-		monitor = ProgressUtil.getMonitorFor(monitor);
-
-		backupAndPublish(confDir, doBackup, ms, monitor, 300);
-		// TODO Refactor success detection once Bug 81060 is addressed
-		// This approach avoids refactoring TomcatConfiguration.backupFolder()
-		// and backupPath() for now.
-		if (ms.isOK() && ms.getChildren().length > 0)
-			publishContextConfig(confDir, ms, monitor);
-
-		monitor.done();
-		return ms;
-	}
-	
-	protected void publishContextConfig(IPath confDir, MultiStatus ms, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINER, "Apply context configurations");
-		try {
-			confDir = confDir.append("conf");
-			
-			monitor.subTask(Messages.publishContextConfigTask);
-			Factory factory = new Factory();
-			factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			Server publishedServer = (Server) factory.loadDocument(new FileInputStream(confDir.append("server.xml").toFile()));
-			monitor.worked(100);
-
-			boolean modified = false;
-
-			int size = publishedServer.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = publishedServer.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						Context context = host.getContext(j);
-						monitor.subTask(NLS.bind(Messages.checkingContextTask,
-								new String[] {context.getPath()}));
-						if (addContextConfig(context)) {
-							modified = true;
-						}
-					}
-				}
-			}
-			monitor.worked(100);
-			if (modified) {
-				monitor.subTask(Messages.savingContextConfigTask);
-				factory.save(confDir.append("server.xml").toOSString());
-			}
-			monitor.worked(100);
-			
-			Trace.trace(Trace.FINER, "Server.xml updated with context.xml configurations");
-			ms.add(new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.serverPostProcessingComplete, null));
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not apply context configurations published Tomcat v5.0 configuration from " + confDir.toOSString() + ": " + e.getMessage());
-			IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e);
-			ms.add(s);
-		}
-	}
-	
-	/**
-	 * If the specified Context is linked to a project, try to
-	 * update any configuration found a META-INF/context.xml found
-	 * relative to the specified docBase.
-	 * @param context Context object to receive context.xml contents.
-	 * @return Returns true if context is modified.
-	 */
-	protected boolean addContextConfig(Context context) {
-		boolean modified = false;
-		String source = context.getSource();
-		if (source != null && source.length() > 0 )
-		{
-			String docBase = context.getDocBase();
-			Context contextConfig = loadContextConfig(docBase);
-			if (null != contextConfig) {
-				if (context.hasChildNodes())
-					context.removeChildren();
-				contextConfig.copyChildrenTo(context);
-				modified = true;
-			}
-		}
-		return modified;
-	}
-	
-	/**
-	 * Tries to read a META-INF/context.xml file relative to the
-	 * specified docBase.  If found, it creates a Context object
-	 * containing the contexts of that file.
-	 * @param docBase
-	 * @return Context element created from context.xml, or null if not found.
-	 */
-	protected Context loadContextConfig(String docBase) {
-		File contexXML = new File(docBase + File.separator + "META-INF" + File.separator + "context.xml");
-		if (contexXML.exists()) {
-			try {
-				InputStream is = new FileInputStream(contexXML);
-				Factory ctxFactory = new Factory();
-				ctxFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-				Context ctx = (Context)ctxFactory.loadDocument(is);
-				is.close();
-				return ctx;
-			} catch (FileNotFoundException e) {
-				// Ignore, should never occur
-			} catch (IOException e) {
-				Trace.trace(Trace.SEVERE, "Error reading web module's context.xml file: " + docBase, e);
-			}
-		}
-		return null;
- 	}
-
-	protected IStatus cleanupServer(IPath confDir, IPath installDir, IProgressMonitor monitor) {
-		MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.cleanupServerTask, null);
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(Messages.cleanupServerTask, 200);
-
-		try {
-			monitor.subTask(Messages.detectingRemovedProjects);
-
-			// Try to read old server configuration
-			Factory factory = new Factory();
-			factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			File serverFile = confDir.append("conf").append("server.xml").toFile();
-			if (serverFile.exists()) {
-				Server oldServer = (Server) factory.loadDocument(new FileInputStream(serverFile));
-				
-				// Begin building path to context directory
-				IPath contextDir = confDir.append("conf");
-
-				// Collect paths of old web modules managed by WTP
-				Set oldPaths = new HashSet();
-				int size = oldServer.getServiceCount();
-				for (int i = 0; i < size; i++) {
-					Service service = oldServer.getService(i);
-					if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-						Engine engine = service.getEngine();
-						Host host = engine.getHost();
-						// Finish path to context directory
-						contextDir = contextDir.append(engine.getName()).append(host.getName());
-						int size2 = host.getContextCount();
-						for (int j = 0; j < size2; j++) {
-							Context context = host.getContext(j);
-							String source = context.getSource();
-							if (source != null && source.length() > 0 )	{
-								oldPaths.add(context.getPath());
-							}
-						}
-					}
-				}
-
-				// Remove paths for web modules that are staying around
-				List modules = getWebModules();
-				size = modules.size();
-				for (int i = 0; i < size; i++) {
-					WebModule module = (WebModule) modules.get(i);
-					oldPaths.remove(module.getPath());
-				}
-				monitor.worked(100);
-
-				// Delete context files for managed web modules that have gone away
-				if (oldPaths.size() > 0 ) {
-					IProgressMonitor subMonitor = ProgressUtil.getSubMonitorFor(monitor, 100);
-					subMonitor.beginTask(Messages.deletingContextFilesTask, oldPaths.size() * 100);
-					
-					Iterator iter = oldPaths.iterator();
-					while (iter.hasNext()) {
-						// Derive the context file name from the path + ".xml", minus the leading '/'
-						String fileName = ((String)iter.next()).substring(1) + ".xml";
-						IPath contextPath = contextDir.append(fileName);
-						File contextFile = contextPath.toFile();
-						if (contextFile.exists()) {
-							subMonitor.subTask(NLS.bind(Messages.deletingContextFile, fileName));
-							if (contextFile.delete()) {
-								Trace.trace(Trace.FINER, "Leftover context file " + fileName + " deleted.");
-								ms.add(new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0,
-										NLS.bind(Messages.deletedContextFile, fileName), null));
-								
-							} else {
-								Trace.trace(Trace.SEVERE, "Could not delete obsolete context file " + contextPath.toOSString());
-								ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0,
-										NLS.bind(Messages.errorCouldNotDeleteContextFile, contextPath.toOSString()), null));
-							}
-							subMonitor.worked(100);
-						}
-					}
-					subMonitor.done();
-				} else {
-					monitor.worked(100);
-				}
-			}
-			// Else no server.xml.  Assume first publish to new temp directory
-			else {
-				monitor.worked(200);
-			}
-			Trace.trace(Trace.FINER, "Server cleaned");
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not cleanup server at " + confDir.toOSString() + ": " + e.getMessage());
-			ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0,
-					NLS.bind(Messages.errorCleanupServer, new String[] {e.getLocalizedMessage()}), e));
-		}
-		
-		monitor.done();
-		return ms;
-	}
-
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.runtimeDirPrepared, null);		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java
deleted file mode 100644
index ab030d2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java
+++ /dev/null
@@ -1,121 +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.jst.server.tomcat.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IWebModule;
-/**
- * Tomcat 50 handler.
- */
-public class Tomcat50Handler implements ITomcatVersionHandler {
-	/**
-	 * @see ITomcatVersionHandler#verifyInstallPath(IPath)
-	 */
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_50))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_50);
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClass()
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.catalina.startup.Bootstrap";
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeClasspath(IPath)
-	 */
-	public List getRuntimeClasspath(IPath installPath) {
-		List cp = new ArrayList();
-		
-		// 5.0 - add bootstrap.jar from the Tomcat bin directory
-		IPath binPath = installPath.append("bin");
-		if (binPath.toFile().exists()) {
-			IPath path = binPath.append("bootstrap.jar");
-			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-		}
-		
-		return cp;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		
-		if (debug)
-			list.add("-debug");
-		
-		if (starting)
-			list.add("start");
-		else
-			list.add("stop");
-		
-		String[] temp = new String[list.size()];
-		list.toArray(temp);
-		return temp;
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean, boolean)
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
-		List list = new ArrayList();
-		if (isTestEnv)
-			list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\"");
-		else 
-			list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\"");
-		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
-		list.add("-Djava.endorsed.dirs=\"" + installPath.append("common").append("endorsed").toOSString() + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			list.add("-Djava.security.manager");
-			IPath dir = configPath.append("conf").append("catalina.policy");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#canAddModule(IWebModule)
-	 */
-	public IStatus canAddModule(IWebModule module) {
-		if ("1.2".equals(module.getJ2EESpecificationVersion()) || "1.3".equals(module.getJ2EESpecificationVersion()) || "1.4".equals(module.getJ2EESpecificationVersion()))
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.canAddModule, null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec50, null);
-	}
-
-	/**
-	 * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour)
-	 */
-	public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) {
-		if (serverBehaviour.getTomcatServer().isTestEnvironment())
-			return serverBehaviour.getTempDirectory();
-		return serverBehaviour.getServer().getRuntime().getLocation();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java
deleted file mode 100644
index 47aa3c2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java
+++ /dev/null
@@ -1,782 +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.jst.server.tomcat.core.internal;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
-import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.*;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Tomcat v5.5 server configuration.
- */
-public class Tomcat55Configuration extends TomcatConfiguration {
-	protected static final String DEFAULT_SERVICE = "Catalina";
-	protected Server server;
-	protected Factory serverFactory;
-	protected boolean isServerDirty;
-
-	protected WebAppDocument webAppDocument;
-
-	protected Document tomcatUsersDocument;
-
-	protected String policyFile;
-	protected boolean isPolicyDirty;
-
-	/**
-	 * Tomcat55Configuration constructor.
-	 * 
-	 * @param path a path
-	 */
-	public Tomcat55Configuration(IFolder path) {
-		super(path);
-	}
-	
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public ServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
-			if (port.getName().equals("HTTP"))
-				return port;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the mime mappings.
-	 * @return java.util.List
-	 */
-	public List getMimeMappings() {
-		return webAppDocument.getMimeMappings();
-	}
-	
-	/**
-	 * Returns the prefix that is used in front of the
-	 * web module path property. (e.g. "webapps")
-	 *
-	 * @return java.lang.String
-	 */
-	public String getPathPrefix() {
-		return "";
-	}
-	
-	/**
-	 * Return the docBase of the ROOT web module.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getROOTModuleDocBase() {
-		return "ROOT";
-	}
-	
-	/**
-	 * Returns a list of ServerPorts that this configuration uses.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerPorts() {
-		List ports = new ArrayList();
-	
-		// first add server port
-		try {
-			int port = Integer.parseInt(server.getPort());
-			ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP"));
-		} catch (Exception e) {
-			// ignore
-		}
-	
-		// add connectors
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				int size2 = service.getConnectorCount();
-				for (int j = 0; j < size2; j++) {
-					Connector connector = service.getConnector(j);
-					String name = "HTTP";
-					String protocol2 = "TCPIP";
-					boolean advanced = true;
-					String[] contentTypes = null;
-					int port = -1;
-					try {
-						port = Integer.parseInt(connector.getPort());
-					} catch (Exception e) {
-						// ignore
-					}
-					String protocol = connector.getProtocol();
-					if (protocol != null && protocol.length() > 0) {
-						name = protocol;
-						protocol2 = protocol; 
-					}
-					if ("HTTP".equals(protocol))
-						contentTypes = new String[] { "web", "webservices" };
-					String secure = connector.getSecure();
-					if (secure != null && secure.length() > 0) {
-						name = "SSL";
-						protocol2 = "SSL";
-					} else
-						advanced = false;
-					ports.add(new ServerPort(i +"/" + j, name, port, protocol2, contentTypes, advanced));
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting server ports", e);
-		}
-		return ports;
-	}
-	
-	/**
-	 * Return a list of the web modules in this server.
-	 * @return java.util.List
-	 */
-	public List getWebModules() {
-		List list = new ArrayList();
-	
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						Context context = host.getContext(j);
-						String reload = context.getReloadable();
-						if (reload == null)
-							reload = "false";
-						WebModule module = new WebModule(context.getPath(), 
-							context.getDocBase(), context.getSource(),
-							reload.equalsIgnoreCase("true") ? true : false);
-						list.add(module);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting project refs", e);
-		}
-		return list;
-	}
-	
-	/**
-	 * @see TomcatConfiguration#load(IPath, IProgressMonitor)
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 5);
-			
-			// check for catalina.policy to verify that this is a v5.5 config
-			InputStream in = new FileInputStream(path.append("catalina.policy").toFile());
-			in.read();
-			in.close();
-			monitor.worked(1);
-
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile()));
-			monitor.worked(1);
-
-			webAppDocument = new WebAppDocument(path.append("web.xml"));
-			monitor.worked(1);
-			
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile())));
-			monitor.worked(1);
-			
-			// load policy file
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile())));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(1);
-			
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load Tomcat v5.5 configuration from " + path.toOSString() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e));
-		}
-	}
-
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see TomcatConfiguration#load(IFolder, IProgressMonitor)
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.loadingTask, 800);
-	
-			// check for catalina.policy to verify that this is a v4.0 config
-			IFile file = folder.getFile("catalina.policy");
-			if (!file.exists())
-				throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null));
-	
-			// load server.xml
-			file = folder.getFile("server.xml");
-			InputStream in = file.getContents();
-			serverFactory = new Factory();
-			serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			server = (Server) serverFactory.loadDocument(in);
-			monitor.worked(200);
-	
-			// load web.xml
-			file = folder.getFile("web.xml");
-			webAppDocument = new WebAppDocument(file);
-			monitor.worked(200);
-	
-			// load tomcat-users.xml
-			file = folder.getFile("tomcat-users.xml");
-			in = file.getContents();
-			
-			tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
-			monitor.worked(200);
-		
-			// load catalina.policy
-			file = folder.getFile("catalina.policy");
-			in = file.getContents();
-			BufferedReader br = null;
-			try {
-				br = new BufferedReader(new InputStreamReader(in));
-				String temp = br.readLine();
-				policyFile = "";
-				while (temp != null) {
-					policyFile += temp + "\n";
-					temp = br.readLine();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load policy file", e);
-			} finally {
-				if (br != null)
-					br.close();
-			}
-			monitor.worked(200);
-	
-			if (monitor.isCanceled())
-				throw new Exception("Cancelled");
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not reload Tomcat v5.5 configuration from: " + folder.getFullPath() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e));
-		}
-	}
-
-	/**
-	 * Save to the given directory.
-	 * @param path a path
-	 * @param forceDirty boolean
-	 * @param monitor a progress monitor
-	 * @exception CoreException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 3);
-	
-			// make sure directory exists
-			if (!path.toFile().exists()) {
-				forceDirty = true;
-				path.toFile().mkdir();
-			}
-			monitor.worked(1);
-	
-			// save files
-			if (forceDirty || isServerDirty)
-				serverFactory.save(path.append("server.xml").toOSString());
-			monitor.worked(1);
-	
-			//if (forceDirty || isWebAppDirty)
-			//	webAppFactory.save(dirPath + "web.xml");
-			//webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty);
-			webAppDocument.save(path.append("web.xml").toOSString(), forceDirty);
-			monitor.worked(1);
-	
-			if (forceDirty)
-				XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument);
-			monitor.worked(1);
-	
-			if (forceDirty || isPolicyDirty) {
-				BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile()));
-				bw.write(policyFile);
-				bw.close();
-			}
-			monitor.worked(1);
-			isServerDirty = false;
-			isPolicyDirty = false;
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.5 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-	
-	public void save(IPath path, IProgressMonitor monitor) throws CoreException {
-		save(path, true, monitor);
-	}
-
-	/**
-	 * Save the information held by this object to the given directory.
-	 *
-	 * @param folder a folder
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.savingTask, 900);
-	
-			// save server.xml
-			byte[] data = serverFactory.getContents();
-			InputStream in = new ByteArrayInputStream(data);
-			IFile file = folder.getFile("server.xml");
-			if (file.exists()) {
-				if (isServerDirty)
-					file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-				else
-					monitor.worked(200);
-			} else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save web.xml
-			webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save tomcat-users.xml
-			data = XMLUtil.getContents(tomcatUsersDocument);
-			in = new ByteArrayInputStream(data);
-			file = folder.getFile("tomcat-users.xml");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			// save catalina.policy
-			in = new ByteArrayInputStream(policyFile.getBytes());
-			file = folder.getFile("catalina.policy");
-			if (file.exists())
-				monitor.worked(200);
-				//file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-	
-			if (monitor.isCanceled())
-				return;
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.5 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-
-	protected static boolean hasMDBListener(Server server) {
-		if (server == null)
-			return false;
-		
-		int count = server.getListenerCount();
-		if (count == 0)
-			return false;
-			
-		for (int i = 0; i < count; i++) {
-			Listener listener = server.getListener(i);
-			if (listener != null && listener.getClassName() != null && listener.getClassName().indexOf("mbean") >= 0)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping)
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule)
-	 */
-	public void addWebModule(int index, ITomcatWebModule module) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = (Context) host.createElement(index, "Context");
-					context.setDocBase(module.getDocumentBase());
-					context.setPath(module.getPath());
-					context.setReloadable(module.isReloadable() ? "true" : "false");
-					if (module.getMemento() != null && module.getMemento().length() > 0)
-						context.setSource(module.getMemento());
-					isServerDirty = true;
-					firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error adding web module " + module.getPath(), e);
-		}
-	}
-
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param path a path
-	 * @param server2 a server type
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(Messages.updatingConfigurationTask, 100);
-			
-			Tomcat55Configuration config = new Tomcat55Configuration(null);
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				//IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
-				//Tomcat55Configuration cfg = (Tomcat55Configuration) scwc.getAdapter(Tomcat55Configuration.class);
-				config.localizeWebModules();
-			}
-			monitor.worked(20);
-	
-			if (monitor.isCanceled())
-				return;
-	
-			config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (!monitor.isCanceled())
-				monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error localizing configuration", e);
-		}
-	}
-	
-	/**
-	 * Go through all of the web modules and make the document
-	 * base "local" to the configuration.
-	 */
-	protected void localizeWebModules() {
-		List modules = getWebModules();
-
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			WebModule module = (WebModule) modules.get(i);
-			String memento = module.getMemento();
-			if (memento != null && memento.length() > 0) {
-				// update document base to a relative ref
-				String docBase = getPathPrefix() + module.getPath();
-				if (docBase.startsWith("/") || docBase.startsWith("\\"))
-					docBase = docBase.substring(1);
-				modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
-			}
-		}
-	}
-
-	/**
-	 * Change the extension of a mime mapping.
-	 * 
-	 * @param index
-	 * @param map
-	 */
-	public void modifyMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.modifyMimeMapping(index, map);
-		firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
-	}
-	
-	/**
-	 * Modify the port with the given id.
-	 *
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	public void modifyServerPort(String id, int port) {
-		try {
-			if ("server".equals(id)) {
-				server.setPort(port + "");
-				isServerDirty = true;
-				firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-				return;
-			}
-	
-			int i = id.indexOf("/");
-			int servNum = Integer.parseInt(id.substring(0, i));
-			int connNum = Integer.parseInt(id.substring(i + 1));
-			
-			Service service = server.getService(servNum);
-			Connector connector = service.getConnector(connNum);
-			connector.setPort(port + "");
-			isServerDirty = true;
-			firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying server port " + id, e);
-		}
-	}
-	/**
-	 * Change a web module.
-	 * @param index int
-	 * @param docBase java.lang.String
-	 * @param path java.lang.String
-	 * @param reloadable boolean
-	 */
-	public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					Context context = host.getContext(index);
-					context.setPath(path);
-					context.setDocBase(docBase);
-					context.setReloadable(reloadable ? "true" : "false");
-					isServerDirty = true;
-					WebModule module = new WebModule(path, docBase, null, reloadable);
-					firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error modifying web module " + index, e);
-		}
-	}
-
-	/**
-	 * Removes a mime mapping.
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index) {
-		webAppDocument.removeMimeMapping(index);
-		firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
-	}
-
-	/**
-	 * Removes a web module.
-	 * @param index int
-	 */
-	public void removeWebModule(int index) {
-		try {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					host.removeElement("Context", index);
-					isServerDirty = true;
-					firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
-					return;
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error removing module ref " + index, e);
-		}
-	}
-
-	protected IStatus backupAndPublish(IPath confDir, boolean doBackup, IProgressMonitor monitor) {
-		MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishConfigurationTask, null);
-		Trace.trace(Trace.FINER, "Backup and publish");
-		monitor = ProgressUtil.getMonitorFor(monitor);
-
-		backupAndPublish(confDir, doBackup, ms, monitor, 300);
-		// TODO Refactor success detection once Bug 81060 is addressed
-		// This approach avoids refactoring TomcatConfiguration.backupFolder()
-		// and backupPath() for now.
-		if (ms.isOK() && ms.getChildren().length > 0)
-			publishContextConfig(confDir, ms, monitor);
-
-		monitor.done();
-		return ms;
-	}
-	
-	protected void publishContextConfig(IPath confDir, MultiStatus ms, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINER, "Apply context configurations");
-		try {
-			confDir = confDir.append("conf");
-			
-			monitor.subTask(Messages.publishContextConfigTask);
-			Factory factory = new Factory();
-			factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-			Server publishedServer = (Server) factory.loadDocument(new FileInputStream(confDir.append("server.xml").toFile()));
-			monitor.worked(100);
-			
-			boolean modified = false;
-
-			int size = publishedServer.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = publishedServer.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Engine engine = service.getEngine();
-					Host host = engine.getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						Context context = host.getContext(j);
-						monitor.subTask(NLS.bind(Messages.checkingContextTask,
-								new String[] {context.getPath()}));
-						if (addContextConfig(context)) {
-							modified = true;
-						}
-					}
-				}
-			}
-			monitor.worked(100);
-			if (modified) {
-				monitor.subTask(Messages.savingContextConfigTask);
-				factory.save(confDir.append("server.xml").toOSString());
-			}
-			monitor.worked(100);
-			
-			Trace.trace(Trace.FINER, "Server.xml updated with context.xml configurations");
-			ms.add(new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.serverPostProcessingComplete, null));
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not apply context configurations published Tomcat v5.0 configuration from " + confDir.toOSString() + ": " + e.getMessage());
-			IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e);
-			ms.add(s);
-		}
-	}
-	
-	/**
-	 * If the specified Context is linked to a project, try to
-	 * update any configuration found a META-INF/context.xml found
-	 * relative to the specified docBase.
-	 * @param context Context object to receive context.xml contents.
-	 * @return Returns true if context is modified.
-	 */
-	protected boolean addContextConfig(Context context) {
-		boolean modified = false;
-		String source = context.getSource();
-		if (source != null && source.length() > 0 )
-		{
-			String docBase = context.getDocBase();
-			Context contextConfig = loadContextConfig(docBase);
-			if (null != contextConfig) {
-				if (context.hasChildNodes())
-					context.removeChildren();
-				contextConfig.copyChildrenTo(context);
-				modified = true;
-			}
-		}
-		return modified;
-	}
-	
-	/**
-	 * Tries to read a META-INF/context.xml file relative to the
-	 * specified docBase.  If found, it creates a Context object
-	 * containing the contexts of that file.
-	 * @param docBase
-	 * @return Context element created from context.xml, or null if not found.
-	 */
-	protected Context loadContextConfig(String docBase) {
-		File contexXML = new File(docBase + File.separator + "META-INF" + File.separator + "context.xml");
-		if (contexXML.exists()) {
-			try {
-				InputStream is = new FileInputStream(contexXML);
-				Factory ctxFactory = new Factory();
-				ctxFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40");
-				Context ctx = (Context)ctxFactory.loadDocument(is);
-				is.close();
-				return ctx;
-			} catch (FileNotFoundException e) {
-				// Ignore, should never occur
-			} catch (IOException e) {
-				Trace.trace(Trace.SEVERE, "Error reading web module's context.xml file: " + docBase, e);
-			}
-		}
-		return null;
- 	}
-
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.runtimeDirPrepared, null);		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java
deleted file mode 100644
index d14713f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java
+++ /dev/null
@@ -1,42 +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.jst.server.tomcat.core.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.IWebModule;
-/**
- * Tomcat 55 handler.
- */
-public class Tomcat55Handler extends Tomcat50Handler {
-	/**
-	 * @see ITomcatVersionHandler#verifyInstallPath(IPath)
-	 */
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-		if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_55))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_55);
-	}
-	
-	/**
-	 * @see ITomcatVersionHandler#canAddModule(IWebModule)
-	 */
-	public IStatus canAddModule(IWebModule module) {
-		if ("1.2".equals(module.getJ2EESpecificationVersion()) || "1.3".equals(module.getJ2EESpecificationVersion()) || "1.4".equals(module.getJ2EESpecificationVersion()))
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, Messages.canAddModule, null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec55, null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java
deleted file mode 100644
index c575121..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java
+++ /dev/null
@@ -1,332 +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.jst.server.tomcat.core.internal;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.osgi.util.NLS;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Generic Tomcat server configuration.
- */
-public abstract class TomcatConfiguration implements ITomcatConfiguration, ITomcatConfigurationWorkingCopy {
-	public static final String NAME_PROPERTY = "name";
-	public static final String PORT_PROPERTY = "port";
-	public static final String MODIFY_PORT_PROPERTY = "modifyPort";
-	public static final String ADD_MAPPING_PROPERTY = "addMapping";
-	public static final String REMOVE_MAPPING_PROPERTY = "removeMapping";
-	public static final String MODIFY_MAPPING_PROPERTY = "modifyMapping";
-	
-	public static final String MODIFY_WEB_MODULE_PROPERTY = "modifyWebModule";
-	public static final String ADD_WEB_MODULE_PROPERTY = "addWebModule";
-	public static final String REMOVE_WEB_MODULE_PROPERTY = "removeWebModule";
-	
-	protected IFolder configPath;
-
-	// property change listeners
-	private transient List propertyListeners;
-
-	/**
-	 * TomcatConfiguration constructor.
-	 * 
-	 * @param path a path
-	 */
-	public TomcatConfiguration(IFolder path) {
-		super();
-		this.configPath = path;
-		/*try {
-			load(configPath, new NullProgressMonitor());
-		} catch (Exception e) {
-			// ignore
-		}*/
-	}
-	
-	protected IFolder getFolder() {
-		return configPath;
-	}
-
-	/**
-	 * Copies all files from the given directory in the workbench
-	 * to the given location.  Can be overridden by version specific
-	 * class to modify or enhance what publish does.
-	 * 
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	protected IStatus backupAndPublish(IPath confDir, boolean doBackup, IProgressMonitor monitor) {
-		MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishConfigurationTask, null);
-		Trace.trace(Trace.FINER, "Backup and publish");
-		monitor = ProgressUtil.getMonitorFor(monitor);
-
-		backupAndPublish(confDir, doBackup, ms, monitor, 0);
-
-		monitor.done();
-		return ms;
-	}
-	
-	protected void backupAndPublish(IPath confDir, boolean doBackup, MultiStatus ms, IProgressMonitor monitor, int additionalWork) {
-		try {
-			IPath backup = null;
-			if (doBackup) {
-				// create backup directory
-				backup = confDir.append("backup");
-				if (!backup.toFile().exists())
-					backup.toFile().mkdir();
-			}
-			
-			confDir = confDir.append("conf");
-	
-			/*IServerConfiguration config = getServerConfiguration();
-			IFolder folder = config.getConfigurationDataFolder();
-			if (folder != null)
-				backupFolder(folder, confDir, backup, ms, monitor);
-			else {
-				IPath path = config.getConfigurationDataPath();
-				backupPath(configPath, confDir, backup, ms, monitor);*/
-				backupFolder(getFolder(), confDir, backup, ms, monitor, additionalWork);
-			//}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "backupAndPublish() error", e);
-			IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e);
-			ms.add(s);
-		}
-	}
-	
-	protected void backupFolder(IFolder folder, IPath confDir, IPath backup, MultiStatus ms, IProgressMonitor monitor, int additionalWork) throws CoreException {
-		IResource[] children = folder.members();
-		if (children == null)
-			return;
-		
-		int size = children.length;
-		monitor.beginTask(Messages.publishConfigurationTask, size * 100 + additionalWork);
-		for (int i = 0; i < size; i++) {
-			if (children[i] instanceof IFile) {
-				try {
-					IFile file = (IFile) children[i];
-					String name = file.getName();
-					monitor.subTask(NLS.bind(Messages.publisherPublishTask, new String[] {name}));
-					Trace.trace(Trace.FINEST, "Publishing " + name);
-
-					// backup and copy file
-					boolean copy = true;
-					if (backup != null && !(backup.append(name).toFile().exists())) {
-						IStatus status = FileUtil.copyFile(confDir.append(name).toOSString(), backup + File.separator + name);
-						ms.add(status);
-						if (!status.isOK())
-							copy = false;
-					}
-					
-					if (copy) {
-						InputStream in = file.getContents();
-						ms.add(FileUtil.copyFile(in, confDir.append(name).toOSString()));
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "backupAndPublish() error", e);
-					ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e));
-				}
-			}
-			monitor.worked(100);
-		}
-	}
-	
-	protected void backupPath(IPath path, IPath confDir, IPath backup, MultiStatus ms, IProgressMonitor monitor) {
-		File[] files = path.toFile().listFiles();
-		if (files == null)
-			return;
-			
-		int size = files.length;
-		monitor.beginTask(Messages.publishConfigurationTask, size * 100);
-		for (int i = 0; i < size; i++) {
-			try {
-				File file = files[i];
-				String name = file.getName();
-				monitor.subTask(NLS.bind(Messages.publisherPublishTask, new String[] {name}));
-				Trace.trace(Trace.FINEST, "Publishing " + name);
-
-				// backup and copy file
-				boolean copy = true;
-				if (backup != null && !(backup.append(name).toFile().exists())) {
-					IStatus status = FileUtil.copyFile(confDir.append(name).toOSString(), backup + File.separator + name);
-					ms.add(status);
-					if (!status.isOK())
-						copy = false;
-				}
-				
-				if (copy)
-					ms.add(FileUtil.copyFile(file.getAbsolutePath(), confDir.append(name).toOSString()));
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "backupAndPublish() error", e);
-				ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e));
-			}
-			monitor.worked(100);
-		}
-	}
-	
-	protected IStatus cleanupServer(IPath confDir, IPath installDir, IProgressMonitor monitor) {
-		// Default implementation assumes nothing to clean
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.done();
-		return Status.OK_STATUS;
-	}
-	
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Runtime configuration directory prepared" /* TomcatPlugin.getResource("%canAddModule") */, null);		
-	}
-
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected abstract String getDocBaseRoot();
-
-	/**
-	 * Returns the main server port.
-	 * @return ServerPort
-	 */
-	public abstract ServerPort getMainPort();
-
-	/**
-	 * Returns the prefix that is used in front of the
-	 * web module path property. (e.g. "webapps")
-	 *
-	 * @return java.lang.String
-	 */
-	public abstract String getPathPrefix();
-
-	/**
-	 * Returns the partial URL applicable to this module.
-	 * 
-	 * @param webModule a web module
-	 * @return the partial URL
-	 */
-	protected String getWebModuleURL(IModule webModule) {
-		WebModule module = getWebModule(webModule);
-		if (module != null)
-			return module.getPath();
-		
-		IWebModule webModule2 = (IWebModule) webModule.loadAdapter(IWebModule.class, null);
-		return "/" + webModule2.getContextRoot();
-	}
-
-	/**
-	 * Returns the given module from the config.
-	 *
-	 * @param module a web module
-	 * @return a web module
-	 */
-	protected WebModule getWebModule(IModule module) {
-		if (module == null)
-			return null;
-	
-		String memento = module.getId();
-	
-		List modules = getWebModules();
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			WebModule webModule = (WebModule) modules.get(i);
-			if (memento.equals(webModule.getMemento())) {
-				return webModule;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return the docBase of the ROOT web module.
-	 *
-	 * @return java.lang.String
-	 */
-	protected abstract String getROOTModuleDocBase();
-
-	protected abstract void save(IFolder folder, IProgressMonitor monitor) throws CoreException;
-	
-	protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		if (propertyListeners == null)
-			return;
-	
-		PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
-		try {
-			Iterator iterator = propertyListeners.iterator();
-			while (iterator.hasNext()) {
-				try {
-					PropertyChangeListener listener = (PropertyChangeListener) iterator.next();
-					listener.propertyChange(event);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error firing property change event", e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error in property event", e);
-		}
-	}
-
-	/**
-	 * Adds a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners == null)
-			propertyListeners = new ArrayList();
-		propertyListeners.add(listener);
-	}
-
-	/**
-	 * Removes a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners != null)
-			propertyListeners.remove(listener);
-	}
-
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-	}
-
-	/*public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		load(runtime.getLocation().append("conf"), monitor);
-	}*/
-	
-	protected abstract void load(IPath path, IProgressMonitor monitor) throws CoreException;
-	
-	protected abstract void load(IFolder folder, IProgressMonitor monitor) throws CoreException;
-	
-	public abstract void addWebModule(int index, ITomcatWebModule module);
-	
-	public abstract void removeWebModule(int index);
-
-	/**
-	 * Return a string representation of this object.
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "TomcatConfiguration[" + this + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
deleted file mode 100644
index 43e26db..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,81 +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.jst.server.tomcat.core.internal;
-
-import java.io.File;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.launching.*;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * 
- */
-public class TomcatLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	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;
-		}
-
-		TomcatServerBehaviour tomcatServer = (TomcatServerBehaviour) server.loadAdapter(TomcatServerBehaviour.class, null);
-		tomcatServer.setupLaunch(launch, mode, monitor);
-		
-		String mainTypeName = tomcatServer.getRuntimeClass();
-
-		IVMInstall vm = verifyVMInstall(configuration);
-
-		IVMRunner runner = vm.getVMRunner(mode);
-
-		File workingDir = verifyWorkingDirectory(configuration);
-		String workingDirName = null;
-		if (workingDir != null)
-			workingDirName = workingDir.getAbsolutePath();
-		
-		// Program & VM args
-		String pgmArgs = getProgramArguments(configuration);
-		String vmArgs = getVMArguments(configuration);
-
-		ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
-		
-		// VM-specific attributes
-		Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-		
-		// Classpath
-		String[] classpath = getClasspath(configuration);
-		
-		// Create VM config
-		VMRunnerConfiguration runConfig = new VMRunnerConfiguration(mainTypeName, classpath);
-		runConfig.setProgramArguments(execArgs.getProgramArgumentsArray());
-		runConfig.setVMArguments(execArgs.getVMArgumentsArray());
-		runConfig.setWorkingDirectory(workingDirName);
-		runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
-		// Bootpath
-		String[] bootpath = getBootpath(configuration);
-		if (bootpath != null && bootpath.length > 0)
-			runConfig.setBootClassPath(bootpath);
-		
-		setDefaultSourceLocator(launch, configuration);
-		
-		// Launch the configuration
-		runner.run(runConfig, launch, monitor);
-		tomcatServer.setProcess(launch.getProcesses()[0]);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java
deleted file mode 100644
index dbcb384..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,68 +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.jst.server.tomcat.core.internal;
-
-import java.net.URL;
-
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.core.Servlet;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-/**
- * Launchable adapter delegate for Web resources in Tomcat.
- */
-public class TomcatLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	/*
-	 * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact moduleObject) {
-		Trace.trace(Trace.FINER, "TomcatLaunchableAdapter " + server + "-" + moduleObject);
-		if (server.getAdapter(TomcatServer.class) == null)
-			return null;
-		if (!(moduleObject instanceof Servlet) &&
-			!(moduleObject instanceof WebResource))
-			return null;
-		if (moduleObject.getModule().loadAdapter(IWebModule.class, null) == null)
-			return null;
-
-		try {
-			URL url = ((IURLProvider) server.getAdapter(IURLProvider.class)).getModuleRootURL(moduleObject.getModule());
-			
-			Trace.trace(Trace.FINER, "root: " + url);
-
-			if (moduleObject instanceof Servlet) {
-				Servlet servlet = (Servlet) moduleObject;
-				if (servlet.getAlias() != null) {
-					String path = servlet.getAlias();
-					if (path.startsWith("/"))
-						path = path.substring(1);
-					url = new URL(url, path);
-				} else
-					url = new URL(url, "servlet/" + servlet.getServletClassName());
-			} else if (moduleObject instanceof WebResource) {
-				WebResource resource = (WebResource) moduleObject;
-				String path = resource.getPath().toString();
-				Trace.trace(Trace.FINER, "path: " + path);
-				if (path != null && path.startsWith("/") && path.length() > 0)
-					path = path.substring(1);
-				if (path != null && path.length() > 0)
-					url = new URL(url, path);
-			}
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting URL for " + moduleObject, e);
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java
deleted file mode 100644
index b80cdf2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java
+++ /dev/null
@@ -1,293 +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.jst.server.tomcat.core.internal;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-/**
- * The Tomcat plugin.
- */
-public class TomcatPlugin extends Plugin {
-	protected static TomcatPlugin singleton;
-
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.tomcat.core";
-
-	public static final String TOMCAT_32 = "org.eclipse.jst.server.tomcat.32";
-	public static final String TOMCAT_40 = "org.eclipse.jst.server.tomcat.40";
-	public static final String TOMCAT_41 = "org.eclipse.jst.server.tomcat.41";
-	public static final String TOMCAT_50 = "org.eclipse.jst.server.tomcat.50";
-	public static final String TOMCAT_55 = "org.eclipse.jst.server.tomcat.55";
-
-	protected static final String VERIFY_INSTALL_FILE = "verifyInstall.properties";
-	protected static String[] verify32;
-	protected static String[] verify40;
-	protected static String[] verify41;
-	protected static String[] verify50;
-	protected static String[] verify55;
-
-	/**
-	 * TomcatPlugin constructor comment.
-	 */
-	public TomcatPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * @return org.eclipse.jst.server.tomcat.internal.TomcatPlugin
-	 */
-	public static TomcatPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Return the install location preference.
-	 * 
-	 * @param id a runtime type id
-	 * @return the install location
-	 */
-	public static String getPreference(String id) {
-		return getInstance().getPluginPreferences().getString(id);
-	}
-	
-	/**
-	 * Set the install location preference.
-	 * 
-	 * @param id the runtimt type id
-	 * @param value the location
-	 */
-	public static void setPreference(String id, String value) {
-		getInstance().getPluginPreferences().setValue(id, value);
-		getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status a status object
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	/**
-	 * Returns the Tomcat home directory.
-	 * @return java.lang.String
-	 */
-	protected static String getTomcatStateLocation() {
-		try {
-			return getInstance().getStateLocation().toOSString();
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Return the Tomcat version handler.
-	 * 
-	 * @param id
-	 * @return a version handler
-	 */
-	public static ITomcatVersionHandler getTomcatVersionHandler(String id) {
-		if (id.indexOf("runtime") > 0)
-			id = id.substring(0, 30) + id.substring(38);
-		//id = id.substring(0, id.length() - 8);
-		if (TOMCAT_32.equals(id))
-			return new Tomcat32Handler();
-		else if (TOMCAT_40.equals(id))
-			return new Tomcat40Handler();
-		else if (TOMCAT_41.equals(id))
-			return new Tomcat41Handler();
-		else if (TOMCAT_50.equals(id))
-			return new Tomcat50Handler();
-		else if (TOMCAT_55.equals(id))
-			return new Tomcat55Handler();
-		else
-			return null;
-	}
-
-	/**
-	 * Loads the files to verify the Tomcat installation.
-	 */
-	public static void loadVerifyFiles() {
-		if (verify32 != null)
-			return;
-	
-		// backup (empty) values
-		verify32 = new String[0];
-		verify40 = new String[0];
-		verify41 = new String[0];
-		verify50 = new String[0];
-		verify55 = new String[0];
-		
-		try {
-			URL url = getInstance().getBundle().getEntry(VERIFY_INSTALL_FILE);
-			url = Platform.resolve(url);
-			Properties p = new Properties();
-			p.load(url.openStream());
-
-			String verify = p.getProperty("verify32install");
-			verify.replace('/', File.separatorChar);
-
-			StringTokenizer st = new StringTokenizer(verify, ",");
-			List list = new ArrayList();
-			while (st.hasMoreTokens())
-				list.add(st.nextToken());
-			Trace.trace(Trace.FINEST, "Verify32: " + list.toString());
-			verify32 = new String[list.size()];
-			list.toArray(verify32);
-
-			// v4.0
-			verify = p.getProperty("verify40install");
-			verify.replace('/', File.separatorChar);
-
-			st = new StringTokenizer(verify, ",");
-			list = new ArrayList();
-			while (st.hasMoreTokens())
-				list.add(st.nextToken());
-			Trace.trace(Trace.FINEST, "Verify40: " + list.toString());
-			verify40 = new String[list.size()];
-			list.toArray(verify40);
-			
-			// v4.1
-			verify = p.getProperty("verify41install");
-			verify.replace('/', File.separatorChar);
-
-			st = new StringTokenizer(verify, ",");
-			list = new ArrayList();
-			while (st.hasMoreTokens())
-				list.add(st.nextToken());
-			Trace.trace(Trace.FINEST, "Verify41: " + list.toString());
-			verify41 = new String[list.size()];
-			list.toArray(verify41);
-			
-			// v5.0
-			verify = p.getProperty("verify50install");
-			verify.replace('/', File.separatorChar);
-
-			st = new StringTokenizer(verify, ",");
-			list = new ArrayList();
-			while (st.hasMoreTokens())
-				list.add(st.nextToken());
-			Trace.trace(Trace.FINEST, "Verify50: " + list.toString());
-			verify50 = new String[list.size()];
-			list.toArray(verify50);
-
-			// v5.5
-			verify = p.getProperty("verify55install");
-			verify.replace('/', File.separatorChar);
-
-			st = new StringTokenizer(verify, ",");
-			list = new ArrayList();
-			while (st.hasMoreTokens())
-				list.add(st.nextToken());
-			Trace.trace(Trace.FINEST, "Verify55: " + list.toString());
-			verify55 = new String[list.size()];
-			list.toArray(verify55);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load installation verification properties", e);
-		}
-	}
-
-	/**
-	 * Verify the Tomcat installation directory.
-	 * 
-	 * @param installPath
-	 * @param id
-	 * @return <code>true</code> if the directory may be a Tomcat installation,
-	 *    and <code>false</code> otherwise
-	 */
-	public static boolean verifyInstallPath(IPath installPath, String id) {
-		if (installPath == null)
-			return false;
-		
-		String dir = installPath.toOSString();
-		if (!dir.endsWith(File.separator))
-			dir += File.separator;
-
-		// look for the following files and directories
-		TomcatPlugin.loadVerifyFiles();
-		
-		String[] paths = null;
-		if (TOMCAT_32.equals(id))
-			paths = verify32;
-		else if (TOMCAT_40.equals(id))
-			paths = verify40;
-		else if (TOMCAT_41.equals(id))
-			paths = verify41;
-		else if (TOMCAT_50.equals(id))
-			paths = verify50;
-		else if (TOMCAT_55.equals(id))
-			paths = verify55;
-		else
-			return false;
-		
-		for (int i = 0; i < paths.length; i++) {
-			File temp = new File(dir + paths[i]);
-			if (!temp.exists())
-				return false;
-		}
-		return true;
-	}
-
-	public static boolean verifyTomcatVersionFromPath(IPath installPath, String version) {
-		if (installPath == null || version == null)
-			return false;
-		String s = installPath.lastSegment();
-		if (s.indexOf("-3.2") > 0 || s.indexOf(" 3.2") > 0)
-			return TOMCAT_32.equals(version);
-		if (s.indexOf("-4.0") > 0 || s.indexOf(" 4.0") > 0)
-			return TOMCAT_40.equals(version);
-		if (s.indexOf("-4.1") > 0 || s.indexOf(" 4.1") > 0)
-			return TOMCAT_41.equals(version);
-		if (s.indexOf("-5.0") > 0 || s.indexOf(" 5.0") > 0)
-			return TOMCAT_50.equals(version);
-		if (s.indexOf("-5.5") > 0 || s.indexOf(" 5.5") > 0)
-			return TOMCAT_55.equals(version);
-		return true;
-	}
-
-	/**
-	 * Return a <code>java.io.File</code> object that corresponds to the specified
-	 * <code>IPath</code> in the plugin directory.
-	 * 
-	 * @return a file
-	 */
-	protected static File getPlugin() {
-		try {
-			URL installURL = getInstance().getBundle().getEntry("/");
-			URL localURL = Platform.asLocalURL(installURL);
-			return new File(localURL.getFile());
-		} catch (IOException ioe) {
-			return null;
-		}
-	}
-
-	public static void log(String message) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, null));
-	}
-
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, e.getMessage(), e));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
deleted file mode 100644
index ac78bd4..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
+++ /dev/null
@@ -1,234 +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.jst.server.tomcat.core.internal;
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.Launch;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.jdt.launching.*;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * 
- */
-public class TomcatRuntime extends RuntimeDelegate implements ITomcatRuntime, ITomcatRuntimeWorkingCopy {
-	protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
-	protected static final String PROP_VM_INSTALL_ID = "vm-install-id";
-	
-	protected static Map sdkMap = new HashMap(2);
-
-	public TomcatRuntime() {
-		// do nothing
-	}
-
-	public ITomcatVersionHandler getVersionHandler() {
-		IRuntimeType type = getRuntime().getRuntimeType();
-		return TomcatPlugin.getTomcatVersionHandler(type.getId());
-	}
-
-	protected String getVMInstallTypeId() {
-		return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-
-	protected String getVMInstallId() {
-		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-	
-	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;
-	}
-
-	public List getRuntimeClasspath() {
-		return getVersionHandler().getRuntimeClasspath(getRuntime().getLocation());
-	}
-
-	/**
-	 * Verifies the Tomcat installation directory. If it is
-	 * correct, true is returned. Otherwise, the user is notified
-	 * and false is returned.
-	 * @return boolean
-	 */
-	public boolean verifyLocation() {
-		return getVersionHandler().verifyInstallPath(getRuntime().getLocation());
-	}
-	
-	/*
-	 * Validate the runtime
-	 */
-	public IStatus validate() {
-		IStatus status = super.validate();
-		if (!status.isOK())
-			return status;
-	
-		if (!verifyLocation())
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorInstallDir, null);
-		// don't accept trailing space since that can cause startup problems
-		if (getRuntime().getLocation().hasTrailingSeparator())
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorInstallDirTrailingSlash, null);
-		if (getVMInstall() == null)
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorJRE, null);
-
-		// check for tools.jar (contains the javac compiler on Windows & Linux) to see whether
-		// Tomcat will be able to compile JSPs.
-		boolean found = false;
-		File file = getVMInstall().getInstallLocation();
-		if (file != null) {
-			File toolsJar = new File(file, "lib" + File.separator + "tools.jar");
-			if (toolsJar.exists())
-				found = true;
-		}
-		
-		// on Mac, tools.jar is merged into classes.zip. if tools.jar wasn't found,
-		// try loading the javac class by running a check inside the VM
-		if (!found) {
-			String os = Platform.getOS();
-			if (os != null && os.toLowerCase().indexOf("mac") >= 0)
-				found = checkForCompiler();
-		}
-		
-		if (!found)
-			return new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, Messages.warningJRE, null);
-		
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "", null);
-	}
-
-	/**
-	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-		setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-		
-		IRuntimeType type = getRuntimeWorkingCopy().getRuntimeType();
-		getRuntimeWorkingCopy().setLocation(new Path(TomcatPlugin.getPreference("location" + type.getId())));
-	}
-
-	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);
-	}
-	
-	/**
-	 * Checks for the existance of the Java compiler in the given java
-	 * executable. A main program is run (<code>org.eclipse.jst.tomcat.core.
-	 * internal.ClassDetector</code>), that dumps a true or false value
-	 * depending on whether the compiler is found. This output is then
-	 * parsed and cached for future reference.
-	 * 
-	 * @return true if the compiler was found
-	 */	
-	protected boolean checkForCompiler() {
-		// first try the cache
-		File javaHome = getVMInstall().getInstallLocation();
-		try {
-			Boolean b = (Boolean) sdkMap.get(javaHome);
-			return b.booleanValue();
-		} catch (Exception e) {
-			// ignore
-		}
-
-		// locate tomcatcore.jar - it contains the class detector main program
-		File file = TomcatPlugin.getPlugin();
-		if (file != null && file.exists()) {
-			IVMRunner vmRunner = getVMInstall().getVMRunner(ILaunchManager.RUN_MODE);
-			VMRunnerConfiguration config = new VMRunnerConfiguration("org.eclipse.jst.server.tomcat.core.internal.ClassDetector", new String[] { file.getAbsolutePath() });
-			config.setProgramArguments(new String[] { "com.sun.tools.javac.Main" });
-			ILaunch launch = new Launch(null, ILaunchManager.RUN_MODE, null);
-			try {
-				vmRunner.run(config, launch, null);
-				for (int i = 0; i < 200; i++) {
-					// wait no more than 10 seconds (200 * 50 mils)
-					if (launch.isTerminated()) {
-						break;
-					}
-					try {
-						Thread.sleep(50);
-					} catch (InterruptedException e) {
-						// ignore
-					}
-				}
-				IStreamsProxy streamsProxy = launch.getProcesses()[0].getStreamsProxy();
-				String text = null;
-				if (streamsProxy != null) {
-					text = streamsProxy.getOutputStreamMonitor().getContents();
-				
-					if (text != null && text.length() > 0) {
-						boolean found = false;
-						if ("true".equals(text))
-							found = true;
-						
-						sdkMap.put(javaHome, new Boolean(found));
-						return found;
-					}
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error checking for JDK", e);
-			} finally {
-				if (!launch.isTerminated()) {
-					try {
-						launch.terminate();
-					} catch (Exception ex) {
-						// ignore
-					}
-				}
-			}
-		}
-		
-		// log error that we were unable to check for the compiler
-		TomcatPlugin.log(MessageFormat.format("Failed compiler check for {0}", new String[] { javaHome.getAbsolutePath() }));
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java
deleted file mode 100644
index a2f564a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java
+++ /dev/null
@@ -1,117 +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.jst.server.tomcat.core.internal;
-
-import java.io.File;
-import java.io.FileFilter;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.RuntimeLocatorDelegate;
-/**
- * 
- */
-public class TomcatRuntimeLocator extends RuntimeLocatorDelegate {
-	protected static final String[] runtimeTypes = new String[] {
-		"org.eclipse.jst.server.tomcat.runtime.32",
-		"org.eclipse.jst.server.tomcat.runtime.40",
-		"org.eclipse.jst.server.tomcat.runtime.41",
-		"org.eclipse.jst.server.tomcat.runtime.50",
-		"org.eclipse.jst.server.tomcat.runtime.55"};
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IRuntimeFactoryDelegate#getKnownRuntimes()
-	 */
-	public void searchForRuntimes(IPath path, IRuntimeSearchListener listener, IProgressMonitor monitor) {
-		searchForRuntimes2(path, listener, monitor);
-	}
-
-	protected static void searchForRuntimes2(IPath path, IRuntimeSearchListener listener, IProgressMonitor monitor) {
-		File[] files = null;
-		if (path != null) {
-			File f = path.toFile();
-			if (f.exists())
-				files = f.listFiles();
-			else
-				return;
-		} else
-			files = File.listRoots();
-
-		if (files != null) {
-			int size = files.length;
-			int work = 100 / size;
-			int workLeft = 100 - (work * size);
-			for (int i = 0; i < size; i++) {
-				if (monitor.isCanceled())
-					return;
-				if (files[i] != null && files[i].isDirectory())
-					searchDir(listener, files[i], 4, monitor);
-				monitor.worked(work);
-			}
-			monitor.worked(workLeft);
-		} else
-			monitor.worked(100);
-	}
-
-	protected static void searchDir(IRuntimeSearchListener listener, File dir, int depth, IProgressMonitor monitor) {
-		if ("conf".equals(dir.getName())) {
-			IRuntimeWorkingCopy runtime = getRuntimeFromDir(dir.getParentFile(), monitor);
-			if (runtime != null) {
-				listener.runtimeFound(runtime);
-				return;
-			}
-		}
-		
-		if (depth == 0)
-			return;
-		
-		File[] files = dir.listFiles(new FileFilter() {
-			public boolean accept(File file) {
-				return file.isDirectory();
-			}
-		});
-		if (files != null) {
-			int size = files.length;
-			for (int i = 0; i < size; i++) {
-				if (monitor.isCanceled())
-					return;
-				searchDir(listener, files[i], depth - 1, monitor);
-			}
-		}
-	}
-
-	protected static IRuntimeWorkingCopy getRuntimeFromDir(File dir, IProgressMonitor monitor) {
-		for (int i = 0; i < runtimeTypes.length; i++) {
-			try {
-				IRuntimeType runtimeType = ServerCore.findRuntimeType(runtimeTypes[i]);
-				String absolutePath = dir.getAbsolutePath();
-				String id = absolutePath.replace(File.separatorChar,'_').replace(':','-');
-				IRuntimeWorkingCopy runtime = runtimeType.createRuntime(id, monitor);
-				runtime.setName(dir.getName());
-				runtime.setLocation(new Path(absolutePath));
-				ITomcatRuntimeWorkingCopy wc = (ITomcatRuntimeWorkingCopy) runtime.loadAdapter(ITomcatRuntimeWorkingCopy.class, null);
-				wc.setVMInstall(JavaRuntime.getDefaultVMInstall());
-				IStatus status = runtime.validate(monitor);
-				if (status == null || status.getSeverity() != IStatus.ERROR)
-					return runtime;
-				
-				Trace.trace(Trace.FINER, "False runtime found at " + dir.getAbsolutePath() + ": " + status.getMessage());
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not find runtime", e);
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java
deleted file mode 100644
index 8ba98f6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java
+++ /dev/null
@@ -1,85 +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.jst.server.tomcat.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.ClasspathRuntimeTargetHandler;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class TomcatRuntimeTargetHandler extends ClasspathRuntimeTargetHandler {
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		ITomcatRuntime tomcatRuntime = (ITomcatRuntime) runtime.loadAdapter(ITomcatRuntime.class, null);
-		IVMInstall vmInstall = tomcatRuntime.getVMInstall();
-		if (vmInstall != null) {
-			String name = vmInstall.getName();
-			String typeId = vmInstall.getVMInstallType().getId();
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(name)) };
-		}
-		return null;
-	}
-
-	/**
-	 * @see ClasspathRuntimeTargetHandler#getClasspathContainerLabel(IRuntime, String)
-	 */
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		String id2 = runtime.getRuntimeType().getId();
-		if (id2.indexOf("32") > 0)
-			return Messages.target32runtime;
-		else if (id2.indexOf("40") > 0)
-			return Messages.target40runtime;
-		else if (id2.indexOf("41") > 0)
-			return Messages.target41runtime;
-		else if (id2.indexOf("50") > 0)
-			return Messages.target50runtime;
-		
-		return Messages.target55runtime;
-	}
-
-	/**
-	 * @see ClasspathRuntimeTargetHandler#resolveClasspathContainer(IRuntime, String)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) {
-		return resolveClasspathContainer(runtime);
-	}
-
-	/**
-	 * Resolve the classpath container.
-	 */
-	protected IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
-		IPath installPath = runtime.getLocation();
-		
-		if (installPath == null)
-			return new IClasspathEntry[0];
-		
-		List list = new ArrayList();
-		if (runtime.getRuntimeType().getId().indexOf("32") > 0) {
-			IPath path = installPath.append("lib");
-			addLibraryEntries(list, path.toFile(), true);
-		} else {
-			IPath path = installPath.append("common");
-			addLibraryEntries(list, path.append("lib").toFile(), true);
-			addLibraryEntries(list, path.append("endorsed").toFile(), true);
-		}
-		return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
deleted file mode 100644
index aeaca50..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
+++ /dev/null
@@ -1,338 +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.jst.server.tomcat.core.internal;
-
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.osgi.util.NLS;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.ServerMonitorManager;
-import org.eclipse.wst.server.core.model.*;
-/**
- * Generic Tomcat server.
- */
-public class TomcatServer extends ServerDelegate implements ITomcatServer, ITomcatServerWorkingCopy {
-	public static final String PROPERTY_SECURE = "secure";
-	public static final String PROPERTY_DEBUG = "debug";
-
-	protected transient TomcatConfiguration configuration;
-
-	/**
-	 * TomcatServer.
-	 */
-	public TomcatServer() {
-		super();
-	}
-
-	public TomcatRuntime getTomcatRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-		
-		return (TomcatRuntime) getServer().getRuntime().loadAdapter(TomcatRuntime.class, null);
-	}
-
-	public ITomcatVersionHandler getTomcatVersionHandler() {
-		if (getServer().getRuntime() == null || getTomcatRuntime() == null)
-			return null;
-
-		return getTomcatRuntime().getVersionHandler();
-	}
-
-	public ITomcatConfiguration getServerConfiguration() throws CoreException {
-		return getTomcatConfiguration();
-	}
-
-	public TomcatConfiguration getTomcatConfiguration() throws CoreException {
-		if (configuration == null) {
-			IFolder folder = getServer().getServerConfiguration();
-			if (folder == null || !folder.exists()) {
-				String path = null;
-				if (folder != null)
-					path = folder.getFullPath().toOSString();
-				throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorNoConfiguration, path), null));
-			}
-			
-			String id = getServer().getServerType().getId();
-			if (id.indexOf("32") > 0)
-				configuration = new Tomcat32Configuration(folder);
-			else if (id.indexOf("40") > 0)
-				configuration = new Tomcat40Configuration(folder);
-			else if (id.indexOf("41") > 0)
-				configuration = new Tomcat41Configuration(folder);
-			else if (id.indexOf("50") > 0)
-				configuration = new Tomcat50Configuration(folder);
-			else if (id.indexOf("55") > 0)
-				configuration = new Tomcat55Configuration(folder);
-			try {
-				configuration.load(folder, null);
-			} catch (CoreException ce) {
-				// ignore
-				configuration = null;
-				throw ce;
-			}
-		}
-		return configuration;
-	}
-
-	public void importConfiguration(IRuntime runtime, IProgressMonitor monitor) {
-		if (runtime == null) {
-			configuration = null;
-			return;
-		}
-		IPath path = runtime.getLocation().append("conf");
-		
-		String id = getServer().getServerType().getId();
-		IFolder folder = getServer().getServerConfiguration();
-		if (id.indexOf("32") > 0)
-			configuration = new Tomcat32Configuration(folder);
-		else if (id.indexOf("40") > 0)
-			configuration = new Tomcat40Configuration(folder);
-		else if (id.indexOf("41") > 0)
-			configuration = new Tomcat41Configuration(folder);
-		else if (id.indexOf("50") > 0)
-			configuration = new Tomcat50Configuration(folder);
-		else if (id.indexOf("55") > 0)
-			configuration = new Tomcat55Configuration(folder);
-		try {
-			configuration.importFromPath(path, isTestEnvironment(), monitor);
-		} catch (CoreException ce) {
-			// ignore
-			configuration = null;
-		}
-	}
-
-	public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
-		TomcatConfiguration config = getTomcatConfiguration();
-		if (config == null)
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, "null"), null));
-		config.save(getServer().getServerConfiguration(), monitor);
-	}
-
-	public void configurationChanged() {
-		configuration = null;
-	}
-
-	/**
-	 * Return the root URL of this module.
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.net.URL
-	 */
-	public URL getModuleRootURL(IModule module) {
-		try {
-			if (module == null)
-				return null;
-	
-			TomcatConfiguration config = getTomcatConfiguration();
-			if (config == null)
-				return null;
-	
-			String url = "http://localhost";
-			int port = config.getMainPort().getPort();
-			port = ServerMonitorManager.getInstance().getMonitoredPort(getServer(), port, "web");
-			if (port != 80)
-				url += ":" + port;
-
-			url += config.getWebModuleURL(module);
-			
-			if (!url.endsWith("/"))
-				url += "/";
-
-			return new URL(url);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not get root URL", e);
-			return null;
-		}
-	}
-
-	/**
-	 * Returns true if the process is set to run in debug mode.
-	 * This feature only works with Tomcat v4.0.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDebug() {
-		return getAttribute(PROPERTY_DEBUG, false);
-	}
-
-	/**
-	 * Returns true if this is a test (run code out of the workbench) server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isTestEnvironment() {
-		return getAttribute(PROPERTY_TEST_ENVIRONMENT, false);
-	}
-
-	/**
-	 * Returns true if the process is set to run in secure mode.
-	 *
-	 * @return boolean
-	 */
-	public boolean isSecure() {
-		return getAttribute(PROPERTY_SECURE, false);
-	}
-	
-	protected static String renderCommandLine(String[] commandLine, String separator) {
-		if (commandLine == null || commandLine.length < 1)
-			return "";
-		StringBuffer buf= new StringBuffer(commandLine[0]);
-		for (int i = 1; i < commandLine.length; i++) {
-			buf.append(separator);
-			buf.append(commandLine[i]);
-		}	
-		return buf.toString();
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "TomcatServer";
-	}
-
-	/*
-	 * 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 {
-		if (module.loadAdapter(IWebModule.class, null) != null) {
-			IStatus status = canModifyModules(new IModule[] { module }, null);
-			if (status == null || !status.isOK())
-				throw new CoreException(status);
-			return new IModule[] { module };
-		}
-		return null;
-	}
-
-	/**
-	 * 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) {
-		if (add != null) {
-			int size = add.length;
-			for (int i = 0; i < size; i++) {
-				IModule module = add[i];
-				IWebModule webModule = (IWebModule) module.loadAdapter(IWebModule.class, null);
-				if (webModule == null)
-					return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorWebModulesOnly, null);
-				
-				IStatus status = getTomcatVersionHandler().canAddModule(webModule);
-				if (status != null && !status.isOK())
-					return status;
-			}
-		}
-		
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "%canModifyModules", null);
-	}
-
-	public ServerPort[] getServerPorts() {
-		if (getServer().getServerConfiguration() == null)
-			return new ServerPort[0];
-		
-		try {
-			List list = getTomcatConfiguration().getServerPorts();
-			ServerPort[] sp = new ServerPort[list.size()];
-			list.toArray(sp);
-			return sp;
-		} catch (Exception e) {
-			return new ServerPort[0]; 
-		}
-	}
-
-	public void setDefaults(IProgressMonitor monitor) {
-		setTestEnvironment(true);
-	}
-
-	/**
-	 * Sets this process to debug mode. This feature only works
-	 * with Tomcat v4.0.
-	 *
-	 * @param b boolean
-	 */
-	public void setDebug(boolean b) {
-		setAttribute(PROPERTY_DEBUG, b);
-	}
-
-	/**
-	 * Sets this process to secure mode.
-	 * @param b boolean
-	 */
-	public void setSecure(boolean b) {
-		setAttribute(PROPERTY_SECURE, b);
-	}
-
-	/**
-	 * Sets this server to test environment mode.
-	 * 
-	 * @param b boolean
-	 */
-	public void setTestEnvironment(boolean b) {
-		setAttribute(PROPERTY_TEST_ENVIRONMENT, b);
-	}
-	
-	/**
-	 * @see ServerDelegate#modifyModules(IModule[], IModule[], IProgressMonitor)
-	 */
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		IStatus status = canModifyModules(add, remove);
-		if (status == null || !status.isOK())
-			throw new CoreException(status);
-		
-		TomcatConfiguration config = getTomcatConfiguration();
-
-		if (add != null) {
-			int size = add.length;
-			for (int i = 0; i < size; i++) {
-				IModule module3 = add[i];
-				IWebModule module = (IWebModule) module3.loadAdapter(IWebModule.class, monitor);
-				String contextRoot = module.getContextRoot();
-				if (contextRoot != null && !contextRoot.startsWith("/"))
-					contextRoot = "/" + contextRoot;
-				WebModule module2 = new WebModule(contextRoot,
-						module.getLocation().toOSString(), module3.getId(), true);
-				config.addWebModule(-1, module2);
-			}
-		}
-		
-		if (remove != null) {
-			int size2 = remove.length;
-			for (int j = 0; j < size2; j++) {
-				IModule module3 = remove[j];
-				String memento = module3.getId();
-				List modules = getTomcatConfiguration().getWebModules();
-				int size = modules.size();
-				for (int i = 0; i < size; i++) {
-					WebModule module = (WebModule) modules.get(i);
-					if (memento.equals(module.getMemento()))
-						config.removeWebModule(i);
-				}
-			}
-		}
-		config.save(config.getFolder(), monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
deleted file mode 100644
index cc90290..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
+++ /dev/null
@@ -1,582 +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.jst.server.tomcat.core.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.osgi.util.NLS;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * Generic Tomcat server.
- */
-public class TomcatServerBehaviour extends ServerBehaviourDelegate implements ITomcatServerBehaviour {
-	private static final String ATTR_STOP = "stop-server";
-
-	// the thread used to ping the server to check for startup
-	protected transient PingThread ping = null;
-	protected transient IProcess process;
-	protected transient IDebugEventSetListener processListener;
-
-	/**
-	 * TomcatServer.
-	 */
-	public TomcatServerBehaviour() {
-		super();
-	}
-
-	public void initialize(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	public TomcatRuntime getTomcatRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-		
-		return (TomcatRuntime) getServer().getRuntime().loadAdapter(TomcatRuntime.class, null);
-	}
-	
-	public ITomcatVersionHandler getTomcatVersionHandler() {
-		if (getServer().getRuntime() == null || getTomcatRuntime() == null)
-			return null;
-
-		return getTomcatRuntime().getVersionHandler();
-	}
-	
-	public TomcatConfiguration getTomcatConfiguration() throws CoreException {
-		return getTomcatServer().getTomcatConfiguration();
-	}
-
-	public TomcatServer getTomcatServer() {
-		return (TomcatServer) getServer().getAdapter(TomcatServer.class);
-	}
-
-	/**
-	 * Return the runtime class name.
-	 *
-	 * @return the class name
-	 */
-	public String getRuntimeClass() {
-		return getTomcatVersionHandler().getRuntimeClass();
-	}
-	
-	/**
-	 * Returns the runtime base path for relative paths in the server
-	 * configuration.
-	 * 
-	 * @return the base path
-	 */
-	public IPath getRuntimeBaseDirectory() {
-		return getTomcatVersionHandler().getRuntimeBaseDirectory(this);
-	}
-
-	/**
-	 * Return the program's runtime arguments to start or stop.
-	 *
-	 * @param starting true if starting
-	 * @return an array of runtime program arguments
-	 */
-	protected String[] getRuntimeProgramArguments(boolean starting) {
-		IPath configPath = null;
-		if (getTomcatServer().isTestEnvironment())
-			configPath = getTempDirectory();
-		return getTomcatVersionHandler().getRuntimeProgramArguments(configPath, getTomcatServer().isDebug(), starting);
-	}
-
-	/**
-	 * Return the runtime (VM) arguments.
-	 *
-	 * @return an array of runtime arguments
-	 */
-	protected String[] getRuntimeVMArguments() {
-		IPath installPath = getServer().getRuntime().getLocation();
-		IPath configPath = null;
-		if (getTomcatServer().isTestEnvironment())
-			configPath = getTempDirectory();
-		else
-			configPath = installPath;
-		return getTomcatVersionHandler().getRuntimeVMArguments(installPath, configPath,
-				getTomcatServer().isTestEnvironment(), getTomcatServer().isSecure());
-	}
-	
-	protected static String renderCommandLine(String[] commandLine, String separator) {
-		if (commandLine == null || commandLine.length < 1)
-			return "";
-		StringBuffer buf= new StringBuffer(commandLine[0]);
-		for (int i = 1; i < commandLine.length; i++) {
-			buf.append(separator);
-			buf.append(commandLine[i]);
-		}	
-		return buf.toString();
-	}
-
-	public 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++) {
-						if (process != null && process.equals(events[i].getSource()) && 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 {
-		IPath installDir = getServer().getRuntime().getLocation();
-		IPath confDir = null;
-		if (getTomcatServer().isTestEnvironment()) {
-			confDir = getTempDirectory();
-			IStatus status = getTomcatConfiguration().prepareRuntimeDirectory(confDir);
-			if (status != null && !status.isOK())
-				throw new CoreException(status);
-/*			File temp = confDir.append("conf").toFile();
-			if (!temp.exists())
-				temp.mkdirs();*/
-		} else
-			confDir = installDir;
-
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(Messages.publishServerTask, 500);
-		
-		IStatus status = getTomcatConfiguration().cleanupServer(confDir, installDir, ProgressUtil.getSubMonitorFor(monitor, 100));
-		if (status != null && !status.isOK())
-			throw new CoreException(status);
-		
-		status = getTomcatConfiguration().backupAndPublish(confDir, !getTomcatServer().isTestEnvironment(), ProgressUtil.getSubMonitorFor(monitor, 400));
-		if (status != null && !status.isOK())
-			throw new CoreException(status);
-		
-		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 {
-		if (getTomcatServer().isTestEnvironment())
-			return;
-
-		IPath path = getTempDirectory().append("publish.txt");
-		Properties p = new Properties();
-		try {
-			p.load(new FileInputStream(path.toFile()));
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		IModule module = moduleTree[0];
-		
-		if (deltaKind == REMOVED) {
-			try {
-				String publishPath = (String) p.get(module.getId());
-				FileUtil.deleteDirectory(new File(publishPath), monitor);
-			} catch (Exception e) {
-				throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, "Could not remove module", e));
-			}
-		} else {
-			IWebModule webModule = (IWebModule) module.loadAdapter(IWebModule.class, null);
-			IPath from = webModule.getLocation();
-			IPath to = getServer().getRuntime().getLocation().append("webapps").append(webModule.getContextRoot());
-			FileUtil.smartCopyDirectory(from.toOSString(), to.toOSString(), monitor);
-			p.put(module.getId(), to.toOSString());
-			setModulePublishState(moduleTree, IServer.PUBLISH_STATE_NONE);
-		}
-		
-		try {
-			p.store(new FileOutputStream(path.toFile()), "Tomcat publish data");
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Setup for starting the server.
-	 * 
-	 * @param launch ILaunch
-	 * @param launchMode String
-	 * @param monitor IProgressMonitor
-	 * @throws CoreException if anything goes wrong
-	 */
-	public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-		if ("true".equals(launch.getLaunchConfiguration().getAttribute(ATTR_STOP, "false")))
-			return;
-		//if (getTomcatRuntime() == null)
-		//	throw new CoreException();
-		
-		IStatus status = getTomcatRuntime().validate();
-		if (status != null && status.getSeverity() == IStatus.ERROR)
-			throw new CoreException(status);
-
-		//setRestartNeeded(false);
-		TomcatConfiguration configuration = getTomcatConfiguration();
-	
-		// check that ports are free
-		Iterator iterator = configuration.getServerPorts().iterator();
-		List usedPorts = new ArrayList();
-		while (iterator.hasNext()) {
-			ServerPort sp = (ServerPort) iterator.next();
-			if (sp.getPort() < 0)
-				throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorPortInvalid, null));
-			if (SocketUtil.isPortInUse(sp.getPort(), 5)) {
-				usedPorts.add(sp);
-			}
-		}
-		if (usedPorts.size() == 1) {
-			ServerPort port = (ServerPort) usedPorts.get(0);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, new String[] {port.getPort() + "", getServer().getName()}), null));
-		} else if (usedPorts.size() > 1) {
-			String portStr = "";
-			iterator = usedPorts.iterator();
-			boolean first = true;
-			while (iterator.hasNext()) {
-				if (!first)
-					portStr += ", ";
-				first = false;
-				ServerPort sp = (ServerPort) iterator.next();
-				portStr += "" + sp.getPort();
-			}
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortsInUse, new String[] {portStr, getServer().getName()}), null));
-		}
-		
-		// check that there is only one app for each context root
-		iterator = configuration.getWebModules().iterator();
-		List contextRoots = new ArrayList();
-		while (iterator.hasNext()) {
-			WebModule module = (WebModule) iterator.next();
-			String contextRoot = module.getPath();
-			if (contextRoots.contains(contextRoot))
-				throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDuplicateContextRoot, new String[] { contextRoot }), null));
-			
-			contextRoots.add(contextRoot);
-		}
-		
-		setServerState(IServer.STATE_STARTING);
-		setMode(launchMode);
-	
-		// ping server to check for startup
-		try {
-			String url = "http://localhost";
-			int port = configuration.getMainPort().getPort();
-			if (port != 80)
-				url += ":" + port;
-			ping = new PingThread(getServer(), url, 50, this);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
-		}
-	}
-
-	/**
-	 * 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;
-		}
-
-		try {
-			Trace.trace(Trace.FINER, "Stopping Tomcat");
-			if (state != IServer.STATE_STOPPED)
-				setServerState(IServer.STATE_STOPPING);
-	
-			ILaunchConfiguration launchConfig = ((Server)getServer()).getLaunchConfiguration(true, null);
-			ILaunchConfigurationWorkingCopy wc = launchConfig.getWorkingCopy();
-			
-			String args = renderCommandLine(getRuntimeProgramArguments(false), " ");
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args);
-			wc.setAttribute(ATTR_STOP, "true");
-			wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping Tomcat", e);
-		}
-	}
-
-	/**
-	 * Terminates the server.
-	 */
-	protected void terminate() {
-		if (getServer().getServerState() == IServer.STATE_STOPPED)
-			return;
-
-		try {
-			setServerState(IServer.STATE_STOPPING);
-			Trace.trace(Trace.FINER, "Killing the Tomcat process");
-			if (process != null && !process.isTerminated()) {
-				process.terminate();
-				stopImpl();
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error killing the process", e);
-		}
-	}
-
-	public IPath getTempDirectory() {
-		return super.getTempDirectory();
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "TomcatServer";
-	}
-	
-	protected static int getNextToken(String s, int start) {
-		int i = start;
-		int length = s.length();
-		char lookFor = ' ';
-		
-		while (i < length) {
-			char c = s.charAt(i);
-			if (lookFor == c) {
-				if (lookFor == '"')
-					return i+1;
-				return i;
-			}
-			if (c == '"')
-				lookFor = '"';
-			i++;
-		}
-		return -1;
-	}
-	
-	/**
-	 * Merge the given arguments into the original argument string, replacing
-	 * invalid values if they have been changed.
-	 * 
-	 * @param originalArg
-	 * @param vmArgs
-	 * @return merged argument string
-	 */
-	public static String mergeArguments(String originalArg, String[] vmArgs) {
-		if (vmArgs == null)
-			return originalArg;
-		
-		if (originalArg == null)
-			originalArg = "";
-		
-		// replace and null out all vmargs that already exist
-		int size = vmArgs.length;
-		for (int i = 0; i < size; i++) {
-			int ind = vmArgs[i].indexOf(" ");
-			int ind2 = vmArgs[i].indexOf("=");
-			if (ind >= 0 && (ind2 == -1 || ind < ind2)) { // -a bc style
-				int index = originalArg.indexOf(vmArgs[i].substring(0, ind + 1));
-				if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = getNextToken(originalArg, index + ind + 1);
-					if (index2 >= 0)
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					else
-						originalArg = s + vmArgs[i];
-					vmArgs[i] = null;
-				}
-			} else if (ind2 >= 0) { // a=b style
-				int index = originalArg.indexOf(vmArgs[i].substring(0, ind2 + 1));
-				if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = getNextToken(originalArg, index);
-					if (index2 >= 0)
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					else
-						originalArg = s + vmArgs[i];
-					vmArgs[i] = null;
-				}
-			} else { // abc style
-				int index = originalArg.indexOf(vmArgs[i]);
-				if (index == 0 || (index > 0 && originalArg.charAt(index-1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = getNextToken(originalArg, index);
-					if (index2 >= 0)
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					else
-						originalArg = s + vmArgs[i];
-					vmArgs[i] = null;
-				}
-			}
-		}
-		
-		// add remaining vmargs to the end
-		for (int i = 0; i < size; i++) {
-			if (vmArgs[i] != null) {
-				if (originalArg.length() > 0 && !originalArg.endsWith(" "))
-					originalArg += " ";
-				originalArg += vmArgs[i];
-			}
-		}
-		
-		return originalArg;
-	}
-
-	/**
-	 * Replace the current JRE container classpath with the given entry.
-	 * 
-	 * @param cp
-	 * @param entry
-	 */
-	public static void replaceJREContainer(List cp, IRuntimeClasspathEntry entry) {
-		int size = cp.size();
-		for (int i = 0; i < size; i++) {
-			IRuntimeClasspathEntry entry2 = (IRuntimeClasspathEntry) cp.get(i);
-			if (entry2.getPath().uptoSegment(2).isPrefixOf(entry.getPath())) {
-				cp.set(i, entry);
-				return;
-			}
-		}
-		
-		cp.add(0, entry);
-	}
-
-	/**
-	 * Merge a single classpath entry into the classpath list.
-	 * 
-	 * @param cp
-	 * @param entry
-	 */
-	public static void mergeClasspath(List cp, IRuntimeClasspathEntry entry) {
-		Iterator iterator = cp.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry2 = (IRuntimeClasspathEntry) iterator.next();
-			
-			if (entry2.getPath().equals(entry.getPath()))
-				return;
-		}
-		
-		cp.add(entry);
-	}
-
-	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException {
-		String existingProgArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, mergeArguments(existingProgArgs, getRuntimeProgramArguments(true)));
-
-		String existingVMArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, (String)null);
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, mergeArguments(existingVMArgs, getRuntimeVMArguments()));
-		
-		ITomcatRuntime runtime = getTomcatRuntime();
-		IVMInstall vmInstall = runtime.getVMInstall();
-		if (vmInstall != null) {
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmInstall.getVMInstallType().getId());
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmInstall.getName());
-		}
-		
-		// update classpath
-		IRuntimeClasspathEntry[] originalClasspath = JavaRuntime.computeUnresolvedRuntimeClasspath(workingCopy);
-		int size = originalClasspath.length;
-		List oldCp = new ArrayList(originalClasspath.length + 2);
-		for (int i = 0; i < size; i++)
-			oldCp.add(originalClasspath[i]);
-		
-		List cp2 = runtime.getRuntimeClasspath();
-		Iterator iterator = cp2.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) iterator.next();
-			mergeClasspath(oldCp, entry);
-		}
-		
-		if (vmInstall != null) {
-			try {
-				String typeId = vmInstall.getVMInstallType().getId();
-				replaceJREContainer(oldCp, JavaRuntime.newRuntimeContainerClasspathEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(vmInstall.getName()), IRuntimeClasspathEntry.BOOTSTRAP_CLASSES));
-			} catch (Exception e) {
-				// ignore
-			}
-			
-			IPath jrePath = new Path(vmInstall.getInstallLocation().getAbsolutePath());
-			if (jrePath != null) {
-				IPath toolsPath = jrePath.append("lib").append("tools.jar");
-				if (toolsPath.toFile().exists())
-					mergeClasspath(oldCp, JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath));
-			}
-		}
-		
-		iterator = oldCp.iterator();
-		List list = new ArrayList();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) iterator.next();
-			try {
-				list.add(entry.getMemento());
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not resolve classpath entry: " + entry, e);
-			}
-		}
-		
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, list);
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-	}
-	
-	protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
-		return super.getPublishedResourceDelta(module);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java
deleted file mode 100644
index 2087618..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java
+++ /dev/null
@@ -1,37 +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.jst.server.tomcat.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.provisional.ServerLocatorDelegate;
-/**
- * 
- */
-public class TomcatServerLocator extends ServerLocatorDelegate {
-	public void searchForServers(String host, final IServerSearchListener listener, final IProgressMonitor monitor) {
-		TomcatRuntimeLocator.IRuntimeSearchListener listener2 = new TomcatRuntimeLocator.IRuntimeSearchListener() {
-			public void runtimeFound(IRuntimeWorkingCopy runtime) {
-				String runtimeTypeId = runtime.getRuntimeType().getId();
-				String serverTypeId = runtimeTypeId.substring(0, runtimeTypeId.length() - 8);
-				IServerType serverType = ServerCore.findServerType(serverTypeId);
-				try {
-					IServerWorkingCopy server = serverType.createServer(serverTypeId, null, runtime, monitor);
-					listener.serverFound(server);
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not create Tomcat server", e);
-				}
-			}
-		};
-		TomcatRuntimeLocator.searchForRuntimes2(null, listener2, monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java
deleted file mode 100644
index 4f720e8..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java
+++ /dev/null
@@ -1,86 +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.jst.server.tomcat.core.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-/**
- * Helper class to load and save Tomcat server and identify configurations.
- */
-public class TomcatServerUtil {
-	/**
-	 * TomcatServerSerializer constructor comment.
-	 */
-	protected TomcatServerUtil() {
-		super();
-	}
-	
-	/**
-	 * Returns the kind of a <code>PackageFragmentRoot</code> from its <code>String</code> form.
-	 */
-	protected static int getClasspathKindFromString(String kindStr) {
-		//if (kindStr.equalsIgnoreCase("prj"))
-		//	return IClasspathEntry.CPE_PROJECT;
-		if (kindStr.equalsIgnoreCase("var"))
-			return IClasspathEntry.CPE_VARIABLE;
-		//if (kindStr.equalsIgnoreCase("src"))
-		//	return IClasspathEntry.CPE_SOURCE;
-		if (kindStr.equalsIgnoreCase("lib"))
-			return IClasspathEntry.CPE_LIBRARY;
-		return -1;
-	}
-
-	/**
-	 * Returns a <code>String</code> for the kind of a class path entry.
-	 */
-	protected static String getClasspathKindToString(int kind) {
-		switch (kind) {
-			//case IClasspathEntry.CPE_PROJECT :
-			//	return "prj";
-			//case IClasspathEntry.CPE_SOURCE :
-			//	return "src";
-			case IClasspathEntry.CPE_LIBRARY :
-				return "lib";
-			case IClasspathEntry.CPE_VARIABLE :
-				return "var";
-			default :
-				return "unknown";
-		}
-	}
-	
-	/**
-	 * Create's a classpath entry of the specified kind.
-	 *
-	 * Returns null if unable to create a valid entry.
-	 */
-	protected static IClasspathEntry createClasspathEntry(IPath path, int kind, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath) {
-		switch (kind) {
-			/*case IClasspathEntry.CPE_PROJECT:
-				if (!path.isAbsolute())
-					return null;
-				else
-					return JavaCore.newProjectEntry(path);*/
-	
-			case IClasspathEntry.CPE_LIBRARY:
-				if (!path.isAbsolute())
-					return null;
-				
-				return JavaCore.newLibraryEntry(path, sourceAttachmentPath, sourceAttachmentRootPath);
-	
-			case IClasspathEntry.CPE_VARIABLE:
-				return JavaCore.newVariableEntry(path, sourceAttachmentPath, sourceAttachmentRootPath);
-	
-			default:
-				return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
deleted file mode 100644
index 90f36c0..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-
-import java.util.ArrayList;
-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.IPath;
-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 TomcatSourcePathComputerDelegate 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 {
-		IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedSourceLookupPath(configuration);
-		List sourcefolderList = new ArrayList();
-
-		IServer server = ServerUtil.getServer(configuration);
-		if (server != null) {
-			IPath basePath = ((TomcatServerBehaviour)server.getAdapter(TomcatServerBehaviour.class)).getRuntimeBaseDirectory();
-			List list = new ArrayList();
-			List pathList = new ArrayList();
-			IModule[] modules = server.getModules();
-			for (int i = 0; i < modules.length; i++) {
-				IProject project = modules[i].getProject();
-				if (project != null) {
-					/**
-					 * WORKAROUND for bug 93174,
-					 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=93174
-					 * 
-					 * Assume that a folder with the same name as the IModule
-					 * name located directly under the module's project is a
-					 * "flexible" module. Alter the behavior so that a folder
-					 * container is added instead.
-					 */
-					IFolder moduleFolder = project.getFolder(modules[i].getName());
-					if (moduleFolder.exists()) {
-						sourcefolderList.add(new FolderSourceContainer(moduleFolder, true));
-					} else {
-						try {
-							if (project.hasNature(JavaCore.NATURE_ID)) {
-								IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-								list.add(javaProject);
-							}
-						} catch (Exception e) {
-							// ignore
-						}
-					}
-					
-					IPath path = basePath.append("work").append("Catalina").append("localhost").append(modules[i].getName());
-					pathList.add(path);
-				}
-			}
-			int size = list.size();
-			IJavaProject[] projects = new IJavaProject[size];
-			list.toArray(projects);
-			
-			int size2 = entries.length;
-			int size3 = pathList.size();
-			IRuntimeClasspathEntry[] entries2 = new IRuntimeClasspathEntry[size + size2 + size3];
-			System.arraycopy(entries, 0, entries2, 0, size2);
-			
-			for (int i = 0; i < size; i++) {
-				entries2[size2 + i] = JavaRuntime.newProjectRuntimeClasspathEntry(projects[i]); 
-			}
-			
-			for (int i = 0; i < size3; i++) {
-				entries2[size + size2 + i] = JavaRuntime.newArchiveRuntimeClasspathEntry((IPath) pathList.get(i)); 
-			}
-			
-			entries = entries2;
-		}
-		
-		IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
-		ISourceContainer[] sourceContainers = JavaRuntime.getSourceContainers(resolved);
-
-		/**
-		 * WORKAROUND for bug 93174,
-		 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=93174
-		 * 
-		 * FolderSourceContainers have a source container of null, so the
-		 * mapping of the regular classpath to source containers is done
-		 * before adding the known FolderSourceContainers.
-		 */
-		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.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java
deleted file mode 100644
index fae3fbc..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java
+++ /dev/null
@@ -1,98 +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.jst.server.tomcat.core.internal;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static byte CONFIG = 0;
-	public static byte WARNING = 1;
-	public static byte SEVERE = 2;
-	public static byte FINEST = 3;
-	public static byte FINER = 4;
-	
-	private static final String[] levelNames = new String[] {
-		"CONFIG   ", "WARNING  ", "SEVERE   ", "FINER    ", "FINEST   "};
-	private static final String spacer = "                                   ";
-	
-	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
-	
-	protected static int pluginLength = -1;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!TomcatPlugin.getInstance().isDebugging())
-			return;
-
-		/*System.out.println(TomcatPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();*/
-		trace(TomcatPlugin.PLUGIN_ID, level, s, t);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	private static void trace(String pluginId, int level, String s, Throwable t) {
-		if (pluginId == null || s == null)
-			return;
-
-		if (!TomcatPlugin.getInstance().isDebugging())
-			return;
-		
-		StringBuffer sb = new StringBuffer(pluginId);
-		if (pluginId.length() > pluginLength)
-			pluginLength = pluginId.length();
-		else if (pluginId.length() < pluginLength)
-			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
-		sb.append(" ");
-		sb.append(levelNames[level]);
-		sb.append(" ");
-		sb.append(sdf.format(new Date()));
-		sb.append(" ");
-		sb.append(s);
-		//Platform.getDebugOption(ServerCore.PLUGIN_ID + "/" + "resources");
-
-		System.out.println(sb.toString());
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java
deleted file mode 100644
index b9c0751..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java
+++ /dev/null
@@ -1,164 +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.jst.server.tomcat.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-/**
- * Helper class to access a web.xml file.
- */
-public class WebAppDocument {
-	protected boolean isWebAppDirty;
-	protected Document webAppDocument;
-
-	/**
-	 * Loads a web.xml from the given URL.
-	 *
-	 * @param path a path
-	 * @throws Exception if anything goes wrong
-	 */
-	public WebAppDocument(IPath path) throws Exception {
-		webAppDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.toFile())));
-	}
-
-	/**
-	 * Loads a web.xml from the given resource.
-	 *
-	 * @param file a file
-	 * @throws Exception if anything goes wrong
-	 */
-	public WebAppDocument(IFile file) throws Exception {
-		webAppDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(file.getContents()));
-	}
-
-	/**
-	 * Adds a MimeMapping.
-	 *
-	 * @param index int
-	 * @param map org.eclipse.jst.server.tomcat.IMimeMapping
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		Trace.trace(Trace.FINER, "Adding mime mapping " + index + " " + map.getMimeType() + " " + map.getExtension());
-		Element element = webAppDocument.getDocumentElement();
-		Element mapping = XMLUtil.createChildElement(webAppDocument, element, index, "mime-mapping");
-		XMLUtil.insertText(webAppDocument, mapping, "\n\t");
-		XMLUtil.createTextChildElement(webAppDocument, mapping, "extension", map.getExtension());
-		XMLUtil.insertText(webAppDocument, mapping, "\n\t");
-		XMLUtil.createTextChildElement(webAppDocument, mapping, "mime-type", map.getMimeType());
-		XMLUtil.insertText(webAppDocument, mapping, "\n");
-	
-		isWebAppDirty = true;
-	}
-
-	/**
-	 * Returns a list of MimeMappings.
-	 *
-	 * @return java.util.List
-	 */
-	public List getMimeMappings() {
-		List map = new ArrayList();
-	
-		Element root = webAppDocument.getDocumentElement();
-		Iterator iterator = XMLUtil.getNodeIterator(root, "mime-mapping");
-		while (iterator.hasNext()) {
-			Element element = (Element) iterator.next();
-			String mimeType = XMLUtil.getSubNodeValue(element, "mime-type");
-			String extension = XMLUtil.getSubNodeValue(element, "extension");
-			MimeMapping mm = new MimeMapping(extension, mimeType);
-			map.add(mm);
-		}
-	
-		return map;
-	}
-
-	/**
-	 * Modifies a mime mapping.
-	 *
-	 * @param index
-	 * @param map
-	 */
-	public void modifyMimeMapping(int index, IMimeMapping map) {
-		Element element = webAppDocument.getDocumentElement();
-		NodeList list = element.getElementsByTagName("mime-mapping");
-		Element element2 = (Element) list.item(index);
-		XMLUtil.setNodeValue(element2.getElementsByTagName("extension").item(0), "extension", map.getExtension());
-		XMLUtil.setNodeValue(element2.getElementsByTagName("mime-type").item(0), "mime-type", map.getMimeType());
-			
-		isWebAppDirty = true;
-	}
-
-	/**
-	 * Removes the mime mapping at the specified index.
-	 *
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index) {
-		Element element = webAppDocument.getDocumentElement();
-		NodeList list = element.getElementsByTagName("mime-mapping");
-		Node node = list.item(index);
-		element.removeChild(node);
-		isWebAppDirty = true;
-	}
-	
-	/**
-	 * Saves the Web app document.
-	 *
-	 * @param path a path
-	 * @param forceDirty true to force a save
-	 * @throws IOException if anything goes wrong
-	 */
-	public void save(String path, boolean forceDirty) throws IOException {
-		if (forceDirty || isWebAppDirty)
-			XMLUtil.save(path, webAppDocument);
-	}
-	
-	/**
-	 * Saves the Web app document.
-	 *
-	 * @param file a file
-	 * @param monitor a progress monitor
-	 * @throws Exception if anything goes wrong 
-	 */
-	public void save(IFile file, IProgressMonitor monitor) throws Exception {
-		byte[] data = XMLUtil.getContents(webAppDocument);
-		InputStream in = null;
-		try {
-			in = new ByteArrayInputStream(data);
-			if (file.exists())
-				file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebModule.java
deleted file mode 100644
index 8117169..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebModule.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.jst.server.tomcat.core.internal;
-/**
- * A Web module.
- */
-public class WebModule implements ITomcatWebModule {
-	private String docBase;
-	private String path;
-	private String memento;
-	private boolean reloadable;
-
-	/**
-	 * WebModule constructor comment.
-	 * 
-	 * @param path a path
-	 * @param docBase a document base
-	 * @param memento a memento
-	 * @param reloadable <code>true</code> if reloadable
-	 */
-	public WebModule(String path, String docBase, String memento, boolean reloadable) {
-		super();
-		this.path = path;
-		this.docBase = docBase;
-		this.memento = memento;
-		this.reloadable = reloadable;
-	}
-
-	/**
-	 * Get the document base.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getDocumentBase() {
-		return docBase;
-	}
-
-	/**
-	 * Return the path. (context root)
-	 *
-	 * @return java.lang.String
-	 */
-	public String getPath() {
-		return path;
-	}
-
-	/**
-	 * Return the memento.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getMemento() {
-		return memento;
-	}
-
-	/**
-	 * Return true if the web module is auto-reloadable.
-	 *
-	 * @return java.lang.String
-	 */
-	public boolean isReloadable() {
-		return reloadable;
-	}
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof WebModule))
-			return false;
-		
-		WebModule wm = (WebModule) obj;
-		if (!getDocumentBase().equals(wm.getDocumentBase()))
-			return false;
-		if (!getPath().equals(wm.getPath()))
-			return false;
-		if (!getMemento().equals(wm.getMemento()))
-			return false;
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java
deleted file mode 100644
index b88404f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java
+++ /dev/null
@@ -1,46 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.Messages;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-/**
- * Command to add a mime mapping.
- */
-public class AddMimeMappingCommand extends ConfigurationCommand {
-	protected MimeMapping map;
-
-	/**
-	 * AddMimeMappingCommand constructor.
-	 * 
-	 * @param configuration a tomcat configuration
-	 * @param map a mime mapping
-	 */
-	public AddMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, MimeMapping map) {
-		super(configuration, Messages.configurationEditorActionAddMimeMapping);
-		this.map = map;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		configuration.addMimeMapping(0, map);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.removeMimeMapping(0);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java
deleted file mode 100644
index e01d3b7..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java
+++ /dev/null
@@ -1,48 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.Messages;
-import org.eclipse.jst.server.tomcat.core.internal.WebModule;
-/**
- * Command to add a web module.
- */
-public class AddWebModuleCommand extends ConfigurationCommand {
-	protected WebModule module;
-	protected int modules = -1;
-
-	/**
-	 * AddWebModuleCommand constructor comment.
-	 * 
-	 * @param configuration a tomcat configuration
-	 * @param module a web module
-	 */
-	public AddWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, WebModule module) {
-		super(configuration, Messages.configurationEditorActionAddWebModule);
-		this.module = module;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		modules = configuration.getWebModules().size();
-		configuration.addWebModule(-1, module);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.removeWebModule(modules);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java
deleted file mode 100644
index 8dcc142..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java
+++ /dev/null
@@ -1,53 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-/**
- * Configuration command.
- */
-public abstract class ConfigurationCommand extends AbstractOperation {
-	protected ITomcatConfigurationWorkingCopy configuration;
-
-	/**
-	 * ConfigurationCommand constructor comment.
-	 * 
-	 * @param configuration a Tomcat configuration
-	 * @param label a label
-	 */
-	public ConfigurationCommand(ITomcatConfigurationWorkingCopy configuration, String label) {
-		super(label);
-		this.configuration = configuration;
-	}
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return execute(monitor, info);
-	}
-
-	public abstract void execute();
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		execute();
-		return null;
-	}
-
-	public abstract void undo();
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		undo();
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/FixModuleContextRootTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/FixModuleContextRootTask.java
deleted file mode 100644
index 5717871..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/FixModuleContextRootTask.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.internal.*;
-import org.eclipse.osgi.util.NLS;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.model.PublishOperation;
-/**
- * Task to fix a context root on a web module.
- */
-public class FixModuleContextRootTask extends PublishOperation {
-	protected int index;
-	protected WebModule module;
-	protected IModule webModule;
-	protected String contextRoot;
-
-	/**
-	 * FixModuleContextRootTask constructor.
-	 * 
-	 * @param webModule
-	 * @param index
-	 * @param contextRoot
-	 */
-	public FixModuleContextRootTask(IModule webModule, int index, String contextRoot) {
-		super(NLS.bind(Messages.fixModuleContextRoot, webModule.getName()), Messages.fixModuleContextRootDescription);
-		this.webModule = webModule;
-		this.index = index;
-		this.contextRoot = contextRoot;
-	}
-
-	/**
-	 * Execute the command.
-	 * 
-	 * @param monitor a progress monitor
-	 * @param info
-	 * @throws CoreException
-	 */
-	public void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException {
-		IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
-		TomcatServer server = (TomcatServer) wc.getAdapter(TomcatServer.class);
-		TomcatConfiguration configuration = server.getTomcatConfiguration();
-		if (configuration.getWebModules().size() <= index)
-			return;
-		module = (WebModule) configuration.getWebModules().get(index);
-		if (contextRoot != null && !contextRoot.startsWith("/"))
-			contextRoot = "/" + contextRoot;
-		configuration.modifyWebModule(index, module.getDocumentBase(), contextRoot, module.isReloadable());
-		wc.save(true, monitor);
-	}
-
-	public int getKind() {
-		return PREFERRED;
-	}
-
-	public int getOrder() {
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java
deleted file mode 100644
index 34aa15f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java
+++ /dev/null
@@ -1,51 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.Messages;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-/**
- * Command to change a mime type extension.
- */
-public class ModifyMimeMappingCommand extends ConfigurationCommand {
-	protected int index;
-	protected MimeMapping oldMap;
-	protected MimeMapping newMap;
-
-	/**
-	 * A command to modify a mime mapping.
-	 * 
-	 * @param configuration a tomcat configuration
-	 * @param index an index
-	 * @param map a mime mapping
-	 */
-	public ModifyMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, int index, MimeMapping map) {
-		super(configuration, Messages.configurationEditorActionModifyMimeMapping);
-		this.index = index;
-		newMap = map;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldMap = (MimeMapping) configuration.getMimeMappings().get(index);
-		configuration.modifyMimeMapping(index, newMap);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.modifyMimeMapping(index, oldMap);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java
deleted file mode 100644
index 10ed13a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java
+++ /dev/null
@@ -1,61 +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.jst.server.tomcat.core.internal.command;
-
-import java.util.Iterator;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.Messages;
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Command to change the configuration port.
- */
-public class ModifyPortCommand extends ConfigurationCommand {
-	protected String id;
-	protected int port;
-	protected int oldPort;
-
-	/**
-	 * ModifyPortCommand constructor.
-	 * 
-	 * @param configuration a Tomcat configuration
-	 * @param id a port id
-	 * @param port new port number
-	 */
-	public ModifyPortCommand(ITomcatConfigurationWorkingCopy configuration, String id, int port) {
-		super(configuration, Messages.configurationEditorActionModifyPort);
-		this.id = id;
-		this.port = port;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		// find old port number
-		Iterator iterator = configuration.getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			ServerPort temp = (ServerPort) iterator.next();
-			if (id.equals(temp.getId()))
-				oldPort = temp.getPort();
-		}
-	
-		// make the change
-		configuration.modifyServerPort(id, port);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.modifyServerPort(id, oldPort);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java
deleted file mode 100644
index 69c3ffd..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java
+++ /dev/null
@@ -1,44 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.Messages;
-import org.eclipse.jst.server.tomcat.core.internal.WebModule;
-/**
- * Command to change a web module.
- */
-public class ModifyWebModuleCommand extends ConfigurationCommand {
-	protected int index;
-	protected WebModule oldModule;
-	protected WebModule newModule;
-
-	public ModifyWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, int index, WebModule module) {
-		super(configuration, Messages.configurationEditorActionModifyWebModule);
-		this.index = index;
-		newModule = module;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldModule = (WebModule) configuration.getWebModules().get(index);
-		configuration.modifyWebModule(index, newModule.getDocumentBase(), newModule.getPath(), newModule.isReloadable());
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.modifyWebModule(index, oldModule.getDocumentBase(), oldModule.getPath(), oldModule.isReloadable());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java
deleted file mode 100644
index d8c2758..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java
+++ /dev/null
@@ -1,48 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.Messages;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-/**
- * Command to remove a mime mapping.
- */
-public class RemoveMimeMappingCommand extends ConfigurationCommand {
-	protected int index;
-	protected MimeMapping mapping;
-
-	/**
-	 * RemoveMimeMappingCommand constructor.
-	 * 
-	 * @param configuration a tomcat configuration
-	 * @param index an index
-	 */
-	public RemoveMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, int index) {
-		super(configuration, Messages.configurationEditorActionRemoveMimeMapping);
-		this.index = index;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		mapping = (MimeMapping) configuration.getMimeMappings().get(index);
-		configuration.removeMimeMapping(index);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.addMimeMapping(index, mapping);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java
deleted file mode 100644
index 3849d1c..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java
+++ /dev/null
@@ -1,48 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.Messages;
-import org.eclipse.jst.server.tomcat.core.internal.WebModule;
-/**
- * Command to remove a web module.
- */
-public class RemoveWebModuleCommand extends ConfigurationCommand {
-	protected int index;
-	protected WebModule module;
-
-	/**
-	 * RemoveWebModuleCommand constructor comment.
-	 * 
-	 * @param configuration a tomcat configuration
-	 * @param index an index
-	 */
-	public RemoveWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, int index) {
-		super(configuration, Messages.configurationEditorActionRemoveWebModule);
-		this.index = index;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		module = (WebModule) configuration.getWebModules().get(index);
-		configuration.removeWebModule(index);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.addWebModule(index, module);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java
deleted file mode 100644
index 56e8ad2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java
+++ /dev/null
@@ -1,54 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-/**
- * A command on a Tomcat server.
- */
-public abstract class ServerCommand extends AbstractOperation {
-	protected TomcatServer server;
-
-	/**
-	 * ServerCommand constructor comment.
-	 * 
-	 * @param server a Tomcat server
-	 * @param label a label
-	 */
-	public ServerCommand(ITomcatServerWorkingCopy server, String label) {
-		super(label);
-		this.server = (TomcatServer) server;
-	}
-	
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return execute(monitor, info);
-	}
-
-	public abstract void execute();
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		execute();
-		return null;
-	}
-
-	public abstract void undo();
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		undo();
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java
deleted file mode 100644
index 02b56c4..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java
+++ /dev/null
@@ -1,47 +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.jst.server.tomcat.core.internal.command;
-
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy;
-import org