This commit was manufactured by cvs2svn to create tag 'v20050629'.
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.eclipse.jst.server.tomcat.core.internal.Messages;
-/**
- * Command to change the server debug mode.
- */
-public class SetDebugModeCommand extends ServerCommand {
-	protected boolean debug;
-	protected boolean oldDebug;
-
-	/**
-	 * SetDebugModeCommand constructor comment.
-	 * 
-	 * @param server a Tomcat server
-	 * @param debug <code>true</code> for debug mode
-	 */
-	public SetDebugModeCommand(ITomcatServerWorkingCopy server, boolean debug) {
-		super(server, Messages.serverEditorActionSetDebugMode);
-		this.debug = debug;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldDebug = server.isDebug();
-		server.setDebug(debug);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setDebug(oldDebug);
-	}
-}
\ 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/SetSecureCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java
deleted file mode 100644
index e15429f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.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.eclipse.jst.server.tomcat.core.internal.Messages;
-/**
- * Command to change the server security option.
- */
-public class SetSecureCommand extends ServerCommand {
-	protected boolean secure;
-	protected boolean oldSecure;
-
-	/**
-	 * SetSecureCommand constructor comment.
-	 * 
-	 * @param server a Tomcat server
-	 * @param secure <code>true</code> for security on
-	 */
-	public SetSecureCommand(ITomcatServerWorkingCopy server, boolean secure) {
-		super(server, Messages.serverEditorActionSetSecure);
-		this.secure = secure;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldSecure = server.isSecure();
-		server.setSecure(secure);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setSecure(oldSecure);
-	}
-}
\ 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/SetTestEnvironmentCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java
deleted file mode 100644
index a2b48af..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.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.eclipse.jst.server.tomcat.core.internal.Messages;
-/**
- * Command to change the server debug mode.
- */
-public class SetTestEnvironmentCommand extends ServerCommand {
-	protected boolean te;
-	protected boolean oldTe;
-
-	/**
-	 * SetTestEnvironmentCommand constructor comment.
-	 * 
-	 * @param server a Tomcat server
-	 * @param te <code>true</code> for a test environment.
-	 */
-	public SetTestEnvironmentCommand(ITomcatServerWorkingCopy server, boolean te) {
-		super(server, Messages.serverEditorActionSetTestEnvironment);
-		this.te = te;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldTe = server.isTestEnvironment();
-		server.setTestEnvironment(te);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setTestEnvironment(oldTe);
-	}
-}
\ 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/SetWebModulePathCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java
deleted file mode 100644
index e40f1da..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.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.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 modify the path of a Web module.
- */
-public class SetWebModulePathCommand extends ConfigurationCommand {
-	protected int index;
-	protected WebModule oldModule;
-	protected String path;
-
-	/**
-	 * SetWebModulePathCommand constructor comment.
-	 * 
-	 * @param configuration a tomcat configuration
-	 * @param index an index
-	 * @param contextRoot the context root
-	 */
-	public SetWebModulePathCommand(ITomcatConfigurationWorkingCopy configuration, int index, String contextRoot) {
-		super(configuration, Messages.configurationEditorActionEditWebModulePath);
-		this.index = index;
-		this.path = contextRoot;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldModule = (WebModule) configuration.getWebModules().get(index);
-		configuration.removeWebModule(index);
-		
-		WebModule module = new WebModule(path, oldModule.getDocumentBase(), oldModule.getMemento(), oldModule.isReloadable());
-		configuration.addWebModule(index, module);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.removeWebModule(index);
-		configuration.addWebModule(index, oldModule);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java
deleted file mode 100644
index 27007aa..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java
+++ /dev/null
@@ -1,128 +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.xml;
-
-import java.io.*;
-
-import org.w3c.dom.*;
-import org.xml.sax.InputSource;
-
-import org.eclipse.jst.server.tomcat.core.internal.Trace;
-/**
- * Factory for reading and writing from XML files.
- */
-public class Factory {
-	protected String packageName;
-	protected Document document;
-
-	public Factory() {
-		// do nothing
-	}
-	
-	protected Attr createAttribute(String s, Element element) {
-		Attr attr = document.createAttribute(s);
-		element.setAttributeNode(attr);
-		return attr;
-	}
-	
-	protected XMLElement createElement(int index, String s, Node node) {
-		if (index < 0)
-			return createElement(s, node);
-	
-		Element element = document.createElement(s);
-		try {
-			Node child = node.getFirstChild();
-			for (int i = 0; i < index; i++)
-				child = child.getNextSibling();
-	
-			node.insertBefore(element, child);
-		} catch (Exception e) {
-			node.appendChild(element);
-		}
-		return newInstance(element);
-	}
-	
-	protected XMLElement createElement(String s, Node node) {
-		Element element = document.createElement(s);
-		node.appendChild(element);
-		return newInstance(element);
-	}
-	
-	public byte[] getContents() throws IOException {
-		return XMLUtil.getContents(document);
-	}
-	
-	/**
-	 * 
-	 * @return org.w3c.dom.Document
-	 */
-	public Document getDocument() {
-		return document;
-	}
-
-	public String getPackageName() {
-		return packageName;
-	}
-
-	public XMLElement loadDocument(InputStream in) throws IOException {
-		try {
-			document = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
-			Element element = document.getDocumentElement();
-			return newInstance(element);
-		} catch (Exception exception) {
-			Trace.trace(Trace.WARNING, "Error loading document", exception);
-			throw new IOException("Could not load document");
-		}
-	}
-
-	protected XMLElement newInstance(Element element) {
-		String s = element.getNodeName();
-		try {
-			// change "web-app:test" to "WebAppTest"
-			s = s.substring(0, 1).toUpperCase() + s.substring(1);
-			int i = s.indexOf("-");
-			while (i >= 0) {
-				s = s.substring(0, i) + s.substring(i+1, i+2).toUpperCase() + s.substring(i+2);
-				i = s.indexOf("-");
-			}
-			i = s.indexOf(":");
-			while (i >= 0) {
-				s = s.substring(0, i) + s.substring(i+1, i+2).toUpperCase() + s.substring(i+2);
-				i = s.indexOf(":");
-			}
-	
-			// add package name
-			if (packageName != null)
-				s = packageName + "." + s;
-			Class class1 = Class.forName(s);
-	
-			XMLElement xmlElement = (XMLElement) class1.newInstance();
-			xmlElement.setElement(element);
-			xmlElement.setFactory(this);
-			return xmlElement;
-		} catch (Exception exception) {
-			// ignore
-		}
-		return null;
-	}
-	
-	public void save(String filename) throws IOException {
-		XMLUtil.save(filename, document);
-	}
-	
-	public void setDocument(Document d) {
-		document = d;
-	}
-	
-	public void setPackageName(String s) {
-		packageName = s;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java
deleted file mode 100644
index 5ac618f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java
+++ /dev/null
@@ -1,232 +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.xml;
-
-import org.w3c.dom.*;
-/**
- * An XML element.
- */
-public class XMLElement {
-	private Element xmlElement;
-	protected Factory factory;
-
-	public XMLElement() {
-		// do nothing
-	}
-
-	public Attr addAttribute(String s, String s1) {
-		Attr attr = factory.createAttribute(s, xmlElement);
-		attr.setValue(s1);
-		return attr;
-	}
-
-	public XMLElement createElement(int index, String s) {
-		return factory.createElement(index, s, xmlElement);
-	}
-
-	public XMLElement createElement(String s) {
-		return factory.createElement(s, xmlElement);
-	}
-
-	public XMLElement findElement(String s) {
-		NodeList nodelist = xmlElement.getElementsByTagName(s);
-		int i = nodelist == null ? 0 : nodelist.getLength();
-		for (int j = 0; j < i; j++) {
-			Node node = nodelist.item(j);
-			String s1 = node.getNodeName().trim();
-			if (s1.equals(s))
-				return factory.newInstance((Element) node);
-		}
-	
-		return createElement(s);
-	}
-
-	public XMLElement findElement(String s, int i) {
-		NodeList nodelist = xmlElement.getElementsByTagName(s);
-		int j = nodelist == null ? 0 : nodelist.getLength();
-		for (int k = 0; k < j; k++) {
-			Node node = nodelist.item(k);
-			String s1 = node.getNodeName().trim();
-			if (s1.equals(s) && k == i)
-				return factory.newInstance((Element) node);
-		}
-	
-		return createElement(s);
-	}
-
-	public String getAttributeValue(String s) {
-		Attr attr = xmlElement.getAttributeNode(s);
-		if (attr != null)
-			return attr.getValue();
-		
-		return null;
-	}
-	
-	public String getElementName() {
-		return xmlElement.getNodeName();
-	}
-	
-	public String getElementValue() {
-		return getElementValue(xmlElement);
-	}
-	
-	protected static String getElementValue(Element element) {
-		String s = element.getNodeValue();
-		if (s != null)
-			return s;
-		NodeList nodelist = element.getChildNodes();
-		for (int i = 0; i < nodelist.getLength(); i++)
-			if (nodelist.item(i) instanceof Text)
-				return ((Text) nodelist.item(i)).getData();
-	
-		return null;
-	}
-	
-	public Element getSubElement(String s) {
-		NodeList nodelist = xmlElement.getElementsByTagName(s);
-		int i = nodelist == null ? 0 : nodelist.getLength();
-		for (int j = 0; j < i; j++) {
-			Node node = nodelist.item(j);
-			String s1 = node.getNodeName().trim();
-			if (s1.equals(s))
-				return (Element) node;
-		}
-	
-		return null;
-	}
-
-	public String getSubElementValue(String s) {
-		Element element = getSubElement(s);
-		if (element == null)
-			return null;
-	
-		String value = getElementValue(element);
-		if (value == null)
-			return null;
-		
-		return value.trim();
-	}
-
-	public boolean removeAttribute(String s) {
-		try {
-			xmlElement.removeAttribute(s);
-			return true;
-		} catch (Exception ex) {
-			return false;
-		}
-	}
-
-	public boolean removeElement(String s, int i) {
-		NodeList nodelist = xmlElement.getElementsByTagName(s);
-		int j = nodelist == null ? 0 : nodelist.getLength();
-		for (int k = 0; k < j; k++) {
-			Node node = nodelist.item(k);
-			String s1 = node.getNodeName().trim();
-			if (s1.equals(s) && k == i) {
-				xmlElement.removeChild(node);
-				return true;
-			}
-		}
-	
-		return false;
-	}
-
-	public void setAttributeValue(String s, String s1) {
-		Attr attr = xmlElement.getAttributeNode(s);
-		if (attr == null)
-			attr = addAttribute(s, s1);
-		else
-			attr.setValue(s1);
-	}
-
-	void setElement(Element element) {
-		xmlElement = element;
-	}
-
-	protected static void setElementValue(Element element, String value) {
-		String s = element.getNodeValue();
-		if (s != null) {
-			element.setNodeValue(value);
-			return;
-		}
-		NodeList nodelist = element.getChildNodes();
-		for (int i = 0; i < nodelist.getLength(); i++)
-			if (nodelist.item(i) instanceof Text) {
-				Text text = (Text) nodelist.item(i);
-				text.setData(value);
-				return;
-			}
-	
-		return;
-	}
-
-	void setFactory(Factory factory1) {
-		factory = factory1;
-	}
-
-	public void setSubElementValue(String s, String value) {
-		Element element = getSubElement(s);
-		if (element == null) {
-			element = factory.document.createElement(s);
-			element.appendChild(factory.document.createTextNode("temp"));
-			xmlElement.appendChild(element);
-		}
-		setElementValue(element, value);
-	}
-
-	public int sizeOfElement(String s) {
-		NodeList nodelist = xmlElement.getElementsByTagName(s);
-		int i = nodelist == null ? 0 : nodelist.getLength();
-		return i;
-	}
-
-	public void updateElementValue(String s) {
-		try {
-			xmlElement.setNodeValue(s);
-		} catch (DOMException ex) {
-			NodeList nodelist = xmlElement.getChildNodes();
-			int i = nodelist == null ? 0 : nodelist.getLength();
-			if (i > 0) {
-				for (int j = 0; j < i; j++)
-					if (nodelist.item(j) instanceof Text) {
-						((Text) nodelist.item(j)).setData(s);
-						return;
-					}
-			} else {
-				xmlElement.appendChild(factory.document.createTextNode(s));
-			}
-		}
-	}
-	
-	public boolean hasChildNodes() {
-		return xmlElement.hasChildNodes();
-	}
-	
-	public void removeChildren()
-	{
-		while (xmlElement.hasChildNodes()) {
-			xmlElement.removeChild(xmlElement.getFirstChild());
-		}
-	}
-	
-	public void copyChildrenTo(XMLElement destination) {
-		NodeList nodelist = xmlElement.getChildNodes();
-		int len = nodelist == null ? 0 : nodelist.getLength();
-		for (int i = 0; i < len; i++) {
-			Node node = nodelist.item(i);
-			destination.importNode(node, true);
-		}
-	}
-	
-	void importNode(Node node, boolean deep) {
-		xmlElement.appendChild(xmlElement.getOwnerDocument().importNode(node, deep));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java
deleted file mode 100644
index 76d96f6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java
+++ /dev/null
@@ -1,390 +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.xml;
-
-import java.io.*;
-import java.util.*;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.jst.server.tomcat.core.internal.Trace;
-import org.w3c.dom.*;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-/**
- * Utility class to create and read XML documents.
- */
-public class XMLUtil {
-	private static DocumentBuilder documentBuilder;
-
-	/**
-	 * XMLUtil constructor comment.
-	 */
-	public XMLUtil() {
-		super();
-	}
-	
-	public static DocumentBuilder getDocumentBuilder() {
-		if (documentBuilder == null)
-			try {
-				DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-				factory.setValidating(false);
-				factory.setNamespaceAware(false);
-				factory.setExpandEntityReferences(false);
-				//factory.setAttribute("http://apache.org/xml/features/nonvalidating/load-external-dtd", new Boolean(false));
-				documentBuilder = factory.newDocumentBuilder();
-				documentBuilder.setEntityResolver(new EntityResolver() {
-					public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
-						return new InputSource(new ByteArrayInputStream(new byte[0]));
-					}
-				});
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Rrror creating document builder");
-			}
-
-		return documentBuilder;
-	}
-
-	/**
-	 * Create a child of the given node at the given index.
-	 *
-	 * @param doc a document
-	 * @param element an element
-	 * @param index an index
-	 * @param nodeName a node name
-	 * @return org.w3c.dom.Element
-	 */
-	public static Element createChildElement(Document doc, Element element, int index, String nodeName) {
-		Element element2 = doc.createElement(nodeName);
-		try {
-			NodeList childList = element.getElementsByTagName(nodeName);
-			Node child = childList.item(index);
-			element.insertBefore(element2, child);
-		} catch (Exception e) {
-			element.appendChild(element2);
-		}
-		return element2;
-	}
-
-	/**
-	 * Create a child of the given node.
-	 *
-	 * @param doc a document
-	 * @param node a node
-	 * @param nodeName a node name
-	 * @return org.w3c.dom.Element
-	 */
-	public static Element createChildElement(Document doc, Node node, String nodeName) {
-		Element element = doc.createElement(nodeName);
-		node.appendChild(element);
-		return element;
-	}
-
-	/*
-	 * Set the value of the given node to the given text.
-	 */
-	public static void createTextChildElement(Document doc, Node node, String name, String value) {
-		Element element = createChildElement(doc, node, name);
-		element.appendChild(doc.createTextNode(value));
-	}
-
-	/**
-	 * Return the attribute value.
-	 * @return java.lang.String
-	 * @param element org.w3c.dom.Element
-	 * @param attr java.lang.String
-	 */
-	public static String getAttributeValue(Element element, String attr) {
-		return element.getAttributeNode(attr).getValue();
-	}
-
-	public static byte[] getContents(Document document) throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		try {
-			print(new PrintStream(out, true, "UTF-8"), document);
-			return out.toByteArray();
-		} catch (Exception ex) {
-			throw new IOException(ex.getLocalizedMessage());
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (Exception e) {
-					// ignore
-				}
-		}
-	}
-
-	protected static String getDocumentTypeData(DocumentType doctype) {
-		String data = doctype.getName();
-		if (doctype.getPublicId() != null) {
-			data += " PUBLIC \"" + doctype.getPublicId() + "\"";
-			String systemId = doctype.getSystemId();
-			if (systemId == null)
-				systemId = "";
-			data += " \"" + systemId + "\"";
-		} else
-			data += " SYSTEM \"" + doctype.getSystemId() + "\"";
-	
-		return data;
-	}
-
-	/**
-	 * Return an iterator for the subelements.
-	 * @return java.util.Iterator
-	 * @param element org.w3c.dom.Element
-	 * @param name java.lang.String
-	 */
-	public static Iterator getNodeIterator(Element element, String name) {
-		List list = new ArrayList();
-		NodeList nodeList = element.getElementsByTagName(name);
-	
-		int length = nodeList.getLength();
-		for (int i = 0; i < length; i++)
-			list.add(nodeList.item(i));
-	
-		return list.iterator();
-	}
-
-	/**
-	 * Get the value of this node. Will return "" instead of null.
-	 * @return java.lang.String
-	 * @param node org.w3c.dom.Node
-	 */
-	public static String getNodeValue(Node node) {
-		NodeList nodeList = node.getChildNodes();
-	
-		int length = nodeList.getLength();
-		for (int i = 0; i < length; i++) {
-			Node n = nodeList.item(i);
-			if (n instanceof Text) {
-				Text t = (Text) n;
-				return t.getNodeValue();
-			}
-		}
-		return "";
-	}
-
-	/*
-	 * Get the value of a subnode.
-
-	 * @return java.lang.String
-	 */
-	public static String getSubNodeValue(Element element, String name) {
-		NodeList nodeList = element.getElementsByTagName(name);
-		return getNodeValue(nodeList.item(0)).trim();
-	}
-
-	/*
-	 * Insert the given text.
-	 */
-	public static void insertText(Document doc, Node node, String text) {
-		node.appendChild(doc.createCDATASection(text));
-	}
-
-	protected static String normalize(String s) {
-		StringBuffer stringbuffer = new StringBuffer();
-		int i = s == null ? 0 : s.length();
-		for (int j = 0; j < i; j++) {
-			char c = s.charAt(j);
-			switch (c) {
-				case 60 : /* '<' */
-					stringbuffer.append("&lt;");
-					break;
-	
-				case 62 : /* '>' */
-					stringbuffer.append("&gt;");
-					break;
-	
-				case 38 : /* '&' */
-					stringbuffer.append("&amp;");
-					break;
-	
-				case 34 : /* '"' */
-					stringbuffer.append("&quot;");
-					break;
-	
-				case 10 : /* '\n' */
-				case 13 : /* '\r' */
-				default :
-					stringbuffer.append(c);
-					break;
-	
-			}
-		}
-	
-		return stringbuffer.toString();
-	}
-
-	protected static void print(PrintStream out, Node node) {
-		if (node == null)
-			return;
-		short type = node.getNodeType();
-		switch (type) {
-			case Node.DOCUMENT_NODE: {
-				out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-				//out.println("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
-				NodeList nodelist = node.getChildNodes();
-				int size = nodelist.getLength();
-				for (int i = 0; i < size; i++)
-					print(out, nodelist.item(i));
-				break;
-			}
-	
-			case Node.DOCUMENT_TYPE_NODE: {
-				DocumentType docType = (DocumentType) node;
-				out.print("<!DOCTYPE " + getDocumentTypeData(docType) + ">\n");
-				break;
-			}
-	
-			case Node.ELEMENT_NODE: {
-				out.print('<');
-				out.print(node.getNodeName());
-				NamedNodeMap map = node.getAttributes();
-				if (map != null) {
-					int size = map.getLength();
-					for (int i = 0; i < size; i++) {
-						Attr attr = (Attr) map.item(i);
-						out.print(' ');
-						out.print(attr.getNodeName());
-						out.print("=\"");
-						out.print(normalize(attr.getNodeValue()));
-						out.print('"');
-					}
-				}
-	
-				if (!node.hasChildNodes())
-					out.print("/>");
-				else {
-					out.print('>');
-					NodeList nodelist = node.getChildNodes();
-					int numChildren = nodelist.getLength();
-					for (int i = 0; i < numChildren; i++)
-						print(out, nodelist.item(i));
-	
-					out.print("</");
-					out.print(node.getNodeName());
-					out.print('>');
-				}
-				break;
-			}
-	
-			case Node.ENTITY_REFERENCE_NODE: {
-				NodeList nodelist = node.getChildNodes();
-				if (nodelist != null) {
-					int size = nodelist.getLength();
-					for (int i = 0; i < size; i++)
-						print(out, nodelist.item(i));
-	
-				}
-				break;
-			}
-	
-			case Node.CDATA_SECTION_NODE: {
-				out.print(normalize(node.getNodeValue()));
-				break;
-			}
-	
-			case Node.TEXT_NODE: {
-				out.print(normalize(node.getNodeValue()));
-				break;
-			}
-	
-			case Node.PROCESSING_INSTRUCTION_NODE: {
-				out.print("<?");
-				out.print(node.getNodeName());
-				String s = node.getNodeValue();
-				if (s != null && s.length() > 0) {
-					out.print(' ');
-					out.print(s);
-				}
-				out.print("?>");
-				break;
-			}
-	
-			case Node.COMMENT_NODE: {
-				out.print("<!--");
-				out.print(node.getNodeValue());
-				out.print("-->");
-				break;
-			}
-	
-			default: {
-				out.print(normalize(node.getNodeValue()));
-				break;
-			}
-		}
-		out.flush();
-	}
-
-	public static void save(String filename, Document document) throws IOException {
-		PrintStream out = null;
-		try {
-			out = new PrintStream(new BufferedOutputStream(new FileOutputStream(filename)), true, "UTF-8");
-			//traceNode(document, "");
-			print(out, document);
-		} catch (Exception ex) {
-			throw new IOException(ex.getLocalizedMessage());
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (Exception e) {
-					// ignore
-				}
-		}
-	}
-
-	/*
-	 * Set the value of the subnode
-	 *
-	 * @param name java.lang.String
-	 * @param value java.lang.String
-	 */
-	public static void setNodeValue(Node node, String name, String value) {
-		String s = node.getNodeValue();
-		if (s != null) {
-			node.setNodeValue(value);
-			return;
-		}
-		NodeList nodelist = node.getChildNodes();
-		for (int i = 0; i < nodelist.getLength(); i++) {
-			if (nodelist.item(i) instanceof Text) {
-				Text text = (Text) nodelist.item(i);
-				text.setData(value);
-				return;
-			}
-		}
-		return;
-	}
-
-	public static String toString(Document document) {
-		PrintStream out = null;
-		try {
-			ByteArrayOutputStream baos = new ByteArrayOutputStream(2048);
-			out = new PrintStream(baos);
-			print(out, document);
-			return new String(baos.toByteArray(), "UTF-8");
-		} catch (Exception ex) {
-			// ignore
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (Exception e) {
-					// ignore
-				}
-		}
-		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/xml/server32/Connector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java
deleted file mode 100644
index a0324f2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.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.xml.server32;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Connector extends XMLElement {
-	public Connector() {
-		// do nothing
-	}
-	
-	public String getClassName() {
-		return getAttributeValue("className");
-	}
-	
-	public Parameter getParameter(int index) {
-		return (Parameter) findElement("Parameter", index);
-	}
-	
-	public int getParameterCount() {
-		return sizeOfElement("Parameter");
-	}
-	
-	public void setClassName(String className) {
-		setAttributeValue("className", className);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java
deleted file mode 100644
index b5568e8..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java
+++ /dev/null
@@ -1,77 +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.xml.server32;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Context extends XMLElement {
-	public Context() {
-		// do nothing
-	}
-	
-	public String getCrossContext() {
-		return getAttributeValue("crossContext");
-	}
-	
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-	
-	public String getDocBase() {
-		return getAttributeValue("docBase");
-	}
-	
-	public String getPath() {
-		return getAttributeValue("path");
-	}
-	
-	public String getReloadable() {
-		return getAttributeValue("reloadable");
-	}
-	
-	public String getSource() {
-		return getAttributeValue("source");
-	}
-	
-	public String getTrusted() {
-		return getAttributeValue("trusted");
-	}
-	
-	public void setCrossContext(String crossContext) {
-		setAttributeValue("crossContext", crossContext);
-	}
-	
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-	
-	public void setDocBase(String docBase) {
-		setAttributeValue("docBase", docBase);
-	}
-	
-	public void setPath(String path) {
-		setAttributeValue("path", path);
-	}
-	
-	public void setReloadable(String reloadable) {
-		setAttributeValue("reloadable", reloadable);
-	}
-	
-	public void setSource(String source) {
-		setAttributeValue("source", source);
-	}
-	
-	public void setTrusted(String trusted) {
-		setAttributeValue("trusted", trusted);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java
deleted file mode 100644
index e7829d1..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java
+++ /dev/null
@@ -1,77 +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.xml.server32;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class ContextManager extends XMLElement {
-	public ContextManager() {
-		// do nothing
-	}
-	
-	public Connector getConnector(int index) {
-		return (Connector) findElement("Connector", index);
-	}
-	
-	public int getConnectorCount() {
-		return sizeOfElement("Connector");
-	}
-	
-	public Context getContext(int index) {
-		return (Context) findElement("Context", index);
-	}
-	
-	public int getContextCount() {
-		return sizeOfElement("Context");
-	}
-	
-	public int getContextInterceptorCount() {
-		return sizeOfElement("ContextInterceptor");
-	}
-	
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-	
-	public String getHome() {
-		return getAttributeValue("home");
-	}
-	
-	public int getRequestInterceptorCount() {
-		return sizeOfElement("RequestInterceptor");
-	}
-	
-	public String getShowDebugInfo() {
-		return getAttributeValue("showDebugInfo");
-	}
-	
-	public String getWorkDir() {
-		return getAttributeValue("workDir");
-	}
-	
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-	
-	public void setHome(String home) {
-		setAttributeValue("home", home);
-	}
-	
-	public void setShowDebugInfo(String showDebugInfo) {
-		setAttributeValue("showDebugInfo", showDebugInfo);
-	}
-	
-	public void setWorkDir(String workDir) {
-		setAttributeValue("workDir", workDir);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java
deleted file mode 100644
index 1608cf1..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.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.xml.server32;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Parameter extends XMLElement {
-	public Parameter() {
-		// do nothing
-	}
-	
-	public String getName() {
-		return getAttributeValue("name");
-	}
-	
-	public String getValue() {
-		return getAttributeValue("value");
-	}
-	
-	public void setName(String name) {
-		setAttributeValue("name", name);
-	}
-	
-	public void setValue(String value) {
-		setAttributeValue("value", value);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java
deleted file mode 100644
index 5d8cdd0..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.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.xml.server32;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Server extends XMLElement {
-	public Server() {
-		// do nothing
-	}
-	
-	public ContextManager getContextManager() {
-		return (ContextManager) findElement("ContextManager");
-	}
-	
-	public int getLoggerCount() {
-		return sizeOfElement("Logger");
-	}
-
-	public String getName() {
-		return getAttributeValue("name");
-	}
-	
-	public void setName(String name) {
-		setAttributeValue("name", name);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java
deleted file mode 100644
index 79bf6c9..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.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.xml.server40;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Connector extends XMLElement {
-	public Connector() {
-		// do nothing
-	}
-
-	public String getAcceptCount() {
-		return getAttributeValue("acceptCount");
-	}
-
-	public String getClassName() {
-		return getAttributeValue("className");
-	}
-
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-
-	public String getMaxProcessors() {
-		return getAttributeValue("maxProcessors");
-	}
-
-	public String getMinProcessors() {
-		return getAttributeValue("minProcessors");
-	}
-
-	public String getPort() {
-		return getAttributeValue("port");
-	}
-	
-	public String getSecure() {
-		return getAttributeValue("secure");
-	}
-	
-	public String getProtocol() {
-		return getAttributeValue("protocol");
-	}
-
-	public String getProtocolHandlerClassName() {
-		return getAttributeValue("protocolHandlerClassName");
-	}
-
-	public void setAcceptCount(String acceptCount) {
-		setAttributeValue("acceptCount", acceptCount);
-	}
-
-	public void setClassName(String className) {
-		setAttributeValue("className", className);
-	}
-
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-
-	public void setMaxProcessors(String maxProcessors) {
-		setAttributeValue("maxProcessors", maxProcessors);
-	}
-
-	public void setMinProcessors(String minProcessors) {
-		setAttributeValue("minProcessors", minProcessors);
-	}
-
-	public void setPort(String port) {
-		setAttributeValue("port", port);
-	}
-	
-	public void setProtocolHandlerClassName(String protocolHandlerClassName) {
-		setAttributeValue("protocolHandlerClassName", protocolHandlerClassName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java
deleted file mode 100644
index b597c89..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.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.xml.server40;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Context extends XMLElement {
-	public Context() {
-		// do nothing
-	}
-
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-
-	public String getDocBase() {
-		return getAttributeValue("docBase");
-	}
-
-	public String getPath() {
-		return getAttributeValue("path");
-	}
-
-	public String getReloadable() {
-		return getAttributeValue("reloadable");
-	}
-
-	public String getSource() {
-		return getAttributeValue("source");
-	}
-
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-
-	public void setDocBase(String docBase) {
-		setAttributeValue("docBase", docBase);
-	}
-
-	public void setPath(String path) {
-		setAttributeValue("path", path);
-	}
-
-	public void setReloadable(String reloadable) {
-		setAttributeValue("reloadable", reloadable);
-	}
-
-	public void setSource(String source) {
-		setAttributeValue("source", source);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java
deleted file mode 100644
index 166ce0b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.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.tomcat.core.internal.xml.server40;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Engine extends XMLElement {
-	public Engine() {
-		// do nothing
-	}
-	
-	public String getAppBase() {
-		return getAttributeValue("appBase");
-	}
-	
-	public String getClassName() {
-		return getAttributeValue("className");
-	}
-	
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-	
-	public String getDefaultHost() {
-		return getAttributeValue("defaultHost");
-	}
-	
-	public Host getHost() {
-		return (Host) findElement("Host");
-	}
-	
-	public String getName() {
-		return getAttributeValue("name");
-	}
-	
-	public void setAppBase(String appBase) {
-		setAttributeValue("appBase", appBase);
-	}
-	
-	public void setClassName(String className) {
-		setAttributeValue("className", className);
-	}
-	
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-	
-	public void setDefaultHost(String defaultHost) {
-		setAttributeValue("defaultHost", defaultHost);
-	}
-	
-	public void setName(String name) {
-		setAttributeValue("name", name);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java
deleted file mode 100644
index dc91098..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.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.xml.server40;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Host extends XMLElement {
-	public Host() {
-		// do nothing
-	}
-	
-	public String getAppBase() {
-		return getAttributeValue("appBase");
-	}
-	
-	public Context getContext(int index) {
-		return (Context) findElement("Context", index);
-	}
-	
-	public int getContextCount() {
-		return sizeOfElement("Context");
-	}
-	
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-	
-	public String getName() {
-		return getAttributeValue("name");
-	}
-	
-	public void setAppBase(String appBase) {
-		setAttributeValue("appBase", appBase);
-	}
-	
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-	
-	public void setName(String name) {
-		setAttributeValue("name", name);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java
deleted file mode 100644
index 97378bc..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.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.xml.server40;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Listener extends XMLElement {
-	public Listener() {
-		// do nothing
-	}
-
-	public String getClassName() {
-		return getAttributeValue("className");
-	}
-
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-
-	public void setClassName(String className) {
-		setAttributeValue("className", className);
-	}
-
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java
deleted file mode 100644
index 097111d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.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.xml.server40;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Server extends XMLElement {
-	public Server() {
-		// do nothing
-	}
-
-	public String getDebug() {
-		return getAttributeValue("debug");
-	}
-
-	public String getName() {
-		return getAttributeValue("name");
-	}
-	
-	public String getPort() {
-		return getAttributeValue("port");
-	}
-	
-	public Service getService(int index) {
-		return (Service) findElement("Service", index);
-	}
-	
-	public int getServiceCount() {
-		return sizeOfElement("Service");
-	}
-	
-	public String getShutdown() {
-		return getAttributeValue("shutdown");
-	}
-	
-	public void setDebug(String debug) {
-		setAttributeValue("debug", debug);
-	}
-	
-	public void setName(String name) {
-		setAttributeValue("name", name);
-	}
-	
-	public void setPort(String port) {
-		setAttributeValue("port", port);
-	}
-	
-	public void setShutdown(String shutdown) {
-		setAttributeValue("shutdown", shutdown);
-	}
-
-	public Listener getListener(int index) {
-		return (Listener) findElement("Listener", index);
-	}
-	
-	public int getListenerCount() {
-		return sizeOfElement("Listener");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java
deleted file mode 100644
index cc24a4a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java
+++ /dev/null
@@ -1,41 +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.xml.server40;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Service extends XMLElement {
-	public Service() {
-		// do nothing
-	}
-
-	public Connector getConnector(int index) {
-		return (Connector) findElement("Connector", index);
-	}
-
-	public int getConnectorCount() {
-		return sizeOfElement("Connector");
-	}
-
-	public Engine getEngine() {
-		return (Engine) findElement("Engine");
-	}
-
-	public String getName() {
-		return getAttributeValue("name");
-	}
-
-	public void setName(String name) {
-		setAttributeValue("name", name);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties b/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties
deleted file mode 100644
index a70106a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties
+++ /dev/null
@@ -1,18 +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
-###############################################################################
-
-# this file must not be translated
-
-verify32install=lib/jasper.jar,lib/servlet.jar,bin,conf,webapps
-verify40install=lib/naming-factory.jar,bin/bootstrap.jar,conf,webapps
-verify41install=common/lib/naming-factory.jar,common/lib/servlet.jar,bin/bootstrap.jar,conf,webapps
-verify50install=common/lib/servlet-api.jar,common/lib/naming-common.jar,bin/bootstrap.jar,conf,webapps
-verify55install=common/i18n,bin/bootstrap.jar,conf,webapps
diff --git a/plugins/org.eclipse.jst.server.ui/.classpath b/plugins/org.eclipse.jst.server.ui/.classpath
deleted file mode 100644
index 6f75060..0000000
--- a/plugins/org.eclipse.jst.server.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="sjavaui/"/>
-	<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.ui/.cvsignore b/plugins/org.eclipse.jst.server.ui/.cvsignore
deleted file mode 100644
index 92a2cef..0000000
--- a/plugins/org.eclipse.jst.server.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.ui_3.0.0.jar
-sjavaui.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.ui/.options b/plugins/org.eclipse.jst.server.ui/.options
deleted file mode 100644
index a747d69..0000000
--- a/plugins/org.eclipse.jst.server.ui/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.ui plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.ui/debug=true
diff --git a/plugins/org.eclipse.jst.server.ui/.project b/plugins/org.eclipse.jst.server.ui/.project
deleted file mode 100644
index abd835d..0000000
--- a/plugins/org.eclipse.jst.server.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index ccbbc63..0000000
--- a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.ui; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.jst.server.ui.internal.JavaServerUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.ui.internal;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.debug.core,
- org.eclipse.debug.ui,
- org.eclipse.ui,
- org.eclipse.jdt.core,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.junit,
- org.eclipse.wst.server.core,
- org.eclipse.wst.server.ui,
- org.eclipse.jst.server.core,
- org.eclipse.ui.ide,
- org.eclipse.jdt.ui
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.server.ui/build.properties b/plugins/org.eclipse.jst.server.ui/build.properties
deleted file mode 100644
index 452ebb3..0000000
--- a/plugins/org.eclipse.jst.server.ui/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,\
-               icons/,\
-               .,\
-               META-INF/
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/
-source.. = sjavaui/
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif
deleted file mode 100644
index 4423578..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif
deleted file mode 100644
index b5630b3..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif
deleted file mode 100644
index f8b5c0a..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif
deleted file mode 100644
index 6059f86..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif
deleted file mode 100644
index 1ff93cb..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif
deleted file mode 100644
index bf20f70..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.gif b/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.gif
deleted file mode 100644
index 30de91f..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.gif b/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.gif
deleted file mode 100644
index 4a71e95..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.properties b/plugins/org.eclipse.jst.server.ui/plugin.properties
deleted file mode 100644
index d238a55..0000000
--- a/plugins/org.eclipse.jst.server.ui/plugin.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
-###############################################################################
-pluginName=Java Server UI Support
-providerName=Eclipse.org
-
-cactusJUnitClient=JUnit Client
-cactusServletTestCase=Servlet Test Case
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.xml b/plugins/org.eclipse.jst.server.ui/plugin.xml
deleted file mode 100644
index 70c7f15..0000000
--- a/plugins/org.eclipse.jst.server.ui/plugin.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension point="org.eclipse.wst.server.ui.serverImages">
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="org.eclipse.jst.server.core.runtimeType"
-        icon="icons/obj16/java_jar.gif"/>
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="j2ee.web"
-        icon="icons/obj16/web_module.gif"/>
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="j2ee.ejb"
-        icon="icons/obj16/ejb_module.gif"/>
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="j2ee.ear"
-        icon="icons/obj16/ear.gif"/>
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="j2ee.appclient"
-        icon="icons/obj16/appclient_module.gif"/>
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="j2ee.connector"
-        icon="icons/obj16/java_jar.gif"/>
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="j2ee.loosearchive"
-        icon="icons/obj16/java_jar.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.ui.wizardFragments">
-     <fragment
-        id="org.eclipse.jst.server.core.runtimeType"
-        typeIds="org.eclipse.jst.server.core.runtimeType"
-        class="org.eclipse.jst.server.ui.internal.GenericRuntimeWizardFragment"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.clients">
-     <client
-        id="org.eclipse.jst.server.cactus.client"
-        class="org.eclipse.jst.server.ui.internal.cactus.JUnitClientDelegate"
-        launchable="org.eclipse.jst.server.cactus.launchable"
-        name="%cactusJUnitClient"/>
-  </extension>
-
-  <extension point="org.eclipse.ui.newWizards">
-     <wizard
-        id="org.eclipse.jst.server.ui.internal.cactus.NewServletTestCaseWizard"
-        canFinishEarly="false"
-        category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
-        class="org.eclipse.jst.server.ui.internal.cactus.NewServletTestCaseWizard"
-        hasPages="true"
-        icon="icons/obj16/new_testcase.gif"
-        name="%cactusServletTestCase"/>
-  </extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.java
deleted file mode 100644
index f3cbdeb..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.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.ui.internal;
-/**
- * Context help id constants.
- */
-public interface ContextIds {
-	public static final String JAVA_CLASSPATH = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0000";
-	public static final String JAVA_CLASSPATH_TABLE = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0002";
-	public static final String JAVA_CLASSPATH_UP = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0004";
-	public static final String JAVA_CLASSPATH_DOWN = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0006";
-	public static final String JAVA_CLASSPATH_ADD_EXTERNAL_JAR = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0008";
-	public static final String JAVA_CLASSPATH_ADD_EXTERNAL_FOLDER = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0009";
-	public static final String JAVA_CLASSPATH_ADD_VARIABLE = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0011";
-	public static final String JAVA_CLASSPATH_ADD_STRING = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0013";
-	public static final String JAVA_CLASSPATH_EDIT = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0015";
-	public static final String JAVA_CLASSPATH_REMOVE = JavaServerUIPlugin.PLUGIN_ID + ".jvcp0012";
-
-	public static final String JAVA_PATH = JavaServerUIPlugin.PLUGIN_ID + ".jvpt0000";
-	public static final String JAVA_PATH_FIELD = JavaServerUIPlugin.PLUGIN_ID + ".jvpt0002";
-	public static final String JAVA_PATH_APPEND = JavaServerUIPlugin.PLUGIN_ID + ".jvpt0004";
-	public static final String JAVA_PATH_PREPEND = JavaServerUIPlugin.PLUGIN_ID + ".jvpt0006";
-	public static final String JAVA_PATH_REPLACE = JavaServerUIPlugin.PLUGIN_ID + ".jvpt0008";
-
-	public static final String JAVA_SYSTEM_PROPERTY = JavaServerUIPlugin.PLUGIN_ID + ".jvsp0000";
-	public static final String JAVA_SYSTEM_PROPERTY_TABLE = JavaServerUIPlugin.PLUGIN_ID + ".jvsp0002";
-	public static final String JAVA_SYSTEM_PROPERTY_ADD = JavaServerUIPlugin.PLUGIN_ID + ".jvsp0004";
-	public static final String JAVA_SYSTEM_PROPERTY_EDIT = JavaServerUIPlugin.PLUGIN_ID + ".jvsp0006";
-	public static final String JAVA_SYSTEM_PROPERTY_REMOVE = JavaServerUIPlugin.PLUGIN_ID + ".jvsp0008";
-
-	public static final String JAVA_SYSTEM_PROPERTY_DIALOG = JavaServerUIPlugin.PLUGIN_ID + ".jvpd0000";
-	public static final String JAVA_SYSTEM_PROPERTY_DIALOG_NAME = JavaServerUIPlugin.PLUGIN_ID + ".jvpd0002";
-	public static final String JAVA_SYSTEM_PROPERTY_DIALOG_VALUE = JavaServerUIPlugin.PLUGIN_ID + ".jvpd0004";
-
-	public static final String JAVA_CLASSPATH_VARIABLE_DIALOG = JavaServerUIPlugin.PLUGIN_ID + ".jvvd0000";
-	public static final String JAVA_CLASSPATH_VARIABLE_DIALOG_VARIABLE = JavaServerUIPlugin.PLUGIN_ID + ".jvvd0002";
-	public static final String JAVA_CLASSPATH_VARIABLE_DIALOG_EXTENSION = JavaServerUIPlugin.PLUGIN_ID + ".jvvd0004";
-	public static final String JAVA_CLASSPATH_VARIABLE_DIALOG_EXTENSION_BROWSE = JavaServerUIPlugin.PLUGIN_ID + ".jvvd0006";
-
-	public static final String JAVA_CLASSPATH_STRING_DIALOG = JavaServerUIPlugin.PLUGIN_ID + ".jvsd0000";
-	public static final String JAVA_CLASSPATH_STRING_DIALOG_PATH = JavaServerUIPlugin.PLUGIN_ID + ".jvsd0002";
-
-	public static final String JAVA_VM_ARGUMENTS = JavaServerUIPlugin.PLUGIN_ID + ".jvvm0000";
-	
-	public static final String RUNTIME_TARGET_COMPOSITE = JavaServerUIPlugin.PLUGIN_ID + ".jvrt0000";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
deleted file mode 100644
index 1e26184..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
+++ /dev/null
@@ -1,267 +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.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.*;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-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.core.internal.GenericRuntime;
-import org.eclipse.jst.server.core.internal.IGenericRuntimeWorkingCopy;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.PlatformUI;
-/**
- * Wizard page to set the server install directory.
- */
-public class GenericRuntimeComposite extends Composite {
-	protected static final String INSTALLED_JRE_PREFERENCE_PAGE_ID = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage";
-	protected IRuntimeWorkingCopy runtimeWC;
-	protected IGenericRuntimeWorkingCopy runtime;
-	
-	protected IWizardHandle wizard;
-	
-	protected Text name;
-	protected Text installDir;
-	protected Combo combo;
-	protected List installedJREs;
-	protected String[] jreNames;
-
-	/**
-	 * GenericRuntimeComposite constructor comment.
-	 */
-	protected GenericRuntimeComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		
-		wizard.setTitle(Messages.runtimeTypeTitle);
-		wizard.setDescription(Messages.runtimeTypeDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZ_RUNTIME_TYPE));
-		
-		createControl();
-	}
-
-	protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
-		if (newRuntime == null) {
-			runtimeWC = null;
-			runtime = null;
-		} else {
-			runtimeWC = newRuntime;
-			runtime = (IGenericRuntimeWorkingCopy) newRuntime.getAdapter(IGenericRuntimeWorkingCopy.class);
-		}
-		
-		init();
-		validate();
-	}
-
-	/**
-	 * Provide a wizard page to change the root directory.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.RUNTIME_TARGET_COMPOSITE);
-		
-		Label label = new Label(this, SWT.NONE);
-		label.setText(Messages.runtimeTypeName);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		name = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		name.setLayoutData(data);
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setName(name.getText());
-				validate();
-			}
-		});
-	
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.runtimeTypeLocation);
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-	
-		installDir = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		installDir.setLayoutData(data);
-		installDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setLocation(new Path(installDir.getText()));
-				validate();
-			}
-		});
-	
-		Button browse = SWTUtil.createButton(this, Messages.browse);
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(GenericRuntimeComposite.this.getShell());
-				dialog.setMessage(Messages.runtimeTypeSelectLocation);
-				dialog.setFilterPath(installDir.getText());
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null)
-					installDir.setText(selectedDirectory);
-			}
-		});
-		
-		updateJREs();
-		
-		// JDK location
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.runtimeTypeJRE);
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		combo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setItems(jreNames);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		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);
-				
-				runtime.setVMInstall(vmInstall);
-				validate();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		Button button = SWTUtil.createButton(this, Messages.runtimeTypeInstalledJREs);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String currentVM = combo.getText();
-				if (showPreferencePage()) {
-					updateJREs();
-					combo.setItems(jreNames);
-					combo.setText(currentVM);
-					if (combo.getSelectionIndex() == -1)
-						combo.select(0);
-				}
-			}
-		});
-		
-		init();
-		validate();
-
-		Dialog.applyDialogFont(this);
-
-		name.forceFocus();
-	}
-	
-	protected void updateJREs() {
-		// get all installed JVMs
-		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]);
-			}
-		}
-		
-		// get names
-		size = installedJREs.size();
-		jreNames = new String[size+1];
-		jreNames[0] = Messages.runtimeTypeDefaultJRE;
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i+1] = vmInstall.getName();
-		}
-	}
-
-	protected boolean showPreferencePage() {
-		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(getShell(), manager2);
-		final boolean[] result = new boolean[] { false };
-		BusyIndicator.showWhile(getDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				if (dialog.open() == Window.OK)
-					result[0] = true;
-			}
-		});
-		return result[0];
-	}
-	
-	protected void init() {
-		if (installDir == null || runtime == null)
-			return;
-		
-		name.setText(runtimeWC.getName());
-		
-		if (runtimeWC.getLocation() != null)
-			installDir.setText(runtimeWC.getLocation().toOSString());
-		else
-			installDir.setText("");
-		
-		// set selection
-		if (((GenericRuntime)runtime).isUsingDefaultJRE())
-			combo.select(0);
-		else {
-			boolean found = false;
-			int size = installedJREs.size();
-			for (int i = 0; i < size; i++) {
-				IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-				if (vmInstall.equals(runtime.getVMInstall())) {
-					combo.select(i + 1);
-					found = true;
-				}
-			}
-			if (!found)
-				combo.select(0);
-		}
-	}
-
-	protected void validate() {
-		if (runtime == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-
-		IStatus status = runtimeWC.validate(null);
-		if (status == null || status.isOK())
-			wizard.setMessage(null, IMessageProvider.NONE);
-		else
-			wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java
deleted file mode 100644
index 76a9180..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.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.ui.internal;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Composite;
-/**
- * 
- */
-public class GenericRuntimeWizardFragment extends WizardFragment {
-	protected GenericRuntimeComposite comp;
-	
-	/**
-	 * Create a new fragment.
-	 */
-	public GenericRuntimeWizardFragment() {
-		// do nothing
-	}
-
-	/**
-	 * @see WizardFragment#hasComposite()
-	 */
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/**
-	 * @see WizardFragment#createComposite(Composite, IWizardHandle)
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new GenericRuntimeComposite(parent, wizard);
-		return comp;
-	}
-
-	/**
-	 * @see WizardFragment#isComplete()
-	 */
-	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate(null);
-		return (status != null && status.isOK());
-	}
-
-	/**
-	 * @see WizardFragment#enter()
-	 */
-	public void enter() {
-		if (comp != null) {
-			IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-			comp.setRuntime(runtime);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java
deleted file mode 100644
index 7403446..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java
+++ /dev/null
@@ -1,124 +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.ui.internal;
-
-import java.net.URL;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-/**
- * Utility class to handle image resources.
- */
-public class ImageResource {
-	// the image registry
-	private static ImageRegistry imageRegistry;
-
-	// map of image descriptors since these
-	// will be lost by the image registry
-	private static Map imageDescriptors;
-
-	// map of IElement images
-	private static Map elementImages;
-
-	// base urls for images
-	private static URL ICON_BASE_URL;
-
-	static {
-		try {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = JavaServerUIPlugin.getInstance().getBundle().getEntry(pathSuffix);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not set icon base URL", e);
-		}
-	}
-
-	private static final String URL_WIZBAN = "wizban/";
-
-	protected static final String IMG_WIZ_RUNTIME_TYPE = "wiz_runtimeType";
-	public static final String IMG_WIZ_CACTUS_TEST = "wiz_cactus_test";
-
-	/**
-	 * Cannot construct an ImageResource. Use static methods only.
-	 */
-	private ImageResource() {
-		// do nothing
-	}
-
-	/**
-	 * Dispose of element images that were created.
-	 */
-	protected static void dispose() {
-		try {
-			Trace.trace(Trace.FINEST, "Disposing of element images");
-			Iterator iterator = elementImages.values().iterator();
-			while (iterator.hasNext()) {
-				Image image = (Image) iterator.next();
-				image.dispose();
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not dispose of images");
-		}
-	}
-	
-	/**
-	 * Return the image with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.swt.graphics.Image
-	 */
-	public static Image getImage(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return imageRegistry.get(key);
-	}
-	
-	/**
-	 * Return the image descriptor with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return (ImageDescriptor) imageDescriptors.get(key);
-	}
-
-	/**
-	 * Initialize the image resources.
-	 */
-	protected static void initializeImageRegistry() {
-		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap();
-	
-		registerImage(IMG_WIZ_RUNTIME_TYPE, URL_WIZBAN + "new_runtime_wiz.gif");
-		registerImage(IMG_WIZ_CACTUS_TEST, URL_WIZBAN + "new_test_wiz.gif");
-	}
-
-	/**
-	 * Register an image with the registry.
-	 *
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private static void registerImage(String key, String partialURL) {
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			imageRegistry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error registering image " + key + " from " + partialURL, e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java
deleted file mode 100644
index c74a5f9..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java
+++ /dev/null
@@ -1,80 +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.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * The main server tooling plugin class.
- */
-public class JavaServerUIPlugin extends AbstractUIPlugin {
-	/**
-	 * Java server UI plugin id
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.ui";
-
-	// singleton instance of this class
-	private static JavaServerUIPlugin singleton;
-
-	/**
-	 * Create the JavaServerUIPlugin.
-	 */
-	public JavaServerUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.jst.server.ui.JavaServerUIPlugin
-	 */
-	public static JavaServerUIPlugin getInstance() {
-		return singleton;
-	}
-	
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param t a throwable
-	 */
-	public static void log(Throwable t) {
-		getInstance().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "Internal error", t)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the active workbench shell
-	 * 
-	 * @return the active workbench shell
-	 */
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow workBenchWindow = getActiveWorkbenchWindow();
-		if (workBenchWindow == null)
-			return null;
-		return workBenchWindow.getShell();
-	}
-	
-	/**
-	 * Returns the active workbench window
-	 * 
-	 * @return the active workbench window
-	 */
-	protected static IWorkbenchWindow getActiveWorkbenchWindow() {
-		IWorkbench workBench= getInstance().getWorkbench();
-		if (workBench == null)
-			return null;
-		return workBench.getActiveWorkbenchWindow();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java
deleted file mode 100644
index dd13be8..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java
+++ /dev/null
@@ -1,44 +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.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String runtimeTypeTitle;
-	public static String runtimeTypeDescription;
-	public static String runtimeTypeName;
-	public static String runtimeTypeLocation;
-	public static String runtimeTypeSelectLocation;
-	public static String runtimeTypeJRE;
-	public static String browse;
-	public static String runtimeTypeInstalledJREs;
-	public static String runtimeTypeDefaultJRE;
-	public static String errorInternalCactus;
-
-	public static String LaunchTestAction_message_selectConfiguration;
-	public static String LaunchTestAction_message_selectDebugConfiguration;
-	public static String LaunchTestAction_message_selectRunConfiguration;
-
-	public static String NewServletTestCaseWizard_WindowTitle;
-	public static String NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary;
-	public static String NewServletTestCaseWizard_ErrorMessageMissingType;
-	public static String NewServletTestCaseWizard_ErrorMessageMissingLibrary;
-	public static String NewServletTestCaseWizard_ErrorTitleNew;
-	public static String NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed;
-	public static String NewServletTestCaseWizard_ErrorMessageSeeErrorLog;
-
-	static {
-		NLS.initializeMessages(JavaServerUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties
deleted file mode 100644
index 97930c9..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties
+++ /dev/null
@@ -1,34 +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
-###############################################################################
-
-runtimeTypeTitle=Generic J2EE Runtime
-runtimeTypeDescription=Define a generic J2EE runtime. Specify a directory containing jar files to compile against.
-runtimeTypeName=Na&me:
-runtimeTypeLocation=&Location:
-browse=B&rowse...
-runtimeTypeSelectLocation=Select the location of the runtime.
-runtimeTypeJRE=&JRE:
-runtimeTypeDefaultJRE=Workbench default JRE
-runtimeTypeInstalledJREs=In&stalled JREs...
-
-errorInternalCactus=Internal error while attempting to launch Cactus
-
-LaunchTestAction_message_selectConfiguration=Select a Test Configuration
-LaunchTestAction_message_selectDebugConfiguration=Select JUnit configuration to debug
-LaunchTestAction_message_selectRunConfiguration=Select JUnit configuration to run
-
-NewServletTestCaseWizard_WindowTitle=New JUnit Test Case
-NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary=Missing library
-NewServletTestCaseWizard_ErrorMessageMissingType=Missing type
-NewServletTestCaseWizard_ErrorMessageMissingLibrary=You are missing cactus dependencies in your web project. The following libraries are required: {0}, {1}, {2}, {3} and {4}. Other versions might work but have not necessarily been tested. All libraries can be downloaded at http://jakarta.apache.org/cactus/.
-NewServletTestCaseWizard_ErrorTitleNew=New
-NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed=Creation of element failed.
-NewServletTestCaseWizard_ErrorMessageSeeErrorLog=See error log for more details.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.java
deleted file mode 100644
index b263b01..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.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.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.
- */
-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);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.java
deleted file mode 100644
index 25d6791..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.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.ui.internal;
-/**
- * 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;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level a 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 a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!JavaServerUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(JavaServerUIPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
deleted file mode 100644
index c75e92a..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
+++ /dev/null
@@ -1,175 +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.ui.internal.cactus;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.server.core.internal.cactus.CactusLaunchable;
-import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin;
-import org.eclipse.jst.server.ui.internal.Messages;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.ClientDelegate;
-/**
- *
- */
-public class JUnitClientDelegate extends ClientDelegate {
-	public IStatus launch(IServer server, Object object, String launchMode, ILaunch launch) {
-		CactusLaunchable launchable = (CactusLaunchable) object;
-		ILaunchConfiguration config = findLaunchConfiguration(launchable, launchMode);
-		if (config == null) {
-			String testName = launchable.getTestName();
-			testName = "".equals(testName) ? launchable.getTestClassName()
-					: launchable.getTestClassName() + "." + testName + "()";
-			config = createConfiguration(launchable.getProjectName(), testName,
-					launchable.getTestClassName(), "", launchable.getTestName());
-		}
-		
-		URL url = launchable.getCactusURL();
-		String urlString = url.toString();
-		if (urlString.endsWith("/")) {
-			try {
-				url = new URL(urlString.substring(0, urlString.length() - 1));
-			} catch (MalformedURLException e) {
-				return new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.errorInternalCactus, e);
-			}
-		}
-		
-		try {
-			final ILaunchConfigurationWorkingCopy copy = config.getWorkingCopy();
-			String vmArgs;
-			vmArgs = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "");
-			copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-					vmArgs + " -Dcactus.contextURL=" + url.toString());
-			config = copy.doSave();
-			DebugUITools.launch(config, launchMode);
-		} catch (CoreException e) {
-			return new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.errorInternalCactus, e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	protected ILaunchConfiguration createConfiguration(String projectName,
-			String name, String mainType, String container, String testName) {
-		ILaunchConfiguration config = null;
-		try {
-			ILaunchConfigurationType configType = getJUnitLaunchConfigType();
-			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null,
-					DebugPlugin.getDefault().getLaunchManager()
-							.generateUniqueLaunchConfigurationNameFrom(name));
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, mainType);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName);
-			wc.setAttribute(JUnitBaseLaunchConfiguration.ATTR_KEEPRUNNING, false);
-			wc.setAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, container);
-			if (testName.length() > 0)
-				wc.setAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, testName);
-			config = wc.doSave();
-		} catch (CoreException e) {
-			JavaServerUIPlugin.log(e);
-		}
-		return config;
-	}
-
-	private ILaunchConfiguration findLaunchConfiguration(CactusLaunchable launchable, String mode) {
-		String testName = launchable.getTestName();
-		String testClass = launchable.getTestClassName();
-		String javaProjectName = launchable.getProjectName();
-		String container = "";
-		ILaunchConfigurationType configType = getJUnitLaunchConfigType();
-		List candidateConfigs = Collections.EMPTY_LIST;
-		try {
-			ILaunchConfiguration[] configs = DebugPlugin.getDefault()
-					.getLaunchManager().getLaunchConfigurations(configType);
-			candidateConfigs = new ArrayList(configs.length);
-			for (int i = 0; i < configs.length; i++) {
-				ILaunchConfiguration config = configs[i];
-				// TODO: we should probably extract the JUnit internal stuff and
-				// create a new CactusLaunchConfiguration
-				if ((config.getAttribute(
-						JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, "").equals(container)) && //$NON-NLS-1$
-						(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-								"").equals(testClass)) && //$NON-NLS-1$
-						(config.getAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, "").equals(testName)) && //$NON-NLS-1$
-						(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME,
-								"").equals(javaProjectName))) { //$NON-NLS-1$
-					candidateConfigs.add(config);
-				}
-			}
-		} catch (CoreException e) {
-			JavaServerUIPlugin.log(e);
-		}
-		
-		// If there are no existing configs associated with the IType, create one.
-		// If there is exactly one config associated with the IType, return it.
-		// Otherwise, if there is more than one config associated with the IType,
-		// prompt the
-		// user to choose one.
-		int candidateCount = candidateConfigs.size();
-		if (candidateCount < 1) {
-			return null;
-		} else if (candidateCount == 1) {
-			return (ILaunchConfiguration) candidateConfigs.get(0);
-		} else {
-			// Prompt the user to choose a config. A null result means the user
-			// cancelled the dialog, in which case this method returns null,
-			// since cancelling the dialog should also cancel launching anything.
-			ILaunchConfiguration config = chooseConfiguration(candidateConfigs,
-					mode);
-			if (config != null) {
-				return config;
-			}
-		}
-		return null;
-	}
-
-	protected ILaunchConfiguration chooseConfiguration(List configList, String mode) {
-		IDebugModelPresentation labelProvider = DebugUITools
-				.newDebugModelPresentation();
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(
-				JavaServerUIPlugin.getActiveWorkbenchShell(), labelProvider);
-		dialog.setElements(configList.toArray());
-		dialog.setTitle(Messages.LaunchTestAction_message_selectConfiguration);
-		if (mode.equals(ILaunchManager.DEBUG_MODE))
-			dialog.setMessage(Messages.LaunchTestAction_message_selectDebugConfiguration);
-		else
-			dialog.setMessage(Messages.LaunchTestAction_message_selectRunConfiguration);
-		
-		dialog.setMultipleSelection(false);
-		int result = dialog.open();
-		labelProvider.dispose();
-		if (result == Window.OK)
-			return (ILaunchConfiguration) dialog.getFirstResult();
-		
-		return null;
-	}
-
-	protected ILaunchConfigurationType getJUnitLaunchConfigType() {
-		// TODO: might want to replace this with a custom launch configuration
-		ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
-		return lm.getLaunchConfigurationType("org.eclipse.jdt.junit.launchconfig");
-	}
-
-	public boolean supports(IServer server, Object launchable, String launchMode) {
-		return launchable instanceof CactusLaunchable;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
deleted file mode 100644
index f7fd896..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
+++ /dev/null
@@ -1,208 +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.ui.internal.cactus;
-
-import java.io.StringWriter;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.junit.wizards.NewTestCaseWizardPageOne;
-import org.eclipse.jdt.junit.wizards.NewTestCaseWizardPageTwo;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.server.ui.internal.ImageResource;
-import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin;
-import org.eclipse.jst.server.ui.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-/**
- *
- */
-public class NewServletTestCaseWizard extends Wizard implements INewWizard {
-	private static final String SUPERCLASS_NAME = "org.apache.cactus.ServletTestCase"; //$NON-NLS-1$
-
-	protected static final String[] CLASSES_TO_CHECK = {
-		"org.apache.cactus.ServletTestCase", "junit.framework.TestCase",
-		"org.apache.commons.logging.Log", "org.aspectj.lang.JoinPoint",
-		"org.apache.commons.httpclient.HttpClient" };
-
-	protected static final String[] REQUIRED_LIBRARIES = {
-		"cactus-1.7.jar", "junit-3.8.1.jar", "aspectjrt-1.2.1.jar",
-		"commons-logging-1.0.4.jar", "commons-httpclient-2.0.2.jar" };
-
-	private IWorkbench fWorkbench;
-	private IStructuredSelection fSelection;
-	private NewTestCaseWizardPageTwo fPage2;
-	private NewTestCaseWizardPageOne fPage1;
-	
-	public NewServletTestCaseWizard() {
-		super();
-		setWindowTitle(Messages.NewServletTestCaseWizard_WindowTitle);
-		setDefaultPageImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZ_CACTUS_TEST));
-	}
-
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		fWorkbench = workbench;
-		fSelection = selection;
-	}
-
-	public void addPages() {
-		super.addPages();
-		fPage2 = new NewTestCaseWizardPageTwo();
-		fPage1 = new NewTestCaseWizardPageOne(fPage2) {
-			public void createControl(Composite parent) {
-				super.createControl(parent);
-				setSuperClass(SUPERCLASS_NAME, true);
-			}
-
-			protected IStatus validateIfJUnitProject() {
-				IPackageFragmentRoot root = getPackageFragmentRoot();
-				if (root == null)
-					return Status.OK_STATUS;
-
-				IJavaProject project = root.getJavaProject();
-				try {
-					for (int i = 0; i < CLASSES_TO_CHECK.length; i++) {
-						IType type = project.findType(CLASSES_TO_CHECK[i]);
-						if (type == null) {
-							MessageDialog.openError(getShell(),
-									Messages.NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary,
-									NLS.bind(Messages.NewServletTestCaseWizard_ErrorMessageMissingLibrary, REQUIRED_LIBRARIES));
-							return Status.OK_STATUS;
-						}
-					}
-				} catch (JavaModelException e) {
-					JavaServerUIPlugin.log(e);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		addPage(fPage1);
-		fPage1.init(getSelection());
-		addPage(fPage2);
-
-	}
-
-	private IStructuredSelection getSelection() {
-		return fSelection;
-	}
-
-	public boolean performFinish() {
-		if (finishPage(fPage1.getRunnable())) {
-			IType newClass = fPage1.getCreatedType();
-
-			IResource resource = newClass.getCompilationUnit().getResource();
-			if (resource != null) {
-				BasicNewResourceWizard.selectAndReveal(resource, fWorkbench
-						.getActiveWorkbenchWindow());
-				openResource(resource);
-				// checkLibraryMissing();
-			}
-			return true;
-		}
-		return false;
-	}
-
-	/*private void checkLibraryMissing() {
-		IType newClass = fPage1.getCreatedType();
-		IJavaProject project = newClass.getJavaProject();
-		try {
-			IType type = project.findType(SUPERCLASS_NAME);
-			MessageDialog.openError(getShell(), NLS.bind(
-					Messages.NewServletTestCaseWizard_ErrorMessageMissingLibrary, REQUIRED_LIBRARIES),
-					Messages.NewServletTestCaseWizard_ErrorMessageMissingType);
-		} catch (JavaModelException e) {
-			JavaServerUIPlugin.log(e);
-		}
-	}*/
-
-	protected boolean finishPage(IRunnableWithProgress runnable) {
-		IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(runnable);
-		try {
-			PlatformUI.getWorkbench().getProgressService().runInUI(getContainer(), op,
-					ResourcesPlugin.getWorkspace().getRoot());
-		} catch (InvocationTargetException e) {
-			String title = Messages.NewServletTestCaseWizard_ErrorTitleNew; // NewJUnitWizard_op_error_title
-			String message = Messages.NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed; // NewJUnitWizard_op_error_message
-			// ExceptionHandler.handle(e, shell, title, message);
-			displayMessageDialog(e, e.getMessage(), getShell(), title, message);
-			return false;
-		} catch (InterruptedException e) {
-			return false;
-		}
-		return true;
-	}
-
-	public static void displayMessageDialog(Throwable t, String exceptionMessage,
-			Shell shell, String title, String message) {
-		StringWriter msg = new StringWriter();
-		if (message != null) {
-			msg.write(message);
-			msg.write("\n\n"); //$NON-NLS-1$
-		}
-		if (exceptionMessage == null || exceptionMessage.length() == 0)
-			msg.write(Messages.NewServletTestCaseWizard_ErrorMessageSeeErrorLog);
-		else
-			msg.write(exceptionMessage);
-		MessageDialog.openError(shell, title, msg.toString());
-	}
-
-	protected void openResource(final IResource resource) {
-		if (resource.getType() == IResource.FILE) {
-			final IWorkbenchPage activePage = getActivePage();
-			if (activePage != null) {
-				final Display display = Display.getDefault();
-				if (display != null) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							try {
-								IDE.openEditor(activePage, (IFile) resource, true);
-							} catch (PartInitException e) {
-								JavaServerUIPlugin.log(e);
-							}
-						}
-					});
-				}
-			}
-		}
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow activeWorkbenchWindow = getActiveWorkbenchWindow();
-		if (activeWorkbenchWindow == null)
-			return null;
-		return activeWorkbenchWindow.getActivePage();
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		IWorkbench workbench = JavaServerUIPlugin.getInstance().getWorkbench();
-		if (workbench != null)
-			return workbench.getActiveWorkbenchWindow();
-		
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.classpath b/plugins/org.eclipse.jst.server.websphere.core/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.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.websphere.core/.cvsignore b/plugins/org.eclipse.jst.server.websphere.core/.cvsignore
deleted file mode 100644
index 1145446..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-*.xml
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.project b/plugins/org.eclipse.jst.server.websphere.core/.project
deleted file mode 100644
index 83cf217..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.websphere.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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF
deleted file mode 100644
index e25e1d3..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: WebSphere Generic Server Definition Core Plug-in
-Bundle-SymbolicName: org.eclipse.jst.server.websphere.core; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: webspherecore.jar
-Bundle-Activator: org.eclipse.jst.server.websphere.core.CorePlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.debug.core,
- org.eclipse.jdt.core,
- org.eclipse.jdt.launching,
- org.eclipse.wst.server.core,
- org.eclipse.jst.server.core,
- org.eclipse.jst.j2ee,
- org.eclipse.jst.j2ee.core,
- org.eclipse.jst.j2ee.web,
- org.eclipse.jst.server.generic.core,
- org.eclipse.jst.server.generic.ui,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.wst.common.modulecore,
- org.eclipse.core.runtime,
- org.eclipse.core.resources
-Eclipse-AutoStart: true
-Export-Package: org.eclipse.jst.server.websphere.core
diff --git a/plugins/org.eclipse.jst.server.websphere.core/build.properties b/plugins/org.eclipse.jst.server.websphere.core/build.properties
deleted file mode 100644
index d77c018..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = plugin.xml,\
-               serverdef/,\
-               META-INF/,\
-               about.html,\
-               webspherecore.jar,\
-               icons/,\
-               plugin.properties
-jars.compile.order = webspherecore.jar
-source.webspherecore.jar = src/
-output.webspherecore.jar = bin/
diff --git a/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif b/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif
deleted file mode 100644
index 8935c97..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.websphere.core/plugin.properties b/plugins/org.eclipse.jst.server.websphere.core/plugin.properties
deleted file mode 100644
index e514f85..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/plugin.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-pluginName= WebSphere Generic Server Definition Core Plug-in
-providerName=Eclipse.org
-pluginDescription=Provides server definiton for IBM WebSphere application server
-
-# ============ websphere ====================
-websphere.6.runtime.name=Generic IBM WebSphere 6.0.x
-websphere.6.runtime.description=IBM WebSphere 6.0.x runtime
-websphere.6.server.name=Generic IBM WebSphere 6.0.x
-websphere.6.server.description=IBM WebSphere 6.0.x server
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.websphere.core/plugin.xml b/plugins/org.eclipse.jst.server.websphere.core/plugin.xml
deleted file mode 100644
index 51486f3..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/plugin.xml
+++ /dev/null
@@ -1,88 +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.generic.runtime.websphere.6"
-       name="%websphere.6.runtime.name"
-       description="%websphere.6.runtime.description"
-       vendor="Generic"
-       version="6"
-       class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime"
-       >
-      <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3, 1.4"/>
-      <moduleType
-         types="j2ee.ejb"
-         versions="1.2, 1.3, 1.4"/>
-      <moduleType
-         types="j2ee.ear"
-         versions="1.2, 1.3, 1.4"/>
-    </runtimeType>
-  </extension>
-
-   <extension point="org.eclipse.wst.server.core.serverTypes">
-
-     <serverType
-           runtime="true"
-           class="org.eclipse.jst.server.generic.core.internal.GenericServer"
-           id="org.eclipse.jst.servers.websphere.6"
-           initialState="stopped"
-		   startTimeout="300000"
-           stopTimeout="15000"
-           supportsRemoteHosts="false"
-           runtimeTypeId="org.eclipse.jst.server.generic.runtime.websphere.6"
-           description="%websphere.6.server.description"
-           launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
-           behaviourClass="org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"
-           name="%websphere.6.server.name"
-           hasConfiguration="false"
-           launchModes="run,debug">
-     </serverType>
-     
-     
-	</extension>
-
-<!-- UI Components-->
-    <extension
-       point="org.eclipse.wst.server.ui.wizardFragments">
-
-     <fragment
-        id="org.eclipse.jst.server.generic.runtime"
-        typeIds="org.eclipse.jst.server.generic.runtime.websphere.6"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"/>           
-     <fragment
-        id="org.eclipse.jst.server.generic.server"
-        typeIds="org.eclipse.jst.servers.websphere.6"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"/>   
-        
-  </extension>
-  
-  <extension point="org.eclipse.wst.server.ui.serverImages">
-         
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/websphere.gif"
-         typeIds="org.eclipse.jst.servers.websphere.6" />
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/websphere.gif"
-         typeIds="org.eclipse.jst.server.generic.runtime.websphere.6"/>
-
-	</extension>
-  
-<!-- Server type definitions -->
-   <extension point="org.eclipse.jst.server.generic.core.serverdefinition">
-		<serverdefinition id="org.eclipse.jst.server.generic.runtime.websphere.6" definitionfile="/serverdef/websphere.6.serverdef">
-		</serverdefinition>
-   </extension>
-
-   <extension point="org.eclipse.jst.server.generic.core.genericpublisher">
-      <genericpublisher
-            class="org.eclipse.jst.server.websphere.core.AntPublisher"
-            id="org.eclipse.jst.server.generic.websphere.antpublisher"/>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml b/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml
deleted file mode 100644
index 7017a4e..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<project name="deployextension"  default="deploy.j2ee.web"  basedir=".">
-
-	<property name="was.home" value="${wasHome}"/>
-
-	
-	<path id="toolpath">
-		<fileset dir="${was.home}/lib">
-			<include name="*.jar" />
-		</fileset>
-		<pathelement path="${was.home}/lib/properties" />
-		<pathelement path="${was.home}/optionalLibraries/jython.jar" />
-	</path>
-
-
-
-
-	<taskdef classpathref="toolpath" name="wsadmin" classname="com.ibm.websphere.ant.tasks.WsAdmin" />
-	<taskdef classpathref="toolpath" name="wsejbdeploy" classname="com.ibm.websphere.ant.tasks.WsEjbDeploy" />	
-
-	<target name="deploy.j2ee.web">
-		<jar destfile="${module.name}.war"> 
-			<zipfileset dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-			</zipfileset>
-		</jar>
-		<wsadmin  
-			washome="${was.home}" 	
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp uninstall ${module.name}" 
-			failonerror="false">
-		</wsadmin>
-
-	    <wsadmin  
-			washome="${was.home}" 				
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp install ${module.name}.war {-appname ${module.name} -contextroot  ${module.name} -usedefaultbindings}" 
-			failonerror="true">
-		</wsadmin>
-	    <wsadmin  
-		  washome="${was.home}" 
-		  properties="${wasProfile}/properties/wsadmin.properties" 
-		  command="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,*] startApplication ${module.name}" 
-		  failonerror="true">
-	    </wsadmin>			
-	</target>
-	
-	<target name="deploy.j2ee.ejb">
-		<jar destfile="${module.name}.jar"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-		<wsejbdeploy 
-				
-				inputJar="${module.name}.jar" 
-				wasHome="${was.home}" 
-				washome="${was.home}" 
-				classpathref="toolpath"
-				outputJar="${module.name}-was.jar" 
-				codegen="true " 
-				keepGenerated="true" 
-				quiet="false" 
-				noValidate="true" 
-				noWarnings="false" 
-				noInform="false" 
-				compatible35="false" 
-				failonerror="true" 
-				trace="true" 
-				
-				jvmMaxMemory="256M" />
-	
-			<wsadmin  
-				washome="${was.home}" 
-				
-				properties="${wasProfile}/properties/wsadmin.properties" 
-				command="$AdminApp uninstall ${module.name}" 
-				failonerror="false">
-			</wsadmin>
-
-		    <wsadmin  
-				washome="${was.home}" 				
-				properties="${wasProfile}/properties/wsadmin.properties" 
-				command="$AdminApp install ${module.name}.jar {-appname ${module.name} -usedefaultbindings}" 
-				failonerror="true">
-			</wsadmin>
-		    <wsadmin  
-			  washome="${was.home}" 
-			  properties="${wasProfile}/properties/wsadmin.properties" 
-			  command="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,*] startApplication ${module.name}" 
-			  failonerror="true">
-		    </wsadmin>	
-	</target>
-	
-	
-	
-	<target name="undeploy.j2ee.web">
-		<wsadmin  
-			washome="${was.home}" 
-			
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp uninstall ${module.name}" 
-			failonerror="false">
-		</wsadmin>
-	</target>
-	<target name="undeploy.j2ee.ejb">
-		<wsadmin  
-			washome="${was.home}" 
-			
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp uninstall ${module.name}" 
-			failonerror="false">
-		</wsadmin>
-	</target>	
-
-
-</project>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef b/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef
deleted file mode 100644
index 414186a..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="IBM WebSphere 6" version="v6.0">
-	<property id="wasHome"
-		label="IBM WebSphere Installation Directory:"
-		type="directory"
-		context="runtime"
-		default="/your_server_root/was-6.0" />
-
-	<property id="port"
-		label="Port:"
-		type="string"
-		context="server"
-		default="9080" />
-
-	<property id="wasProfile"
-		label="Server Profile Directory:"
-		type="directory"
-		context="server"
-		default="/your_server_root/was-6.0/profiles/default" />
-
-	<property id="wasCell"
-		label="Cell:"
-		type="string"
-		context="server"
-		default="PEPENode01Cell" />
-
-	<property id="wasNode"
-		label="Node:"
-		type="string"
-		context="server"
-		default="PEPENode01" />
-	<property id="wasServer"
-		label="Server:"
-		type="string"
-		context="server"
-		default="server1" />
-
-	<port>
-		<no>${port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-
-	<module>
-		<type>j2ee.web</type>
-		<publishDir>${wasHome}</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.websphere.antpublisher</publisherReference>
-	</module>
-
-	<module>
-		<type>j2ee.ejb</type>
-		<publishDir>${wasHome}</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.websphere.antpublisher</publisherReference>
-	</module>
-
-
-	<project>
-		<classpathReference>was.project</classpathReference>
-	</project>
-	
-	<start>
-		<mainClass>com.ibm.ws.bootstrap.WSLauncher</mainClass>
-		<workingDirectory>${wasProfile}</workingDirectory>
-		<programArguments>com.ibm.ws.runtime.WsServer "${wasProfile}/config" "${wasCell}" "${wasNode}" "${wasServer}"</programArguments>
-		<vmParameters>"-Duser.install.root=${wasProfile}"  "-Dserver.root=${wasProfile}"  "-Dwas.install.root=${wasHome}" "-Dws.ext.dirs=${wasHome}/java/lib;${wasHome}/classes;${wasHome}/lib;${wasHome}/installedChannels;${wasHome}/lib/ext;${wasHome}/web/help;${wasHome}/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime"  "-Xbootclasspath/p:${wasHome}/java/jre/lib/ext/ibmorb.jar;${wasHome}/java/jre/lib/ext/ibmext.jar" -Xms50m -Xmx256m "-Dcom.ibm.CORBA.ConfigURL=file:${wasProfile}/properties/sas.client.props" "-Dcom.ibm.SOAP.ConfigURL=file:${wasProfile}/properties/soap.client.props"   "-Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager" "-Djava.util.logging.configureByServer=true" "-Dibm.websphere.preload.classes=true"  "-Djava.library.path=${wasHome}/java/bin;${wasHome}/bin;${wasHome}/java/bin;${wasHome}/java/jre/bin"</vmParameters>
-		<classpathReference>was</classpathReference>
-	</start>
-
-	<stop>
-		<mainClass>com.ibm.ws.bootstrap.WSLauncher</mainClass>
-		<workingDirectory>${wasHome}</workingDirectory>
-		<programArguments>com.ibm.ws.management.tools.WsServerStop ${wasProfile}/config ${wasCell} ${wasNode} ${wasServer}</programArguments>
-		<vmParameters>-Duser.install.root=${wasProfile}  -Dserver.root=${wasProfile}  -Dwas.install.root=${wasHome} -Dws.ext.dirs=${wasHome}/java/lib;${wasHome}/classes;${wasHome}/lib;${wasHome}/installedChannels;${wasHome}/lib/ext;${wasHome}/web/help;${wasHome}/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime  -Djava.library.path=${wasHome}/java/bin;.;C:/WINDOWS/System32;C:/WINDOWS;${wasHome}/bin;${wasHome}/java/bin;${wasHome}/java/jre/bin -Xbootclasspath/p:${wasHome}/java/jre/lib/ext/ibmorb.jar;${wasHome}/java/jre/lib/ext/ibmext.jar -Xms50m -Xmx256m -Dcom.ibm.CORBA.ConfigURL=file:${wasProfile}/properties/sas.client.props -Dcom.ibm.SOAP.ConfigURL=file:${wasProfile}/properties/soap.client.props   -Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager -Djava.util.logging.configureByServer=true -Dibm.websphere.preload.classes=true  -Djava.library.path=${wasHome}/java/bin;${wasHome}/bin;${wasHome}/java/bin;${wasHome}/java/jre/bin</vmParameters>
-		<classpathReference>was</classpathReference>
-	</stop>
-	
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/serverdef/scripts/websphere.6.x.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.web</dataname>
-			<datavalue>undeploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.ejb</dataname>
-			<datavalue>undeploy.j2ee.ejb</datavalue>
-		</publisherdata>			
-	</publisher>
-
-	<classpath id="was" >
-	    <archive path="${wasHome}/properties" />
-	    <archive path="${wasHome}/lib/bootstrap.jar" />
-        <archive path="${wasHome}/lib/j2ee.jar" />
-        <archive path="${wasHome}/lib/lmproxy.jar" />
-        <archive path="${wasHome}/lib/urlprotocols.jar" />
-	</classpath>
-
-	<classpath id="was.project">
-		<archive path="${wasHome}/lib/j2ee.jar" />
-	</classpath>
-	<jndiConnection>
-		<providerUrl>iiop://${serverAddress}:2001</providerUrl>
-		<initialContextFactory>org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/AntPublisher.java b/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/AntPublisher.java
deleted file mode 100644
index 52f1bc2..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/AntPublisher.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.jst.server.websphere.core;
-
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-
-public class AntPublisher extends org.eclipse.jst.server.generic.core.internal.AntPublisher {
-	public static final String PUBLISHER_ID="org.eclipse.jst.server.generic.websphere.antpublisher"; //$NON-NLS-1$
-
-	protected void setupAntLaunchConfiguration(ILaunchConfigurationWorkingCopy wc) {
-		String wasProfile = (String)this.getServerRuntime().getServerInstanceProperties().get("wasProfile");
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,"-Duser.install.root="+wasProfile);
-
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java b/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java
deleted file mode 100644
index ad61369..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.jst.server.websphere.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Plugin;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class CorePlugin extends Plugin {
-	//The shared instance.
-	private static CorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public CorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	
-	/**
-	 * Returns the shared instance.
-	 */
-	public static CorePlugin 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 = CorePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.websphere.core.CorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.classpath b/plugins/org.eclipse.wst.internet.monitor.core/.classpath
deleted file mode 100644
index 1d974a9..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="monitorcore/"/>
-	<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.wst.internet.monitor.core/.cvsignore b/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
deleted file mode 100644
index fb40601..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-monitorcore.jar
-build.xml
-temp.folder
-org.eclipse.wst.internet.monitor.core_3.0.0.jar
-@dot
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.options b/plugins/org.eclipse.wst.internet.monitor.core/.options
deleted file mode 100644
index 47070ee..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.options
+++ /dev/null
@@ -1,6 +0,0 @@
-# Debugging options for the org.eclipse.wst.internet.monitor.core plugin
-
-# Turn on general debugging
-org.eclipse.wst.internet.monitor.core/debug=true
-
-org.eclipse.wst.internet.monitor.core/parsing=false
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.project b/plugins/org.eclipse.wst.internet.monitor.core/.project
deleted file mode 100644
index 93b239c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.internet.monitor.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.wst.internet.monitor.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 971449c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.internet.monitor.core; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.internet.monitor.core.internal;x-friends:="org.eclipse.wst.internet.monitor.ui",
- org.eclipse.wst.internet.monitor.core.internal.http;x-friends:="org.eclipse.wst.internet.monitor.ui",
- org.eclipse.wst.internet.monitor.core.internal.provisional
-Require-Bundle: org.eclipse.core.runtime
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/about.html b/plugins/org.eclipse.wst.internet.monitor.core/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/build.properties b/plugins/org.eclipse.wst.internet.monitor.core/build.properties
deleted file mode 100644
index d90572c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/build.properties
+++ /dev/null
@@ -1,24 +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,\
-               .options,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/,\
-               component.xml,\
-               about.html
-source.. = monitorcore/
-output.. = bin/
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/component.xml b/plugins/org.eclipse.wst.internet.monitor.core/component.xml
deleted file mode 100644
index 6e7f380..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.internet">
-  <component-depends unrestricted="true"/>
-  <plugin id="org.eclipse.wst.internet.monitor.core" fragment="false"/>
-  <plugin id="org.eclipse.wst.internet.monitor.ui" fragment="false"/>
-  <plugin id="org.eclipse.wst.internet.proxy" fragment="false"/>
-  <plugin id="org.eclipse.wst.internet.webbrowser" fragment="false"/>
-  <plugin id="org.eclipse.wst.internet.cache" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
deleted file mode 100644
index c1a9698..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.InterruptedIOException;
-import java.net.*;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * The actual TCP/IP monitoring server. This is a thread that
- * listens on a port and relays a call to another server.
- */
-public class AcceptThread {
-	protected IMonitor monitor;
-
-	protected boolean alive = true;
-	protected ServerSocket serverSocket;
-	
-	protected Thread thread;
-	
-	class ServerThread extends Thread {
-		/**
-		 * ServerThread accepts incoming connections and delegates to the protocol
-		 * adapter to deal with the connection.
-		 */
-		public void run() {
-			// create a new server socket
-			try {
-				serverSocket = new ServerSocket(monitor.getLocalPort());
-				serverSocket.setSoTimeout(2000);
-				Trace.trace(Trace.FINEST, "Monitoring localhost:" + monitor.getLocalPort() + " -> " + monitor.getRemoteHost()
-						+ ":" + monitor.getRemotePort());
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not start monitoring");
-				return;
-			}
-
-			while (alive) {
-				try {
-					// accept the connection from the client
-					Socket localSocket = serverSocket.accept();
-					
-					// connect to the remote server
-					Socket remoteSocket = new Socket(monitor.getRemoteHost(), monitor.getRemotePort());
-
-					// relay the call through
-					String protocolId = monitor.getProtocol();
-					ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
-					adapter.connect(monitor, localSocket, remoteSocket);
-				} catch (InterruptedIOException e) {
-					// do nothing
-				} catch (Exception e) {
-					if (alive)
-						Trace.trace(Trace.SEVERE, "Error while monitoring", e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * AcceptThread constructor.
-	 * 
-	 * @param monitor a monitor
-	 */
-	public AcceptThread(IMonitor monitor) {
-		super();
-		this.monitor = monitor;
-	}
-	
-	/**
-	 * Start the server.
-	 */
-	public void startServer() {
-		if (thread != null)
-			return;
-		thread = new ServerThread();
-		thread.setDaemon(true);
-		thread.setPriority(Thread.NORM_PRIORITY + 1);
-		thread.start();
-		
-		Thread.yield();
-		
-		// wait up to 2 seconds for initialization
-		int i = 0;
-		while (serverSocket == null && i < 10) {
-			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
-			}
-			i++;
-		}
-	}
-
-	/**
-	 * Returns <code>true</code> if the server is running.
-	 * 
-	 * @return <code>true</code> if the server is running, and <code>false</code>
-	 *    otherwise
-	 */
-	public boolean isRunning() {
-		return (thread != null);
-	}
-
-	/**
-	 * Correctly close the server socket and shut down the server.
-	 */
-	public void stopServer() {
-		try {
-			alive = false;
-			thread = null;
-			
-			String protocolId = monitor.getProtocol();
-		   ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
-			adapter.disconnect(monitor);
-			if (serverSocket != null)
-				serverSocket.close();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping server", e);
-		}
-	}
-	
-	/**
-	 * Returns true if this port is in use.
-	 *
-	 * @return boolean
-	 * @param port int
-	 */
-	public static boolean isPortInUse(int port) {
-		ServerSocket s = null;
-		try {
-			s = new ServerSocket(port);
-		} catch (SocketException e) {
-			return true;
-		} catch (Exception e) {
-			return true;
-		} finally {
-			if (s != null) {
-				try {
-					s.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
deleted file mode 100644
index f1af138..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.net.Socket;
-/**
- * 
- */
-public class Connection {
-	protected Socket in;
-	protected Socket out;
-	
-	/**
-	 * Creates a new connection.
-	 * 
-	 * @param in inbound socket
-	 * @param out outbound socket
-	 */
-	public Connection(Socket in, Socket out) {
-		this.in = in;
-		this.out = out;
-	}
-
-	/**
-	 * Close the connection.
-	 */
-	public void close() {
-		Trace.trace(Trace.FINEST, "Closing connection");
-		try {
-			in.getOutputStream().flush();
-			in.shutdownInput();
-			in.shutdownOutput();
-			
-			out.getOutputStream().flush();
-			out.shutdownInput();
-			out.shutdownOutput();
-			Trace.trace(Trace.FINEST, "Connection closed");
-		} catch (Exception ex) {
-			Trace.trace(Trace.WARNING, "Error closing connection " + this + " " + ex.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
deleted file mode 100644
index c9451fe..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * 
- */
-public class ContentFilter implements IContentFilter {
-	protected IConfigurationElement element;
-	protected ContentFilterDelegate delegate;
-	
-	protected ContentFilter(IConfigurationElement element) {
-		this.element = element;
-	}
-
-	/**
-	 * Return the id.
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the relative order for this filter.
-	 * 
-	 * @return the order
-	 */ 
-	public int getOrder() {
-		try {
-			return Integer.parseInt(element.getAttribute("order"));
-		} catch (Exception e) {
-			return 0;
-		}
-	}
-
-	/**
-	 * Returns the name.
-	 * 
-	 * @return the name
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	/**
-	 * Do the filtering.
-	 * 
-	 * @param request the request
-	 * @param isRequest true if request, false if response
-	 * @param content the content
-	 * @return the filtered content
-	 * @throws IOException if there is a connection issue
-	 */
-	public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException {
-		if (delegate == null) {
-			try {
-				delegate = (ContentFilterDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create content filter delegate: " + getId(), e);
-				return new byte[0];
-			}
-		}
-		return delegate.filter(request, isRequest, content);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
deleted file mode 100644
index bc8db6c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
+++ /dev/null
@@ -1,67 +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.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * A content filter that filters specific contents from the monitor traffic
- * of a request. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @since 1.0
- */
-public interface IContentFilter {
-	/**
-	 * Returns the id of this filter.
-	 * Each filter has a distinct, fixed id. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * 
-	 * @return the element id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable (translated) name for this filter.
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-
-	/**
-	 * Returns the relative order of this filter.
-	 * Each filter has a relative order that allows them to be applied in the correct
-	 * order relative to each other. Lower orders are processed first.
-	 *
-	 * @return the relative order
-	 * 
-	 * [issue: CS - The schema (contentFilterns.exsd) defines an 'order' attribute.  
-	 * The comments above suggest that filters should be designed to be composable.  Is this correct?  
-	 * It would be good to make this optional if the user had no idea how his filter should be ordered.
-	 * I've found that sometimes 'low', 'medium', 'high' are adequate to handle ordering issues and are 
-	 * easier for the extension writer deal with and get a sense of the proper value to assign. ]
-	 */
-	//public int getOrder();
-
-	/**
-	 * Filter the given content from the given request. The content that has been filtered out will 
-	 * not be shown to clients of the TCP/IP monitor.
-	 * 
-	 * @param request the request that the filter will be performed on
-	 * @param isRequest set to true if the content filter applies to request monitor traffic,
-	 *    or set to false if the content filter applies to the response monitor traffic
-	 * @param content the message content to be filtered out
-	 * @return the filtered content
-	 * @throws IOException if there is an error while parsing or filtering the content
-	 */
-	public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java
deleted file mode 100644
index 3a04ab9..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/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.wst.internet.monitor.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);
-	
-	/**
-	 * Returns a list of all the names in this memento.
-	 * 
-	 * @return a list of names
-	 */
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
deleted file mode 100644
index 4403f1c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
+++ /dev/null
@@ -1,57 +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.wst.internet.monitor.core.internal;
-/**
- * A protocol adapter enables a monitor to support a particular network
- * protocol used to communicate between a client and server. All supported
- * protocols will be based on TCP/IP.
- * <p>
- * Protocol adapters are registered via the <code>protocolAdapaters</code>
- * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
- * plug-in. The global list of known protocol adapters is available via
- * {@link MonitorPlugin#getProtocolAdapters()}. Standard protocol
- * adapters for {@linkplain #HTTP_PROTOCOL_ID HTTP} and
- * {@linkplain #TCPIP_PROTOCOL_ID TCP/IP} are built-in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @since 1.0
- */
-public interface IProtocolAdapter {
-	/**
-	 * Protocol adapter id (value {@value}) for TCP/IP.
-	 * The TCP/IP protocol adapter is standard.
-	 */
-	public static String TCPIP_PROTOCOL_ID = "TCP/IP";
-
-	/**
-	 * Protocol adapter id (value {@value}) for HTTP.
-	 * The HTTP protocol adapter is standard.
-	 */
-	public static String HTTP_PROTOCOL_ID = "HTTP";
-
-	/**
-	 * Returns the id of this adapter.
-	 * Each adapter has a distinct, fixed id. Ids are intended to be used
-	 * internally as keys; they are not intended to be shown to end users.
-	 * 
-	 * @return the element id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable (translated) name for this adapter.
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java
deleted file mode 100644
index 475b5e1..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.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.wst.internet.monitor.core.internal;
-/**
- * An interface for the startup extension point.
- * Plug-ins that register a startup extension will be activated when the monitor
- * core plug-in initializes and have an opportunity to run code that can't be
- * implemented using the normal contribution mechanisms.
- * 
- * @since 1.0
- */
-public interface IStartup {
-	/**
-	 * Will be called on monitor core startup.
-	 */
-	public void startup();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java
deleted file mode 100644
index 0374f5c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.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.wst.internet.monitor.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String errorInvalidLocalPort;
-	public static String errorInvalidRemotePort;
-	public static String errorInvalidRemoteHost;
-	public static String monitorValid;
-	public static String errorPortInUse;
-
-	static {
-		NLS.initializeMessages(MonitorPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties
deleted file mode 100644
index e5152d4..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties
+++ /dev/null
@@ -1,18 +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
-###############################################################################
-
-# --------------- Errors ---------------
-errorPortInUse=The TCP/IP monitor could not start because port {0} is in use.
-errorInvalidLocalPort=The local port number is invalid.
-errorInvalidRemotePort=The remote port number is invalid.
-errorInvalidRemoteHost=The remote host name is invalid.
-
-monitorValid=The monitor is valid.
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
deleted file mode 100644
index 4cca7aa..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.*;
-/**
- * 
- */
-public class Monitor implements IMonitor {
-	private static final String MEMENTO_ID = "id";
-	private static final String MEMENTO_LOCAL_PORT = "local-port";
-	private static final String MEMENTO_REMOTE_HOST = "remote-host";
-	private static final String MEMENTO_REMOTE_PORT = "remote-port";
-	private static final String MEMENTO_TYPE_ID = "type-id";
-	
-	private static final int ADD = 0;
-	private static final int CHANGE = 1;
-
-	protected String id;
-	protected String remoteHost;
-	protected int remotePort = 80;
-	protected int localPort = 80;
-	protected String protocolId;
-	
-	protected List requestListeners = new ArrayList(2);
-
-	/**
-	 * Create a new monitor.
-	 */
-	public Monitor() {
-		protocolId = MonitorPlugin.getInstance().getDefaultType();
-	}
-	
-	/** (non-Javadoc)
-	 * @see IMonitor#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getRemoteHost()
-	 */
-	public String getRemoteHost() {
-		return remoteHost;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getRemotePort()
-	 */
-	public int getRemotePort() {
-		return remotePort;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getLocalPort()
-	 */
-	public int getLocalPort() {
-		return localPort;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getProtocol()
-	 */
-	public String getProtocol() {
-		return protocolId;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#isRunning()
-	 */
-	public boolean isRunning() {
-		if (isWorkingCopy())
-			return false;
-		return MonitorManager.getInstance().isRunning(this);
-	}
-	
-	/**
-	 * @see IMonitor#delete()
-	 */
-	public void delete() {
-		if (isWorkingCopy())
-			return;
-		MonitorManager.getInstance().removeMonitor(this);
-	}
-
-	/**
-	 * @see IMonitor#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-	/**
-	 * @see IMonitor#createWorkingCopy()
-	 */
-	public IMonitorWorkingCopy createWorkingCopy() {
-		return new MonitorWorkingCopy(this);
-	}
-	
-	protected void setInternal(IMonitor monitor) {
-		id = monitor.getId();
-		remoteHost = monitor.getRemoteHost();
-		remotePort = monitor.getRemotePort();
-		localPort = monitor.getLocalPort();
-		protocolId = monitor.getProtocol();
-	}
-	
-	protected void save(IMemento memento) {
-		memento.putString(MEMENTO_ID, id);
-		memento.putString(MEMENTO_TYPE_ID, protocolId);
-		memento.putInteger(MEMENTO_LOCAL_PORT, localPort);
-		memento.putString(MEMENTO_REMOTE_HOST, remoteHost);
-		memento.putInteger(MEMENTO_REMOTE_PORT, remotePort);
-	}
-
-	protected void load(IMemento memento) {
-		id = memento.getString(MEMENTO_ID);
-		protocolId = memento.getString(MEMENTO_TYPE_ID);
-		Integer temp = memento.getInteger(MEMENTO_LOCAL_PORT);
-		if (temp != null)
-			localPort = temp.intValue();
-		remoteHost = memento.getString(MEMENTO_REMOTE_HOST);
-		temp = memento.getInteger(MEMENTO_REMOTE_PORT);
-		if (temp != null)
-			remotePort = temp.intValue();
-	}
-	
-	/**
-	 * @see IMonitor#start()
-	 */
-	public synchronized void start() throws CoreException {
-		if (isRunning())
-			return;
-		if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
-			throw new IllegalArgumentException();
-		
-		IStatus status = validate();
-		if (!status.isOK())
-			throw new CoreException(status);
-		
-		MonitorManager.getInstance().startMonitor(this);
-	}
-	
-	/**
-	 * @see IMonitor#start()
-	 */
-	public synchronized void stop() {
-		if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
-			throw new IllegalArgumentException();
-		if (!isRunning())
-			return;
-		MonitorManager.getInstance().stopMonitor(this);
-	}
-	
-	/**
-	 * @see IMonitor#addRequestListener(IRequestListener)
-	 */
-	public synchronized void addRequestListener(IRequestListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		if (!requestListeners.contains(listener))
-			requestListeners.add(listener);
-	}
-	
-	/**
-	 * @see IMonitor#removeRequestListener(IRequestListener)
-	 */
-	public synchronized void removeRequestListener(IRequestListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		requestListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a request event.
-	 * @param rr
-	 * @param type
-	 */
-	protected void fireRequestEvent(Request rr, int type) {
-		int size = requestListeners.size();
-		IRequestListener[] rl = new IRequestListener[size];
-		requestListeners.toArray(rl);
-
-		for (int i = 0; i < size; i++) {
-			IRequestListener listener = rl[i];
-			if (type == ADD)
-				listener.requestAdded(this, rr);
-			else if (type == CHANGE)
-				listener.requestChanged(this, rr);
-		}
-	}
-	
-	/**
-	 * Add a new request response pair.
-	 * 
-	 * @param request a request
-	 */
-	public void addRequest(Request request) {
-		fireRequestEvent(request, ADD);
-	}
-
-	/**
-	 * A request response pair has been changed.
-	 * 
-	 * @param request a request
-	 */
-	public void requestChanged(Request request) {
-		fireRequestEvent(request, CHANGE);
-	}
-	
-	/**
-	 * @see IMonitor#validate()
-	 */
-	public IStatus validate() {
-		if (localPort < 0)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null);
-		
-		if (remotePort < 0)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemotePort, null);
-		
-		if (remoteHost == null || remoteHost.length() == 0 || !isValidHostname(remoteHost))
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemoteHost, null);
-		
-		if (isLocalhost(remoteHost) && localPort == remotePort)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null);
-	
-		return new Status(IStatus.OK, MonitorPlugin.PLUGIN_ID, 0, Messages.monitorValid, null);
-	}
-
-	protected static boolean isValidHostname(String host) {
-		if (host == null || host.trim().length() < 1)
-			return false;
-		
-		int length = host.length();
-		for (int i = 0; i < length; i++) {
-			char c = host.charAt(i);
-			if (!Character.isLetterOrDigit(c) && c != ':' && c != '.')
-				return false;
-		}
-		if (host.endsWith(":"))
-			return false;
-		return true;
-	}
-
-	protected static boolean isLocalhost(String host) {
-		if (host == null)
-			return false;
-		try {
-			if ("localhost".equals(host) || "127.0.0.1".equals(host))
-				return true;
-			InetAddress localHostaddr = InetAddress.getLocalHost();
-			if (localHostaddr.getHostName().equals(host))
-				return true;
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error checking for localhost", e);
-		}
-		return false;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "Monitor [" + getId() + ", " + getProtocol() + ", " + getLocalPort() + ", "
-			+ getRemoteHost() + ", " + getRemotePort() + "]";
-	}
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Monitor))
-			return false;
-		
-		IMonitor m = (IMonitor) obj;
-		if (m.isWorkingCopy()) {
-			m = ((IMonitorWorkingCopy) m).getOriginal();
-			if (m == null)
-				return false;
-		}
-		if (id == null && m.getId() != null)
-			return false;
-		if (id != null && !id.equals(m.getId()))
-			return false;
-		
-		if (localPort != m.getLocalPort())
-			return false;
-		if (remotePort != m.getRemotePort())
-			return false;
-		
-		if (remoteHost == null && m.getRemoteHost() != null)
-			return false;
-		if (remoteHost != null && !remoteHost.equals(m.getRemoteHost()))
-			return false;
-		
-		if (protocolId == null && m.getProtocol() != null)
-			return false;
-		if (protocolId != null && !protocolId.equals(m.getProtocol()))
-			return false;
-		
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
deleted file mode 100644
index e033615..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.*;
-/**
- * 
- */
-public class MonitorManager {
-	private static final int ADD = 0;
-	private static final int CHANGE = 1;
-	private static final int REMOVE = 2;
-
-	// monitors
-	protected List monitors;
-	protected Map threads = new HashMap();
-	
-	protected List monitorListeners = new ArrayList();
-
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-	
-	protected Map resendMap = new HashMap();
-	
-	protected static MonitorManager instance;
-	
-	static {
-		MonitorPlugin.getInstance().executeStartups();
-	}
-	
-	/**
-	 * Return a static instance.
-	 * 
-	 * @return the instance
-	 */
-	public static MonitorManager getInstance() {
-		if (instance == null)
-			instance = new MonitorManager();
-	
-		return instance;
-	}
-	
-	private MonitorManager() {
-		loadMonitors();
-		
-		pcl = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				if (ignorePreferenceChanges)
-					return;
-				String property = event.getProperty();
-				if (property.equals("monitors")) {
-					loadMonitors();
-				}
-			}
-		};
-		
-		MonitorPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
-	}
-	
-	protected void dispose() {
-		MonitorPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl);
-	}
-	
-	/**
-	 * Create a new monitor.
-	 * 
-	 * @return the new monitor
-	 */
-	public IMonitorWorkingCopy createMonitor() {
-		return new MonitorWorkingCopy();
-	}
-	
-	/**
-	 * Return the list of monitors.
-	 * 
-	 * @return the list of monitors
-	 */
-	public List getMonitors() {
-		return new ArrayList(monitors);
-	}
-
-	protected synchronized void addMonitor(IMonitor monitor) {
-		if (!monitors.contains(monitor))
-			monitors.add(monitor);
-		fireMonitorEvent(monitor, ADD);
-		saveMonitors();
-	}
-	
-	protected boolean isRunning(IMonitor monitor) {
-		return (threads.get(monitor) != null);
-	}
-
-	/**
-	 * Start a monitor.
-	 * 
-	 * @param monitor the monitor
-	 * @throws CoreException
-	 */
-	public void startMonitor(IMonitor monitor) throws CoreException {
-		if (!monitors.contains(monitor))
-			return;
-		
-		if (AcceptThread.isPortInUse(monitor.getLocalPort()))
-			throw new CoreException(new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, monitor.getLocalPort() + ""), null));
-		
-		AcceptThread thread = new AcceptThread(monitor);
-		thread.startServer();
-		threads.put(monitor, thread);
-	}
-	
-	/**
-	 * Stop a monitor.
-	 * 
-	 * @param monitor the monitor
-	 */
-	public void stopMonitor(IMonitor monitor) {
-		if (!monitors.contains(monitor))
-			return;
-		
-		AcceptThread thread = (AcceptThread) threads.get(monitor);
-		if (thread != null) {
-			thread.stopServer();
-			threads.remove(monitor);
-		}
-	}
-	
-	protected synchronized void removeMonitor(IMonitor monitor) {
-		if (monitor.isRunning())
-			stopMonitor(monitor);
-		monitors.remove(monitor);
-		fireMonitorEvent(monitor, REMOVE);
-		saveMonitors();
-	}
-	
-	protected synchronized void monitorChanged(IMonitor monitor) {
-		fireMonitorEvent(monitor, CHANGE);
-		saveMonitors();
-	}
-	
-	protected boolean exists(IMonitor monitor) {
-		return (monitors.contains(monitor));
-	}
-	
-	/**
-	 * Add monitor listener.
-	 * 
-	 * @param listener
-	 */
-	public synchronized void addMonitorListener(IMonitorListener listener) {
-		if (!monitorListeners.contains(listener))
-			monitorListeners.add(listener);
-	}
-
-	/**
-	 * Remove monitor listener.
-	 * 
-	 * @param listener
-	 */
-	public synchronized void removeMonitorListener(IMonitorListener listener) {
-		if (monitorListeners.contains(listener))
-			monitorListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a monitor event.
-	 * 
-	 * @param monitor the monitor
-	 * @param type the type of event
-	 */
-	protected void fireMonitorEvent(IMonitor monitor, int type) {
-		Object[] obj = monitorListeners.toArray();
-		
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			IMonitorListener listener = (IMonitorListener) obj[i];
-			if (type == ADD)
-				listener.monitorAdded(monitor);
-			else if (type == CHANGE)
-				listener.monitorChanged(monitor);
-			else if (type == REMOVE)
-				listener.monitorRemoved(monitor);
-		}
-	}
-
-	protected synchronized void loadMonitors() {
-		Trace.trace(Trace.FINEST, "Loading monitors");
-		
-		monitors = new ArrayList();
-		Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("monitors");
-		if (xmlString != null && xmlString.length() > 0) {
-			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
-				IMemento memento = XMLMemento.loadMemento(in);
-		
-				IMemento[] children = memento.getChildren("monitor");
-				if (children != null) {
-					int size = children.length;
-					for (int i = 0; i < size; i++) {
-						Monitor monitor = new Monitor();
-						monitor.load(children[i]);
-						monitors.add(monitor);
-					}
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load monitors: " + e.getMessage());
-			}
-		}
-	}
-	
-	protected synchronized void saveMonitors() {
-		try {
-			ignorePreferenceChanges = true;
-			XMLMemento memento = XMLMemento.createWriteRoot("monitors");
-
-			Iterator iterator = monitors.iterator();
-			while (iterator.hasNext()) {
-				Monitor monitor = (Monitor) iterator.next();
-				IMemento child = memento.createChild("monitor");
-				monitor.save(child);
-			}
-			
-			String xmlString = memento.saveToString();
-			Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
-			prefs.setValue("monitors", xmlString);
-			MonitorPlugin.getInstance().savePluginPreferences();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save browsers", e);
-		}
-		ignorePreferenceChanges = false;
-	}
-	
-	/**
-	 * Creates a new resend request from the given request.
-	 * 
-	 * @param request the request that is to be resent; may not be <code>null</code>
-	 * @return a new resend request
-	 */
-	public static ResendHTTPRequest createResendRequest(Request request) {
-		if (request == null)
-			throw new IllegalArgumentException();
-		return new ResendHTTPRequest((Monitor)request.getMonitor(), request);
-	}
-
-	/**
-	 * Adds a resend request to this request.
-	 * 
-	 * @param request the resend request to add
-	 * @param resendReq the resend request
-	 */
-	public void addResendRequest(Request request, ResendHTTPRequest resendReq) {
-		if (request == null || resendReq == null)
-			return;
-		
-		List list = null;
-		try {
-			list = (List) resendMap.get(request);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		if (list == null) {
-			list = new ArrayList();
-			resendMap.put(request, list);
-		}
-		list.add(resendReq);
-	}
-
-	/**
-	 * Returns an array of resend requests based on this request. 
-	 * 
-	 * @param request a request
-	 * @return the array of resend requests based on this request
-	 */
-	public ResendHTTPRequest[] getResendRequests(Request request) {
-		List list = (List) resendMap.get(request);
-		if (list != null)
-			return (ResendHTTPRequest[]) list.toArray(new ResendHTTPRequest[list.size()]);
-
-		return new ResendHTTPRequest[0];
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
deleted file mode 100644
index 59256ec..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-/**
- * The monitor core plugin.
- */
-public class MonitorPlugin extends Plugin {
-	/**
-	 * The plugin/bundle id.
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.core";
-
-	private static MonitorPlugin singleton;
-	
-	protected Map protocolAdapters;
-	protected Map contentFilters;
-	protected boolean startupsLoaded;
-
-	/**
-	 * MonitorPlugin constructor comment.
-	 */
-	public MonitorPlugin() {
-		super();
-		singleton = this;
-		loadProtocolAdapters();
-		loadContentFilters();
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.internet.monitor.core.MonitorPlugin
-	 */
-	public static MonitorPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns the default protocol type.
-	 * 
-	 * @return the protocol
-	 */
-	public String getDefaultType() {
-		return "HTTP";
-	}
-
-	/**
-	 * Returns the protocol adapter with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * protocol adapters ({@link #getProtocolAdapters()}) for the one with a
-	 * matching id.
-	 *
-	 * @param id the protocol adapter id; must not be <code>null</code>
-	 * @return the protocol adapter instance, or <code>null</code> if there
-	 *   is no protocol adapter with the given id
-	 */
-	public ProtocolAdapter getProtocolAdapter(String id) {
-		return (ProtocolAdapter) protocolAdapters.get(id);
-	}
-
-	/**
-	 * Returns a list of all known protocol adapter instances.
-	 * <p>
-	 * Protocol adapters are registered via the <code>protocolAdapaters</code>
-	 * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
-	 * plug-in.
-	 * </p>
-	 * <p>
-	 * A new array is returned on each call; clients may safely store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of protocol adapter instances
-	 */
-	public ProtocolAdapter[] getProtocolAdapters() {
-		List list = new ArrayList();
-		Iterator iterator = protocolAdapters.values().iterator();
-		while (iterator.hasNext()) {
-			list.add(iterator.next());
-		}
-		ProtocolAdapter[] types = new ProtocolAdapter[list.size()];
-		list.toArray(types);
-		return types;
-	}
-
-	/**
-	 * Return the content filters.
-	 * 
-	 * @return an array of content filters
-	 */
-	public IContentFilter[] getContentFilters() {
-		List list = new ArrayList();
-		Iterator iterator = contentFilters.values().iterator();
-		while (iterator.hasNext()) {
-			list.add(iterator.next());
-		}
-		IContentFilter[] cf = new IContentFilter[list.size()];
-		list.toArray(cf);
-		return cf;
-	}
-	
-	/**
-	 * Find a content filter by the id.
-	 * 
-	 * @param id an id
-	 * @return the content filter, or <code>null</code> if it couldn't be found
-	 */
-	public IContentFilter findContentFilter(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		return (IContentFilter) contentFilters.get(id);
-	}
-
-	protected synchronized void loadProtocolAdapters() {
-		if (protocolAdapters != null)
-			return;
-		Trace.trace(Trace.CONFIG, "Loading protocol adapters"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalProtocolAdapters");
-
-		int size = cf.length;
-		protocolAdapters = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading adapter: " + id);
-			protocolAdapters.put(id, new ProtocolAdapter(cf[i]));
-		}
-	}
-	
-	protected synchronized void loadContentFilters() {
-		if (contentFilters != null)
-			return;
-		Trace.trace(Trace.CONFIG, "Loading content filters"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalContentFilters");
-
-		int size = cf.length;
-		contentFilters = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading filter: " + id);
-			contentFilters.put(id, new ContentFilter(cf[i]));
-		}
-	}
-	
-	protected synchronized void executeStartups() {
-		if (startupsLoaded)
-			return;
-		
-		Trace.trace(Trace.CONFIG, "Loading startups"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalStartup");
-
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading startup: " + id);
-			try {
-				IStartup startup = (IStartup) cf[i].createExecutableExtension("class");
-				try {
-					startup.startup();
-				} catch (Exception ex) {
-					Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create startup: " + id, e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
deleted file mode 100644
index 1e1571c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
-/**
- * 
- */
-public class MonitorWorkingCopy extends Monitor implements IMonitorWorkingCopy {
-	protected Monitor monitor;
-	
-	/**
-	 * Create a new monitor working copy. (used for initial creation)
-	 */
-	public MonitorWorkingCopy() {
-		// do nothing
-	}
-
-	/**
-	 * Create a new monitor working copy. (used for working copies)
-	 * 
-	 * @param monitor the monitor this working copy is for
-	 */
-	public MonitorWorkingCopy(Monitor monitor) {
-		this.monitor = monitor;
-		setInternal(monitor);
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#getOriginal()
-	 */
-	public IMonitor getOriginal() {
-		return monitor;
-	}
-
-	/**
-	 * Set the id.
-	 * 
-	 * @param newId the id
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setRemoteHost(String)
-	 */
-	public void setRemoteHost(String host) {
-		remoteHost = host;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setRemotePort(int)
-	 */
-	public void setRemotePort(int port) {
-		remotePort = port;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setLocalPort(int)
-	 */
-	public void setLocalPort(int port) {
-		localPort = port;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setProtocol(String)
-	 */
-	public void setProtocol(String protocolId2) {
-		protocolId = protocolId2;
-	}
-	
-	/**
-	 * @see IMonitor#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	/**
-	 * @see IMonitor#createWorkingCopy()
-	 */
-	public IMonitorWorkingCopy createWorkingCopy() {
-		return this;
-	}
-
-	/**
-	 * @see IMonitorWorkingCopy#save()
-	 */
-	public synchronized IMonitor save() {
-		MonitorManager mm = MonitorManager.getInstance();
-		if (monitor != null) {
-			//boolean restart = false;
-			if (monitor.isRunning()) {
-				//restart = true;
-				mm.stopMonitor(monitor);
-			}
-			monitor.setInternal(this);
-			mm.monitorChanged(monitor);
-			//if (restart)
-			//	mm.startMonitor(monitor);
-		} else {
-			monitor = new Monitor();
-			monitor.setInternal(this);
-			mm.addMonitor(monitor);
-		}
-		return monitor;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
deleted file mode 100644
index 54689df..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * 
- */
-public class ProtocolAdapter implements IProtocolAdapter {
-	protected IConfigurationElement element;
-	protected ProtocolAdapterDelegate delegate;
-	
-	protected ProtocolAdapter(IConfigurationElement element) {
-		this.element = element;
-	}
-
-	/**
-	 * @see IProtocolAdapter#getId()
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * @see IProtocolAdapter#getName()
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-	
-	protected ProtocolAdapterDelegate getDelegate() {
-		if (delegate != null)
-			return delegate;
-		
-		try {
-			delegate = (ProtocolAdapterDelegate) element.createExecutableExtension("class");
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not create protocol adapter delegate: " + getId(), e);
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Connect with the protocol.
-	 * 
-	 * @param monitor a monitor
-	 * @param in an inbound socket
-	 * @param out an outbound socket
-	 * @throws IOException
-	 */
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		getDelegate().connect(monitor, in, out);
-	}
-	
-	/**
-	 * Disconnect from the sockets.
-	 * 
-	 * @param monitor a monitor
-	 * @throws IOException
-	 */
-	public void disconnect(IMonitor monitor) throws IOException {
-		getDelegate().disconnect(monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
deleted file mode 100644
index 0b41554..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
+++ /dev/null
@@ -1,88 +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.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * Abstract base class for protocol adapter delegates, which provide the
- * implementation behind a particular protocol adapter.
- * A protocol adapter watches the message traffic passing between client and
- * server; it parses the messages and reports them in the form of 
- * Request objects.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>protocolAdapters</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the delegate when required. 
- * </p>
- * <p>
- * There is only one delegate created per protocol, and this delegate must
- * be able to handle multiple monitor instances. This means that the delegate
- * typically will not have instance state, or must synchronize and keep the
- * state separate.
- * </p>
- * <p>
- * [issue: The HTTP and TCP/IP delegate implementations create threads which
- * shuffle info between sockets. If the monitor is changed or deleted, how do
- * these threads go away? Methinks that delegates in general should be forced
- * to implement disconnect(IMonitor) as well. This method would be called by the
- * system when the monitor is changed or deleted, or when the plug-in is
- * being shut down.]
- * </p>
- * 
- * @since 1.0
- */
-public abstract class ProtocolAdapterDelegate {
-	/**
-	 * Establishes an ongoing connection between client and server being
-	 * monitored by the given monitor. The <code>in</code> socket is associated
-	 * with the monitor's client. The <code>out</code> socket is associated with
-	 * the monitor's server. Different adapaters handle different network
-	 * protocols.
-	 * <p>
-	 * Subclasses must implement this method to achieve the following:
-	 * <ul>
-	 * <li>Client to server communication -
-	 * Opening an input stream on the <code>in</code> socket, opening an output
-	 * stream on the <code>out</code> socket, and establishing a mechanism that
-	 * will pass along all bytes received on the input stream to the output
-	 * stream.</li>
-	 * <li>Server to client communication - Opening an input stream on the
-	 * <code>out</code> socket, opening an output stream on the <code>in</code>
-	 * socket, and establishing a mechanism that will pass along all bytes
-	 * received on the input stream to the output stream.</li>
-	 * <li>Parsing the protocol-specific message traffic to create and report
-	 * request objects for each message passed between client and server.</li>
-	 * <li>Closing the input and output sockets and otherwise cleaning up
-	 * afterwards.</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param monitor the monitor that uses this protocol adapter
-	 * @param in the input socket of the monitor client
-	 * @param out the output socket of the monitor server
-	 * @throws IOException if an exception occur when opening the streams of the
-	 *    input or output sockets
-	 */
-	public abstract void connect(IMonitor monitor, Socket in, Socket out) throws IOException;
-	
-	/**
-	 * Called if the monitor is changed or deleted, or the plugin is shutting down.
-	 * The delegate must clean up the connections and threads created to respond to
-	 * this monitor. 
-	 * 
-	 * @param monitor
-	 * @throws IOException
-	 */
-	public abstract void disconnect(IMonitor monitor) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
deleted file mode 100644
index 62b4dd9..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
+++ /dev/null
@@ -1,351 +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.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.SocketAddress;
-import java.net.SocketException;
-import java.nio.channels.SocketChannel;
-/**
- * A socket that is only used for resending requests. All input operations are
- * ignored.
- */
-public class SocketWrapper extends Socket {
-	private InputStream inputStream;
-	private OutputStream outputStream;
-	
-	/**
-	 * Create a new socket wrapper.
-	 * 
-	 * @param inputStream
-	 */
-	public SocketWrapper(InputStream inputStream) {
-	  this.inputStream = inputStream;
-	  this.outputStream = new DummyOutputStream();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#bind(java.net.SocketAddress)
-	 */
-	public void bind(SocketAddress arg0) throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#close()
-	 */
-	public synchronized void close() throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#connect(java.net.SocketAddress, int)
-	 */
-	public void connect(SocketAddress arg0, int arg1) throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#connect(java.net.SocketAddress)
-	 */
-	public void connect(SocketAddress arg0) throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getChannel()
-	 */
-	public SocketChannel getChannel() {
-		return super.getChannel();
-	}
-	
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getInetAddress()
-	 */
-	public InetAddress getInetAddress() {
-		return super.getInetAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getInputStream()
-	 */
-	public InputStream getInputStream() throws IOException {
-		return inputStream;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getKeepAlive()
-	 */
-	public boolean getKeepAlive() throws SocketException {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getLocalAddress()
-	 */
-	public InetAddress getLocalAddress() {
-		return super.getLocalAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getLocalPort()
-	 */
-	public int getLocalPort() {
-		return super.getLocalPort();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getLocalSocketAddress()
-	 */
-	public SocketAddress getLocalSocketAddress() {
-		return super.getLocalSocketAddress();
-	}
-	
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getOOBInline()
-	 */
-	public boolean getOOBInline() throws SocketException {
-		return super.getOOBInline();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getOutputStream()
-	 */
-	public OutputStream getOutputStream() throws IOException {
-		return outputStream;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getPort()
-	 */
-	public int getPort() {
-		return super.getPort();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getReceiveBufferSize()
-	 */
-	public synchronized int getReceiveBufferSize() throws SocketException {
-		return super.getReceiveBufferSize();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getRemoteSocketAddress()
-	 */
-	public SocketAddress getRemoteSocketAddress() {
-		return super.getRemoteSocketAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getReuseAddress()
-	 */
-	public boolean getReuseAddress() throws SocketException {
-		return super.getReuseAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getSendBufferSize()
-	 */
-	public synchronized int getSendBufferSize() throws SocketException {
-		return super.getSendBufferSize();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getSoLinger()
-	 */
-	public int getSoLinger() throws SocketException {
-		return super.getSoLinger();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getSoTimeout()
-	 */
-	public synchronized int getSoTimeout() throws SocketException {
-		return super.getSoTimeout();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getTcpNoDelay()
-	 */
-	public boolean getTcpNoDelay() throws SocketException {
-		return super.getTcpNoDelay();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getTrafficClass()
-	 */
-	public int getTrafficClass() throws SocketException {
-		return super.getTrafficClass();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isBound()
-	 */
-	public boolean isBound() {
-		return super.isBound();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isClosed()
-	 */
-	public boolean isClosed() {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isConnected()
-	 */
-	public boolean isConnected() {
-		return true;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isInputShutdown()
-	 */
-	public boolean isInputShutdown() {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isOutputShutdown()
-	 */
-	public boolean isOutputShutdown() {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#sendUrgentData(int)
-	 */
-	public void sendUrgentData(int arg0) throws IOException {
-		super.sendUrgentData(arg0);
-	}
-	
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setKeepAlive(boolean)
-	 */
-	public void setKeepAlive(boolean arg0) throws SocketException {
-		super.setKeepAlive(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setOOBInline(boolean)
-	 */
-	public void setOOBInline(boolean arg0) throws SocketException {
-		super.setOOBInline(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setReceiveBufferSize(int)
-	 */
-	public synchronized void setReceiveBufferSize(int arg0) throws SocketException {
-		super.setReceiveBufferSize(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setReuseAddress(boolean)
-	 */
-	public void setReuseAddress(boolean arg0) throws SocketException {
-		super.setReuseAddress(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setSendBufferSize(int)
-	 */
-	public synchronized void setSendBufferSize(int arg0) throws SocketException {
-		super.setSendBufferSize(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setSoLinger(boolean, int)
-	 */
-	public void setSoLinger(boolean arg0, int arg1) throws SocketException {
-		super.setSoLinger(arg0, arg1);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setSoTimeout(int)
-	 */
-	public synchronized void setSoTimeout(int arg0) throws SocketException {
-		super.setSoTimeout(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setTcpNoDelay(boolean)
-	 */
-	public void setTcpNoDelay(boolean arg0) throws SocketException {
-		super.setTcpNoDelay(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setTrafficClass(int)
-	 */
-	public void setTrafficClass(int arg0) throws SocketException {
-		super.setTrafficClass(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#shutdownInput()
-	 */
-	public void shutdownInput() throws IOException {
-		inputStream.close();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#shutdownOutput()
-	 */
-	public void shutdownOutput() throws IOException {
-		// do nothing
-	}
-
-	/**
-	 * A dummy OutputStream that allows us to fake output for a socket.
-	 */
-	public class DummyOutputStream extends OutputStream {
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#close()
-		 */
-		public void close() throws IOException {
-			// do nothing
-		}
-		
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#flush()
-		 */
-		public void flush() throws IOException {
-			// do nothing
-		}
-	
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#write(byte[], int, int)
-		 */
-		public void write(byte[] arg0, int arg1, int arg2) throws IOException {
-			// do nothing
-		}
-	
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#write(byte[])
-		 */
-		public void write(byte[] arg0) throws IOException {
-			// do nothing
-		}
-
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#write(int)
-		 */
-		public void write(int arg0) throws IOException {
-			// do nothing
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
deleted file mode 100644
index 4638d38..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * 
- */
-public class TCPIPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map map = new HashMap();
-	
-	/**
-	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
-	 */
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		Request request = new Request((Monitor) monitor, IProtocolAdapter.TCPIP_PROTOCOL_ID, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
-		Connection conn = new Connection(in, out);
-		map.put(monitor, conn);
-		TCPIPThread requestThread = new TCPIPThread(conn, request, in.getInputStream(), out.getOutputStream(), true);
-		requestThread.start();
-		new TCPIPThread(conn, request, out.getInputStream(), in.getOutputStream(), false).start();
-	}
-
-	/**
-	 * @see ProtocolAdapterDelegate#disconnect(IMonitor)
-	 */
-	public void disconnect(IMonitor monitor) throws IOException {
-		try {
-			Connection conn = (Connection) map.get(monitor);
-			conn.close();
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java
deleted file mode 100644
index 3b750c6..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.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.wst.internet.monitor.core.internal;
-
-import java.io.*;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Monitor server I/O thread.
- */
-public class TCPIPThread extends Thread {
-	private static final int BUFFER = 2048;
-	protected InputStream in;
-	protected OutputStream out;
-	protected boolean isRequest;
-	
-	protected Connection conn;
-	protected Request request;
-
-	/**
-	 * Create a new TCP/IP thread.
-	 * 
-	 * @param conn
-	 * @param request
-	 * @param in
-	 * @param out
-	 * @param isRequest
-	 */
-	public TCPIPThread(Connection conn, Request request, InputStream in, OutputStream out, boolean isRequest) {
-		super();
-		this.conn = conn;
-		this.request = request;
-		this.in = in;
-		this.out = out;
-		this.isRequest = isRequest;
-		setPriority(Thread.NORM_PRIORITY + 1);
-		setDaemon(true);
-	}
-
-	/**
-	 * Listen for input, save it, and pass to the output stream.
-	 */
-	public void run() {
-		try {
-			byte[] b = new byte[BUFFER];
-			int n = in.read(b);
-			while (n > 0) {
-				out.write(b, 0, n);
-				if (b != null && n > 0) {
-					byte[] x = null;
-					if (n == BUFFER)
-						x = b;
-					else {
-						x = new byte[n];
-						System.arraycopy(b, 0, x, 0, n);
-					}
-					if (isRequest)
-						request.addToRequest(x);
-					else
-						request.addToResponse(x);
-				}
-				n = in.read(b);
-				Thread.yield();
-			}
-			out.flush();
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			//request.fireChangedEvent();
-			if (!isRequest)
-				conn.close();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
deleted file mode 100644
index f0fec76..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Config trace event.
-	 */
-	public static byte CONFIG = 0;
-	
-	/**
-	 * Warning trace event.
-	 */
-	public static byte WARNING = 1;
-	
-	/**
-	 * Severe trace event.
-	 */
-	public static byte SEVERE = 2;
-	
-	/**
-	 * Finest trace event.
-	 */
-	public static byte FINEST = 3;
-	
-	/**
-	 * Parsing trace event.
-	 */
-	public static byte PARSING = 4;
-
-	/**
-	 * 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(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 (!MonitorPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(MonitorPlugin.PLUGIN_ID + " " + System.currentTimeMillis() + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
deleted file mode 100644
index 8a2305c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.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 (ParserConfigurationException e) {
-			// ignore
-		} catch (IOException e) {
-			// ignore
-		} catch (SAXException e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param 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#getChild(String)
-	 */
-	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#getChildren(String)
-	 */
-	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;
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return the input stream
-	 * @throws IOException
-	 */
-	public InputStream getInputStream() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return new ByteArrayInputStream(out.toByteArray());
-	}
-
-	/**
-	 * @see IMemento#getFloat(String)
-	 */
-	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#getId()
-	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/**
-	 * @see IMemento#getName()
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/**
-	 * @see IMemento#getInteger(String)
-	 */
-	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#getString(String)
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	/**
-	 * @see IMemento#getNames()
-	 */
-	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 in the input stream
-	 * @return a memento
-	 */
-	public static IMemento loadMemento(InputStream in) {
-		return createReadRoot(in);
-	}
-
-	/*
-	 * @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#putFloat(String, float)
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/**
-	 * @see IMemento#putInteger(String, int)
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/**
-	 * @see IMemento#putMemento(IMemento)
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/**
-	 * @see IMemento#putString(String, String)
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to an output stream.
-	 * 
-	 * @param os
-	 * @throws IOException
-	 */
-	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"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-			transformer.transform(source, result);            
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Save to string.
-	 * 
-	 * @return the string
-	 * @throws IOException
-	 */
-	public String saveToString() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toString("UTF-8");
-	}
-
-	/**
-	 * @see IMemento#getBoolean(String)
-	 */
-	public Boolean getBoolean(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		if ("true".equalsIgnoreCase(strValue))
-			return new Boolean(true);
-		
-		return new Boolean(false);
-	}
-
-	/**
-	 * @see IMemento#putBoolean(String, boolean)
-	 */
-	public void putBoolean(String key, boolean value) {
-		element.setAttribute(key, value ? "true" : "false");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
deleted file mode 100644
index 4b57480..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.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.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-
-import java.util.List;
-import java.util.ArrayList;
-/**
- * Manages a monitor server connection between two hosts. This
- * connection may spawn one or more TCP/IP requests to be displayed
- * in the monitor server view.
- */
-public class HTTPConnection {
-	protected IMonitor monitor;
-
-	protected int req = -1;
-	protected int resp = -1;
-
-	protected List requests = new ArrayList();
-
-	/**
-	 * HTTPConnection constructor comment.
-	 * 
-	 * @param monitor a monitor
-	 */
-	public HTTPConnection(IMonitor monitor) {
-		super();
-		this.monitor = monitor;
-		Trace.trace(Trace.PARSING, "TCP/IP monitor connection opened " + monitor);
-	}
-
-	/**
-	 * Add a request.
-	 * 
-	 * @param b the request data
-	 * @param isNew true if new
-	 */
-	public void addRequest(byte[] b, boolean isNew) {
-		if (isNew)
-			req ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(req);
-		request.addToRequest(b);
-	}
-
-	/**
-	 * Add a response.
-	 * 
-	 * @param b the response data
-	 * @param isNew true if new
-	 */
-	public void addResponse(byte[] b, boolean isNew) {
-		if (isNew)
-			resp ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(resp);
-		request.addToResponse(b);
-	}
-
-	/**
-	 * Add a property.
-	 * 
-	 * @param key
-	 * @param value
-	 */
-	public void addProperty(String key, Object value) {
-		Request request = getRequestResponse(req);
-		request.setProperty(key, value);
-	}
-
-	/**
-	 * Get the request.
-	 * 
-	 * @param isRequest
-	 * @return the request
-	 */
-	public Request getRequestResponse(boolean isRequest) {
-		if (isRequest)
-			return getRequestResponse(req);
-		
-		return getRequestResponse(resp);
-	}
-
-	/**
-	 * 
-	 */
-	protected Request getRequestResponse(int i) {
-		synchronized (this) {
-			while (i >= requests.size()) {
-				Request request = new HTTPRequest((Monitor) monitor, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
-				requests.add(request);
-				return request;
-			}
-			return (Request) requests.get(i);
-		}
-	}
-
-	/**
-	 * Set the title.
-	 * 
-	 * @param title the title
-	 * @param isNew boolean
-	 */
-	public void setLabel(String title, boolean isNew) {
-		if (isNew)
-			req ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(req);
-		request.setName(title);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
deleted file mode 100644
index 7968e70..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
-  *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * 
- */
-public class HTTPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map map = new HashMap();
-
-	/**
-	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
-	 */
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		Connection conn2 = new Connection(in, out);
-		map.put(monitor, conn2);
-		HTTPConnection conn = new HTTPConnection(monitor);
-		HTTPThread request = new HTTPThread(conn2, in.getInputStream(), out.getOutputStream(), conn, true, monitor.getRemoteHost(), monitor.getRemotePort());
-		HTTPThread response = new HTTPThread(conn2, out.getInputStream(), in.getOutputStream(), conn, false, "localhost", monitor.getLocalPort(), request);
-		request.start();
-		response.start();
-	}
-
-	/**
-	 * @see ProtocolAdapterDelegate#disconnect(IMonitor)
-	 */
-	public void disconnect(IMonitor monitor) throws IOException {
-		try {
-			Connection conn = (Connection) map.get(monitor);
-			if (conn != null)
-				conn.close();
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java
deleted file mode 100644
index ba4f34f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * 
- */
-public class HTTPRequest extends Request {
-	protected static final String HTTP_REQUEST_HEADER = "request-header";
-	protected static final String HTTP_RESPONSE_HEADER = "response-header";
-
-	protected static final String HTTP_REQUEST_BODY = "request-body";
-	protected static final String HTTP_RESPONSE_BODY = "response-body";
-	
-	protected static final byte[] EMPTY = new byte[0];
-
-	/**
-	 * Create an HTTPRequest.
-	 * 
-	 * @param monitor
-	 * @param localPort
-	 * @param remoteHost
-	 * @param remotePort
-	 */
-	public HTTPRequest(Monitor monitor, int localPort, String remoteHost, int remotePort) {
-		super(monitor, IProtocolAdapter.HTTP_PROTOCOL_ID, localPort, remoteHost, remotePort);
-	}
-
-	/**
-	 * @see Request#getRequest(int)
-	 */
-	public byte[] getRequest(int type2) {
-		if (type2 == ALL)
-			return request;
-		else if (type2 == TRANSPORT)
-			return getRequestHeader();
-		else
-			return getRequestContent();
-	}
-	
-	/**
-	 * @see Request#getResponse(int)
-	 */
-	public byte[] getResponse(int type2) {
-		if (type2 == ALL)
-			return response;
-		else if (type2 == TRANSPORT)
-			return getResponseHeader();
-		else
-			return getResponseContent();
-	}
-	
-	protected byte[] getRequestHeader() {
-		Object obj = getProperty(HTTP_REQUEST_HEADER);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected byte[] getRequestContent() {
-		Object obj = getProperty(HTTP_REQUEST_BODY);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected byte[] getResponseHeader() {
-		Object obj = getProperty(HTTP_RESPONSE_HEADER);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected byte[] getResponseContent() {
-		Object obj = getProperty(HTTP_RESPONSE_BODY);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected void setName(String n) {
-		super.setName(n);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
deleted file mode 100644
index a360747..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
+++ /dev/null
@@ -1,629 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.*;
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Monitor server I/O thread.
- */
-public class HTTPThread extends Thread {
-	private static final int BUFFER = 2048;
-	private static final byte CR = (byte) '\r';
-	private static final byte LF = (byte) '\n';
-	protected static int threadCount = 0;
-
-	private byte[] readBuffer = new byte[BUFFER];
-
-	// buffer and index
-	protected byte[] buffer = new byte[0];
-	protected int bufferIndex = 0;
-
-	protected InputStream in;
-	protected OutputStream out;
-	protected HTTPConnection conn;
-	protected boolean isRequest;
-	protected Connection conn2;
-	
-	protected HTTPThread request;
-	protected boolean isWaiting;
-	
-	// user to translate the Host: header
-	protected String host;
-	protected int port;
-
-	protected int contentLength = -1;
-	protected byte transferEncoding = -1;
-	protected String responseType = null;
-	protected boolean keepAlive = false;
-
-	protected static final String[] ENCODING_STRING = new String[] {
-		"chunked", "identity", "gzip", "compressed", "deflate"};
-
-	protected static final byte ENCODING_CHUNKED = 0;
-	protected static final byte ENCODING_IDENTITY = 1;
-	protected static final byte ENCODING_GZIP = 2;
-	protected static final byte ENCODING_COMPRESSED = 3;
-	protected static final byte ENCODING_DEFLATE = 4;
-
-/* change:
-Referer: http://localhost:8081/index.html
-Host: localhost:8081
-*/
-/* The Connection header has the following grammar:
-
-	   Connection = "Connection" ":" 1#(connection-token)
-	   connection-token  = token
-
-   HTTP/1.1 proxies MUST parse the Connection header field before a
-   message is forwarded and, for each connection-token in this field,
-   remove any header field(s) from the message with the same name as the
-   connection-token. */
-
-	/**
-	 * Create a new HTTP thread.
-	 * 
-	 * @param conn2
-	 * @param in
-	 * @param out
-	 * @param conn
-	 * @param isRequest
-	 * @param host
-	 * @param port
-	 */
-	public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port) {
-		super();
-		this.conn2 = conn2;
-		this.in = in;
-		this.out = out;
-		this.conn = conn;
-		this.isRequest = isRequest;
-		this.host = host;
-		this.port = port;
-	
-		setName("HTTP (" + host + ":" + port + ") " + (isRequest ? "REQUEST" : "RESPONSE") + " " + (threadCount++));
-		setPriority(Thread.NORM_PRIORITY + 1);
-		setDaemon(true);
-		
-		Trace.trace(Trace.PARSING, "Started: " + this);
-	}
-	
-	/**
-	 * Create a new HTTP thread.
-	 * 
-	 * @param conn2
-	 * @param in
-	 * @param out
-	 * @param conn
-	 * @param isRequest
-	 * @param host
-	 * @param port
-	 * @param request
-	 */
-	public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port, HTTPThread request) {
-		this(conn2, in, out, conn, isRequest, host, port);
-		
-		this.request = request;
-	}
-
-	/**
-	 * Add a line feed to the end of the byte array.
-	 * @return byte[]
-	 * @param b byte[]
-	 */
-	protected static byte[] convert(byte[] b) {
-		if (b == null || b.length == 0)
-			return b;
-	
-		int size = b.length;
-		byte[] x = new byte[size + 2];
-		System.arraycopy(b, 0, x, 0, size);
-		x[size] = (byte) '\r';     // CR
-		x[size + 1] = (byte) '\n'; // LF
-		return x;
-	}
-
-	/**
-	 * Read more data into the buffer.
-	 */
-	protected void fillBuffer() throws IOException {
-		int n = in.read(readBuffer);
-	
-		if (n <= 0)
-			throw new IOException("End of input");
-	
-		// add to full buffer
-		int len = buffer.length - bufferIndex;
-		if (len < 0)
-			len = 0;
-		byte[] x = new byte[n + len];
-		System.arraycopy(buffer, bufferIndex, x, 0, len);
-		System.arraycopy(readBuffer, 0, x, len, n);
-		bufferIndex = 0;
-		buffer = x;
-	}
-
-	/**
-	 * Returns the first location of a CRLF.
-	 *
-	 * @return int
-	 */
-	protected int getFirstCRLF() {
-		int size = buffer.length;
-		int i = bufferIndex + 1;
-		while (i < size) {
-			if (buffer[i - 1] == CR && buffer[i] == LF)
-				return i;
-			i++;
-		}
-		return -1;
-	}
-
-	/**
-	 * Output the given bytes.
-	 * @param b byte[]
-	 */
-	protected void outputBytes(byte[] b, boolean isNew) throws IOException {
-		out.write(b);
-		if (isRequest)
-			conn.addRequest(b, isNew);
-		else
-			conn.addResponse(b, isNew);
-	}
-
-	/**
-	 * Parse the HTTP body.
-	 * 
-	 * @throws IOException
-	 */
-	public void parseBody() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing body for: " + this);
-		
-		if (isRequest) {
-			if (contentLength != -1) {
-				byte[] b = readBytes(contentLength);
-				out.write(b);
-				conn.addRequest(b, false);
-				setHTTPBody(b);
-			} else if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) {
-				parseChunk();
-			}
-			
-			Trace.trace(Trace.PARSING, "Done parsing request body for: " + this);
-			return;
-		}
-	
-		// just return body for HTTP 1.0 responses
-		if (!isRequest && !keepAlive && contentLength == -1 && transferEncoding == -1) {
-			Trace.trace(Trace.PARSING, "Assuming HTTP 1.0 for: " + this);
-			int n = buffer.length - bufferIndex;
-			byte[] b = readBytes(n);
-			byte[] body = new byte[0];
-			while (n >= 0) {
-				Trace.trace(Trace.PARSING, "Bytes read: " + n + " " + this);
-				if (b != null && n > 0) {
-					byte[] x = null;
-					if (n == b.length)
-						x = b;
-					else {
-						x = new byte[n];
-						System.arraycopy(b, 0, x, 0, n);
-					}
-					outputBytes(x, false);
-					
-					// copy to HTTP body
-					byte[] temp = new byte[body.length + x.length];
-					System.arraycopy(body, 0, temp, 0, body.length);
-					System.arraycopy(x, 0, temp, body.length, x.length);
-					body = temp;
-				}
-				if (b.length < BUFFER)
-					b = new byte[BUFFER];
-				n = in.read(b);
-				Thread.yield();
-			}
-			out.flush();
-			setHTTPBody(body);
-			return;
-		}
-	
-		// spec 4.4.1
-		if (responseType != null &&	(responseType.startsWith("1") || "204".equals(responseType) || "304".equals(responseType))) {
-			setHTTPBody(new byte[0]);
-			return;
-		}
-	
-		// spec 4.4.2
-		if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) {
-			parseChunk();
-			return;
-		}
-	
-		// spec 4.4.3
-		if (contentLength != -1) {
-			byte[] b = readBytes(contentLength);
-			out.write(b);
-			if (isRequest)
-				conn.addRequest(b, false);
-			else
-				conn.addResponse(b, false);
-			setHTTPBody(b);
-			return;
-		}
-		
-		// spec 4.4.4 (?)
-		
-		Trace.trace(Trace.PARSING, "Unknown body for: " + this);
-	}
-
-	/**
-	 * Parse an HTTP chunk.
-	 * 
-	 * @throws IOException
-	 */
-	public void parseChunk() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing chunk for: " + this);
-		boolean done = false;
-		byte[] body = new byte[0];
-	
-		while (!done) {
-			// read chunk size
-			byte[] b = readLine();
-	
-			String s = new String(b);
-			int index = s.indexOf(" ");
-			int length = -1;
-			try {
-				if (index > 0)
-					s = s.substring(0, index);
-				length = Integer.parseInt(s.trim(), 16);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error chunk for: " + this, e);
-			}
-	
-			// output bytes
-			outputBytes(b, false);
-	
-			if (length <= 0)
-				done = true;
-			else {
-				// read and output chunk data plus CRLF
-				b = readBytes(length + 2);
-				outputBytes(b, false);
-				
-				// copy to HTTP body
-				byte[] temp = new byte[body.length + b.length - 2];
-				System.arraycopy(body, 0, temp, 0, body.length);
-				System.arraycopy(b, 0, temp, body.length, b.length - 2);
-				body = temp;
-			}
-		}
-	
-		// read trailer
-		byte[] b = readLine();
-		while (b.length > 2) {
-			outputBytes(b, false);
-			b = readLine();
-		}
-	
-		outputBytes(b, false);
-		setHTTPBody(body);
-	}
-
-	/**
-	 * Parse an HTTP header.
-	 * 
-	 * @throws IOException
-	 */
-	public void parseHeader() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing header for: " + this);
-	
-		// read until first blank line
-		boolean isFirstLine = true;
-		boolean isNew = true;
-	
-		byte[] b = readLine();
-		while (b.length > 5) {
-			Trace.trace(Trace.PARSING, "Parsing header line: '" + new String(b) + "'");
-			
-			if (isFirstLine) {
-				String s = new String(b);
-				if (isRequest) {
-					setLabel(s);
-					isNew = false;
-				}
-	
-				if (!isRequest) {
-					int index1 = s.indexOf(' ');
-					int index2 = s.indexOf(' ', index1 + 1);
-	
-					try {
-						responseType = s.substring(index1 + 1, index2).trim();
-						Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType);
-					} catch (Exception e) {
-						Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e);
-					}
-					if (responseType != null && responseType.equals("100")) {
-						outputBytes(b, isNew);
-						isNew = false;
-
-						b = readLine();
-						outputBytes(b, false);
-
-						b = readLine();
-
-						index1 = s.indexOf(' ');
-						index2 = s.indexOf(' ', index1 + 1);
-
-						try {
-							responseType = s.substring(index1 + 1, index2).trim();
-							Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType);
-						} catch (Exception e) {
-							Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e);
-						}
-					}
-				}
-				isFirstLine = false;
-			}
-	
-			// translate
-			b = translateHeaderLine(b);
-			
-			outputBytes(b, isNew);
-			isNew = false;
-	
-			b = readLine();
-		}
-
-		Trace.trace(Trace.PARSING, "Parsing final header line: '" + new String(b) + "'");
-
-		outputBytes(b, false);
-
-		Request rr = conn.getRequestResponse(isRequest);
-		Trace.trace(Trace.PARSING, "Setting header length: " + rr.getRequest(Request.ALL).length);
-		
-		setHTTPHeader(rr);
-	}
-
-	/**
-	 * Read bytes from the stream.
-	 * @return byte[]
-	 */
-	protected byte[] readBytes(int n) throws IOException {
-		Trace.trace(Trace.PARSING, "readBytes() " + n + " for: " + this);
-		while (buffer.length - bufferIndex < n)
-			fillBuffer();
-	
-		return removeFromBuffer(bufferIndex + n);
-	}
-
-	/**
-	 * Read and return the next full line.
-	 *
-	 * @return byte[]
-	 */
-	protected byte[] readLine() throws IOException {
-		Trace.trace(Trace.PARSING, "readLine() for: " + this);
-	
-		int n = getFirstCRLF();
-		while (n < 0) {
-			fillBuffer();
-			n = getFirstCRLF();
-		}
-		return removeFromBuffer(n + 1);
-	}
-
-	/**
-	 * Remove data from the buffer up to the absolute index n.
-	 * Return the data from between bufferIndex and n.
-	 *
-	 * @param n the bytes to remove
-	 * @return a byte array
-	 */
-	protected byte[] removeFromBuffer(int n) {
-		// copy line out of buffer
-		byte[] b = new byte[n - bufferIndex];
-		System.arraycopy(buffer, bufferIndex, b, 0, n - bufferIndex);
-	
-		if (buffer.length > BUFFER * 2 || bufferIndex > BUFFER) {
-			// remove line from buffer
-			int size = buffer.length;
-			byte[] x = new byte[size - n];
-			System.arraycopy(buffer, n, x, 0, size - n);
-			buffer = x;
-			bufferIndex = 0;
-		} else
-			bufferIndex = n;
-	
-		return b;
-	}
-
-	/**
-	 * Listen for input, save it, and pass to the output stream.
-	 * Philosophy: Read a single line separately and translate.
-	 * When blank line is reached, just pass all other data through.
-	 */
-	public void run() {
-		try {
-			try {
-				while (true) {
-					contentLength = -1;
-					transferEncoding = -1;
-					keepAlive = false;
-
-					parseHeader();
-					parseBody();
-					
-					if (isRequest && keepAlive)
-						waitForResponse();
-					
-					//Request r = conn.getRequestResponse(true);
-					//r.fireChangedEvent();
-
-					Trace.trace(Trace.PARSING, "Done HTTP request for " + this + " " + keepAlive);
-					if (!isRequest && !request.keepAlive) {
-						conn2.close();
-						break;
-					}
-					
-					if (!isRequest)
-						notifyRequest();
-					
-					Thread.yield();
-				}
-			} catch (IOException e) {
-				// reached end of input
-				Trace.trace(Trace.PARSING, "End of buffer for: " + this + " " + e.getMessage());
-			}
-
-			// send rest of buffer
-			out.write(buffer, bufferIndex, buffer.length - bufferIndex);
-			out.flush();
-		} catch (Exception e) {
-			Trace.trace(Trace.PARSING, "Error in: " + this, e);
-		}
-		//if (!isRequest)
-		//	conn2.close();
-
-		Trace.trace(Trace.PARSING, "Closing thread " + this);
-	}
-
-	/**
-	 * Sets the title of the call.
-	 *
-	 * @param s java.lang.String
-	 */
-	protected void setLabel(String s) {
-		try {
-			int index1 = s.indexOf(' ');
-			if (index1 < 0 || index1 > 15)
-				return;
-			int index2 = s.indexOf(' ', index1 + 1);
-			if (index2 < 0)
-				return;
-	
-			conn.setLabel(s.substring(index1 + 1, index2), true);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Translate the header line.
-	 * 
-	 * @return byte[]
-	 * @param b byte[]
-	 */
-	protected byte[] translateHeaderLine(byte[] b) {
-		String s = new String(b);
-	
-		if (isRequest && s.startsWith("Host: ")) {
-			String t = "Host: " + host;
-			if (port != 80)
-				t += ":" + port;
-			return convert(t.getBytes());
-		} else if (s.startsWith("Content-Length: ")) {
-			try {
-				contentLength = Integer.parseInt(s.substring(16).trim());
-				Trace.trace(Trace.PARSING, "Content length: " + this + " " + contentLength);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Content length error", e);
-			}
-		} else if (s.startsWith("Connection: ")) {
-			try {
-				String t = s.substring(11).trim();
-				if (t.equalsIgnoreCase("Keep-Alive"))
-					keepAlive = true;
-				Trace.trace(Trace.PARSING, "Keep alive: " + keepAlive);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error getting Connection: from header", e);
-			}
-		} else if (s.startsWith("Transfer-Encoding: ")) {
-			String t = s.substring(19).trim();
-			int size = ENCODING_STRING.length;
-			for (int i = 0; i < size; i++) {
-				if (ENCODING_STRING[i].equalsIgnoreCase(t)) {
-					transferEncoding = (byte) i;
-					Trace.trace(Trace.PARSING, "Transfer encoding: " + ENCODING_STRING[i]);
-				}
-			}
-		}
-	
-		return b;
-	}
-	
-	protected void close() {
-		try {
-			Trace.trace(Trace.PARSING, "Closing: " + this);
-			out.close();
-		} catch (Exception e) {
-			Trace.trace(Trace.PARSING, "Error closing connection " + this + " " + e.getMessage());
-		}
-	}
-
-	protected void waitForResponse() {
-		Trace.trace(Trace.PARSING, "Waiting for response " + this);
-		synchronized (this) {
-			try {
-				isWaiting = true;
-				wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this + " " + e.getMessage());
-			}
-			isWaiting = false;
-		}
-		Trace.trace(Trace.PARSING, "Done waiting for response " + this);
-	}
-
-	protected void notifyRequest() {
-		Trace.trace(Trace.PARSING, "Notifying request " + this);
-		while (request.keepAlive && !request.isWaiting) {
-			Trace.trace(Trace.PARSING, "Waiting for request " + this);
-			try {
-				Thread.sleep(100);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		synchronized (request) {
-			try {
-				request.notify();
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in notifyRequest() " + this + " " + e.getMessage());
-			}
-		}
-		Trace.trace(Trace.PARSING, "Done notifying request " + this);
-	}
-	
-	protected void setHTTPHeader(Request rr) {
-		if (isRequest) {
-			byte[] b = rr.getRequest(Request.ALL);
-			byte[] h = new byte[b.length];
-			System.arraycopy(b, 0, h, 0, b.length);
-			rr.setProperty(HTTPRequest.HTTP_REQUEST_HEADER, h);
-		} else {
-			byte[] b = rr.getResponse(Request.ALL);
-			byte[] h = new byte[b.length];
-			System.arraycopy(b, 0, h, 0, b.length);
-			rr.setProperty(HTTPRequest.HTTP_RESPONSE_HEADER, h);
-		}
-	}
-	
-	protected void setHTTPBody(byte[] b) {
-		Request rr = conn.getRequestResponse(isRequest);
-		if (isRequest)
-			rr.setProperty(HTTPRequest.HTTP_REQUEST_BODY, b);
-		else
-			rr.setProperty(HTTPRequest.HTTP_RESPONSE_BODY, b);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java
deleted file mode 100644
index c9e3441..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java
+++ /dev/null
@@ -1,36 +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.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * A resend HTTP connection wraps an HTTP connection to send an existing request.
- */
-public class ResendHTTPConnection extends HTTPConnection {
-	protected Request existingRequest;
-
-	/**
-	 * Create a new resend connection.
-	 * 
-	 * @param request
-	 */
-	public ResendHTTPConnection(Request request) {
-		super(null);
-		this.existingRequest = request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.internal.http.HTTPConnection#getRequestResponse(int)
-	 */
-	protected Request getRequestResponse(int i) {
-		return existingRequest;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
deleted file mode 100644
index 2a48859..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
+++ /dev/null
@@ -1,148 +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.wst.internet.monitor.core.internal.http;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.Socket;
-
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.SocketWrapper;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Wraps an existing request to create an HTTP request that can be sent. The
- * response is ignored. Only the request is important in this case.
- */
-public class ResendHTTPRequest extends HTTPRequest {
-	private boolean sent = false;
-
-	private byte[] header;
-
-	private byte[] content;
-
-	private Request originalRequest = null;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param monitor
-	 * @param req the request that is to be resent.
-	 */
-	public ResendHTTPRequest(Monitor monitor, Request req) {
-		super(monitor, req.getLocalPort(), req.getRemoteHost(), req.getRemotePort());
-		setProperty(HTTP_REQUEST_HEADER, req.getProperty(HTTP_REQUEST_HEADER));
-		setProperty(HTTP_REQUEST_BODY, req.getProperty(HTTP_REQUEST_BODY));
-		header = req.getRequest(TRANSPORT);
-		content = req.getRequest(CONTENT);
-		request = req.getRequest(ALL);
-		name = req.getName();
-		this.originalRequest = req;
-	}
-
-	/**
-	 * Send the request.
-	 */
-	public void sendRequest() {
-		try {
-			Socket inSocket = new SocketWrapper(new ByteArrayInputStream(request));
-			Socket outSocket = new Socket(remoteHost, remotePort);
-			//Connection conn = new Connection(inSocket, outSocket);
-			//TCPIPThread requestThread = new TCPIPThread(conn, this, in,
-			// outSocket.getOutputStream(), true);
-			//requestThread.start();
-			//new TCPIPThread(conn, this, outSocket.getInputStream(),
-			// inSocket.getOutputStream(), false).start();
-			Connection conn2 = new Connection(inSocket, outSocket);
-			ResendHTTPConnection conn = new ResendHTTPConnection(this);
-
-			HTTPThread request2 = new HTTPThread(conn2, inSocket.getInputStream(),
-					outSocket.getOutputStream(), conn, true, remoteHost, remotePort);
-			HTTPThread response2 = new HTTPThread(conn2, outSocket.getInputStream(),
-					inSocket.getOutputStream(), conn, false, "localhost", localPort, request2);
-			request2.start();
-			response2.start();
-		} catch (IOException e) {
-			response = ("Unable to resend to server.\n" + e).getBytes();
-		}
-		sent = true;
-	}
-
-	/** (non-Javadoc)
-	 * @see Request#addToRequest(byte[])
-	 */
-	public void addToRequest(byte[] addRequest) {
-		// Don't want to add to the request as we already have the request.
-	}
-
-	/**
-	 * Returns <code>true</code> if the request has been sent.
-	 * 
-	 * @return <code>true</code> if the request has been sent, and <code>false</code>
-	 *    otherwise
-	 */
-	public boolean hasBeenSent() {
-		return sent;
-	}
-
-	/**
-	 * Set the request.
-	 * 
-	 * @param request
-	 * @param type
-	 */
-	public void setRequest(byte[] request, int type) {
-		if (request == null)
-			request = new byte[0];
-		if (type == TRANSPORT)
-			header = request;
-		else if (type == CONTENT)
-			content = request;
-		
-		int length = 0;
-		int headerLength = 0;
-		if (header != null) {
-			length += header.length;
-			headerLength = length;
-		}
-		if (content != null)
-			length += content.length;
-		byte[] newRequest = new byte[length];
-		if (header != null)
-			System.arraycopy(header, 0, newRequest, 0, header.length);
-		if (content != null)
-			System.arraycopy(content, 0, newRequest, headerLength, content.length);
-		super.setRequest(newRequest);
-	}
-
-	/** (non-Javadoc)
-	 * @see HTTPRequest#getRequestContent()
-	 */
-	protected byte[] getRequestContent() {
-		return content;
-	}
-
-	/** (non-Javadoc)
-	 * @see HTTPRequest#getRequestHeader()
-	 */
-	protected byte[] getRequestHeader() {
-		return header;
-	}
-
-	/**
-	 * Returns the original request.
-	 * 
-	 * @return the original request
-	 */
-	public Request getOriginalRequest() {
-		return originalRequest;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java
deleted file mode 100644
index d68f35e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java
+++ /dev/null
@@ -1,49 +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.wst.internet.monitor.core.internal.provisional;
-
-import java.io.IOException;
-/**
- * A content filter that filters contents from the monitor traffic on a request.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>contentFilters</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the delegate when required. 
- * </p>
- * <p>
- * [issue: The notion of content filters is a UI/presentation
- * concern, not something that is makes sense to have as core
- * functionality. The contentFilters extension point, IContentFilter,
- * and ContentFilterDelegate should all move to the o.e.wst.internet.monitor.ui
- * plug-in.]
- * [issue: CS - I'd echo the comment above that this seems like a UI concern.  
- * I noticed there's also a viewer on the UI side, so i'm not sure how these would interact. 
- * I assume that filters operate on the byte stream and aren't concerned with UI presentation...
- * but usually UI's and filters are tightly coupled.
- * </p>
- * 
- * @since 1.0
- */
-public abstract class ContentFilterDelegate {
-	/**
-	 * Filter the given content from the given request. The content that has been filtered out will 
-	 * not be shown to clients of the TCP/IP monitor.
-	 * 
-	 * @param request the request that the filter will be performed on
-	 * @param isRequest set to true if the content filter applies to request monitor traffic,
-	 *    or set to false if the content filter applies to the response monitor traffic
-	 * @param content the message content to be filtered out
-	 * @return the filtered content
-	 * @throws IOException if there is an error while parsing or filtering the content
-	 */
-	public abstract byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
deleted file mode 100644
index d474fbe..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
+++ /dev/null
@@ -1,197 +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.wst.internet.monitor.core.internal.provisional;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-/**
- * Represents a monitor between a client and server.
- * The monitor watches all network traffic between a local client (talking
- * on a given local port) and a remote server (identified by host and port).
- * The global list of known monitors is available via {@link MonitorCore#getMonitors()}.
- * IMonitor is thread-safe.
- * <p>
- * IMonitors are read-only. To make changes to a monitor, you must create an
- * IMonitorWorkingCopy by calling createWorkingCopy(). Changes to the working copy
- * are applied when the working copy is saved. Monitors and monitor working copies
- * have the following properties:
- *   * equals() returns true for a monitor and it's working copy
- * <p>
- * [issue: Why the built-in assumption that the client is local? A monitor
- * would make just as much sense sitting between a client on a remote machine
- * and a server.]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IMonitorWorkingCopy
- * @since 1.0
- */
-public interface IMonitor {
-	/**
-	 * Returns the id of this monitor.
-	 * Each monitor has a distinct, fixed id. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * 
-	 * @return the monitor id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the remote host name of the server being monitored.
-	 * 
-	 * @return the remote host name
-	 */
-	public String getRemoteHost();
-	
-	/**
-	 * Returns the remote port number of the server being monitored.
-	 *  
-	 * @return the remote port number
-	 */
-	public int getRemotePort();
-	
-	/**
-	 * Returns the local port number of the client being monitored. This
-	 * is the port that the client is talking to the remote server on.
-	 *  
-	 * @return the local port number
-	 */
-	public int getLocalPort();
-	
-	/**
-	 * Returns the protocol that this monitor uses to read network
-	 * traffic.
-	 * 
-	 * @return the protocol id
-	 */
-	public String getProtocol();
-
-	/**
-	 * Returns whether this monitor is currently running. Monitor working
-	 * copies will always return false (since they cannot be run).
-	 * 
-	 * @return <code>true</code> if the monitor is currently running, or
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isRunning();
-	
-	/**
-	 * Deletes this monitor. The monitor will no longer be available to clients.
-	 * If the monitor is currently running, it will be stopped first.
-	 * This method has no effect if the monitor has already been deleted or if
-	 * it is called on a working copy. Clients have no obligation to delete
-	 * working copies.
-	 */
-	public void delete();
-	
-	/**
-	 * Returns whether this monitor is a working copy. Monitors which return
-	 * <code>true</code> to this method can be safely cast to
-	 * {@link IMonitorWorkingCopy}.
-	 * 
-	 * @return <code>true</code> if this monitor is a working copy, and
-	 * <code>false</code> otherwise
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Returns a working copy for this monitor. If the receiver is not a
-	 * working copy, a new working copy will be created and initialized to have
-	 * the same attributes as this monitor. If the receiver is a working copy,
-	 * this method simply returns the receiver. After configuring attributes on
-	 * the working copy, calling {@link IMonitorWorkingCopy#save()} applies
-	 * the changes to the original monitor.
-	 * 
-	 * @return a working copy of this monitor
-	 */
-	public IMonitorWorkingCopy createWorkingCopy();
-	
-	/**
-	 * Starts the given monitor listening on its client port. This method is
-	 * synchronous and the monitor will be running and ready for use by the
-	 * time that the method returns. This method has no effect if the monitor
-	 * is already running.
-	 * <p>
-	 * A CoreException is thrown if the monitor is not valid, the local port
-	 * is in use, or if another problem occurs when starting the monitor. 
-	 * </p>
-	 * <p>
-	 * This method must not be called on a working copy or after the monitor
-	 * has been deleted.
-	 * </p>
-	 * 
-	 * @throws CoreException thrown if the monitor's properties are invalid,
-	 *   if it fails to start because the port is in use, or another problem occurs
-	 */
-	public void start() throws CoreException;
-
-	/**
-	 * Stops the given monitor and frees up all underlying operating 
-	 * system resources. This method is synchronous and the monitor will be
-	 * running and ready for use by the time that the method returns.
-	 * This method has no effect if the monitor was not already running.
-	 * <p>
-	 * After returning from this method, the monitor may be restarted at
-	 * any time. This method must not be called on a working copy or after
-	 * the monitor has been deleted.
-	 * </p>
-	 */
-	public void stop();
-
-	/**
-	 * Adds a request listener.
-	 * Once registered, a listener starts receiving notification of 
-	 * changes to the global list of requests. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * If a listener is added to a working copy, it will automatically be added
-	 * to the original monitor. If the monitor does not exist yet (when the working
-	 * copy was just created from MonitorCore.createMonitor()), the listener will
-	 * be added to the created monitor when (if) the working copy is saved. 
-	 * </p>
-	 *
-	 * @param listener the request listener
-	 * @see #removeRequestListener(IRequestListener)
-	 */
-	public void addRequestListener(IRequestListener listener);
-	
-	/**
-	 * Removes the given request listener. Has no effect if the listener is
-	 * not registered.
-	 * <p>
-	 * If a listener is removed from a working copy, it will automatically be
-	 * removed from the corresponding original monitor. Removing a monitor from
-	 * a newly created monitor has no effect unless the monitor had already been
-	 * added, in which case it is removed from notification and will not be added
-	 * to the created monitor when (if) the working copy is saved. 
-	 * </p>
-	 * 
-	 * @param listener the listener
-	 * @see #addRequestListener(IRequestListener)
-	 */
-	public void removeRequestListener(IRequestListener listener);
-	
-	/**
-	 * Validates this monitor. This method should return an error if the monitor
-	 * has invalid ports or remote hostname.
-	 * <p>
-	 * This method is not on the working copy so that the runtime can be validated
-	 * at any time.
-	 * </p>
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if this
-	 *   runtime is valid, otherwise a status object indicating what is
-	 *   wrong with it
-	 */
-	public IStatus validate();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java
deleted file mode 100644
index e4e0482..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java
+++ /dev/null
@@ -1,46 +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.wst.internet.monitor.core.internal.provisional;
-/**
- * Listener for global changes affecting monitors.
- * <p>
- * Clients should implement this interface and register
- * their listener via {@link MonitorCore#addMonitorListener(IMonitorListener)}.
- * </p>
- * 
- * @since 1.0
- */
-public interface IMonitorListener {
-	
-	/**
-	 * Notification that the given monitor has been created (added to the
-	 * global list of known monitors).
-	 * 
-	 * @param monitor the newly-created monitor
-	 */
-	public void monitorAdded(IMonitor monitor);
-
-	/**
-	 * Notification that the given monitor has been changed.
-     * Note that the monitor is never a working copy.
-	 * 
-	 * @param monitor the monitor that has been changed
-	 */
-	public void monitorChanged(IMonitor monitor);
-
-	/**
-	 * Notification that the given monitor has been deleted (removed
-	 * from the global list of known monitors).
-	 * 
-	 * @param monitor the monitor that has been deleted
-	 */
-	public void monitorRemoved(IMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
deleted file mode 100644
index 59edacc..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
+++ /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
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-
-import org.eclipse.core.runtime.CoreException;
-/**
- * Represents a working copy of a monitor. A working copy is a copy that the
- * attributes can be changed.
- * IMonitorWorkingCopy is thread-safe. However, working copies instances
- * should be short-lived to reduce the chance of multiple working copies
- * being created by different clients and one client overwritting changes
- * made to the other working copy. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IMonitor
- * @since 1.0
- * 
- * [issue : CS - it sounds like this is something useful for creating monitors. 
- * Shouldn't this be called a IMonitorConfiguration?  Is there an advantage to making
- * this actually seem to be a IMonitor?  Perhaps some UI convenience?  
- * Is a IMonitorWorkingCopy actually 'useable' for monitoring .. or is it really just a configuration? ]
- */
-public interface IMonitorWorkingCopy extends IMonitor {
-	/**
-	 * Returns the original monitor that this working copy corresponds to, or
-	 * <code>null</code> if this working copy was just created from
-	 * MonitorCore.createMonitor().
-	 * 
-	 * @return the original monitor, or <code>null</code> if this working copy
-	 *    was just created
-	 */
-	public IMonitor getOriginal();
-
-	/**
-	 * Sets the local port number of the client to be monitored.
-	 * 
-	 * @param port the local (client) port number
-	 * @see IMonitor#getLocalPort()
-	 */
-	public void setLocalPort(int port);
-
-	/**
-	 * Sets the remote host name of the server to be monitored.
-	 * 
-	 * @param host the new remote host name
-	 * @see IMonitor#getRemoteHost()
-	 */
-	public void setRemoteHost(String host);
-
-	/**
-	 * Sets the remote port number of the server to be monitored.
-	 * 
-	 * @param port the new remote port number
-	 * @see IMonitor#getRemotePort()
-	 */
-	public void setRemotePort(int port);
-
-	/**
-	 * Sets the protocol to be used to read network
-	 * traffic between the server and the client.
-	 * 
-	 * @param protocolId the protocol id
-	 * @see IMonitor#getProtocol()
-	 */
-	public void setProtocol(String protocolId);
-
-	/**
-	 * Saves the changes made to this working copy.
-	 * For a brand new working copy (created by
-	 * {@link MonitorCore#createMonitor()}, and not yet saved), this method
-	 * creates a new monitor instance with attributes matching this working copy.
-	 * For a working copy cloned from an existing monitor instance (by
-	 * {@link IMonitor#createWorkingCopy()}), this method stops the existing
-	 * monitor (using {@link IMonitor#stop()}) if necessary,
-	 * and then sets the attributes of the monitor instance to match this
-	 * working copy (the monitor instance is returned).
-	 * <p>
-	 * Saving a working copy for a monitor that was already deleted will cause
-	 * the monitor to get recreated (with any changes in the working copy).
-	 * </p>
-	 * <p>
-	 * This method throws a CoreException if there is a problem saving the
-	 * monitor. No validation checks occur when saving the monitor. This can be
-	 * done by calling IMonitor.validate() prior to saving.
-	 * </p>
-	 *
-	 * @return the affected monitor
-	 * @throws CoreException thrown if a problem occurs while saving the monitor 
-	 */
-	public IMonitor save() throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java
deleted file mode 100644
index cfbbc0a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java
+++ /dev/null
@@ -1,55 +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.wst.internet.monitor.core.internal.provisional;
-/**
- * Listener for new or modified requests created from a single monitor.
- * Each request represents message traffic between a monitored client
- * and server.
- * <p>
- * Requests are not persisted - they only exist in this API until the
- * connection is done. An initial requestAdded() event is fired when the
- *	request is created (by the client creating a connection), and then
- * requestChanged() events occur as data is passed through the request
- * or changes are made to the request's properties.
- * </p>
- * 
- * @see IMonitor#addRequestListener(IRequestListener)
- * @since 1.0
- */
-public interface IRequestListener {
-	/**
-	 * Notification that the given request was created.
-	 * <p>
-	 * Requests may be created with little to no data in them.
-	 * As additional information is available, the
-	 * <code>requestChanged</code> method is called.
-	 * </p>
-	 * 
-	 * @param monitor the monitor from which the request was initiated
-	 * @param request the request that has been added
-	 */
-	public void requestAdded(IMonitor monitor, Request request);
-
-	/**
-	 * Notification that the given request has been changed.
-	 * This method is called when more data is available in the
-	 * request.
-	 * <p>
-	 * Individual values within the request are rarely modified.
-	 * This method may be called when they are initially set or
-	 * when more data is received from the client or server.
-	 * </p>
-	 * 
-	 * @param monitor the monitor from which the request was initiated
-	 * @param request the request that has been changed
-	 */
-	public void requestChanged(IMonitor monitor, Request request);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
deleted file mode 100644
index aa7f2de..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
+++ /dev/null
@@ -1,111 +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.wst.internet.monitor.core.internal.provisional;
-
-import java.util.List;
-
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-/**
- * Main class for creating new monitors and locating existing ones. The methods on
- * this class are thread safe.
- * <p>
- * This class provides all functionality through static members. It is not intended
- * to be instantiated or subclassed.
- * </p>
- * 
- * @since 1.0
- */
-public final class MonitorCore {
-	private static MonitorManager manager;
-	
-	/**
-	 * Cannot create MonitorCore - use static methods.
-	 */
-	private MonitorCore() {
-		// can't create
-	}
-	
-	/**
-	 * Returns a monitor manager instance.
-	 * 
-	 * @return the monitor manager
-	 */
-	private static MonitorManager getManager() {
-		if (manager == null)
-			manager = MonitorManager.getInstance();
-		return manager;
-	}
-
-	/**
-	 * Returns a list of all known monitor instances. The list will not contain any
-	 * working copies and is persisted between workbench sessions.
-	 * <p>
-	 * A new array is returned on each call; clients may safely store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of monitor instances
-	 */
-	public static IMonitor[] getMonitors() {
-		List list = getManager().getMonitors();
-		IMonitor[] m = new IMonitor[list.size()];
-		list.toArray(m);
-		return m;
-	}
-
-	/**
-	 * Creates a new monitor working copy. After configuring parameters on
-	 * the working copy, calling {@link IMonitorWorkingCopy#save()} brings
-	 * the monitor into existence.
-	 * <p>
-	 * Note that the client is responsible for calling {@link IMonitor#delete()}
-	 * to delete the monitor once it is no longer needed.
-	 * </p>
-	 * <p>
-	 * When monitors are created, the local and remote port values default to
-	 * <code>80</code>, but they do not have a protocol or remote host (values
-	 * are <code>null</code>).
-	 * </p> 
-	 * 
-	 * @return a monitor working copy
-	 */
-	public static IMonitorWorkingCopy createMonitor() {
-		return getManager().createMonitor();
-	}
-
-	/**
-	 * Adds a monitor listener.
-	 * Once registered, a listener starts receiving notification of 
-	 * changes to the monitors. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the monitor listener
-	 * @see #removeMonitorListener(IMonitorListener)
-	 */
-	public static void addMonitorListener(IMonitorListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		getManager().addMonitorListener(listener);
-	}
-
-	/**
-	 * Removes the given monitor listener. Has no
-	 * effect if the listener is not registered.
-	 * 
-	 * @param listener the listener
-	 * @see #addMonitorListener(IMonitorListener)
-	 */
-	public static void removeMonitorListener(IMonitorListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		getManager().removeMonitorListener(listener);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
deleted file mode 100644
index afc6ead..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
+++ /dev/null
@@ -1,350 +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.wst.internet.monitor.core.internal.provisional;
-
-import java.util.Date;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-/**
- * Represents a TCP/IP request made between the client and the server.
- * Each request represents a request-response pair, where the request
- * is from client -> server, and the response is from server -> client.
- * <p>
- * Requests are created by a running monitor. They do not have a reference
- * back to the monitor because the monitor may have been deleted or modified
- * since the request was created.
- * </p>
- * <p>
- * This interface is intended to be extended only by clients
- * to extend the <code>protocolAdapters</code> extension point. 
- * </p>
- * 
- * @since 1.0
- */
-public class Request implements IAdaptable {
-	protected Monitor monitor;
-	protected Date date;
-	protected long responseTime = -1;
-	protected int localPort;
-	protected String remoteHost;
-	protected int remotePort;
-	protected byte[] request;
-	protected byte[] response;
-	
-	protected String name;
-	protected String protocolId;
-
-	protected Properties properties;
-	
-	/**
-	 * Request2 content type (value 1) for the transport (header) of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int TRANSPORT = 1;
-
-	/**
-	 * Request2 content type (value 2) for the content (body) of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int CONTENT = 2;
-
-	/**
-	 * Request2 content type (value 3) for the entire content of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int ALL = 3;
-
-	/**
-	 * Create a new Request.
-	 * 
-	 * @param monitor a monitor
-	 * @param protocolId the protocol id
-	 * @param localPort a local port number
-	 * @param remoteHost a remote hostname
-	 * @param remotePort a remote port number
-	 */
-	public Request(Monitor monitor, String protocolId, int localPort, String remoteHost, int remotePort) {
-		super();
-		this.monitor = monitor;
-		this.protocolId = protocolId;
-		this.localPort = localPort;
-		this.remoteHost = remoteHost;
-		this.remotePort = remotePort;
-		date = new Date();
-		properties = new Properties();
-		if (monitor != null)
-			monitor.addRequest(this);
-	}
-
-	/**
-	 * Returns the protocol responsible for creating this request.
-	 * 
-	 * @return the protocol id
-	 */
-	public String getProtocol() {
-		return protocolId;
-	}
-
-	/**
-	 * Returns the time this request was made.
-	 *
-	 * @return the timestamp
-	 */
-	public Date getDate() {
-		return date;
-	}
-
-	/**
-	 * Returns the local (client) port.
-	 *
-	 * @return the local port number
-	 */
-	public int getLocalPort() {
-		return localPort;
-	}
-
-	/**
-	 * Returns the remote (server) host.
-	 *
-	 * @return the remote host
-	 */
-	public String getRemoteHost() {
-		return remoteHost;
-	}
-
-	/**
-	 * Returns the remote (server) port.
-	 *
-	 * @return the remote port number
-	 */
-	public int getRemotePort() {
-		return remotePort;
-	}
-
-	/**
-	 * Returns the selected content of the request portion of this request.
-	 * <p>
-	 * [issue: I don't know how to explain this. For basic TCP/IP requests,
-	 * distinction between transport and content is ignored.
-	 * For HTTP requests, this TRANSPORT returns just the HTTP header and 
-	 * CONTENT returns just the HTTP body without the headers. What would
-	 * it mean for other protocols?
-	 * </p>
-	 *
-	 * @param type the content type: one of {@link #TRANSPORT},
-	 *    {@link #CONTENT}, or {@link #ALL}
-	 * @return the content bytes
-	 */
-	public byte[] getRequest(int type) {
-		return request;
-	}
-
-	/**
-	 * Returns the selected content of the response portion of this request.
-	 * <p>
-	 * [issue: I don't know how to explain this. For basic TCP/IP requests,
-	 * distinction between transport and content is ignored.
-	 * For HTTP requests, this TRANSPORT returns just the HTTP header and 
-	 * CONTENT returns just the HTTP body without the headers. What would
-	 * it mean for other protocols?]
-	 * </p>
-	 *
-	 * @param type the content type: one of {@link #TRANSPORT},
-	 *    {@link #CONTENT}, or {@link #ALL}
-	 * @return the content bytes
-	 */
-	public byte[] getResponse(int type) {
-		return response;
-	}
-
-	/**
-	 * Returns the server's response time in milliseconds. If the request
-	 * has not been completed yet, -1 is returned.
-	 *
-	 * @return the server's response time, or -1 if there has been no
-	 *    response yet
-	 */
-	public long getResponseTime() {
-		return responseTime;
-	}
-
-	/**
-	 * Returns a name for this request.
-	 *
-	 * @return the name
-	 */
-	public String getName() {
-		if (name == null)
-			return getRemoteHost() + ":" + getRemotePort();
-		
-		return name;
-	}
-	
-	/**
-	 * Sets the name of this request.
-	 *
-	 * @param n the name
-	 */
-	protected void setName(String n) {
-		name = n;
-	}
-
-	/**
-	 * Sets the given key-value property on this request. To remove a property,
-	 * set the value to null.
-	 * <p>
-	 * This method is typically called by protocol adapters to attach protocol-
-	 * specific fields to the request, but it may be called by any client.
-	 * </p>
-	 * 
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void setProperty(String key, Object value) {
-		try {
-			if (properties.containsKey(key))
-				properties.remove(key);
-			if (value != null)
-				properties.put(key, value);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not add property", e);
-		}
-	}
-
-	/**
-	 * Returns the value of the property with the given key from this request.
-	 * If the key does not exist, <code>null</code> is returned.
-	 * 
-	 * @param key the property key 
-	 * @return the property value
-	 */
-	public Object getProperty(String key) {
-		try {
-			return properties.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Add to the request.
-	 *
-	 * @param addRequest byte[]
-	 */
-	public void addToRequest(byte[] addRequest) {
-		if (addRequest == null || addRequest.length == 0)
-			return;
-	
-		if (request == null || request.length == 0) {
-			setRequest(addRequest);
-			return;
-		}
-	
-		int size = request.length + addRequest.length;
-		byte[] b = new byte[size];
-		System.arraycopy(request, 0, b, 0, request.length);
-		System.arraycopy(addRequest, 0, b, request.length, addRequest.length);
-		request = b;
-		fireChangedEvent();
-	}
-
-	/**
-	 * Add to the response.
-	 *
-	 * @param addResponse byte[]
-	 */
-	public void addToResponse(byte[] addResponse) {
-		if (addResponse == null || addResponse.length == 0)
-			return;
-	
-		if (response == null || response.length == 0) {
-			setResponse(addResponse);
-			return;
-		}
-	
-		int size = response.length + addResponse.length;
-		byte[] b = new byte[size];
-		System.arraycopy(response, 0, b, 0, response.length);
-		System.arraycopy(addResponse, 0, b, response.length, addResponse.length);
-		response = b;
-		fireChangedEvent();
-	}
-
-	/**
-	 * Set the request.
-	 *
-	 * @param request byte[]
-	 */
-	protected void setRequest(byte[] request) {
-		if (request == null || request.length == 0)
-			return;
-	
-		this.request = request;
-		monitor.requestChanged(this);
-	}
-
-	/**
-	 * Set the response.
-	 *
-	 * @param response byte[]
-	 */
-	protected void setResponse(byte[] response) {
-		if (response == null || response.length == 0)
-			return;
-	
-		this.response = response;
-		responseTime = System.currentTimeMillis() - date.getTime();
-		monitor.requestChanged(this);
-	}
-
-	/**
-	 * Returns the monitor that created this request.
-	 * Change events will be fired from this monitor.
-	 * <p>
-	 * Note that the monitor may have been editted since this
-	 * request was created, so you cannot rely on the monitor's
-	 * hostname or port values.
-	 * </p>
-	 * 
-	 * @return the monitor that created this request
-	 */
-	public IMonitor getMonitor() {
-		return monitor;
-	}
-
-	/**
-	 * Fire a change event to notify monitor listeners that the request has changed.
-	 */
-	protected void fireChangedEvent() {
-		if (monitor != null)
-			monitor.requestChanged(this);
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html
deleted file mode 100644
index 505ed58..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html
+++ /dev/null
@@ -1,31 +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>
-<p>This package gives core (non-UI) access to the TCP/IP monitor. Clients can
-query for existing monitors, create new monitors, start/stop monitors, and
-listen for requests being received by a running monitor.</p>
-<table width="500">
-<tr>
-<td>
-<p>The MonitorCore class gives initial access to all of the API. From here you
-can query the existing monitors, create new ones, and add/remove a listener for
-monitor changes.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The IMonitor interface provides information about a particular monitor,
-allowing you to change it via a working copy, start/stop it, or add a listener
-for request activity.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml
deleted file mode 100644
index 3f4e04a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml
+++ /dev/null
@@ -1,27 +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>
-
-
-<abstract>This package gives core (non-UI) access to the TCP/IP monitor. Clients can
-query for existing monitors, create new monitors, start/stop monitors, and
-listen for requests being received by a running monitor.</abstract>
-
-<p>The MonitorCore class gives initial access to all of the API. From here you
-can query the existing monitors, create new ones, and add/remove a listener for
-monitor changes.</p>
-
-<p>The IMonitor interface provides information about a particular monitor,
-allowing you to change it via a working copy, start/stop it, or add a listener
-for request activity.</p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties
deleted file mode 100644
index f0e5242..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.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=Monitor
-providerName=Eclipse.org
-
-extensionPointProtocolAdapters=Protocol Adapters
-extensionPointContentFilters=Content Filters
-extensionPointStartup=Startup
-
-HTTP=HTTP
-TCPIP=TCP/IP
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml
deleted file mode 100644
index 5a825fa..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-<extension-point name="%extensionPointProtocolAdapters" id="internalProtocolAdapters" schema="schema/protocolAdapters.exsd"/>
-<extension-point name="%extensionPointContentFilters" id="internalContentFilters" schema="schema/internalContentFilters.exsd"/>
-<extension-point name="%extensionPointStartup" id="internalStartup" schema="schema/startup.exsd"/>
-
-<extension point="org.eclipse.wst.internet.monitor.core.internalProtocolAdapters">
-  <protocolAdapter
-    id="TCP/IP"
-    class="org.eclipse.wst.internet.monitor.core.internal.TCPIPProtocolAdapter"
-    name="%TCPIP"/>
-  <protocolAdapter
-    id="HTTP"
-    class="org.eclipse.wst.internet.monitor.core.internal.http.HTTPProtocolAdapter"
-    name="%HTTP"/>
-</extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd
deleted file mode 100644
index ae394e0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.monitor.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="contentFilters" name="Content Filters"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to filter content received in a monitor.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="filter">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of a Java class that extends &lt;samp&gt;org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate&lt;/samp&gt;.
-Content filter instances of this type will delegate to instances of this class.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used to identify the filter
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="order" type="int">
-            <annotation>
-               <documentation>
-                  an integer used to order filters relative to each other. Lower orders are processed first
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a content filter extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.wst.internet.monitor.core.contentFilter&quot;&gt;
-  &lt;filter
-   id=&quot;com.example.ExampleIdentifier&quot;
-   name=&quot;%exampleName&quot;
-   class=&quot;com.example.ExampleContentFilter&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that extends the abstract class &lt;b&gt;org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd
deleted file mode 100644
index 12e52b7..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.wst.internet.monitor.core">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="internalProtocolAdapters" name="Protocol Adapters"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide an adapter for a new protocol (e.g. HTTP). This allows different types of protocols to be monitored in a specific way.
-
-This extension point is currently not being exposed as API.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="protocolAdapter" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="protocolAdapter">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate&lt;/samp&gt;
-Protocol adapter instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the protocol adapter

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a protocol adapter extension point to define a protocol adapter for TCP/IP:
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.internet.monitor.core.protocolAdapters&quot;&gt;
-  &lt;protocolAdapter
-    id=&quot;TCPIP&quot;
-    class=&quot;com.example.TCPIPProtocolAdapter&quot;
-    name=&quot;%TCPIP&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that extends the abstract class &lt;b&gt;org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd
deleted file mode 100644
index 1382f3a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.monitor.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="internalStartup" name="Startup"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to load a secondary plugin. The extension point will be called when the monitor core plugin starts up.
-
-This extension point is internal and should not be used by any other plugins.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="startup" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="startup">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.IStartup"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a startup extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.internet.monitor.core.internal.startups&quot;&gt;
-  &lt;startup
-    id=&quot;com.example.myplugin&quot;
-    class=&quot;com.example.myplugin.Startup&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         This extension point is internal and should not be used by any other plugins.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>