This commit was manufactured by cvs2svn to create tag 'v20041125'.
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/.project b/plugins/org.eclipse.jst.server.core/.project
deleted file mode 100644
index 3062b1a..0000000
--- a/plugins/org.eclipse.jst.server.core/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.core</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.wst.server.core</project>
-	</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/build.properties b/plugins/org.eclipse.jst.server.core/build.properties
deleted file mode 100644
index f87e0c4..0000000
--- a/plugins/org.eclipse.jst.server.core/build.properties
+++ /dev/null
@@ -1,19 +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,\
-               *.jar,\
-               plugin.properties,\
-               sjavacore.jar
-jars.compile.order = 
-src.includes = schema/,\
-               build.properties
-output.sjavacore.jar = bin/
-source.sjavacore.jar = sjavacore/
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 4dc017a..0000000
--- a/plugins/org.eclipse.jst.server.core/plugin.properties
+++ /dev/null
@@ -1,48 +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
-###############################################################################
-pluginName=Java Server Support
-providerName=IBM
-
-# Commands
-commandSetVMArguments=set VM arguments
-commandSetVMArgumentsDescription=Set the Java VM arguments
-commandSetPath=set system path
-commandSetPathDescription=Set the system path
-commandSetPathType=set system path option
-commandSetPathTypeDescription=Set the system path option
-commandAddSystemProperty=add system property
-commandAddSystemPropertyDescription=Add a system property
-commandModifySystemProperty=modify system property
-commandModifySystemPropertyDescription=Modify the system property
-commandRemoveSystemProperty=remove system property
-commandRemoveSystemPropertyDescription=Remove a system property
-commandAddToClasspath=add to class path
-commandAddToClasspathDescription=Add to the class path
-commandEditClasspath=edit class path
-commandEditClasspathDescription=Edit the class path
-commandReorderClasspath=reorder class path
-commandReorderClasspathDescrption=Reorder the class path
-commandRemoveFromClasspath=remove from class path
-commandRemoveFromClasspathDescription=Remove from the class path
-
-classpathContainerDescription=Server Classpath Container
-
-runtimeTypeName=J2EE Runtime Library
-runtimeTypeDescription=A runtime that represents a set of J2EE runtime libraries.
-
-errorName=Invalid name.
-errorLocation=Invalid location.
-errorJRE=Invalid JRE.
-errorDuplicateRuntimeName=Name is already in use.
-
-moduleTypeJ2EEWebName=J2EE Web module
-moduleTypeJ2EEEJBName=J2EE EJB module
-moduleTypeJ2EEEARName=J2EE Enterprise application
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 de93910..0000000
--- a/plugins/org.eclipse.jst.server.core/plugin.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.jst.server.core"
-  name="%pluginName"
-  version="3.0.0"
-  provider-name="%providerName"
-  class="org.eclipse.jst.server.core.internal.JavaServerPlugin">
-
-  <requires>
-    <import plugin="org.eclipse.core.resources" />
-    <import plugin="org.eclipse.debug.core" />
-    <import plugin="org.eclipse.wst.server.core" />
-    <import plugin="org.eclipse.jdt.core" />
-    <import plugin="org.eclipse.jdt.launching" />
-    <import plugin="org.eclipse.core.runtime"/>
-  </requires>
-
-  <runtime>
-    <library name="sjavacore.jar">
-      <export name="*"/>
-      <packages prefixes="org.eclipse.jst.server.core,org.eclipse.jst.server.j2ee"/>
-    </library>
-  </runtime>
-
-  <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.moduleKinds">
-    <moduleKind
-       id="j2ee.web"
-       name="%moduleTypeJ2EEWebName"/>
-    <moduleKind
-       id="j2ee.ejb"
-       name="%moduleTypeJ2EEEJBName"/>
-    <moduleKind
-       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"
-       workingCopyClass="org.eclipse.jst.server.core.internal.GenericRuntimeWorkingCopy">
-       <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>
-
-</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 67808f4..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - 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.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.RuntimeClasspathContainer;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.model.IRuntimeTargetHandlerDelegate;
-
-/**
- * 
- */
-public abstract class ClasspathRuntimeTargetHandler implements IRuntimeTargetHandlerDelegate {
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IRuntimeTargetDelegate#setRuntimeTarget(org.eclipse.core.resources.IProject, org.eclipse.wst.server.core.IRuntime)
-	 */
-	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);
-			if (entries != null) {
-				size = entries.length;
-				for (int i = 0; i < size; i++)
-					add.add(entries[i]);
-			}
-			
-			String[] ids = getClasspathEntryIds(runtime);
-			if (ids != null) {
-				size = ids.length;
-				for (int i = 0; i < size; i++) {
-					IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER).append(getId()).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));
-		}
-	}
-	
-	protected void cleanupDuplicateClasspath(IJavaProject project, List current, List add) {
-		// 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 org.eclipse.wst.server.core.model.IRuntimeTargetDelegate#removeRuntimeTarget(org.eclipse.core.resources.IProject, org.eclipse.wst.server.core.IRuntime)
-	 */
-	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);
-			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);
-		}
-	}
-	
-	protected 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) {
-		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));
-				}
-			}
-		}
-	}
-	
-	protected static void addLibraryEntries(List list, File dir, boolean includeSubdirectories) {
-		addJarFiles(dir, list, includeSubdirectories);
-	}
-	
-	protected static void addLibraryEntry(List list, File dir) {
-		IPath path = new Path(dir.getAbsolutePath());
-		list.add(JavaCore.newLibraryEntry(path, null, null));
-	}
-	
-	protected static void addLibraryEntry(List list, IPath path) {
-		list.add(JavaCore.newLibraryEntry(path, null, null));
-	}
-	
-	protected static void addLibraryEntry(List list, IPath path, IPath source, IPath root) {
-		list.add(JavaCore.newLibraryEntry(path, source, root));
-	}
-
-	protected static IClasspathEntry[] resolveList(List list) {
-		IClasspathEntry[] entries = new IClasspathEntry[list.size()]; 
-		list.toArray(entries);
-		return entries;
-	}
-
-	public abstract String getId();
-
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime) {
-		return null;
-	}
-	
-	public String[] getClasspathEntryIds(IRuntime runtime) {
-		return null;
-	}
-
-	public abstract String getClasspathContainerLabel(IRuntime runtime, String id);
-
-	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/GenericRuntimeUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/GenericRuntimeUtil.java
deleted file mode 100644
index 42cac9b..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/GenericRuntimeUtil.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * Utility methods for the generic J2EE runtime.
- */
-public class GenericRuntimeUtil {
-	protected static final String RUNTIME_TYPE_ID = "org.eclipse.jst.server.core.runtimeType";
-
-	public static boolean isGenericJ2EERuntime(IRuntime runtime) {
-		return (runtime != null && 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/IGenericRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
deleted file mode 100644
index 60b3041..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.launching.IVMInstall;
-
-import org.eclipse.wst.server.core.model.IRuntimeDelegate;
-/**
- * 
- */
-public interface IGenericRuntime extends IRuntimeDelegate {
-	public String getVMInstallTypeId();
-
-	public String getVMInstallId();
-
-	public IVMInstall getVMInstall();
-
-	public IStatus validate();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
deleted file mode 100644
index 8182e0f..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core;
-
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
-/**
- *
- */
-public interface IGenericRuntimeWorkingCopy extends IGenericRuntime, IRuntimeWorkingCopyDelegate {
-	public void setVMInstall(String typeId, String id);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JavaResources.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JavaResources.java
deleted file mode 100644
index 742997d..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JavaResources.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core;
-
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-/**
- * 
- */
-public class JavaResources {
-	/**
-	 * Returns the translated String found with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key) {
-		return JavaServerPlugin.getResource(key);
-	}
-	
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arguments java.lang.Object[]
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, Object[] arguments) {
-		return JavaServerPlugin.getResource(key, arguments);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/LaunchConfigurationUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/LaunchConfigurationUtil.java
deleted file mode 100644
index 97d04d9..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/LaunchConfigurationUtil.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * 
- */
-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
-	 * @return
-	 * @throws CoreException
-	 */
-	public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create) throws CoreException {
-		ILaunchConfiguration config = server.getLaunchConfiguration(create);
-		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) throws CoreException {
-		ILaunchConfiguration config = server.getLaunchConfiguration(true);
-		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/SystemProperty.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/SystemProperty.java
deleted file mode 100644
index c884c30..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/SystemProperty.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core;
-/**
- * A system property name/value pair.
- */
-public class SystemProperty {
-	protected String name;
-	protected String value;
-
-	/**
-	 * SystemProperty constructor comment.
-	 */
-	public SystemProperty(String name, String value) {
-		super();
-		this.name = name;
-		this.value = value;
-	}
-
-	/**
-	 * Returns true if the object is a SystemProperty and has
-	 * the same name and value.
-	 *
-	 * @param obj java.lang.Object
-	 * @return boolean
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof SystemProperty))
-			return false;
-	
-		SystemProperty sp = (SystemProperty) obj;
-		return (name != null && name.equals(sp.getName()) &&
-			value != null && value.equals(sp.getValue()));
-	}
-
-	/**
-	 * Returns the property name.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the property value.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getValue() {
-		return value;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Util.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Util.java
deleted file mode 100644
index 9534967..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Util.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * 
- */
-public class Util {
-	/**
-	 * Returns the types contained within this java element.
-	 * @param element org.eclipse.jdt.core.api.IJavaElement
-	 * @return org.eclipse.jdt.core.api.IType[]
-	 */
-	private static IType[] getTypes(IJavaElement element) {
-		try {
-			if (element.getElementType() != IJavaElement.COMPILATION_UNIT)
-				return null;
-			
-			return ((ICompilationUnit) element).getAllTypes();
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * If this resource is a servlet, return the class name.
-	 * If not, return null.
-	 * @param resource
-	 * @return java.lang.String
-	 */
-	public static String getServletClassName(IResource resource) {
-		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)) {
-				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 (isServlet(types[i]))
-						return types[i].getFullyQualifiedName();
-				}
-			}
-			return null;
-		} catch (Exception e) {
-			Trace.trace("Could not find servlet class", e);
-			return null;
-		}
-	}
-
-	/**
-	 * Returns true if this java type derives from javax.servlet.GenericServlet
-	 * @param type org.eclipse.jdt.core.api.IType
-	 * @return boolean
-	 */
-	private static boolean isServlet(IType type) {
-		try {
-			ITypeHierarchy hierarchy = type.newSupertypeHierarchy(null);
-			IType[] superClasses = hierarchy.getAllSuperclasses(type);
-	
-			int size = superClasses.length;
-			for (int i = 0; i < size; i++) {
-				if ("javax.servlet.GenericServlet".equals(superClasses[i].getFullyQualifiedName()))
-					return true;
-			}
-			return false;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-}
\ 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 6959f4c..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - 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.jst.server.core.IGenericRuntime;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * 
- */
-public class GenericRuntime implements IGenericRuntime {
-	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 IRuntime runtime;
-
-	public GenericRuntime() {
-		// do nothing
-	}
-
-	public void initialize(IRuntime newRuntime) {
-		this.runtime = newRuntime;
-	}
-
-	public String getVMInstallTypeId() {
-		return runtime.getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-
-	public String getVMInstallId() {
-		return runtime.getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-
-	public IVMInstall getVMInstall() {
-		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 IStatus validate() {
-		if (runtime.getName() == null || runtime.getName().length() == 0)
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorName"), null);
-
-		if (ServerUtil.isNameInUse(runtime))
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorDuplicateRuntimeName"), null);
-		
-		IPath path = runtime.getLocation();
-		if (path == null || path.isEmpty())
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, "", null);
-		else if (!path.toFile().exists())
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorLocation"), null);
-		else if (getVMInstall() == null)
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorJRE"), null);
-		else
-			return new Status(IStatus.OK, JavaServerPlugin.PLUGIN_ID, 0, "", null);
-	}
-	
-	public void dispose() {
-		// do nothing
-	}
-}
\ 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 254e749..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 IBM Corporation and others.
- * 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:
- *    IBM - 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.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 {
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime) {
-		GenericRuntime genericRuntime = (GenericRuntime) runtime.getDelegate();
-		IVMInstall vmInstall = genericRuntime.getVMInstall();
-		if (vmInstall != null) {
-			String name = vmInstall.getName();
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append("org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType").append(name)) };
-		}
-		return null;
-	}
-
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		return JavaServerPlugin.getResource("%runtimeTargetContainer");
-	}
-	
-	public String[] getClasspathEntryIds(IRuntime runtime) {
-		return new String[1];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
-	 */
-	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 resolveList(list);
-	}
-
-	public String getId() {
-		return "org.eclipse.jst.server.core.runtimeTarget";
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeWorkingCopy.java
deleted file mode 100644
index ed684d7..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IGenericRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-/**
- * 
- */
-public class GenericRuntimeWorkingCopy extends GenericRuntime implements IGenericRuntimeWorkingCopy {
-	protected IRuntimeWorkingCopy wc;
-
-	public void initialize(IRuntimeWorkingCopy runtime2) {
-		wc = runtime2;
-	}
-	
-	public void setDefaults() {
-		IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-		setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-	}
-
-	public void setVMInstall(String typeId, String id) {
-		if (typeId == null)
-			wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-		else
-			wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-		
-		if (id == null)
-			wc.setAttribute(PROP_VM_INSTALL_ID, (String)null);
-		else
-			wc.setAttribute(PROP_VM_INSTALL_ID, id);
-	}
-	
-	public void handleSave(byte id, IProgressMonitor monitor) {
-		// do nothing
-	}
-}
\ 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 605e475..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.*;
-/**
- * The main server tooling plugin class.
- */
-public class JavaServerPlugin extends Plugin {
-	// server java 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 org.eclipse.jst.server.JavaServerPlugin
-	 */
-	public static JavaServerPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key) {
-		try {
-			return Platform.getResourceString(getInstance().getBundle(), key);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arguments java.lang.Object[]
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, Object[] arguments) {
-		try {
-			String text = getResource(key);
-			return MessageFormat.format(text, arguments);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-}
\ No newline at end of file
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 b08e363..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - 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 {
-	public static final String SERVER_CONTAINER = JavaServerPlugin.PLUGIN_ID + ".container";
-	
-	private IPath path;
-	private ClasspathRuntimeTargetHandler delegate;
-	private IRuntime runtime;
-	
-	private String 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.resolveClasspathContainer(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 JavaServerPlugin.getResource("%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 d99ce6a..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - 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.ClasspathRuntimeTargetHandler;
-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 delegate = null;
-				IRuntime runtime = null;
-				String id = "";
-				if (containerPath.segmentCount() > 2) {
-					IRuntimeTargetHandler handler = ServerCore.getRuntimeTargetHandler(containerPath.segment(1));
-					if (handler != null)
-						delegate = (ClasspathRuntimeTargetHandler) handler.getDelegate();
-					String runtimeId = containerPath.segment(2);
-					runtime = ServerCore.getResourceManager().getRuntime(runtimeId);
-					if (containerPath.segmentCount() > 3)
-						id = containerPath.segment(3);
-				}
-				RuntimeClasspathContainer container = new RuntimeClasspathContainer(containerPath, delegate, runtime, id);
-				JavaCore.setClasspathContainer(containerPath, new IJavaProject[] {project}, new IClasspathContainer[] {container}, null);
-			}
-		}
-	}
-	
-	/**
-	 * @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 JavaServerPlugin.getResource("%classpathContainerDescription");
-	}
-}
\ 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 51273c9..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core.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 s java.lang.String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!JavaServerPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(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/j2ee/EJBBean.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/EJBBean.java
deleted file mode 100644
index a098867..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/EJBBean.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
-
-public class EJBBean implements IModuleObject {
-	public static final String ID = "org.eclipse.jst.server.j2ee.ejb";
-
-	private IModule module;
-	private String jndiName;
-	private boolean local;
-	private boolean remote;
-
-	/**
-	 * @deprecated - use the other constructor
-	 * @param module
-	 * @param ejbName
-	 */
-	public EJBBean(IModule module, String ejbName) {
-		this.module = module;
-		this.jndiName = ejbName;
-	}
-
-	public EJBBean(IModule module, String jndiName, boolean remote, boolean local) {
-		this.module = module;
-		this.jndiName = jndiName;
-		this.remote = remote;
-		this.local = local;
-	}
-
-	/*
-	 * @see IModuleObject#getId()
-	 */
-	public String getId() {
-		return ID;
-	}
-
-	/*
-	 * @see IModuleObject#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	public String getJndiName() {
-		return jndiName;
-	}
-
-	public boolean hasRemoteInterface() {
-		return remote;
-	}
-	
-	public boolean hasLocalInterface() {
-		return local;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IApplicationClientModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IApplicationClientModule.java
deleted file mode 100644
index 5230890..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IApplicationClientModule.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-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/j2ee/IConnectorModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IConnectorModule.java
deleted file mode 100644
index e39dcb4..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IConnectorModule.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import java.util.List;
-/**
- * A J2EE connector module.
- */
-public interface IConnectorModule extends IJ2EEModule {
-	/**
-	 * Returns the classpath as a list of absolute IPaths.
-	 * 
-	 * @param java.util.List
-	 */
-	public List getClasspath();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEJBModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEJBModule.java
deleted file mode 100644
index 5defe37..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEJBModule.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-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/j2ee/IEnterpriseApplication.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEnterpriseApplication.java
deleted file mode 100644
index 4f25930..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEnterpriseApplication.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * 
- */
-public interface IEnterpriseApplication extends IModule {
-	/**
-	 * Returns a version number in the form "x.y.z".
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getJ2EESpecificationVersion();
-
-	/**
-	 * Returns the modules contained within this EAR.
-	 *
-	 * @return org.eclipse.jst.server.j2ee.IJ2EEModule[]
-	 */
-	public IJ2EEModule[] getModules();
-
-	/**
-	 * Returns the URI of the given J2EE module within this
-	 * enterprise application.
-	 *
-	 * @param org.eclipse.jst.server.j2ee.IJ2EEModule
-	 * @return java.lang.String
-	 */
-	public String getURI(IJ2EEModule module);
-
-	/**
-	 * Returns true if this EAR supports loose modules.
-	 * 
-	 * @return boolean
-	 */
-	public boolean containsLooseModules();
-	
-	/**
-	 * Returns the location of the root of the application. May
-	 * return null if isUnitTest() returns false. This should
-	 * be an absolute path that is not workbench relative.
-	 * 
-	 * @return org.eclipse.core.runtime.IPath
-	 */
-	public IPath getLocation();
-}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IJ2EEModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IJ2EEModule.java
deleted file mode 100644
index ae79fd2..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IJ2EEModule.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * An abstract J2EE module that can be deployed to a server.
- */
-public interface IJ2EEModule extends IModule {
-	/**
-	 * Returns a version number in the form "x.y.z".
-	 * 
-	 * @param java.lang.String
-	 */
-	public String getJ2EESpecificationVersion();
-
-	/**
-	 * Returns the location of the root of the module. May
-	 * return null if isUnitTest() returns false. 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) 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/j2ee/ILooseArchive.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchive.java
deleted file mode 100644
index fe63c0d..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchive.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * 
- */
-public interface ILooseArchive extends IModule {
-	/**
-	 * 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/j2ee/ILooseArchiveSupport.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchiveSupport.java
deleted file mode 100644
index bb9e381..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchiveSupport.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-public interface ILooseArchiveSupport {
-	/**
-	 * Return the loose archives that are contained within this enterprise
-	 * application.
-	 *
-	 * @return ILooseArchive[]
-	 */
-	public ILooseArchive[] getLooseArchives();
-
-	/**
-	 * Returns the URI of the given loose archive within this
-	 * enterprise application.
-	 *
-	 * @param com.ibm.etools.server.j2ee.ILooseArchive
-	 * @return java.lang.String
-	 */
-	public String getURI(ILooseArchive jar);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IStaticWeb.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IStaticWeb.java
deleted file mode 100644
index 7a17d22..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IStaticWeb.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * A static Web module that could be deployed to Apache or another
- * HTTP server.
- */
-public interface IStaticWeb extends IModule {
-	/**
-	 * Returns the context root of the Web.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getContextRoot();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IWebModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IWebModule.java
deleted file mode 100644
index 848033f..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IWebModule.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-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/j2ee/J2EEUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/J2EEUtil.java
deleted file mode 100644
index 1e04376..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/J2EEUtil.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- *
- */
-public class J2EEUtil {
-	/**
-	 * Returns the enterprise applications that the module is contained within.
-	 * 
-	 * @param module org.eclipse.jst.server.j2ee.IJ2EEModule
-	 * @return org.eclipse.jst.server.j2ee.IEnterpriseApplication
-	 */
-	public static IEnterpriseApplication[] getEnterpriseApplications(IJ2EEModule module) {
-		Iterator iterator = ServerUtil.getModules("j2ee.ear", "*", false).iterator();
-		List list = new ArrayList();
-		while (iterator.hasNext()) {
-			IModule module2 = (IModule) iterator.next();
-			if (module2 instanceof IEnterpriseApplication) {
-				IEnterpriseApplication ear = (IEnterpriseApplication) module2;
-				IJ2EEModule[] modules = ear.getModules();
-				if (modules != null) {
-					int size = modules.length;
-					for (int i = 0; i < size; i++) {
-						if (modules[i].equals(module))
-							list.add(ear);
-					}
-				}
-			}
-		}
-		IEnterpriseApplication[] ears = new IEnterpriseApplication[list.size()];
-		list.toArray(ears);
-		return ears;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiLaunchable.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiLaunchable.java
deleted file mode 100644
index cae4c73..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiLaunchable.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import java.util.Properties;
-
-import org.eclipse.wst.server.core.model.ILaunchable;
-/**
- * 
- */
-public class JndiLaunchable implements ILaunchable {
-	public static final String ID = "jndi";
-
-	private Properties props;
-	private String jndiName;
-	private String server;
-	private int port;
-
-	public JndiLaunchable(Properties props, String jndiName) {
-		this.jndiName = jndiName;
-		this.props = props;
-	}
-
-	/*
-	 * @see ILaunchable#getId()
-	 */
-	public String getId() {
-		return ID;
-	}
-
-	public Properties getProperties() {
-		return props;
-	}
-
-	public String getJNDIName() {
-		return jndiName;
-	}
-	
-	public String getServer() {
-		return server;
-	}
-	
-	public int getHTTPPort() {
-		return port;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiObject.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiObject.java
deleted file mode 100644
index 3161ec3..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiObject.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
-/**
- * 
- */
-public class JndiObject implements IModuleObject {
-	public static final String ID = "org.eclipse.jst.server.j2ee.jndi";
-
-	private IModule module;
-	private String jndiName;
-	
-	public JndiObject(IModule module, String jndiName) {
-		this.module = module;
-		this.jndiName = jndiName;
-	}
-
-	public String getId() {
-		return ID;
-	}
-
-	public IModule getModule() {
-		return module;
-	}
-
-	public String getJndiName() {
-		return jndiName;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/Servlet.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/Servlet.java
deleted file mode 100644
index b4a05fc..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/Servlet.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
-/**
- * 
- */
-public class Servlet implements IModuleObject {
-	public static final String ID = "org.eclipse.jst.server.j2ee.servlet";
-
-	private IModule module;
-	private String className;
-	private String alias;
-	
-	public Servlet(IModule module, String className, String alias) {
-		this.module = module;
-		this.className = className;
-		this.alias = alias;
-	}
-
-	public String getId() {
-		return ID;
-	}
-
-	public IModule getModule() {
-		return module;
-	}
-
-	public String getServletClassName() {
-		return className;
-	}
-	
-	public String getAlias() {
-		return alias;
-	}
-	
-	public String toString() {
-		return "Servlet [module=" + module + ", class=" + className + ", alias=" + alias + "]";
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/WebResource.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/WebResource.java
deleted file mode 100644
index 4118747..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/WebResource.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.j2ee;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
-/**
- * 
- */
-public class WebResource implements IModuleObject {
-	public static final String ID = "org.eclipse.jst.server.j2ee.webresource";
-
-	private IModule module;
-	private IPath path;
-
-	public WebResource(IModule module, IPath path) {
-		this.module = module;
-		this.path = path;
-	}
-
-	public String getId() {
-		return ID;
-	}
-
-	public IModule getModule() {
-		return module;
-	}
-
-	public IPath getPath() {
-		return path;
-	}
-
-	public String toString() {
-		return "WebResource [module=" + module + ", path=" + path + "]";
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/.cvsignore b/plugins/org.eclipse.jst.server.generic.core/.cvsignore
index b4e58b4..07d3079 100644
--- a/plugins/org.eclipse.jst.server.generic.core/.cvsignore
+++ b/plugins/org.eclipse.jst.server.generic.core/.cvsignore
@@ -3,3 +3,4 @@
 genericserver.jar
 org.eclipse.jst.server.generic.core_1.0.0.jar
 temp.folder
+*.settings
diff --git a/plugins/org.eclipse.jst.server.generic.core/build.properties b/plugins/org.eclipse.jst.server.generic.core/build.properties
index 84146a6..b68a22c 100644
--- a/plugins/org.eclipse.jst.server.generic.core/build.properties
+++ b/plugins/org.eclipse.jst.server.generic.core/build.properties
@@ -3,8 +3,10 @@
 bin.includes = plugin.xml,\
                genericserver.jar,\
                servers/,\
-               plugin.properties
+               plugin.properties,\
+               xsd/ServerTypeDefinitionSchema.xsd
 src.includes = servers/,\
                src/,\
                plugin.xml,\
-               plugin.properties
+               plugin.properties,\
+               xsd/
diff --git a/plugins/org.eclipse.jst.server.generic.core/plugin.properties b/plugins/org.eclipse.jst.server.generic.core/plugin.properties
index f867959..7c92580 100644
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.properties
+++ b/plugins/org.eclipse.jst.server.generic.core/plugin.properties
@@ -1,7 +1,10 @@
-pluginName= Generic J2EE Server Plugin
+pluginName= Generic Server Plugin
 providerName=Eteration.com
+pluginDescription=Provides generic server tooling with easy to develop meta data configuration files
 
-errorName=Invalid name.
-errorLocation=Invalid location.
-errorJRE=Invalid JRE.
-errorDuplicateRuntimeName=Name is already in use.
+runtimeTypeName=Generic Server Runtime
+runtimeTypeDescription=This is the Lomboz type runtime support
+
+serverTypeName=Generic server support
+serverTypeDescription=Lomboz type generic server
+launchConfigurationTypeName=Generic server launch configuration type
diff --git a/plugins/org.eclipse.jst.server.generic.core/plugin.xml b/plugins/org.eclipse.jst.server.generic.core/plugin.xml
index 7bdf594..7e215ad 100644
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.generic.core/plugin.xml
@@ -5,7 +5,8 @@
    name="%pluginName"
    version="1.0.0"
    provider-name="%providerName"
-   class="org.eclipse.jst.server.generic.core.CorePlugin">
+   class="org.eclipse.jst.server.generic.core.CorePlugin"
+   description="%pluginDescription">
 
    <runtime>
       <library name="genericserver.jar">
@@ -26,6 +27,9 @@
       <import plugin="org.eclipse.ant.core"/>
       <import plugin="org.eclipse.ant.ui"/>
       <import plugin="org.eclipse.jst.server.generic.modules"/>
+      <import plugin="org.eclipse.emf.common"/>
+      <import plugin="org.eclipse.emf.ecore"/>
+      <import plugin="org.eclipse.emf.ecore.xmi"/>
    </requires>
 	
  <extension point="org.eclipse.wst.server.core.runtimeTargetHandlers">
@@ -50,8 +54,8 @@
   <extension point="org.eclipse.wst.server.core.runtimeTypes">
     <runtimeType
        id="org.eclipse.jst.server.generic.runtime"
-       name="J2EE Generic Server Runtime"
-       description="This is the Lomboz type runtime support"
+       name="%runtimeTypeName"
+       description="%runtimeTypeDescription"
        vendor="All"
        version="0"
        order="100"
@@ -73,32 +77,19 @@
            initialState="stopped"
            workingCopyClass="org.eclipse.jst.server.generic.internal.core.GenericServerWorkingCopy"
            runtimeTypeId="org.eclipse.jst.server.generic.runtime"
-           description="Lomboz like generic server"
+           description="%serverTypeDescription"
            launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
            monitorable="true"
-           name="J2EE Generic server support"
-           launchModes="run,debug"
-		   configurationTypeId="org.eclipse.jst.server.generic.configuration" 
-           >
+           name="%serverTypeName"
+           launchModes="run,debug">
           
      </serverType>
 	</extension>
 
-	<extension point="org.eclipse.wst.server.core.serverConfigurationTypes">
-     <serverConfigurationType
-       id="org.eclipse.jst.server.generic.configuration"
-       name="J2EE Generic server configuration"
-       description="Lomboz like server configuration"
-       isFolder="true"
-       class="org.eclipse.jst.server.generic.internal.core.GenericServerConfigurationDelegate"
-       workingCopyClass="org.eclipse.jst.server.generic.internal.core.GenericServerConfigurationWorkingCopy">
-     </serverConfigurationType>
-	</extension>
-
    <extension point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
         id="org.eclipse.jst.server.generic.core.launchConfigurationType"
-        name="Generic server launch configuration type"
+        name="%launchConfigurationTypeName"
         delegate="org.eclipse.jst.server.generic.internal.core.GenericServerLaunchConfigurationDelegate"
         modes="run, debug"
         sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
@@ -116,10 +107,4 @@
          class="org.eclipse.jst.server.generic.internal.core.GenericServerLaunchableAdapterDelegate"
          id="org.eclipse.jst.server.generic.web"/>
    </extension>
- 
-
-   
-   
-   
-  
 </plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server b/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server
index 34f7503..6aeccf5 100644
--- a/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server
+++ b/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server
@@ -1,9 +1,9 @@
-

-<serverDefinition 

-	 name="JBOSS 3.2.3"

-	 ejbModules="true"

-	 webModules="true"

-	 earModules="true">

+<?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="JBOSS 3.2.3" version="v3.2.3">

 <property id="serverRootDirectory"

 	label="Application Server Directory:"

 	type="directory"

@@ -29,69 +29,42 @@
 	type="directory"

 	context="runtime"

 	default="/your_server_root/appservers/jboss-3.2.3" />

-<serverHome>${serverRootDirectory}</serverHome>

-<webModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</webModulesDeployDirectory>

-<ejbModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</ejbModulesDeployDirectory>

-<earModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</earModulesDeployDirectory>

-<jndiInitialContextFactory>org.jnp.interfaces.NamingContextFactory</jndiInitialContextFactory>

-<jndiProviderUrl>jnp://${serverAddress}:1099</jndiProviderUrl>

-<startClass>org.jboss.Main</startClass>

-<startWorkingDirectory>${serverRootDirectory}/bin</startWorkingDirectory>

-<startVmParameters></startVmParameters>

-<startProgramArguments>-c ${serverConfig}</startProgramArguments>

-<stopClass>org.jboss.Shutdown</stopClass>

-<stopWorkingDirectory>${serverRootDirectory}/bin</stopWorkingDirectory>

-<stopVmParameters></stopVmParameters>

-<stopProgramArguments>-S</stopProgramArguments>

-<serverClassPath>

-	<jar type="variable">${classPath}/bin/run.jar</jar>

-	<jar type="variable">${classPath}/bin/shutdown.jar</jar>

-	<jar type="variable">${classPath}/client/jboss-j2ee.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/javax.servlet.jar</jar>

-	<jar type="variable">${classPath}/lib/jboss-boot.jar</jar>

-	<jar type="variable">${classPath}/lib/jboss-system.jar</jar>

-	<jar type="variable">${classPath}/lib/concurrent.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jboss.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jnpserver.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jpl-pattern.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jpl-util.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jboss-transaction.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/bcel.jar</jar>

-	<jar type="variable">${classPath}/lib/jdom.jar</jar>

-	<jar type="variable">${classPath}/lib/xercesImpl.jar</jar>

-	<jar type="variable">${classPath}/lib/xml-apis.jar</jar>

-	<jar type="variable">${classPath}/lib/gnu-regexp.jar</jar>

-	<jar type="variable">${classPath}/lib/getopt.jar</jar>

-</serverClassPath>

-<clientClassPath>

-	<jar type="variable">${classPath}/client/jboss-j2ee.jar</jar>

-	<jar type="variable">${classPath}/client/jnp-client.jar</jar>

-	<jar type="variable">${classPath}/client/jboss-client.jar</jar>

-	<jar type="variable">${classPath}/client/jboss-common-client.jar</jar>

-	<jar type="variable">${classPath}/client/jbosssx-client.jar</jar>

-	<jar type="variable">${classPath}/client/log4j.jar</jar>

-	<jar type="variable">${classPath}/client/jnet.jar</jar>

-	<jar type="variable">${classPath}/server/default/lib/jnpserver.jar</jar>

-	<jar type="variable">${classPath}/client/jboss-jaas.jar</jar>

-</clientClassPath>

-<projectClassPath>

-	<jar type="variable">${classPath}/bin/run.jar</jar>

-	<jar type="variable">${classPath}/bin/shutdown.jar</jar>

-	<jar type="variable">${classPath}/client/jboss-j2ee.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/javax.servlet.jar</jar>

-	<jar type="variable">${classPath}/lib/jboss-boot.jar</jar>

-	<jar type="variable">${classPath}/lib/jboss-system.jar</jar>

-	<jar type="variable">${classPath}/lib/concurrent.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jboss.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jnpserver.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jpl-pattern.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jpl-util.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/jboss-transaction.jar</jar>

-	<jar type="variable">${classPath}/server/${serverConfig}/lib/bcel.jar</jar>

-</projectClassPath>

-<adminTool>

-	<web>

-		<deploy>

+

+	<port>

+		<no>${port}</no>

+		<name>Http</name>

+		<protocol>http</protocol>

+	</port>

+

+	<module>

+		<type>j2ee.web</type>

+		<publishDir>${serverRootDirectory}/server/${serverConfig}/deploy</publishDir>

+		<publisherReference>jboss.web</publisherReference>

+	</module>

+

+

+	<project>

+		<classpathReference>jboss.project</classpathReference>

+	</project>

+	

+	<start>

+		<class>org.jboss.Main</class>

+		<workingDirectory>${serverRootDirectory}/bin</workingDirectory>

+		<programArguments>-c ${serverConfig}</programArguments>

+		<vmParameters></vmParameters>

+		<classpathReference>jboss</classpathReference>

+	</start>

+

+	<stop>

+		<class>org.jboss.Shutdown</class>

+		<workingDirectory>${serverRootDirectory}/bin</workingDirectory>

+		<programArguments>-S</programArguments>

+		<vmParameters></vmParameters>

+		<classpathReference>jboss</classpathReference>

+	</stop>

+	<publisher id="jboss.web">

+		<publish>

+			<task>

 		<![CDATA[

 			

 				<project name="deployextension"  default="deploy"  basedir=".">

@@ -106,13 +79,45 @@
   					  </target>

 				</project>

 				

-		]]>

-		

-        </deploy>

-		<undeploy>

-        </undeploy>

-	</web>

-</adminTool>

-<adminToolPath>

-</adminToolPath>

-</serverDefinition>
\ No newline at end of file
+		]]>			

+			</task>

+			<classpathReference>jboss</classpathReference>

+		</publish>

+		<unpublish>

+			<task>

+				<![CDATA[<project name="deployextension"  default="deploy"  basedir=".">

+				    <target name="deploy">

+  				  		<delete file="${deployDir}/${deploymentUnitName}.war"/>

+  					  </target>

+				</project>]]>

+			</task>

+			<classpathReference>jboss</classpathReference>

+		</unpublish>

+	</publisher>

+

+	<classpath id="jboss" isLibrary="true">

+		<archive path="${classPath}/bin/run.jar" />

+		<archive path="${classPath}/bin/shutdown.jar" />

+		<archive path="${classPath}/client/jboss-j2ee.jar" />

+		<archive path="${classPath}/server/${serverConfig}/lib/javax.servlet.jar" />

+		<archive path="${classPath}/lib/jboss-boot.jar" />

+		<archive path="${classPath}/lib/jboss-system.jar" />

+		<archive path="${classPath}/lib/concurrent.jar" />

+		<archive path="${classPath}/server/${serverConfig}/lib/jboss.jar" />

+		<archive path="${classPath}/server/${serverConfig}/lib/jnpserver.jar" />

+		<archive path="${classPath}/server/${serverConfig}/lib/jpl-pattern.jar" />

+		<archive path="${classPath}/server/${serverConfig}/lib/jpl-util.jar" />

+		<archive path="${classPath}/server/${serverConfig}/lib/jboss-transaction.jar" />

+		<archive path="${classPath}/server/${serverConfig}/lib/bcel.jar" />

+		<archive path="${classPath}/lib/jdom.jar" />

+		<archive path="${classPath}/lib/xercesImpl.jar" />

+		<archive path="${classPath}/lib/xml-apis.jar" />

+		<archive path="${classPath}/lib/gnu-regexp.jar" />

+		<archive path="${classPath}/lib/getopt.jar" />

+	</classpath>

+

+	<classpath id="jboss.project" isLibrary="false">

+		<archive path="${classPath}/client/jboss-j2ee.jar" />

+	</classpath>

+

+</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server b/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server
index 1326973..9885fb1 100644
--- a/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server
+++ b/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server
@@ -1,95 +1,118 @@
-
-<serverDefinition 
-	 name="JonAS 4.1.4"
-	 ejbModules="true"
-	 webModules="true"
-	 earModules="true">
-<property id="jonasRoot"
-	label="JonAS Installation Directory:"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/JOnAS-4.1.4" />
-<property id="jonasBase"
-	label="JonAS Configuration Directory:"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/JOnAS-4.1.4" />
-<property id="serverAddress"
-	label="Address:"
-	type="string"
-	context="server"
-	default="127.0.0.1" />
-<property id="port"
-	label="Port:"
-	type="string"
-	context="server"
-	default="9000" />
-<property id="protocols"
-	label="Ejb Protocols:"
-	type="string"
-	context="server"
-	default="jrmp" />
-<property id="mappernames"
-	label="Mapper names:"
-	type="string"
-	context="server"
-	default="" />
-<property id="classPath"
-	label="Classpath Variable:"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/JOnAS-4.1.4" />
-<serverHome>${jonasRoot}</serverHome>
-<webModulesDeployDirectory>${jonasBase}/webapps/autoload</webModulesDeployDirectory>
-<ejbModulesDeployDirectory>${jonasBase}/ejbjars/autoload</ejbModulesDeployDirectory>
-<earModulesDeployDirectory>${jonasBase}/apps/autoload</earModulesDeployDirectory>
-<jndiInitialContextFactory>org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory</jndiInitialContextFactory>
-<jndiProviderUrl>iiop://${serverAddress}:2001</jndiProviderUrl>
-<startClass>org.objectweb.jonas.server.Bootstrap</startClass>
-<startWorkingDirectory>${jonasRoot}</startWorkingDirectory>
-<startVmParameters>-Dinstall.root=${jonasRoot} -Djonas.base=${jonasBase} -Djava.security.policy=${jonasRoot}/conf/java.policy -Djonas.classpath= -Djonas.default.classloader=true -Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate -Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory -Djava.security.auth.login.config=${jonasRoot}/conf/jaas.config  -Djava.endorsed.dirs=${jonasRoot}/lib/endorsed -Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi</startVmParameters>
-<startProgramArguments>org.objectweb.jonas.server.Server</startProgramArguments>
-<stopClass>org.objectweb.jonas.server.Bootstrap</stopClass>
-<stopWorkingDirectory>${jonasRoot}</stopWorkingDirectory>
-<stopVmParameters>-Dinstall.root=${jonasRoot} -Djonas.base=${jonasBase} -Djava.security.policy=${jonasRoot}/conf/java.policy -Djonas.classpath= -Djonas.default.classloader=true -Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate -Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory -Djava.security.auth.login.config=${jonasRoot}/conf/jaas.config  -Djava.endorsed.dirs=${jonasRoot}/lib/endorsed -Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi</stopVmParameters>
-<stopProgramArguments>org.objectweb.jonas.adm.JonasAdmin -s</stopProgramArguments>
-<serverClassPath>
-	<jar type="variable">${classPath}/lib/common/ow_jonas_bootstrap.jar</jar>
-	<jar type="variable">${classPath}/conf</jar>
-</serverClassPath>
-<clientClassPath>
-	<jar type="variable">${classPath}/lib/client.jar</jar>
-</clientClassPath>
-<projectClassPath>
-	<jar type="variable">${classPath}/lib/common/ow_jonas_bootstrap.jar</jar>
-	<jar type="variable">${classPath}/lib/common/j2ee/ejb/ejb-2_1-api.jar</jar>
-</projectClassPath>
-<adminTool>
-	<web>
-		<deploy>
-		<![CDATA[
-			
-				<project name="deployextension"  default="deploy"  basedir=".">
-				    <target name="deploy">
-						<jar destfile="${deploymentUnitName}.war"> 
-							<zipfileset dir="${moduleDir}">
-	        					<include name="**/*.*"/>
-						        <exclude name="**/*.war"/>
-							</zipfileset>
-						</jar>
-  				  		<move file="${deploymentUnitName}.war" todir="${deployDir}"/>
-  					  </target>
-				</project>
-				
-		]]>
-		
-        </deploy>
-		<undeploy>
-        </undeploy>
-	</web>
-</adminTool>
-<adminToolPath>
-	<jar type="absolute">${jonasBase}/conf</jar>
-	<jar type="absolute">${classPath}/lib/common/ow_jonas_bootstrap.jar</jar>
-</adminToolPath>
-</serverDefinition>
\ No newline at end of file
+<?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="JonAS 4.1.4" version="v4.1.4">

+	<property id="jonasRoot"

+		label="JonAS Installation Directory:"

+		type="directory"

+		context="runtime"

+		default="/your_server_root/JOnAS-4.1.4" />

+	<property id="jonasBase"

+		label="JonAS Configuration Directory:"

+		type="directory"

+		context="runtime"

+		default="/your_server_root/JOnAS-4.1.4" />

+	<property id="serverAddress"

+		label="Address:"

+		type="string"

+		context="server"

+		default="127.0.0.1" />

+	<property id="port"

+		label="Port:"

+		type="string"

+		context="server"

+		default="9000" />

+	<property id="protocols"

+		label="Ejb Protocols:"

+		type="string"

+		context="server"

+		default="jrmp" />

+	<property id="mappernames"

+		label="Mapper names:"

+		type="string"

+		context="server"

+		default="" />

+	<property id="classPath"

+		label="Classpath Variable:"

+		type="directory"

+		context="runtime"

+		default="/your_server_root/JOnAS-4.1.4" />

+

+	<port>

+		<no>${port}</no>

+		<name>Http</name>

+		<protocol>http</protocol>

+	</port>

+

+	<module>

+		<type>j2ee.web</type>

+		<publishDir>${jonasBase}/webapps/autoload/applications</publishDir>

+		<publisherReference>jonas.web</publisherReference>

+	</module>

+

+

+	<project>

+		<classpathReference>jonas.project</classpathReference>

+	</project>

+	

+	<start>

+		<class>org.objectweb.jonas.server.Bootstrap</class>

+		<workingDirectory>${jonasRoot}</workingDirectory>

+		<programArguments>org.objectweb.jonas.server.Server</programArguments>

+		<vmParameters>-Dinstall.root=${jonasRoot} -Djonas.base=${jonasBase} -Djava.security.policy=${jonasRoot}/conf/java.policy -Djonas.classpath= -Djonas.default.classloader=true -Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate -Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory -Djava.security.auth.login.config=${jonasRoot}/conf/jaas.config  -Djava.endorsed.dirs=${jonasRoot}/lib/endorsed -Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi</vmParameters>

+		<classpathReference>jonas</classpathReference>

+	</start>

+

+	<stop>

+		<class>org.objectweb.jonas.server.Bootstrap</class>

+		<workingDirectory>${jonasRoot}</workingDirectory>

+		<programArguments>org.objectweb.jonas.adm.JonasAdmin -s</programArguments>

+		<vmParameters>-Dinstall.root=${jonasRoot} -Djonas.base=${jonasBase} -Djava.security.policy=${jonasRoot}/conf/java.policy -Djonas.classpath= -Djonas.default.classloader=true -Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate -Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory -Djava.security.auth.login.config=${jonasRoot}/conf/jaas.config  -Djava.endorsed.dirs=${jonasRoot}/lib/endorsed -Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi</vmParameters>

+		<classpathReference>jonas</classpathReference>

+	</stop>

+	<publisher id="jonas.web">

+		<publish>

+			<task><![CDATA[

+			

+				<project name="deployextension"  default="deploy"  basedir=".">

+				    <target name="deploy">

+						<jar destfile="${deploymentUnitName}.war"> 

+							<zipfileset dir="${moduleDir}">

+	        					<include name="**/*.*"/>

+						        <exclude name="**/*.war"/>

+							</zipfileset>

+						</jar>

+  				  		<move file="${deploymentUnitName}.war" todir="${deployDir}"/>

+  					  </target>

+				</project>

+				

+		]]></task>

+			<classpathReference>jonas</classpathReference>

+		</publish>

+		<unpublish>

+			<task>

+				<![CDATA[<project name="deployextension"  default="deploy"  basedir=".">

+				    <target name="deploy">

+  				  		<delete file="${deployDir}/${deploymentUnitName}.war"/>

+  					  </target>

+				</project>]]>

+			</task>

+			<classpathReference>weblogic.admin</classpathReference>

+		</unpublish>

+	</publisher>

+

+	<classpath id="jonas" isLibrary="true">

+		<archive path="${classPath}/lib/common/ow_jonas_bootstrap.jar" />

+		<archive path="${classPath}/conf" />

+	</classpath>

+

+	<classpath id="jonas.project" isLibrary="false">

+		<archive path="${classPath}/lib/common/ow_jonas_bootstrap.jar" />

+		<archive path="${classPath}/lib/commons/j2ee/ejb-2_1-api.jar" />

+		<archive path="${classPath}/lib/commons/j2ee/servlet-2_4.jar" />

+		<archive path="${classPath}/lib/commons/j2ee/jms.jar" />

+	</classpath>

+

+</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/servers/weblogic81.server b/plugins/org.eclipse.jst.server.generic.core/servers/weblogic81.server
index 6ba0d8e..fe3d846 100644
--- a/plugins/org.eclipse.jst.server.generic.core/servers/weblogic81.server
+++ b/plugins/org.eclipse.jst.server.generic.core/servers/weblogic81.server
@@ -1,116 +1,149 @@
+<?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="BEA WebLogic Server v8.1" version="v8.1">

 

-<serverDefinition 

-	 name="BEA Weblogic Server v8.1"

-	 ejbModules="true"

-	 webModules="true"

-	 earModules="true">

-<property id="beaHome"

-	label="BEA Home Directory:"

-	type="directory"

-	context="runtime"

-	default="C:/bea" />

-<property id="serverRootDirectory"

-	label="Application Server Directory:"

-	type="directory"

-	context="runtime"

-	default="C:/bea/weblogic81" />

-<property id="domainName"

-	label="Admin Domain Name:"

-	type="string"

-	context="server"

-	default="mydomain" />

-<property id="domainDirectory"

-	label="Administration Domain Directory:"

-	type="directory"

-	context="server"

-	default="C:/bea/user_projects/domains/mydomain" />

-<property id="serverName"

-	label="Server Name:"

-	type="string"

-	context="server"

-	default="myserver" />

-<property id="userName"

-	label="User Name:"

-	type="string"

-	context="server"

-	default="system" />

-<property id="password"

-	label="Password:"

-	type="string"

-	context="server"

-	default="weblogic" />

-<property id="productionMode"

-	label="Production Mode:"

-	type="boolean"

-	context="server"

-	default="false" />

-<property id="serverAddress"

-	label="Address:"

-	type="string"

-	context="server"

-	default="127.0.0.1" />

-<property id="port"

-	label="Port:"

-	type="string"

-	context="server"

-	default="7001" />

-<property id="classPath"

-	label="Classpath Variable:"

-	type="directory"

-	context="runtime"

-	default="C:/bea/weblogic81/server/lib" />

-<serverHome>${serverRootDirectory}</serverHome>

-<webModulesDeployDirectory>${domainDirectory}/applications</webModulesDeployDirectory>

-<ejbModulesDeployDirectory>${domainDirectory}/applications</ejbModulesDeployDirectory>

-<earModulesDeployDirectory>${domainDirectory}/applications</earModulesDeployDirectory>

-<jndiInitialContextFactory>weblogic.jndi.WLInitialContextFactory</jndiInitialContextFactory>

-<jndiProviderUrl>t3:/${serverAddress}:${port}</jndiProviderUrl>

-<startClass>weblogic.Server</startClass>

-<startWorkingDirectory>${domainDirectory}</startWorkingDirectory>

-<startVmParameters>-Xms32m -Xmx200m -XX:MaxPermSize=128m -Dweblogic.Name=${serverName} -Dbea.home="${beaHome}"  -Dweblogic.management.username=${userName} -Dweblogic.management.password=${password} -Dweblogic.ProductionModeEnabled=${productionMode} -Djava.security.policy=="${serverRootDirectory}/server/lib/weblogic.policy"</startVmParameters>

-<startProgramArguments></startProgramArguments>

-<stopClass>weblogic.Admin</stopClass>

-<stopWorkingDirectory>${domainDirectory}</stopWorkingDirectory>

-<stopVmParameters></stopVmParameters>

-<stopProgramArguments>-url t3://${serverAddress}:${port} -username ${userName} -password ${password} SHUTDOWN</stopProgramArguments>

-<serverClassPath>

-	<jar type="variable">${classPath}/weblogic.jar</jar>

-	<jar type="variable">${classPath}/ojdbc14.jar</jar>

-	<jar type="variable">${classPath}/webservices.jar</jar>

-</serverClassPath>

-<clientClassPath>

-	<jar type="variable">${classPath}/wlclient.jar</jar>

-	<jar type="variable">${classPath}/wsclient81.jar</jar>

-	<jar type="variable">${classPath}/wljtaclient.jar</jar>

-	<jar type="variable">${classPath}/wljmsclient.jar</jar>

-</clientClassPath>

-<projectClassPath>

-	<jar type="variable">${classPath}/weblogic.jar</jar>

-	<jar type="variable">${classPath}/ojdbc14.jar</jar>

-	<jar type="variable">${classPath}/webservices.jar</jar>

-</projectClassPath>

-<adminTool>

-	<web>

-		<deploy>

-		<![CDATA[

-			

-				<project name="deployextension"  default="deploy"  basedir=".">

+

+	<property id="beaHome"

+		label="BEA Home Directory:"

+		type="directory"

+		context="runtime"

+		default="C:/bea" />

+	<property id="serverRootDirectory"

+		label="Application Server Directory:"

+		type="directory"

+		context="runtime"

+		default="C:/bea/weblogic81" />

+	<property id="domainName"

+		label="Admin Domain Name:"

+		type="string"

+		context="server"

+		default="mydomain" />

+	<property id="domainDirectory"

+		label="Administration Domain Directory:"

+		type="directory"

+		context="server"

+		default="C:/bea/user_projects/domains/mydomain" />

+	<property id="serverName"

+		label="Server Name:"

+		type="string"

+		context="server"

+		default="myserver" />

+	<property id="userName"

+		label="User Name:"

+		type="string"

+		context="server"

+		default="system" />

+	<property id="password"

+		label="Password:"

+		type="string"

+		context="server"

+		default="weblogic" />

+	<property id="productionMode"

+		label="Production Mode:"

+		type="boolean"

+		context="server"

+		default="false" />

+	<property id="serverAddress"

+		label="Address:"

+		type="string"

+		context="server"

+		default="127.0.0.1" />

+	<property id="port"

+		label="Port:"

+		type="string"

+		context="server"

+		default="7001" />

+	<property id="classPath"

+		label="Classpath Variable:"

+		type="directory"

+		context="runtime"

+		default="C:/bea/weblogic81/server/lib" />

+	

+

+

+	<port>

+		<no>${port}</no>

+		<name>Http</name>

+		<protocol>http</protocol>

+	</port>

+

+	<module>

+		<type>j2ee.web</type>

+		<publishDir>${domainDirectory}/applications</publishDir>

+		<publisherReference>weblogic.web</publisherReference>

+	</module>

+

+

+	<project>

+		<classpathReference>weblogic</classpathReference>

+	</project>

+	

+	<start>

+		<class>weblogic.Server</class>

+		<workingDirectory>${domainDirectory}</workingDirectory>

+		<programArguments></programArguments>

+		<vmParameters>

+			-Xms32m -Xmx200m -XX:MaxPermSize=128m

+			-Dweblogic.Name=${serverName} -Dbea.home="${beaHome}"

+			-Dweblogic.management.username=${userName}

+			-Dweblogic.management.password=${password}

+			-Dweblogic.ProductionModeEnabled=${productionMode}

+			-Djava.security.policy=="${serverRootDirectory}/server/lib/weblogic.policy"

+		</vmParameters>

+		<classpathReference>weblogic</classpathReference>

+	</start>

+

+	<stop>

+		<class>weblogic.Admin</class>

+		<workingDirectory>${domainDirectory}</workingDirectory>

+		<programArguments>

+			-url t3://${serverAddress}:${port} -username ${userName}

+			-password ${password} SHUTDOWN

+		</programArguments>

+		<vmParameters></vmParameters>

+		<classpathReference>weblogic.admin</classpathReference>

+	</stop>

+	<publisher id="weblogic.web">

+		<publish>

+			<task>

+				<![CDATA[<project name="deployextension"  default="deploy"  basedir=".">

 				    <target name="deploy">

-						<jar destfile="${deploymentUnitName}.war"> 

-							<zipfileset dir="${moduleDir}">

+						<jar destfile="${module.name}.war"> 

+							<zipfileset dir="${module.dir}">

 	        					<include name="**/*.*"/>

 	       						<exclude name="**/jsp_servlet/*.class"/>

 						        <exclude name="**/*.war"/>

 							</zipfileset>

 						</jar>

-  				  		<move file="${deploymentUnitName}.war" todir="${deployDir}"/>

+  				  		<move file="${module.name}.war" todir="${server.publish.dir}"/>

   					  </target>

-				</project>

-				

-		]]>

-		</deploy>

-		<undeploy>

-		</undeploy>

-	</web>

-</adminTool>

-</serverDefinition>
\ No newline at end of file
+				</project>]]>

+			</task>

+			<classpathReference>weblogic.admin</classpathReference>

+		</publish>

+		<unpublish>

+			<task>

+				<![CDATA[<project name="deployextension"  default="deploy"  basedir=".">

+				    <target name="deploy">

+  				  		<delete file="${server.publish.dir}/${module.name}.war"/>

+  					  </target>

+				</project>]]>

+			</task>

+			<classpathReference>weblogic.admin</classpathReference>

+		</unpublish>

+	</publisher>

+

+	<classpath id="weblogic" isLibrary="true">

+		<archive path="${classPath}/weblogic.jar" />

+		<archive path="${classPath}/ojdbc14.jar" />

+		<archive path="${classPath}/webservices.jar" />

+	</classpath>

+

+	<classpath id="weblogic.admin" isLibrary="false">

+		<archive path="${classPath}/weblogic.jar" />

+	</classpath>

+

+</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/GenericServerCoreMessages.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/GenericServerCoreMessages.java
new file mode 100644
index 0000000..046187a
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/GenericServerCoreMessages.java
@@ -0,0 +1,63 @@
+package org.eclipse.jst.server.generic.core;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * Helper class to get messages
+ * 
+ * @author Gorkem Ercan
+ */
+public class GenericServerCoreMessages {
+
+	private static final String RESOURCE_BUNDLE= "org.eclipse.jst.server.generic.core.GenericServerCoreMessages";//$NON-NLS-1$
+
+	private static ResourceBundle fResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+
+	private GenericServerCoreMessages() {
+	}
+
+	/**
+	 * Return string from the resource bundle.
+	 * 
+	 * @param key the string used to get the bundle value, must not be <code>null</code>
+	 * @return the string from the resource bundle
+	 */
+	public static String getString(String key) {
+		try {
+			return fResourceBundle.getString(key);
+		} catch (MissingResourceException e) {
+			return "!" + key + "!";
+		}
+	}
+	
+	/**
+	 * Gets a string from the resource bundle that is 
+	 * formatted it with the given argument.
+	 * 
+	 * @param key the string used to get the bundle value, must not be null
+	 * @param arg the argument used to format the string
+	 * @return the formatted string
+	 */
+	public static String getFormattedString(String key, Object[] arg) {
+		String format= null;
+		try {
+			format= fResourceBundle.getString(key);
+		} catch (MissingResourceException e) {
+			return "!" + key + "!";
+		}
+		if (arg == null)
+			arg= new Object[0];
+		return MessageFormat.format(format,  arg);
+	}
+	
+	/**
+	 * Returns a resource bundle.
+	 * 
+	 * @return the resource bundle
+	 */
+	public static ResourceBundle getResourceBundle() {
+		return fResourceBundle;
+	}
+}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/GenericServerCoreMessages.properties b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/GenericServerCoreMessages.properties
new file mode 100644
index 0000000..0c696d7
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/GenericServerCoreMessages.properties
@@ -0,0 +1,7 @@
+errorName=Invalid name.
+errorJRE=Invalid JRE.
+errorNoServerType=No server type definition
+errorDuplicateRuntimeName=Name is already in use
+errorMissingClasspathEntry=Missing classpath entry {0}
+errorPortInUse=Server port In Use {0}-{1}
+cancelNoPublish=Nothing to publish
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java
index 345f459..3606913 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java
@@ -42,8 +42,11 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.server.generic.core.CorePlugin;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
 import org.eclipse.jst.server.generic.modules.WebModule;
+import org.eclipse.jst.server.generic.servertype.definition.Module;
+import org.eclipse.jst.server.generic.servertype.definition.PublishType;
+import org.eclipse.jst.server.generic.servertype.definition.Publisher;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.wst.server.core.model.IModule;
 import org.eclipse.wst.server.core.model.IPublisher;
 import org.eclipse.wst.server.core.resources.IModuleFolder;
@@ -64,9 +67,9 @@
 	 */
 	private List parents;
 	private IModule module;
-	private ServerTypeDefinition serverTypeDefinition;
+	private ServerRuntime serverTypeDefinition;
 	
-	public AntPublisher(List parents, IModule module, ServerTypeDefinition serverDefinition) {
+	public AntPublisher(List parents, IModule module, ServerRuntime serverDefinition) {
 		this.parents = parents;
 		this.module = module;
 		this.serverTypeDefinition = serverDefinition;
@@ -111,7 +114,11 @@
 	 */
 	public IStatus[] publish(IModuleResource[] resource,
 			IProgressMonitor monitor) throws CoreException {
-		String deployAnt = serverTypeDefinition.getAdminTool().getWeb().getDeploy();
+		Module sModule =  serverTypeDefinition.getModule(this.module.getType());
+		Publisher publisher =  serverTypeDefinition.getPublisher(sModule.getPublisherReference());
+		String deployAnt = ((PublishType)publisher.getPublish().get(0)).getTask();
+		deployAnt = serverTypeDefinition.getResolver().resolveProperties(deployAnt);
+		
 		if(deployAnt == null || deployAnt.length()<1)
 			return new IStatus[]{new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,"AntBuildFileDoesNotExist",null)};
 		
@@ -133,10 +140,15 @@
 	}
 	private Map getPublishProperties(IModuleResource[] resource)
 	{
+		Module module =  serverTypeDefinition.getModule(this.module.getType());
+
 		Map props = new HashMap();
+		String modDir = module.getPublishDir();
+		modDir = serverTypeDefinition.getResolver().resolveProperties(modDir);
+
 		props.put("deploymentUnitName",this.module.getName());
 		props.put("moduleDir",((WebModule)this.module).getLocation().toString());
-		props.put("deployDir",serverTypeDefinition.getWebModulesDeployDirectory());
+		props.put("deployDir",modDir);
 		return props;
 		
 		
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServer.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServer.java
index 59e7563..01c75b4 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServer.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServer.java
@@ -59,8 +59,11 @@
 import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jst.server.generic.core.CorePlugin;
 import org.eclipse.jst.server.generic.core.GenericServerCoreMessages;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
 import org.eclipse.jst.server.generic.modules.J2eeSpecModuleFactoryDelegate;
+import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.Classpath;
+import org.eclipse.jst.server.generic.servertype.definition.Port;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.jst.server.j2ee.IWebModule;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerConfiguration;
@@ -94,7 +97,7 @@
 	protected transient IProcess process;
 	protected transient IDebugEventSetListener processListener;
 	
-	private ServerTypeDefinition fServerDefinition;
+	private ServerRuntime fServerDefinition;
 
 	/*
 	 * (non-Javadoc)
@@ -277,7 +280,7 @@
 				IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME,
 				vmInstall.getName());
 
-		setupLaunchClasspath(workingCopy, vmInstall);
+		setupLaunchClasspath(workingCopy, vmInstall, getStartClasspath());
 
 
 		workingCopy.setAttribute(
@@ -291,13 +294,29 @@
 				getVmArguments());
 	}
 
-	private List getClasspathMementos() {
-	    List classpathList = getServerDefinition().getServerClassPath();
-	    List mementoList = new ArrayList(classpathList.size());
-	    Iterator iterator= classpathList.iterator();
+	
+	private List getStartClasspath() {
+		String cpRef = getServerDefinition().getStart().getClasspathReference();
+		return serverClasspath(cpRef);
+	}
+	private List getStopClasspath() {
+		String cpRef = getServerDefinition().getStop().getClasspathReference();
+		return serverClasspath(cpRef);
+	}
+
+	/**
+	 * @param cpRef
+	 * @return
+	 */
+	private List serverClasspath(String cpRef) {
+		Classpath classpath = getServerDefinition().getClasspath(cpRef);
+		
+	    List mementoList = new ArrayList(classpath.getArchive().size());
+	    Iterator iterator= classpath.getArchive().iterator();
 	    while(iterator.hasNext())
 	    {
-	        String cpath = (String)iterator.next();
+	    	ArchiveType archive = (ArchiveType)iterator.next();
+	    	String cpath = getServerDefinition().getResolver().resolveProperties(archive.getPath());
 			try {
 				mementoList.add(JavaRuntime.newArchiveRuntimeClasspathEntry(
 						new Path(cpath)).getMemento());
@@ -309,19 +328,19 @@
 	}
 
 	private String getVmArguments() {
-		return getServerDefinition().getStartVmParameters();
+		return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getVmParameters());
 	}
 
 	private String getProgramArguments() {
-		return getServerDefinition().getStartProgramArguments();
+		return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getProgramArguments());
 	}
 
 	private String getWorkingDirectory() {
-		return getServerDefinition().getStartWorkingDirectory();
+		return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getWorkingDirectory());
 	}
 
 	public String getStartClassName() {
-		return getServerDefinition().getStartClass();
+		return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getClass_());
 	}
 
 	/**
@@ -337,7 +356,7 @@
 		return instanceProperties;
 	}
 
-	public ServerTypeDefinition getServerDefinition() {
+	public ServerRuntime getServerDefinition() {
 		if (fServerDefinition == null)
 			fServerDefinition = CorePlugin.getDefault()
 					.getServerTypeDefinitionManager()
@@ -359,14 +378,14 @@
 	 */
 	public List getServerPorts() {
 		List ports = new ArrayList();
-
-	
-		try {
-			int port = Integer.parseInt(this.getServerDefinition().getPort());
-			ports.add(new ServerPort("server", "Server port", port, "TCPIP"));
-		} catch (Exception e) {
+					
+		Iterator pIter = this.getServerDefinition().getPort().iterator();
+		while (pIter.hasNext()) {
+			Port element = (Port) pIter.next();
+			int port = Integer.parseInt(getServerDefinition().getResolver().resolveProperties(element.getNo()));
+			ports.add(new ServerPort("server", element.getName(), port, element.getProtocol()));		
 		}
-
+	
 		return ports;
 	}
 
@@ -461,7 +480,7 @@
 	
 			wc.setAttribute(
 					IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-					this.getServerDefinition().getStopClass());
+					getServerDefinition().getResolver().resolveProperties(this.getServerDefinition().getStop().getClass_()));
 
 			GenericServerRuntime runtime = (GenericServerRuntime) fLiveServer
 					.getRuntime().getDelegate();
@@ -474,17 +493,17 @@
 					IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME,
 					vmInstall.getName());
 
-			setupLaunchClasspath(wc, vmInstall);
+			setupLaunchClasspath(wc, vmInstall, getStopClasspath());
 
 			wc.setAttribute(
 					IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-					getWorkingDirectory());
+					getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getWorkingDirectory()));
 			wc.setAttribute(
 					IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-							getServerDefinition().getStopProgramArguments());
+					getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getProgramArguments()));
 			wc.setAttribute(
 					IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-							getServerDefinition().getStopVmParameters());				
+					getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getVmParameters()));				
 			wc.setAttribute(ATTR_STOP, "true");
 			wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
 		} catch (Exception e) {
@@ -497,14 +516,11 @@
 	 * @param wc
 	 * @param vmInstall
 	 */
-	private void setupLaunchClasspath(ILaunchConfigurationWorkingCopy wc, IVMInstall vmInstall) {
-		List cp = getClasspathMementos();
-
+	private void setupLaunchClasspath(ILaunchConfigurationWorkingCopy wc, IVMInstall vmInstall, List cp) {
 		// add tools.jar to the path
 		if (vmInstall != null) {
 			try {
-				cp
-						.add(JavaRuntime
+				cp.add(JavaRuntime
 								.newRuntimeContainerClasspathEntry(
 										new Path(JavaRuntime.JRE_CONTAINER)
 												.append(
@@ -612,7 +628,10 @@
 				return null;
 
 			String url = "http://localhost";
-			int port = Integer.parseInt(getServerDefinition().getPort());
+			int port = 0;
+			
+			port = getHttpPort();
+			
 			port = ServerCore.getServerMonitorManager().getMonitoredPort(
 					fLiveServer, port, "web");
 			if (port != 80)
@@ -631,4 +650,22 @@
 
 	}
 
+	/**
+	 * @return
+	 */
+	private int getHttpPort() {
+		int port=-1;
+		Iterator pIter = this.getServerDefinition().getPort().iterator();
+		while (pIter.hasNext()) {
+			Port aPort = (Port) pIter.next();
+			if(port== -1)
+				port = Integer.parseInt(getServerDefinition().getResolver().resolveProperties(aPort.getNo()));
+			else if( "http".equals(aPort.getProtocol() ) )
+				port = Integer.parseInt(aPort.getNo());	
+		}
+		if( port == -1)
+			port = 8080;
+		return port;
+	}
+
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntime.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntime.java
index d43a566..fb1a3d3 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntime.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntime.java
@@ -31,8 +31,9 @@
 package org.eclipse.jst.server.generic.internal.core;
 
 import java.io.File;
-import java.util.List;
+import java.util.Iterator;
 import java.util.Map;
+
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.launching.IVMInstall;
@@ -40,7 +41,9 @@
 import org.eclipse.jst.server.core.IGenericRuntime;
 import org.eclipse.jst.server.generic.core.CorePlugin;
 import org.eclipse.jst.server.generic.core.GenericServerCoreMessages;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
+import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.Classpath;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.ServerUtil;
 /**
@@ -90,17 +93,26 @@
 		if (getVMInstall() == null)
 			return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.getString("errorJRE"), null);
 		
-		ServerTypeDefinition serverTypeDefinition = getServerTypeDefinition();
+		ServerRuntime serverTypeDefinition = getServerTypeDefinition();
         if(serverTypeDefinition == null)
 		    return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.getString("errorNoServerType"), null);
-		List cpList  = serverTypeDefinition.getServerClassPath();
-        if(cpList== null || cpList.size()<1)
+        if(serverTypeDefinition.getClasspath()== null || serverTypeDefinition.getClasspath().size()<1)
             return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.getString("errorNoClasspath"),null);
-        for (int i = 0; i < cpList.size(); i++) {
-            File f = new File((String)cpList.get(i));
-            if(f.exists()==false)
-                return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.getFormattedString("errorMissingClasspathEntry",new String[]{f.getPath()} ),null);
-        }
+		Iterator cpList  = serverTypeDefinition.getClasspath().iterator();
+        while (cpList.hasNext()) {
+			Classpath cpth = (Classpath) cpList.next();
+	        if(cpth.getArchive()== null || cpth.getArchive().size()<1)
+	            return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.getString("errorNoClasspath"),null);
+			Iterator archIter = cpth.getArchive().iterator();
+			while (archIter.hasNext()) {
+				ArchiveType arch = (ArchiveType) archIter.next();
+				String arcPath = serverTypeDefinition.getResolver().resolveProperties((String)arch.getPath());
+		           File f = new File(arcPath);
+		            if(f.exists()==false)
+		                return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.getFormattedString("errorMissingClasspathEntry",new String[]{f.getPath()} ),null);	
+			}
+ 			
+		}
         return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "", null);
 	}
 	/**
@@ -109,7 +121,7 @@
 	 * 
 	 * @return populated ServerTypeDefinition
 	 */
-	public ServerTypeDefinition getServerTypeDefinition()
+	public ServerRuntime getServerTypeDefinition()
 	{
 	   String id=  fRuntime.getAttribute(SERVER_DEFINITION_ID,(String)null);
 	   Map properties = fRuntime.getAttribute(SERVER_INSTANCE_PROPERTIES,(Map)null);
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeTargetHandler.java
index b61857b..b930400 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeTargetHandler.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeTargetHandler.java
@@ -36,7 +36,7 @@
 import org.eclipse.jdt.launching.IVMInstall;
 import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jst.server.core.ClasspathRuntimeTargetHandler;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.wst.server.core.IRuntime;
 /**
  * Provides the Classpath containers to be added into project classpaths.
@@ -57,7 +57,7 @@
 	 * @see com.ibm.wtp.server.java.core.ClasspathRuntimeTargetHandler#getClasspathContainerLabel(com.ibm.wtp.server.core.IRuntime, java.lang.String)
 	 */
 	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		ServerTypeDefinition definition= ServerTypeDefinitionUtil.getServerTypeDefinition(runtime);
+		ServerRuntime definition= ServerTypeDefinitionUtil.getServerTypeDefinition(runtime);
 		return definition.getName();
 	}
 
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeWorkingCopy.java
index 239cdd4..cd019e4 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/GenericServerRuntimeWorkingCopy.java
@@ -34,9 +34,6 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jst.server.core.IGenericRuntimeWorkingCopy;
 import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.model.IServerResourceListener;
-
-import com.sun.corba.se.ActivationIDL.Server;
 
 /**
  * Working copy. This does not really do much delegates 
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionManager.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionManager.java
index 7241931..1c52ad2 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionManager.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionManager.java
@@ -33,8 +33,9 @@
 import java.net.URL;
 import java.util.List;
 import java.util.Map;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
+
 import org.eclipse.jst.server.generic.internal.xml.XMLUtils;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 /**
  * Manages the retrieaval of ServerTypeDefinitions.
  * 
@@ -51,21 +52,17 @@
 		fXmlUtils = new XMLUtils(serverDefinitionURL); 
 	}
 
-//	public ServerTypeDefinition getServerRuntimeDefinition(String id)
-//	{
-//		return fXmlUtils.getServerTypeDefinitionNamed(id);
-//	}
-	
-	public ServerTypeDefinition getServerRuntimeDefinition(String id, Map properties)
+
+	public ServerRuntime getServerRuntimeDefinition(String id, Map properties)
 	{
-		ServerTypeDefinition definition =  fXmlUtils.getServerTypeDefinitionNamed(id);
+		ServerRuntime definition =  fXmlUtils.getServerTypeDefinitionNamed(id);
 		definition.setPropertyValues(properties);
 		return definition;
 	}
 	
-	public ServerTypeDefinition[] getServerTypeDefinitions()
+	public ServerRuntime[] getServerTypeDefinitions()
 	{
 		 List definitionList = fXmlUtils.getServerTypeDefinitions();
-		 return (ServerTypeDefinition[])definitionList.toArray(new ServerTypeDefinition[definitionList.size()]);
+		 return (ServerRuntime[])definitionList.toArray(new ServerRuntime[definitionList.size()]);
 	}
 }
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionUtil.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionUtil.java
index d3d3ea4..3540193 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionUtil.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/ServerTypeDefinitionUtil.java
@@ -1,22 +1,51 @@
+/*******************************************************************************
+ * 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.internal.core;
 
 import java.util.ArrayList;
-import java.util.List;
+import java.util.Iterator;
 import java.util.Map;
+
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jst.server.generic.core.CorePlugin;
-import org.eclipse.jst.server.generic.internal.xml.ClasspathItem;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
+import org.eclipse.jst.server.generic.internal.xml.Resolver;
+import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.Classpath;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.wst.server.core.IRuntime;
 
-/**
- * Utility for working with rthe server type definition. 
- * This class has only static methods.
- * 
- * @author Gorkem Ercan
- */
+
 public class ServerTypeDefinitionUtil 
 {
 	/**
@@ -24,28 +53,29 @@
 	 * @param runtime
 	 * @return
 	 */
-	public static ServerTypeDefinition getServerTypeDefinition(IRuntime runtime)
+	public static ServerRuntime getServerTypeDefinition(IRuntime runtime)
 	{
 		String serverType = runtime.getAttribute(GenericServerRuntime.SERVER_DEFINITION_ID,(String)null);
 		Map properties = runtime.getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map)null);
-		ServerTypeDefinition definition = 
+		ServerRuntime definition = 
 			CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(serverType,properties);
 		return definition;
 	}
 	
 	public static IClasspathEntry[] getServerClassPathEntry(IRuntime runtime)
 	{
-		ServerTypeDefinition definition = getServerTypeDefinition(runtime);		
-		List cpathList =definition.getServerClassPath();
+		ServerRuntime definition = getServerTypeDefinition(runtime);		
+		String ref = definition.getProject().getClasspathReference();
+		Classpath cp = definition.getClasspath(ref);
+		Iterator archives = cp.getArchive().iterator();
 		ArrayList entryList = new ArrayList();
-		for (int i = 0; i < cpathList.size(); i++) 
-		{
-			ClasspathItem item = (ClasspathItem) cpathList.get(i);
-			String cpath = item.getResolvedClasspath(definition);
-			IClasspathEntry entry = JavaCore.newLibraryEntry(new Path(cpath),null,null );
+		while (archives.hasNext()) {
+			ArchiveType archive = (ArchiveType) archives.next();
+			String item = definition.getResolver().resolveProperties(archive.getPath());
+			IClasspathEntry entry = JavaCore.newLibraryEntry(new Path(item),null,null );
 			entryList.add(entry);
 		}
-	
+
 		return (IClasspathEntry[])entryList.toArray(new IClasspathEntry[entryList.size()]);
 	}
 	
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ClasspathItem.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ClasspathItem.java
deleted file mode 100644
index 12814e9..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ClasspathItem.java
+++ /dev/null
@@ -1,140 +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:
- *     Naci M. Dai - 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.internal.xml;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-
-public class ClasspathItem {
-	public static final int VARIABLE = 0;
-	public static final int ABSOLUTE = 1;
-
-	int type;
-	String classpath;
-
-	/**
-	 * @return String
-	 */
-	public String getClasspath() {
-		return classpath;
-	}
-	/**
-	 * @return String
-	 */
-	public String getResolvedClasspath(ServerTypeDefinition definition) {
-		return definition.resolveProperties(classpath);
-	}
-	/**
-	 * @return int
-	 */
-	public int getType() {
-		return type;
-	}
-
-	/**
-	 * Sets the classpath.
-	 * @param classpath The classpath to set
-	 */
-	public void setClasspath(String classpath) {
-		this.classpath = classpath;
-	}
-
-	/**
-	 * Sets the type.
-	 * @param type The type to set
-	 */
-	public void setType(int type) {
-		this.type = type;
-	}
-	public void setTypeStr(String typeStr) {
-		if ("variable".equals(typeStr)) {
-			type = VARIABLE;
-		} else if ("absolute".equals(typeStr)) {
-			type = ABSOLUTE;
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "<jar type=\""
-			+ (type == 0 ? "variable" : "absolute")
-			+ "\">"
-			+ this.getClasspath()
-			+ "</jar>";
-	}
-
-	public boolean exists(ServerTypeDefinition def) {
-		if (getType() == VARIABLE) {
-			String resolved = def.resolveProperties(this.getClasspath());
-			IClasspathEntry entry =
-				JavaCore.newVariableEntry(new Path(resolved), null, null);
-
-			IClasspathEntry res = JavaCore.getResolvedClasspathEntry(entry);
-			return (res != null);
-		}
-		File f = new File(def.resolveProperties(this.getClasspath()));
-		return f.exists();
-	}
-
-	public void setRawClasspathFor(ServerTypeDefinition def, String rawPath) {
-		File f = new File(rawPath);
-		if (!f.exists())
-			return;
-		try {
-			String path = f.getCanonicalPath().replace('\\', '/');
-			String var = def.getClasspathVariable();
-			int start = path.indexOf(var);
-			if (start >= 0) {
-				path =
-					"${classPathVariableName}"
-						+ path.substring(start + var.length());
-				setType(VARIABLE);
-				setClasspath(path);
-
-			} else {
-				setType(ABSOLUTE);
-				setClasspath(path);
-			}
-		} catch (IOException e) {
-			setType(ABSOLUTE);
-			setClasspath(rawPath);
-		}
-
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/IXMLTagProcessor.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/IXMLTagProcessor.java
deleted file mode 100644
index ca2655d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/IXMLTagProcessor.java
+++ /dev/null
@@ -1,41 +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.internal.xml;
-
-import org.xml.sax.Attributes;
-
-public interface IXMLTagProcessor
-{
-	public void assesTagEnd(String tagName, String content);
-	public void assesTagStart(String tagName, Attributes attributes);
-	public Object getConfigObject();
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java
new file mode 100644
index 0000000..7598926
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * 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:
+ *     Naci M. Dai - 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.internal.xml;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.Property;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
+
+
+public class Resolver {
+
+
+
+	private Map fPropertyValues = new HashMap();
+	private ServerRuntime server;
+
+	/**
+	 * @param impl
+	 */
+	public Resolver(ServerRuntime runtime) {
+		this.server = runtime;
+	}
+	
+	public List resolveClasspathProperties(List cpList)
+	{
+		ArrayList list = new ArrayList(cpList.size());
+		for (int i = 0; i < cpList.size(); i++) {
+			ArchiveType item = (ArchiveType) cpList.get(i);
+			String cpath = resolveProperties(item.getPath());
+			list.add(cpath);
+		}
+		return list;
+	}	
+	public String resolveProperties(String proppedString) {
+		HashMap cache = new HashMap(getProperties().size());
+		Iterator itr = getProperties().iterator();
+		while (itr.hasNext()) {
+			Property element =(Property) itr.next();
+			String value = element.getDefault();
+			if(fPropertyValues != null && fPropertyValues.containsKey(element.getId()))
+			    value=(String)fPropertyValues.get(element.getId());
+			 cache.put(element.getId(), value);
+		}
+		//String vmPath = install.getInstallLocation().getCanonicalPath();
+		//vmPath = vmPath.replace('\\', '/');
+		cache.put("jrePath", "JRE");
+
+		String str = resolvePropertiesFromCache(proppedString, cache);
+		str = fixPassthroughProperties(str);
+		return str;
+	}
+
+	/**
+	 * @return
+	 */
+	private List getProperties() {
+		return this.server.getProperty();
+	}
+
+	/**
+	 * @param str
+	 * @return
+	 */
+	private String fixPassthroughProperties(String str) {
+		String resolvedString = str;
+		if (isPassPropertyLeft(resolvedString)) {
+			resolvedString = fixParam(resolvedString);
+			resolvedString = fixPassthroughProperties(resolvedString);
+		}
+		return resolvedString;
+	}
+
+	private String resolvePropertiesFromCache(
+		String proppedString,
+		HashMap cache) {
+		String resolvedString = proppedString;
+		if (isPropertyLeft(resolvedString)) {
+			resolvedString = resolveProperty(resolvedString, cache);
+			resolvedString = resolvePropertiesFromCache(resolvedString, cache);
+		}
+		return resolvedString;
+	}
+
+	private boolean isPropertyLeft(String str) {
+		return str.indexOf("${") >= 0;
+	}
+	private boolean isPassPropertyLeft(String str) {
+		return str.indexOf("%{") >= 0;
+	}
+
+	private String resolveProperty(String proppedString, HashMap cache) {
+		String str = proppedString;
+		int start = str.indexOf("${");
+		int end = str.indexOf("}", start);
+		String key = str.substring(start + 2, end);
+
+		return str.substring(0, start)
+			+ cache.get(key)
+			+ str.substring(end + 1);
+	}
+	
+	private String fixParam(String proppedString) {
+		String str = proppedString;
+		int start = str.indexOf("%{");
+		return str.substring(0, start)
+			+ "${"
+			+ str.substring(start+2);
+	}
+	
+	/**
+	 * @return Returns the fPropertyValues.
+	 */
+	public Map getPropertyValues() {
+		return fPropertyValues;
+	}
+	/**
+	 * @param propertyValues The fPropertyValues to set.
+	 */
+	public void setPropertyValues(Map propertyValues) {
+		fPropertyValues = propertyValues;
+	}
+}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerAdminTool.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerAdminTool.java
deleted file mode 100644
index ef0be15..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerAdminTool.java
+++ /dev/null
@@ -1,407 +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:
- *     Naci M. Dai - 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.internal.xml;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.launching.RuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-/**
- * @author Naci Dai
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class ServerAdminTool {
-	final public static int NONE = 0;
-	final public static int WEB = 1;
-	final public static int EJB = 2;
-	final public static int EAR = 3;
-
-	final public static String NOTDEFINED = "<NOT DEFINED>";
-	final public static String DEFINED = "<DEFINED>";
-	private String mainClass;
-
-	public class Module {
-
-		private int type = -1;
-		private String deploy = "";
-		private String undeploy = "";
-		private Module webModules = null;
-		private Module ejbModules = null;
-		/**
-		 * @return
-		 */
-		public String getDeploy() {
-			return deploy;
-		}
-
-		/**
-		 * @return
-		 */
-		public Module getEjbModules() {
-			return ejbModules;
-		}
-
-		/**
-		 * @return
-		 */
-		public int getType() {
-			return type;
-		}
-
-		/**
-		 * @return
-		 */
-		public String getUndeploy() {
-			return undeploy;
-		}
-
-		/**
-		 * @return
-		 */
-		public Module getWebModules() {
-			return webModules;
-		}
-
-		/**
-		 * @param string
-		 */
-		public void setDeploy(String string) {
-			if (string == null)
-				deploy = "";
-			else
-				deploy = string;
-		}
-
-		/**
-		 * @param string
-		 */
-		public void setEjbModules(Module mod) {
-			ejbModules = mod;
-		}
-
-		/**
-		 * @param i
-		 */
-		public void setType(int i) {
-			type = i;
-		}
-
-		/**
-		 * @param string
-		 */
-		public void setUndeploy(String string) {
-			if (string == null)
-				undeploy = "";
-			else
-				undeploy = string;
-		}
-
-		/**
-		 * @param string
-		 */
-		public void setWebModules(Module mod) {
-			webModules = mod;
-		}
-
-	}
-
-	private Module web;
-	private Module ejb;
-	private Module ear;
-	private boolean defined = false;
-
-	private ArrayList toolClassPath;
-	private ServerTypeDefinition definition;
-
-	public ServerAdminTool(ServerTypeDefinition def) {
-		mainClass = NOTDEFINED;
-		definition = def;
-		toolClassPath = new ArrayList();
-		web = new Module();
-		web.setType(WEB);
-		ejb = new Module();
-		ejb.setType(EJB);
-		ear = new Module();
-		ear.setType(EJB);
-		ear.setWebModules(new Module());
-		ear.setEjbModules(new Module());
-
-	}
-
-	public void addServerClasspath(ClasspathItem classpathItem) {
-		this.getToolClassPath().add(classpathItem);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		String xml = "";
-		xml
-			+= ("\n<adminTool>"
-				+ "\n\t<web>"
-				+ (this.getWeb().getDeploy().length() > 0
-					? "\n\t\t<deploy><![CDATA["
-						+ this.getWeb().getDeploy()
-						+ "]]></deploy>"
-					: "<deploy />")
-				+ (this.getWeb().getUndeploy().length() > 0
-					? "\n\t\t<undeploy><![CDATA["
-						+ this.getWeb().getUndeploy()
-						+ "]]></undeploy>"
-					: "<undeploy />")
-				+ "\n\t</web>"
-				+ "\n\t<ejb>"
-				+ (this.getEjb().getDeploy().length() > 0
-					? "\n\t\t<deploy><![CDATA["
-						+ this.getEjb().getDeploy()
-						+ "]]></deploy>"
-					: "<deploy />")
-				+ (this.getEjb().getUndeploy().length() > 0
-					? "\n\t\t<undeploy><![CDATA["
-						+ this.getEjb().getUndeploy()
-						+ "]]></undeploy>"
-					: "<undeploy />")
-				+ "\n\t</ejb>"
-				+ "\n\t<ear>"
-				+ (this.getEar().getDeploy().length() > 0
-					? "\n\t\t<deploy><![CDATA["
-						+ this.getEar().getDeploy()
-						+ "]]></deploy>"
-					: "<deploy />")
-				+ (this.getEar().getUndeploy().length() > 0
-					? "\n\t\t<undeploy><![CDATA["
-						+ this.getEar().getUndeploy()
-						+ "]]></undeploy>"
-					: "<undeploy />")
-				+ "\n\t\t<webModule>"
-				+ (this.getEar().getWebModules().getDeploy().length() > 0
-					? "\n\t\t\t<deploy><![CDATA["
-						+ this.getEar().getWebModules().getDeploy()
-						+ "]]></deploy>"
-					: "<deploy />")
-				+ (this.getEar().getWebModules().getUndeploy().length() > 0
-					? "\n\t\t\t<undeploy><![CDATA["
-						+ this.getEar().getWebModules().getUndeploy()
-						+ "]]></undeploy>"
-					: "<undeploy />")
-				+ "\n\t\t</webModule>"
-				+ "\n\t\t<ejbModule>"
-				+ (this.getEar().getEjbModules().getDeploy().length() > 0
-					? "\n\t\t\t<deploy><![CDATA["
-						+ this.getEar().getEjbModules().getDeploy()
-						+ "]]></deploy>"
-					: "<deploy />")
-				+ (this.getEar().getEjbModules().getUndeploy().length() > 0
-					? "\n\t\t\t<undeploy><![CDATA["
-						+ this.getEar().getEjbModules().getUndeploy()
-						+ "]]></undeploy>"
-					: "<undeploy />")
-				+ "\n\t\t</ejbModule>"
-				+ "\n\t</ear>"
-				+ "\n</adminTool>");
-
-		xml += "\n<adminToolPath>";
-		Iterator props = this.getToolClassPath().iterator();
-		while (props.hasNext()) {
-			xml += "\n\t" + props.next().toString();
-		}
-		xml += "\n</adminToolPath>";
-
-		return xml;
-
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isDefined() {
-		return defined;
-	}
-
-	public String getRuntimeClasspath(IJavaProject proj) throws CoreException {
-		Iterator iter = this.getToolClassPath().iterator();
-		ArrayList newPath = new ArrayList();
-		String cp = "";
-		while (iter.hasNext()) {
-			ClasspathItem element = (ClasspathItem) iter.next();
-			String lib =
-				this.definition.resolveProperties(element.getClasspath());
-			switch (element.getType()) {
-				case ClasspathItem.VARIABLE :
-					IClasspathEntry entry =
-						JavaCore.newVariableEntry(new Path(lib), null, null);
-					RuntimeClasspathEntry rentry =
-						new RuntimeClasspathEntry(entry);
-					newPath.add(rentry);
-					break;
-
-				default :
-					IClasspathEntry lentry =
-						JavaCore.newLibraryEntry(new Path(lib), null, null);
-					RuntimeClasspathEntry lrentry =
-						new RuntimeClasspathEntry(lentry);
-					newPath.add(lrentry);
-					break;
-			}
-		}
-
-		IRuntimeClasspathEntry[] resultList =
-			(IRuntimeClasspathEntry[]) newPath.toArray(
-				new IRuntimeClasspathEntry[newPath.size()]);
-		// 1. remove bootpath entries
-		// 2. resolve & translate to local file system paths
-		List resolved = new ArrayList(resultList.length);
-		for (int i = 0; i < resultList.length; i++) {
-			IRuntimeClasspathEntry entry = resultList[i];
-			if (entry.getClasspathProperty()
-				== IRuntimeClasspathEntry.USER_CLASSES) {
-				IRuntimeClasspathEntry[] entries =
-					JavaRuntime.resolveRuntimeClasspathEntry(entry, proj);
-				for (int j = 0; j < entries.length; j++) {
-					String location = entries[j].getLocation();
-					if (location != null) {
-						resolved.add(location);
-						cp += location + File.pathSeparator;
-					}
-				}
-			}
-		}
-		//return (String[])resolved.toArray(new String[resolved.size()]);
-		return cp;
-
-	}
-
-	/**
-	 * @return
-	 */
-	public ServerTypeDefinition getDefinition() {
-		return definition;
-	}
-
-	/**
-	 * @return
-	 */
-	public Module getEar() {
-		return ear;
-	}
-
-	/**
-	 * @return
-	 */
-	public Module getEjb() {
-		return ejb;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getMainClass() {
-		return mainClass;
-	}
-
-	/**
-	 * @return
-	 */
-	public ArrayList getToolClassPath() {
-		return toolClassPath;
-	}
-
-	/**
-	 * @return
-	 */
-	public Module getWeb() {
-		return web;
-	}
-
-	/**
-	 * @param definition
-	 */
-	public void setDefinition(ServerTypeDefinition definition) {
-		this.definition = definition;
-	}
-
-	/**
-	 * @param module
-	 */
-	public void setEar(Module module) {
-		ear = module;
-	}
-
-	/**
-	 * @param module
-	 */
-	public void setEjb(Module module) {
-		ejb = module;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setMainClass(String string) {
-		mainClass = string;
-	}
-
-	/**
-	 * @param list
-	 */
-	public void setToolClassPath(ArrayList list) {
-		toolClassPath = list;
-	}
-
-	/**
-	 * @param module
-	 */
-	public void setWeb(Module module) {
-		web = module;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setDefined(boolean b) {
-		defined = b;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerTypeDefinition.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerTypeDefinition.java
deleted file mode 100644
index 0680550..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerTypeDefinition.java
+++ /dev/null
@@ -1,777 +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:
- *     Naci M. Dai - 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.internal.xml;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.JavaRuntime;
-/**
- * Holds/presents the XML server definition file. If this object has propertyValues Map
- * the returned values for properties are resolved according to this values. If 
- * propertyValues are not present the default values in the XML definition file is 
- * resolved..
- * @author Naci Dai
- * @author Gorkem Ercan
- */
-public class ServerTypeDefinition  {
-	
-	private ServerAdminTool adminTool;
-	
-	private File definitionFile;
-	private Map fPropertyValues;
-	
-	private String name;
-	private String id;
-	private String vendor;
-	private String description;
-	private String version;
-	
-	private boolean webModules;
-	private boolean ejbModules;
-	private boolean earModules;
-
-	private ArrayList properties;
-	private ArrayList serverClassPath;
-	private ArrayList clientClassPath;
-	private ArrayList projectClassPath;
-
-	private String webModulesDeployDirectory;
-	private String ejbModulesDeployDirectory;
-	private String earModulesDeployDirectory;
-
-	private String jndiInitialContextFactory;
-	private String jndiProviderUrl;
-
-	private String startClass;
-	private String startWorkingDirectory;
-	private String startVmParameters;
-	private String startProgramArguments;
-
-	private String stopClass;
-	private String stopWorkingDirectory;
-	private String stopVmParameters;
-	private String stopProgramArguments;
-
-	private String serverHome;
-	/**
-	 * 
-	 */
-	public ServerTypeDefinition() {
-		properties = new ArrayList();
-		serverClassPath = new ArrayList();
-		clientClassPath = new ArrayList();
-		projectClassPath = new ArrayList();
-		adminTool = new ServerAdminTool(this);
-	}
-	/**
-	 * @return Returns the description.
-	 */
-	public String getDescription() {
-		return description;
-	}
-	/**
-	 * @param description The description to set.
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-	/**
-	 * @return Returns the id.
-	 */
-	public String getId() {
-		return id;
-	}
-	/**
-	 * @param id The id to set.
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-	/**
-	 * @return Returns the vendor.
-	 */
-	public String getVendor() {
-		return vendor;
-	}
-	/**
-	 * @param vendor The vendor to set.
-	 */
-	public void setVendor(String vendor) {
-		this.vendor = vendor;
-	}
-	/**
-	 * @return Returns the version.
-	 */
-	public String getVersion() {
-		return version;
-	}
-	/**
-	 * @param version The version to set.
-	 */
-	public void setVersion(String version) {
-		this.version = version;
-	}
-
-
-
-	public void addServerClasspath(ClasspathItem classpathItem) {
-		this.getServerClassPath().add(classpathItem);
-	}
-
-	public void addClientClasspath(ClasspathItem classpathItem) {
-		this.getClientClassPath().add(classpathItem);
-	}
-	public void addProjectClasspath(ClasspathItem classpathItem) {
-		this.getClientClassPath().add(classpathItem);
-	}
-
-	/**
-	 * @return ArrayList
-	 */
-	public ArrayList getClientClassPath() {
-		return clientClassPath;
-	}
-	
-	/**
-	 * @return ArrayList
-	 */
-	public ArrayList getProjectClassPath() {
-		return projectClassPath;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getEarModulesDeployDirectory() {
-		return resolveProperties(earModulesDeployDirectory);
-	}
-	
-	/**
-	 * @return String
-	 */
-	public String getEjbModulesDeployDirectory() {
-		return resolveProperties(ejbModulesDeployDirectory);
-	}
-
-	/**
-	 * @return ArrayList
-	 */
-	public ArrayList getProperties() {
-		return properties;
-	}
-
-	public String getClasspathVariableName() {
-
-		ServerTypeDefinitionProperty prop =
-			getPropertyNamed("classPathVariableName");
-		if (prop != null)
-			return prop.getDefaultValue();
-		return null;
-	}
-	public String getClasspathVariable() {
-
-		ServerTypeDefinitionProperty prop = getPropertyNamed("classPath");
-		if (prop != null)
-			return prop.getDefaultValue();
-		return null;
-	}
-
-	public ServerTypeDefinitionProperty getPropertyNamed(String id) {
-		Iterator itr = getProperties().iterator();
-		while (itr.hasNext()) {
-			ServerTypeDefinitionProperty element =
-				(ServerTypeDefinitionProperty) itr.next();
-			if (id.equals(element.getId()))
-				return element;
-		}
-		return null;
-	}
-	/**
-	 * @return ArrayList
-	 */
-	public ArrayList getServerClassPath() {
-		return serverClassPath;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStartClass() {
-		return startClass;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStartProgramArguments() {
-		return resolveProperties(startProgramArguments);
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStartVmParameters() {
-		return resolveProperties(startVmParameters);
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStopClass() {
-		return stopClass;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStopProgramArguments() {
-		return resolveProperties(stopProgramArguments);
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStopVmParameters() {
-		return resolveProperties(stopVmParameters);
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getWebModulesDeployDirectory() {
-		return this.resolveProperties(webModulesDeployDirectory);
-	}
-
-	/**
-	 * Sets the clientClassPath.
-	 * @param clientClassPath The clientClassPath to set
-	 */
-	public void setClientClassPath(ArrayList clientClassPath) {
-		this.clientClassPath = clientClassPath;
-	}
-
-	/**
-	 * Sets the earModulesDeployDirectory.
-	 * @param earModulesDeployDirectory The earModulesDeployDirectory to set
-	 */
-	public void setEarModulesDeployDirectory(String earModulesDeployDirectory) {
-		this.earModulesDeployDirectory = earModulesDeployDirectory;
-	}
-
-	/**
-	 * Sets the ejbModulesDeployDirectory.
-	 * @param ejbModulesDeployDirectory The ejbModulesDeployDirectory to set
-	 */
-	public void setEjbModulesDeployDirectory(String ejbModulesDeployDirectory) {
-		this.ejbModulesDeployDirectory = ejbModulesDeployDirectory;
-	}
-
-	/**
-	 * Sets the properties.
-	 * @param properties The properties to set
-	 */
-	public void setProperties(ArrayList properties) {
-		this.properties = properties;
-	}
-
-	/**
-	 * Sets the serverClassPath.
-	 * @param serverClassPath The serverClassPath to set
-	 */
-	public void setServerClassPath(ArrayList serverClassPath) {
-		this.serverClassPath = serverClassPath;
-	}
-
-
-	/**
-	 * Sets the ProjectClassPath.
-	 * @param serverClassPath The ProjectClassPath to set
-	 */
-	public void setProjectClassPath(ArrayList projectClassPath) {
-		this.projectClassPath = projectClassPath;
-	}
-
-	/**
-	 * Sets the startClass.
-	 * @param startClass The startClass to set
-	 */
-	public void setStartClass(String startClass) {
-		this.startClass = startClass;
-	}
-
-	/**
-	 * Sets the startProgramArguments.
-	 * @param startProgramArguments The startProgramArguments to set
-	 */
-	public void setStartProgramArguments(String startProgramArguments) {
-		this.startProgramArguments = startProgramArguments;
-	}
-
-	/**
-	 * Sets the startVmParameters.
-	 * @param startVmParameters The startVmParameters to set
-	 */
-	public void setStartVmParameters(String startVmParameters) {
-		this.startVmParameters = startVmParameters;
-	}
-
-	/**
-	 * Sets the stopClass.
-	 * @param stopClass The stopClass to set
-	 */
-	public void setStopClass(String stopClass) {
-		this.stopClass = stopClass;
-	}
-
-	/**
-	 * Sets the stopProgramArguments.
-	 * @param stopProgramArguments The stopProgramArguments to set
-	 */
-	public void setStopProgramArguments(String stopProgramArguments) {
-		this.stopProgramArguments = stopProgramArguments;
-	}
-
-	/**
-	 * Sets the stopVmParameters.
-	 * @param stopVmParameters The stopVmParameters to set
-	 */
-	public void setStopVmParameters(String stopVmParameters) {
-		this.stopVmParameters = stopVmParameters;
-	}
-
-	/**
-	 * Sets the webModulesDeployDirectory.
-	 * @param webModulesDeployDirectory The webModulesDeployDirectory to set
-	 */
-	public void setWebModulesDeployDirectory(String webModulesDeployDirectory) {
-		this.webModulesDeployDirectory = webModulesDeployDirectory;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isEarModules() {
-		return earModules;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isEjbModules() {
-		return ejbModules;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isWebModules() {
-		return webModules;
-	}
-
-	/**
-	 * Sets the earModules.
-	 * @param earModules The earModules to set
-	 */
-	public void setEarModules(boolean earModules) {
-		this.earModules = earModules;
-	}
-
-	/**
-	 * Sets the ejbModules.
-	 * @param ejbModules The ejbModules to set
-	 */
-	public void setEjbModules(boolean ejbModules) {
-		this.ejbModules = ejbModules;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * Sets the webModules.
-	 * @param webModules The webModules to set
-	 */
-	public void setWebModules(boolean webModules) {
-		this.webModules = webModules;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		String xml =
-			"\n<serverDefinition "
-				+ "\n\t name=\""
-				+ getName()
-				+ "\""
-				+ "\n\t ejbModules=\""
-				+ isEjbModules()
-				+ "\""
-				+ "\n\t webModules=\""
-				+ isWebModules()
-				+ "\""
-				+ "\n\t earModules=\""
-				+ isEarModules()
-				+ "\">";
-		Iterator props = getProperties().iterator();
-		while (props.hasNext()) {
-			xml += props.next().toString();
-		}
-
-		xml
-			+= ("\n<serverHome>"
-				+ getServerHome()
-				+ "</serverHome>"
-				+ "\n<webModulesDeployDirectory>"
-				+ getWebModulesDeployDirectory()
-				+ "</webModulesDeployDirectory>"
-				+ "\n<ejbModulesDeployDirectory>"
-				+ getEjbModulesDeployDirectory()
-				+ "</ejbModulesDeployDirectory>"
-				+ "\n<earModulesDeployDirectory>"
-				+ getEarModulesDeployDirectory()
-				+ "</earModulesDeployDirectory>"
-				+ "\n<jndiInitialContextFactory>"
-				+ getJndiInitialContextFactory()
-				+ "</jndiInitialContextFactory>"
-				+ "\n<jndiProviderUrl>"
-				+ getJndiProviderUrl()
-				+ "</jndiProviderUrl>"
-				+ "\n<startClass>"
-				+ getStartClass()
-				+ "</startClass>"
-				+ "\n<startWorkingDirectory>"
-				+ getStartWorkingDirectory()
-				+ "</startWorkingDirectory>"
-				+ "\n<startVmParameters>"
-				+ getStartVmParameters()
-				+ "</startVmParameters>"
-				+ "\n<startProgramArguments>"
-				+ getStartProgramArguments()
-				+ "</startProgramArguments>"
-				+ "\n<stopClass>"
-				+ getStopClass()
-				+ "</stopClass>"
-				+ "\n<stopWorkingDirectory>"
-				+ getStopWorkingDirectory()
-				+ "</stopWorkingDirectory>"
-				+ "\n<stopVmParameters>"
-				+ getStopVmParameters()
-				+ "</stopVmParameters>"
-				+ "\n<stopProgramArguments>"
-				+ getStopProgramArguments()
-				+ "</stopProgramArguments>");
-
-		xml += "\n<serverClassPath>";
-		props = getServerClassPath().iterator();
-		while (props.hasNext()) {
-			xml += "\n\t" + props.next().toString();
-		}
-		xml += "\n</serverClassPath>";
-
-		xml += "\n<clientClassPath>";
-		props = getClientClassPath().iterator();
-		while (props.hasNext()) {
-			xml += "\n\t" + props.next().toString();
-		}
-		xml += "\n</clientClassPath>";
-
-		xml += "\n<projectClassPath>";
-		props = getProjectClassPath().iterator();
-		while (props.hasNext()) {
-			xml += "\n\t" + props.next().toString();
-		}
-		xml += "\n</projectClassPath>";
-
-		if( getAdminTool().isDefined() )
-			xml += getAdminTool().toString();				
-		
-		xml += "\n</serverDefinition>";
-		return xml;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStartWorkingDirectory() {
-		return resolveProperties(startWorkingDirectory);
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getStopWorkingDirectory() {
-		return resolveProperties(stopWorkingDirectory);
-	}
-
-	/**
-	 * Sets the startWorkingDirectory.
-	 * @param startWorkingDirectory The startWorkingDirectory to set
-	 */
-	public void setStartWorkingDirectory(String startWorkingDirectory) {
-		this.startWorkingDirectory = startWorkingDirectory;
-	}
-
-	/**
-	 * Sets the stopWorkingDirectory.
-	 * @param stopWorkingDirectory The stopWorkingDirectory to set
-	 */
-	public void setStopWorkingDirectory(String stopWorkingDirectory) {
-		this.stopWorkingDirectory = stopWorkingDirectory;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getJndiInitialContextFactory() {
-		return jndiInitialContextFactory;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getJndiProviderUrl() {
-		return resolveProperties(jndiProviderUrl);
-	}
-
-	/**
-	 * Sets the jndiInitialContextFactory.
-	 * @param jndiInitialContextFactory The jndiInitialContextFactory to set
-	 */
-	public void setJndiInitialContextFactory(String jndiInitialContextFactory) {
-		this.jndiInitialContextFactory = jndiInitialContextFactory;
-	}
-
-	/**
-	 * Sets the jndiProviderUrl.
-	 * @param jndiProviderUrl The jndiProviderUrl to set
-	 */
-	public void setJndiProviderUrl(String jndiProviderUrl) {
-		this.jndiProviderUrl = jndiProviderUrl;
-	}
-
-	/**
-	 * @return File
-	 */
-	public File getDefinitionFile() {
-		return definitionFile;
-	}
-
-	/**
-	 * Sets the definitionFile.
-	 * @param definitionFile The definitionFile to set
-	 */
-	public void setDefinitionFile(File definitionFile) {
-		this.definitionFile = definitionFile;
-	}
-
-
-	protected String resolveProperties(
-		String proppedString) {
-		HashMap cache = new HashMap(getProperties().size());
-		Iterator itr = getProperties().iterator();
-		while (itr.hasNext()) {
-			ServerTypeDefinitionProperty element =(ServerTypeDefinitionProperty) itr.next();
-			String value = element.getDefaultValue();
-			if(fPropertyValues!= null && fPropertyValues.containsKey(element.getId()))
-			    value=(String)fPropertyValues.get(element.getId());
-			 cache.put(element.getId(), value);
-		}
-		//String vmPath = install.getInstallLocation().getCanonicalPath();
-		//vmPath = vmPath.replace('\\', '/');
-		cache.put("jrePath", "JRE");
-
-		String str = resolvePropertiesFromCache(proppedString, cache);
-		str = fixPassthroughProperties(str);
-		return str;
-	}
-
-	/**
-	 * @param str
-	 * @return
-	 */
-	private String fixPassthroughProperties(String str) {
-		String resolvedString = str;
-		if (isPassPropertyLeft(resolvedString)) {
-			resolvedString = fixParam(resolvedString);
-			resolvedString = fixPassthroughProperties(resolvedString);
-		}
-		return resolvedString;
-	}
-
-	private String resolvePropertiesFromCache(
-		String proppedString,
-		HashMap cache) {
-		String resolvedString = proppedString;
-		if (isPropertyLeft(resolvedString)) {
-			resolvedString = resolveProperty(resolvedString, cache);
-			resolvedString = resolvePropertiesFromCache(resolvedString, cache);
-		}
-		return resolvedString;
-	}
-
-	private boolean isPropertyLeft(String str) {
-		return str.indexOf("${") >= 0;
-	}
-	private boolean isPassPropertyLeft(String str) {
-		return str.indexOf("%{") >= 0;
-	}
-
-	private String resolveProperty(String proppedString, HashMap cache) {
-		String str = proppedString;
-		int start = str.indexOf("${");
-		int end = str.indexOf("}", start);
-		String key = str.substring(start + 2, end);
-
-		return str.substring(0, start)
-			+ cache.get(key)
-			+ str.substring(end + 1);
-	}
-	
-	private String fixParam(String proppedString) {
-		String str = proppedString;
-		int start = str.indexOf("%{");
-		return str.substring(0, start)
-			+ "${"
-			+ str.substring(start+2);
-	}
-	
-	/**
-	 * @return String
-	 */
-	public String getServerHome() {
-		return serverHome;
-	}
-
-	public void setServerHome(String serverHome) {
-		this.serverHome = serverHome;
-	}
-
-	/**
-	 * @return
-	 */
-	public ServerAdminTool getAdminTool() {
-		return adminTool;
-	}
-
-	/**
-	 * @param tool
-	 */
-	public void setAdminTool(ServerAdminTool tool) {
-		adminTool = tool;
-	}
-
-
-
-	public Object getPropertyValue(Object id)
-	{
-		ServerTypeDefinitionProperty prop = getPropertyNamed((String)id);
-		if(prop != null)
-			return prop.getDefaultValue();
-		return null;
-	}
-
-	public boolean isPropertySet(Object id)
-	{
-		ServerTypeDefinitionProperty prop = getPropertyNamed((String)id);
-		return (prop != null);
-	}
-
-	public void setPropertyValue(Object id, Object value)
-	{
-		ServerTypeDefinitionProperty prop = getPropertyNamed((String)id);
-		int idx = getProperties().indexOf(prop);
-		if(idx >= 0)
-		{
-			prop.setDefaultValue((String)value);
-			getProperties().set(idx, prop);
-		}
-	}
-	/**
-	 * @return
-	 */
-	public String getPort() {
-		ServerTypeDefinitionProperty prop =
-			getPropertyNamed("port");
-		if (prop != null)
-			return prop.getDefaultValue();
-		return null;
-	}
-
-	public List getServerClasspathMementos() {
-		List cpathList =getServerClassPath();
-		ArrayList mementoList = new ArrayList();
-		for (int i = 0; i < cpathList.size(); i++) {
-			ClasspathItem item = (ClasspathItem) cpathList.get(i);
-			String cpath = resolveProperties(
-					item.getClasspath());
-			String memento = null;
-			try {
-				memento = JavaRuntime.newArchiveRuntimeClasspathEntry(
-						new Path(cpath)).getMemento();
-			} catch (CoreException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			mementoList.add(memento);
-		}
-		return mementoList;
-	}
-	
-
-    public Map getPropertyValues() {
-        return fPropertyValues;
-    }
-    public void setPropertyValues(Map propertyValue) {
-        fPropertyValues = propertyValue;
-    }
-   
-    
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerTypeDefinitionProperty.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerTypeDefinitionProperty.java
deleted file mode 100644
index 1ebb09e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/ServerTypeDefinitionProperty.java
+++ /dev/null
@@ -1,146 +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:
- *     Naci M. Dai - 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.internal.xml;
-
-public class ServerTypeDefinitionProperty {
-	public static final int TYPE_STRING = 0;
-	public static final int TYPE_FILE = 1;
-	public static final int TYPE_DIRECTORY = 2;
-	public static final int TYPE_BOOLEAN = 3;
-	public static final String CONTEXT_SERVER = "server";
-	public static final String CONTEXT_RUNTIME = "runtime";    
-	    
-
-	private String id;
-	private String label;
-	private int type;
-	private String defaultValue;
-	private String context;
-
-	/**
-	 * @return String
-	 */
-	public String getDefaultValue() {
-		return defaultValue;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getType() {
-		return type;
-	}
-
-	/**
-	 * Sets the defaultValue.
-	 * @param defaultValue The defaultValue to set
-	 */
-	public void setDefaultValue(String defaultValue) {
-		this.defaultValue = defaultValue;
-	}
-
-	/**
-	 * Sets the id.
-	 * @param id The id to set
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	/**
-	 * Sets the label.
-	 * @param label The label to set
-	 */
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Sets the type.
-	 * @param type The type to set
-	 */
-	public void setType(int type) {
-		this.type = type;
-	}
-	public void setTypeFromStr(String str) {
-		if ("string".equals(str))
-			this.type = TYPE_STRING;
-		else if ("directory".equals(str))
-			this.type = TYPE_DIRECTORY;
-		else if ("file".equals(str))
-			this.type = TYPE_FILE;
-		else if ("boolean".equals(str))
-			this.type = TYPE_BOOLEAN;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "\n<property id=\""
-			+ this.getId()
-			+ "\"\n\tlabel=\""
-			+ this.getLabel()
-			+ "\"\n\ttype=\""
-			+ (type == TYPE_DIRECTORY
-				? "directory"
-				: (type == TYPE_STRING
-					? "string"
-					: (type == TYPE_FILE
-						? "file"
-						: (type == TYPE_BOOLEAN ? "boolean" : "undefined"))))
-			+ "\"\n\tdefault=\""
-			+ this.getDefaultValue()
-			+ "\"\n\tcontext=\""+ this.getContext()
-			+"\" />";
-	}
-
-    public String getContext() {
-        return context;
-    }
-    public void setContext(String context) {
-        this.context = context;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLConfiguration.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLConfiguration.java
deleted file mode 100644
index a7f6f6e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLConfiguration.java
+++ /dev/null
@@ -1,215 +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:
- *     Naci M. Dai - 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.internal.xml;
-
-import java.util.ArrayList;
-
-import org.xml.sax.Attributes;
-
-public class XMLConfiguration implements IXMLTagProcessor {
-
-	private boolean inEjbModule;
-	private boolean inWebModule;
-	private boolean inEar;
-	private boolean inEjb;
-	private boolean inWar;
-	private boolean hasProjectPath = false;
-	ServerTypeDefinition currentDefinition;
-	ClasspathItem currentClasspathItem;
-	ArrayList currentClasspath;
-	boolean inAdminTool = false;
-	/* (non-Javadoc)
-	 * @see com.objectlearn.jdt.xml.BuildConfigInterface#assesTagEnd(java.lang.String, java.lang.String)
-	 */
-	public void assesTagEnd(String tagName, String content) {
-		if ("webModulesDeployDirectory".equals(tagName)) {
-			currentDefinition.setWebModulesDeployDirectory(content);
-		} else if ("ejbModulesDeployDirectory".equals(tagName)) {
-			currentDefinition.setEjbModulesDeployDirectory(content);
-		} else if ("earModulesDeployDirectory".equals(tagName)) {
-			currentDefinition.setEarModulesDeployDirectory(content);
-		} else if ("jndiInitialContextFactory".equals(tagName)) {
-			currentDefinition.setJndiInitialContextFactory(content);
-		} else if ("jndiProviderUrl".equals(tagName)) {
-			currentDefinition.setJndiProviderUrl(content);
-		} else if ("startClass".equals(tagName)) {
-			currentDefinition.setStartClass(content);
-		} else if ("startWorkingDirectory".equals(tagName)) {
-			currentDefinition.setStartWorkingDirectory(content);
-		} else if ("startVmParameters".equals(tagName)) {
-			currentDefinition.setStartVmParameters(content);
-		} else if ("startProgramArguments".equals(tagName)) {
-			currentDefinition.setStartProgramArguments(content);
-		} else if ("stopClass".equals(tagName)) {
-			currentDefinition.setStopClass(content);
-		} else if ("stopWorkingDirectory".equals(tagName)) {
-			currentDefinition.setStopWorkingDirectory(content);
-		} else if ("stopVmParameters".equals(tagName)) {
-			currentDefinition.setStopVmParameters(content);
-		} else if ("stopProgramArguments".equals(tagName)) {
-			currentDefinition.setStopProgramArguments(content);
-		} else if ("jar".equals(tagName)) {
-			currentClasspathItem.setClasspath(content);
-		} else if ("serverClassPath".equals(tagName)) {
-			currentDefinition.setServerClassPath(currentClasspath);
-		} else if ("clientClassPath".equals(tagName)) {
-			currentDefinition.setClientClassPath(currentClasspath);
-		} else if ("projectClassPath".equals(tagName)) {
-			currentDefinition.setProjectClassPath(currentClasspath);
-			hasProjectPath = true;
-		} else if ("adminToolPath".equals(tagName)) {
-			currentDefinition.getAdminTool().setToolClassPath(currentClasspath);
-		} else if ("serverHome".equals(tagName)) {
-			currentDefinition.setServerHome(content);
-		} else if ("adminTool".equals(tagName)) {
-			inAdminTool = false;
-			inEjbModule = false;
-			inWebModule = false;
-			inEar = false;
-			inEjb = false;
-			inWar = false;
-
-		} else if ("serverDefinition".equals(tagName)) {
-			//Finished parsing
-			if (!hasProjectPath) {
-				currentDefinition.setProjectClassPath(
-					currentDefinition.getServerClassPath());
-			}
-		} else if (inAdminTool && "deploy".equals(tagName)) {
-			if (inWar) {
-				currentDefinition.getAdminTool().getWeb().setDeploy(content);
-			} else if (inEjb) {
-				currentDefinition.getAdminTool().getEjb().setDeploy(content);
-			}else if (inWebModule) {
-				currentDefinition.getAdminTool().getEar().getWebModules().setDeploy(content);
-			} else if (inEjbModule) {
-				currentDefinition.getAdminTool().getEar().getEjbModules().setDeploy(content);
-			} else if (inEar && !inWebModule && !inEjbModule) {
-				currentDefinition.getAdminTool().getEar().setDeploy(content);
-			}
-		} else if (inAdminTool && "undeploy".equals(tagName)) {
-			if (inWar) {
-				currentDefinition.getAdminTool().getWeb().setUndeploy(content);
-			} else if (inEjb) {
-				currentDefinition.getAdminTool().getEjb().setUndeploy(content);
-			} else if (inEar && !inWebModule && !inEjbModule) {
-				currentDefinition.getAdminTool().getEar().setUndeploy(content);
-			} else if (inWebModule) {
-				currentDefinition.getAdminTool().getEar().getWebModules().setUndeploy(content);
-			} else if (inEjbModule) {
-				currentDefinition.getAdminTool().getEar().getEjbModules().setUndeploy(content);
-			}
-		}else if (inAdminTool && "web".equals(tagName)) {
-			inWar = false;
-		}else if (inAdminTool && "ejb".equals(tagName)) {
-			inEjb = false;
-		}else if (inAdminTool && "ear".equals(tagName)) {
-			inEar = false;
-		}else if (inAdminTool && "webModule".equals(tagName)) {
-			inWebModule = false;
-		}else if (inAdminTool && "ejbModule".equals(tagName)) {
-			inEjbModule = false;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see com.objectlearn.jdt.xml.BuildConfigInterface#assesTagStart(java.lang.String)
-	 */
-	public void assesTagStart(String tagName, Attributes attributes) {
-		if ("serverDefinition".equals(tagName)) {
-			hasProjectPath = false;
-			currentDefinition = new ServerTypeDefinition();
-			currentDefinition.setName(attributes.getValue("name"));
-			currentDefinition.setWebModules(false);
-			if ("true".equals(attributes.getValue("webModules")))
-				currentDefinition.setWebModules(true);
-			currentDefinition.setEjbModules(false);
-			if ("true".equals(attributes.getValue("webModules")))
-				currentDefinition.setEjbModules(true);
-			currentDefinition.setEarModules(false);
-			if ("true".equals(attributes.getValue("earModules")))
-				currentDefinition.setEarModules(true);
-
-		} else if ("property".equals(tagName)) {
-			ServerTypeDefinitionProperty property = new ServerTypeDefinitionProperty();
-			property.setId(attributes.getValue("id"));
-			property.setLabel(attributes.getValue("label"));
-			property.setDefaultValue(attributes.getValue("default"));
-			property.setTypeFromStr(attributes.getValue("type"));
-			property.setContext(attributes.getValue("context"));
-			currentDefinition.getProperties().add(property);
-		} else if ("serverClassPath".equals(tagName)) {
-			currentClasspath = new ArrayList();
-		} else if ("clientClassPath".equals(tagName)) {
-			currentClasspath = new ArrayList();
-		} else if ("projectClassPath".equals(tagName)) {
-			currentClasspath = new ArrayList();
-		} else if ("adminToolPath".equals(tagName)) {
-			currentClasspath = new ArrayList();
-		} else if ("jar".equals(tagName)) {
-			currentClasspathItem = new ClasspathItem();
-			currentClasspathItem.setTypeStr(attributes.getValue("type"));
-			currentClasspath.add(currentClasspathItem);
-		} else if ("adminTool".equals(tagName)) {
-			inAdminTool = true;
-			inEjbModule = false;
-			inWebModule = false;
-			inEar = false;
-			inEjb = false;
-			inWar = false;
-			currentDefinition.getAdminTool().setDefined(true);
-		} else if ("web".equals(tagName)) {
-			if (inAdminTool)
-				inWar = true;
-		} else if ("ejb".equals(tagName)) {
-			if (inAdminTool)
-				inEjb = true;
-		} else if ("ear".equals(tagName)) {
-			if (inAdminTool)
-				inEar = true;
-		} else if ("webModule".equals(tagName)) {
-			if (inAdminTool)
-				inWebModule = true;
-		} else if ("ejbModule".equals(tagName)) {
-			if (inAdminTool)
-				inEjbModule = true;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see com.objectlearn.jdt.xml.BuildConfigInterface#getConfigObject()
-	 */
-	public Object getConfigObject() {
-		return currentDefinition;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLReader.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLReader.java
deleted file mode 100644
index 7595d66..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLReader.java
+++ /dev/null
@@ -1,151 +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:
- *     Naci M. Dai - 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.internal.xml;
-import java.io.CharArrayWriter;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-
-/**
- * Builds the config objects from their XML definitions
- * 
- * @author B. Görkem ERCAN
- */
-public class XMLReader extends DefaultHandler
-{
-	private IXMLTagProcessor config = null;
-	private CharArrayWriter contents = new CharArrayWriter();
-	public XMLReader(IXMLTagProcessor buildConfig)
-	{
-		super();
-		this.config = buildConfig;
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-	 */
-	public void characters(char[] ch, int start, int length)
-		throws SAXException
-	{
-		contents.write(ch, start, length);
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#endElement(String, String, String)
-	 */
-	public void endElement(String nameSpaceURI, String localName, String qName)
-		throws SAXException
-	{
-		String tagName = ( localName != null && localName.length() > 0) ? localName : qName;
-		config.assesTagEnd(tagName, contents.toString());
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#startElement(String, String, String, Attributes)
-	 */
-	public void startElement(
-		String nameSpaceURI,
-		String localName,
-		String qName,
-		Attributes attributes)
-		throws SAXException
-	{
-		contents.reset();
-		String tagName = ( localName != null && localName.length() > 0) ? localName : qName;
-		config.assesTagStart(tagName,attributes);
-	}
-
-	/**
-	 * Method getConfigObject.
-	 * @return Object
-	 */
-	public Object getConfigObject()
-	{
-		return this.config.getConfigObject();
-	}
-
-	public static ServerTypeDefinition getServerDefinition(String fileName)
-	{
-		try
-		{
-			return (ServerTypeDefinition) doParse(fileName, new XMLConfiguration());
-		}
-		catch (Exception e)
-		{
-			e.printStackTrace();//J2EEPlugin.log(e);
-			return null;
-		}
-
-	}
-
-		
-	private static Object doParse(String fileName, IXMLTagProcessor cf)
-		throws
-			FileNotFoundException,
-			IOException, ParserConfigurationException, SAXException
-	{
-      
-		SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();;
-		saxParserFactory.setValidating(false);
-		javax.xml.parsers.SAXParser parser =  saxParserFactory.newSAXParser();
-		parser.getXMLReader().setFeature("http://xml.org/sax/features/validation", false);
-		ContentHandler contentHandler = new XMLReader(cf);
-		parser.getXMLReader().setContentHandler(contentHandler);
-		InputSource source = new InputSource(new FileReader(fileName));
-		parser.parse(source, new XMLReader(cf));
-		return cf.getConfigObject();
-	}
-	
-//	private static Object parseString(String content, IXMLTagProcessor cf)
-//		throws
-//			FileNotFoundException,
-//			IOException, ParserConfigurationException, SAXException
-//	{
-//		SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();;
-//		javax.xml.parsers.SAXParser parser =  saxParserFactory.newSAXParser();
-//		saxParserFactory.setValidating(false);
-//		parser.getXMLReader().setFeature("http://xml.org/sax/features/validation", false);
-//		InputSource source = new InputSource(new CharArrayReader(content.toCharArray()));
-//		parser.parse(source, new XMLReader(cf));
-//		return cf.getConfigObject();
-//	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
index 3967b2a..75968e8 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
@@ -31,7 +31,6 @@
 
 package org.eclipse.jst.server.generic.internal.xml;
 
-
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
@@ -42,93 +41,130 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.jst.server.generic.core.CorePlugin;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
 /**
- * @author Naci Dai 
+ * @author Naci Dai
  */
 public class XMLUtils {
-	
+
 	ArrayList definitions;
+
 	File sourceDir;
-	
-	public XMLUtils(URL installUrl)
-	{
-		String serversPath = installUrl.getPath()+"/servers";
+
+	public XMLUtils(URL installUrl) {
+		String serversPath = installUrl.getPath() + "/servers";
 		URI uri;
 		try {
-			uri = new URI(installUrl.getProtocol(),installUrl.getHost(),serversPath,installUrl.getQuery());
+			uri = new URI(installUrl.getProtocol(), installUrl.getHost(),
+					serversPath, installUrl.getQuery());
 			sourceDir = new File(uri);
 		} catch (URISyntaxException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
-		
+
 		refresh();
 	}
-	
-	
-	public void refresh()
-	{
+
+	public void refresh() {
 		definitions = scanFiles(sourceDir);
 	}
-	public void update(ServerTypeDefinition element)
-	{
+
+	public void update(ServerRuntime element) {
 		toFile(element);
-	}	
-	
-	public void update()
-	{
+	}
+
+	public void update() {
 		Iterator defs = definitions.iterator();
 		while (defs.hasNext()) {
-			ServerTypeDefinition element = (ServerTypeDefinition) defs.next();
+			ServerRuntime element = (ServerRuntime) defs.next();
 			update(element);
 		}
 	}
-	
-	private void toFile(ServerTypeDefinition def)
-	{
+
+	private void toFile(ServerRuntime def) {
 		try {
-			def.getDefinitionFile().renameTo(new File(def.getDefinitionFile().getCanonicalFile()+".bak"));
+
+			File f = new File(def.getFilename());
+			f.renameTo(new File(f.getCanonicalFile() + ".bak"));
 		} catch (IOException e) {
 		}
-		
+
 		try {
-			FileOutputStream out = new FileOutputStream(def.getDefinitionFile());
+			FileOutputStream out = new FileOutputStream(def.getFilename());
 			out.write(def.toString().getBytes());
 			out.close();
 		} catch (FileNotFoundException e) {
 		} catch (IOException e) {
 		}
 	}
-	private  ArrayList scanFiles(File dir)
-	{
+
+	private ArrayList scanFiles(File dir) {
 		ArrayList all = new ArrayList();
-		try {
-			if(dir.isDirectory()){
-				File[] allServers = dir.listFiles(new FilenameFilter(){
-					/* (non-Javadoc)
-					 * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
-					 */
-					public boolean accept(File dir, String name) {
-						if(name.endsWith(".server"))
-							return true;
-						return false;
-					}
-			
-				});
-				
-				for (int i = 0; i < allServers.length; i++) {
-					File file = allServers[i];
-					ServerTypeDefinition def = XMLReader.getServerDefinition(file.getCanonicalPath());
-					if(def != null){
-						def.setDefinitionFile(file);
+		if (dir.isDirectory()) {
+			File[] allServers = dir.listFiles(new FilenameFilter() {
+				/*
+				 * (non-Javadoc)
+				 * 
+				 * @see java.io.FilenameFilter#accept(java.io.File,
+				 *      java.lang.String)
+				 */
+				public boolean accept(File dir, String name) {
+					if (name.endsWith(".server"))
+						return true;
+					return false;
+				}
+
+			});
+
+			for (int i = 0; i < allServers.length; i++) {
+				File file = allServers[i];
+
+				// Create a resource set.
+				ResourceSet resourceSet = new ResourceSetImpl();
+
+				// Register the default resource factory -- only needed for
+				// stand-alone!
+				resourceSet.getResourceFactoryRegistry()
+						.getExtensionToFactoryMap().put(
+								Resource.Factory.Registry.DEFAULT_EXTENSION,
+								new XMIResourceFactoryImpl());
+
+				ServerTypePackage gstPack = ServerTypePackage.eINSTANCE;
+
+				// Get the URI of the model file.
+				org.eclipse.emf.common.util.URI fileURI = org.eclipse.emf.common.util.URI
+						.createFileURI(file.getAbsolutePath());
+
+				// Demand load the resource for this file.
+				Resource resource=null;
+                try {
+                    resource = resourceSet.getResource(fileURI, true);
+                } catch (WrappedException e) {
+//                  sth wrong with this .server file.
+                    CorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,1,"Error loading the server type definition",e));
+                }
+                if(resource!=null) {
+                    ServerRuntime def = (ServerRuntime) resource.getContents().get(0);
+					if (def != null) {
+						def.setFilename(file.getAbsolutePath());
 						all.add(def);
 					}
-				
-				}
+	            }
 			}
-		} catch (IOException e) {
 		}
-		
+
 		return all;
 	}
 
@@ -142,23 +178,27 @@
 	/**
 	 * @return ArrayList
 	 */
-	public ServerTypeDefinition getServerTypeDefinitionNamed(String name) {
+	public ServerRuntime getServerTypeDefinitionNamed(String name) {
 		refresh();
 		Iterator defs = getServerTypeDefinitions().iterator();
 		while (defs.hasNext()) {
-			ServerTypeDefinition elem = (ServerTypeDefinition) defs.next();
-			if(name.equals(elem.getName()))
-				return elem;			
-		}		
+			ServerRuntime elem = (ServerRuntime) defs.next();
+			if (name.equals(elem.getName()))
+				return elem;
+		}
 		return null;
 	}
 
 	/**
 	 * Sets the definitions.
-	 * @param definitions The definitions to set
+	 * 
+	 * @param definitions
+	 *            The definitions to set
 	 */
 	public void setDefinitions(ArrayList definitions) {
 		this.definitions = definitions;
 	}
 
+	
+	
 }
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java
new file mode 100644
index 0000000..d5c641c
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ArchiveType.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Archive Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getArchiveType()
+ * @model 
+ * @generated
+ */
+public interface ArchiveType extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Path</em>' attribute.
+	 * @see #setPath(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getArchiveType_Path()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Path</em>' attribute.
+	 * @see #getPath()
+	 * @generated
+	 */
+	void setPath(String value);
+
+} // ArchiveType
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java
new file mode 100644
index 0000000..716d138
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java
@@ -0,0 +1,172 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: Classpath.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classpath</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getArchive <em>Archive</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getClasspath()
+ * @model 
+ * @generated
+ */
+public interface Classpath extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getClasspath_Group()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getGroup();
+
+	/**
+	 * Returns the value of the '<em><b>Archive</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Archive</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Archive</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getClasspath_Archive()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArchiveType" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getArchive();
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getClasspath_Id()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Library</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Library</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Library</em>' attribute.
+	 * @see #isSetIsLibrary()
+	 * @see #unsetIsLibrary()
+	 * @see #setIsLibrary(boolean)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getClasspath_IsLibrary()
+	 * @model unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+	 * @generated
+	 */
+	boolean isIsLibrary();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Library</em>' attribute.
+	 * @see #isSetIsLibrary()
+	 * @see #unsetIsLibrary()
+	 * @see #isIsLibrary()
+	 * @generated
+	 */
+	void setIsLibrary(boolean value);
+
+	/**
+	 * Unsets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isSetIsLibrary()
+	 * @see #isIsLibrary()
+	 * @see #setIsLibrary(boolean)
+	 * @generated
+	 */
+	void unsetIsLibrary();
+
+	/**
+	 * Returns whether the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}' attribute is set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return whether the value of the '<em>Is Library</em>' attribute is set.
+	 * @see #unsetIsLibrary()
+	 * @see #isIsLibrary()
+	 * @see #setIsLibrary(boolean)
+	 * @generated
+	 */
+	boolean isSetIsLibrary();
+
+} // Classpath
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
new file mode 100644
index 0000000..6f7ef6a
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
@@ -0,0 +1,188 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: LaunchConfiguration.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Launch Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClass_ <em>Class</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getLaunchConfiguration()
+ * @model 
+ * @generated
+ */
+public interface LaunchConfiguration extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Class</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Class</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Class</em>' attribute.
+	 * @see #setClass(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getLaunchConfiguration_Class()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getClass_();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClass_ <em>Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Class</em>' attribute.
+	 * @see #getClass_()
+	 * @generated
+	 */
+	void setClass(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Working Directory</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Working Directory</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Working Directory</em>' attribute.
+	 * @see #setWorkingDirectory(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getLaunchConfiguration_WorkingDirectory()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getWorkingDirectory();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Working Directory</em>' attribute.
+	 * @see #getWorkingDirectory()
+	 * @generated
+	 */
+	void setWorkingDirectory(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Program Arguments</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Program Arguments</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Program Arguments</em>' attribute.
+	 * @see #setProgramArguments(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getLaunchConfiguration_ProgramArguments()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getProgramArguments();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Program Arguments</em>' attribute.
+	 * @see #getProgramArguments()
+	 * @generated
+	 */
+	void setProgramArguments(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Vm Parameters</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Vm Parameters</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Vm Parameters</em>' attribute.
+	 * @see #setVmParameters(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getLaunchConfiguration_VmParameters()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getVmParameters();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Vm Parameters</em>' attribute.
+	 * @see #getVmParameters()
+	 * @generated
+	 */
+	void setVmParameters(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Classpath Reference</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #setClasspathReference(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getLaunchConfiguration_ClasspathReference()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getClasspathReference();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #getClasspathReference()
+	 * @generated
+	 */
+	void setClasspathReference(String value);
+
+} // LaunchConfiguration
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java
new file mode 100644
index 0000000..c9fdc40
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java
@@ -0,0 +1,134 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: Module.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Module</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Module#getType <em>Type</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir <em>Publish Dir</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference <em>Publisher Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getModule()
+ * @model 
+ * @generated
+ */
+public interface Module extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see #setType(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getModule_Type()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Publish Dir</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Publish Dir</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Publish Dir</em>' attribute.
+	 * @see #setPublishDir(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getModule_PublishDir()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getPublishDir();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir <em>Publish Dir</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Publish Dir</em>' attribute.
+	 * @see #getPublishDir()
+	 * @generated
+	 */
+	void setPublishDir(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Publisher Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Publisher Reference</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Publisher Reference</em>' attribute.
+	 * @see #setPublisherReference(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getModule_PublisherReference()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getPublisherReference();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference <em>Publisher Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Publisher Reference</em>' attribute.
+	 * @see #getPublisherReference()
+	 * @generated
+	 */
+	void setPublisherReference(String value);
+
+} // Module
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java
new file mode 100644
index 0000000..a933a53
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java
@@ -0,0 +1,134 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: Port.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Port#getNo <em>No</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Port#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol <em>Protocol</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPort()
+ * @model 
+ * @generated
+ */
+public interface Port extends EObject {
+	/**
+	 * Returns the value of the '<em><b>No</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>No</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>No</em>' attribute.
+	 * @see #setNo(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPort_No()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getNo();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getNo <em>No</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>No</em>' attribute.
+	 * @see #getNo()
+	 * @generated
+	 */
+	void setNo(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPort_Name()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Protocol</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Protocol</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Protocol</em>' attribute.
+	 * @see #setProtocol(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPort_Protocol()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getProtocol();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol <em>Protocol</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Protocol</em>' attribute.
+	 * @see #getProtocol()
+	 * @generated
+	 */
+	void setProtocol(String value);
+
+} // Port
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java
new file mode 100644
index 0000000..91980f3
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: Project.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Project</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProject()
+ * @model 
+ * @generated
+ */
+public interface Project extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Classpath Reference</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #setClasspathReference(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProject_ClasspathReference()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getClasspathReference();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #getClasspathReference()
+	 * @generated
+	 */
+	void setClasspathReference(String value);
+
+} // Project
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java
new file mode 100644
index 0000000..45f92eb
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java
@@ -0,0 +1,191 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: Property.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getContext <em>Context</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getDefault <em>Default</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getLabel <em>Label</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProperty()
+ * @model 
+ * @generated
+ */
+public interface Property extends EObject {
+	String CONTEXT_RUNTIME = "runtime";
+	String CONTEXT_SERVER = "server";
+
+	/**
+	 * Returns the value of the '<em><b>Context</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Context</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Context</em>' attribute.
+	 * @see #setContext(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProperty_Context()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getContext();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getContext <em>Context</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Context</em>' attribute.
+	 * @see #getContext()
+	 * @generated
+	 */
+	void setContext(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Default</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Default</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Default</em>' attribute.
+	 * @see #setDefault(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProperty_Default()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getDefault();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getDefault <em>Default</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Default</em>' attribute.
+	 * @see #getDefault()
+	 * @generated
+	 */
+	void setDefault(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProperty_Id()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Label</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Label</em>' attribute.
+	 * @see #setLabel(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProperty_Label()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getLabel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getLabel <em>Label</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Label</em>' attribute.
+	 * @see #getLabel()
+	 * @generated
+	 */
+	void setLabel(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see #setType(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getProperty_Type()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(String value);
+
+} // Property
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublishType.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublishType.java
new file mode 100644
index 0000000..e25cc36
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublishType.java
@@ -0,0 +1,107 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: PublishType.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Publish Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.PublishType#getTask <em>Task</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.PublishType#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublishType()
+ * @model 
+ * @generated
+ */
+public interface PublishType extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Task</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Task</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Task</em>' attribute.
+	 * @see #setTask(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublishType_Task()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getTask();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.PublishType#getTask <em>Task</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Task</em>' attribute.
+	 * @see #getTask()
+	 * @generated
+	 */
+	void setTask(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Classpath Reference</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #setClasspathReference(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublishType_ClasspathReference()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getClasspathReference();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.PublishType#getClasspathReference <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #getClasspathReference()
+	 * @generated
+	 */
+	void setClasspathReference(String value);
+
+} // PublishType
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java
new file mode 100644
index 0000000..542e36f
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: Publisher.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Publisher</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getPublish <em>Publish</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getUnpublish <em>Unpublish</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisher()
+ * @model 
+ * @generated
+ */
+public interface Publisher extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisher_Group()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getGroup();
+
+	/**
+	 * Returns the value of the '<em><b>Publish</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.PublishType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Publish</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Publish</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisher_Publish()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.PublishType" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getPublish();
+
+	/**
+	 * Returns the value of the '<em><b>Unpublish</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Unpublish</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Unpublish</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisher_Unpublish()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.UnpublishType" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getUnpublish();
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisher_Id()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+} // Publisher
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java
new file mode 100644
index 0000000..33e5b2d
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java
@@ -0,0 +1,413 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerRuntime.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.jst.server.generic.internal.xml.Resolver;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Server Runtime</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * 
+ * 				Generic Server Type Definition. It must have a list of
+ * 				properties.
+ * 			
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup1 <em>Group1</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPort <em>Port</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup2 <em>Group2</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getModule <em>Module</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject <em>Project</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart <em>Start</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop <em>Stop</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup3 <em>Group3</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPublisher <em>Publisher</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup4 <em>Group4</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getClasspath <em>Classpath</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime()
+ * @model 
+ * @generated
+ */
+public interface ServerRuntime extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Group()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getGroup();
+
+	/**
+	 * Returns the value of the '<em><b>Property</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Property}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Property()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Property" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getProperty();
+
+	/**
+	 * Returns the value of the '<em><b>Group1</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group1</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group1</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Group1()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getGroup1();
+
+	/**
+	 * Returns the value of the '<em><b>Port</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Port}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Port</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Port</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Port()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Port" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getPort();
+
+	/**
+	 * Returns the value of the '<em><b>Group2</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group2</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group2</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Group2()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getGroup2();
+
+	/**
+	 * Returns the value of the '<em><b>Module</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Module}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Module</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Module</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Module()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Module" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getModule();
+
+	/**
+	 * Returns the value of the '<em><b>Project</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Project</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Project</em>' containment reference.
+	 * @see #setProject(Project)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Project()
+	 * @model containment="true" resolveProxies="false" required="true"
+	 * @generated
+	 */
+	Project getProject();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject <em>Project</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Project</em>' containment reference.
+	 * @see #getProject()
+	 * @generated
+	 */
+	void setProject(Project value);
+
+	/**
+	 * Returns the value of the '<em><b>Start</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Start</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Start</em>' containment reference.
+	 * @see #setStart(LaunchConfiguration)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Start()
+	 * @model containment="true" resolveProxies="false" required="true"
+	 * @generated
+	 */
+	LaunchConfiguration getStart();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart <em>Start</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Start</em>' containment reference.
+	 * @see #getStart()
+	 * @generated
+	 */
+	void setStart(LaunchConfiguration value);
+
+	/**
+	 * Returns the value of the '<em><b>Stop</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Stop</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Stop</em>' containment reference.
+	 * @see #setStop(LaunchConfiguration)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Stop()
+	 * @model containment="true" resolveProxies="false" required="true"
+	 * @generated
+	 */
+	LaunchConfiguration getStop();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop <em>Stop</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Stop</em>' containment reference.
+	 * @see #getStop()
+	 * @generated
+	 */
+	void setStop(LaunchConfiguration value);
+
+	/**
+	 * Returns the value of the '<em><b>Group3</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group3</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group3</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Group3()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getGroup3();
+
+	/**
+	 * Returns the value of the '<em><b>Publisher</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Publisher}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Publisher</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Publisher</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Publisher()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Publisher" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getPublisher();
+
+	/**
+	 * Returns the value of the '<em><b>Group4</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Group4</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Group4</em>' attribute list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Group4()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getGroup4();
+
+	/**
+	 * Returns the value of the '<em><b>Classpath</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Classpath}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Classpath</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Classpath</em>' containment reference list.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Classpath()
+	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Classpath" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	EList getClasspath();
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Name()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Version</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Version</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Version</em>' attribute.
+	 * @see #setVersion(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_Version()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getVersion();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion <em>Version</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Version</em>' attribute.
+	 * @see #getVersion()
+	 * @generated
+	 */
+	void setVersion(String value);
+
+	/**
+	 * @param id the id of the '<em>Publisher</em>' attribute.
+	 * @return
+	 * @generated NOT
+	 */
+	Publisher getPublisher(String id);
+
+	/**
+	 * @param type the type of the '<em>Module</em>' attribute.
+	 * @return
+	 * @generated NOT
+	 */
+	Module getModule(String type);
+
+	/**
+	 * @param cpRef the reference id of the '<em>Classpath</em>' attribute.
+	 * @return
+	 * @generated NOT
+	 */
+	Classpath getClasspath(String cpRef);
+
+	/**
+	 * @generated NOT
+	 */
+	String getFilename();
+
+	/**
+	 * @generated NOT
+	 */
+	void setFilename(String fn);
+
+	/**
+	 * @generated NOT
+	 */
+	void setPropertyValues(Map properties);
+
+	/**
+	 * @generated NOT
+	 */
+	Resolver getResolver();
+
+} // ServerRuntime
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
new file mode 100644
index 0000000..c6fd3b1
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
@@ -0,0 +1,162 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypeFactory.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage
+ * @generated
+ */
+public interface ServerTypeFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ServerTypeFactory eINSTANCE = new org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypeFactoryImpl();
+
+	/**
+	 * Returns a new object of class '<em>Archive Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Archive Type</em>'.
+	 * @generated
+	 */
+	ArchiveType createArchiveType();
+
+	/**
+	 * Returns a new object of class '<em>Classpath</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Classpath</em>'.
+	 * @generated
+	 */
+	Classpath createClasspath();
+
+	/**
+	 * Returns a new object of class '<em>Launch Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Launch Configuration</em>'.
+	 * @generated
+	 */
+	LaunchConfiguration createLaunchConfiguration();
+
+	/**
+	 * Returns a new object of class '<em>Module</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Module</em>'.
+	 * @generated
+	 */
+	Module createModule();
+
+	/**
+	 * Returns a new object of class '<em>Port</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Port</em>'.
+	 * @generated
+	 */
+	Port createPort();
+
+	/**
+	 * Returns a new object of class '<em>Project</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Project</em>'.
+	 * @generated
+	 */
+	Project createProject();
+
+	/**
+	 * Returns a new object of class '<em>Property</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property</em>'.
+	 * @generated
+	 */
+	Property createProperty();
+
+	/**
+	 * Returns a new object of class '<em>Publisher</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Publisher</em>'.
+	 * @generated
+	 */
+	Publisher createPublisher();
+
+	/**
+	 * Returns a new object of class '<em>Publish Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Publish Type</em>'.
+	 * @generated
+	 */
+	PublishType createPublishType();
+
+	/**
+	 * Returns a new object of class '<em>Server Runtime</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Server Runtime</em>'.
+	 * @generated
+	 */
+	ServerRuntime createServerRuntime();
+
+	/**
+	 * Returns a new object of class '<em>Unpublish Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Unpublish Type</em>'.
+	 * @generated
+	 */
+	UnpublishType createUnpublishType();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ServerTypePackage getServerTypePackage();
+
+} //ServerTypeFactory
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypePackage.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypePackage.java
new file mode 100644
index 0000000..f2f1e14
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypePackage.java
@@ -0,0 +1,1316 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypePackage.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory
+ * @generated
+ */
+public interface ServerTypePackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "definition";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://eclipse.org/jst/server/generic/ServerTypeDefinition";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "definition";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ServerTypePackage eINSTANCE = org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.ArchiveTypeImpl <em>Archive Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ArchiveTypeImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getArchiveType()
+	 * @generated
+	 */
+	int ARCHIVE_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARCHIVE_TYPE__PATH = 0;
+
+	/**
+	 * The number of structural features of the the '<em>Archive Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARCHIVE_TYPE_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.ClasspathImpl <em>Classpath</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ClasspathImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getClasspath()
+	 * @generated
+	 */
+	int CLASSPATH = 1;
+
+	/**
+	 * The feature id for the '<em><b>Group</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSPATH__GROUP = 0;
+
+	/**
+	 * The feature id for the '<em><b>Archive</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSPATH__ARCHIVE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSPATH__ID = 2;
+
+	/**
+	 * The feature id for the '<em><b>Is Library</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSPATH__IS_LIBRARY = 3;
+
+	/**
+	 * The number of structural features of the the '<em>Classpath</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSPATH_FEATURE_COUNT = 4;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.LaunchConfigurationImpl <em>Launch Configuration</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.LaunchConfigurationImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getLaunchConfiguration()
+	 * @generated
+	 */
+	int LAUNCH_CONFIGURATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Class</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Working Directory</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__WORKING_DIRECTORY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Program Arguments</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS = 2;
+
+	/**
+	 * The feature id for the '<em><b>Vm Parameters</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__VM_PARAMETERS = 3;
+
+	/**
+	 * The feature id for the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE = 4;
+
+	/**
+	 * The number of structural features of the the '<em>Launch Configuration</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAUNCH_CONFIGURATION_FEATURE_COUNT = 5;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.ModuleImpl <em>Module</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ModuleImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getModule()
+	 * @generated
+	 */
+	int MODULE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODULE__TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Publish Dir</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODULE__PUBLISH_DIR = 1;
+
+	/**
+	 * The feature id for the '<em><b>Publisher Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODULE__PUBLISHER_REFERENCE = 2;
+
+	/**
+	 * The number of structural features of the the '<em>Module</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODULE_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.PortImpl <em>Port</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.PortImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getPort()
+	 * @generated
+	 */
+	int PORT = 4;
+
+	/**
+	 * The feature id for the '<em><b>No</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT__NO = 0;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT__NAME = 1;
+
+	/**
+	 * The feature id for the '<em><b>Protocol</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT__PROTOCOL = 2;
+
+	/**
+	 * The number of structural features of the the '<em>Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.ProjectImpl <em>Project</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ProjectImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getProject()
+	 * @generated
+	 */
+	int PROJECT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT__CLASSPATH_REFERENCE = 0;
+
+	/**
+	 * The number of structural features of the the '<em>Project</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.PropertyImpl <em>Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.PropertyImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getProperty()
+	 * @generated
+	 */
+	int PROPERTY = 6;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY__CONTEXT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Default</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY__DEFAULT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY__ID = 2;
+
+	/**
+	 * The feature id for the '<em><b>Label</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY__LABEL = 3;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY__TYPE = 4;
+
+	/**
+	 * The number of structural features of the the '<em>Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FEATURE_COUNT = 5;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublisherImpl <em>Publisher</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.PublisherImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getPublisher()
+	 * @generated
+	 */
+	int PUBLISHER = 7;
+
+	/**
+	 * The feature id for the '<em><b>Group</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISHER__GROUP = 0;
+
+	/**
+	 * The feature id for the '<em><b>Publish</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISHER__PUBLISH = 1;
+
+	/**
+	 * The feature id for the '<em><b>Unpublish</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISHER__UNPUBLISH = 2;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISHER__ID = 3;
+
+	/**
+	 * The number of structural features of the the '<em>Publisher</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISHER_FEATURE_COUNT = 4;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublishTypeImpl <em>Publish Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.PublishTypeImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getPublishType()
+	 * @generated
+	 */
+	int PUBLISH_TYPE = 8;
+
+	/**
+	 * The feature id for the '<em><b>Task</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISH_TYPE__TASK = 0;
+
+	/**
+	 * The feature id for the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISH_TYPE__CLASSPATH_REFERENCE = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Publish Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISH_TYPE_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl <em>Server Runtime</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getServerRuntime()
+	 * @generated
+	 */
+	int SERVER_RUNTIME = 9;
+
+	/**
+	 * The feature id for the '<em><b>Group</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__GROUP = 0;
+
+	/**
+	 * The feature id for the '<em><b>Property</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__PROPERTY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Group1</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__GROUP1 = 2;
+
+	/**
+	 * The feature id for the '<em><b>Port</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__PORT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Group2</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__GROUP2 = 4;
+
+	/**
+	 * The feature id for the '<em><b>Module</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__MODULE = 5;
+
+	/**
+	 * The feature id for the '<em><b>Project</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__PROJECT = 6;
+
+	/**
+	 * The feature id for the '<em><b>Start</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__START = 7;
+
+	/**
+	 * The feature id for the '<em><b>Stop</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__STOP = 8;
+
+	/**
+	 * The feature id for the '<em><b>Group3</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__GROUP3 = 9;
+
+	/**
+	 * The feature id for the '<em><b>Publisher</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__PUBLISHER = 10;
+
+	/**
+	 * The feature id for the '<em><b>Group4</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__GROUP4 = 11;
+
+	/**
+	 * The feature id for the '<em><b>Classpath</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__CLASSPATH = 12;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__NAME = 13;
+
+	/**
+	 * The feature id for the '<em><b>Version</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME__VERSION = 14;
+
+	/**
+	 * The number of structural features of the the '<em>Server Runtime</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SERVER_RUNTIME_FEATURE_COUNT = 15;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.UnpublishTypeImpl <em>Unpublish Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.UnpublishTypeImpl
+	 * @see org.eclipse.jst.server.generic.servertype.definition.impl.ServerTypePackageImpl#getUnpublishType()
+	 * @generated
+	 */
+	int UNPUBLISH_TYPE = 10;
+
+	/**
+	 * The feature id for the '<em><b>Task</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNPUBLISH_TYPE__TASK = 0;
+
+	/**
+	 * The feature id for the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNPUBLISH_TYPE__CLASSPATH_REFERENCE = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Unpublish Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNPUBLISH_TYPE_FEATURE_COUNT = 2;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType <em>Archive Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Archive Type</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ArchiveType
+	 * @generated
+	 */
+	EClass getArchiveType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Path</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath()
+	 * @see #getArchiveType()
+	 * @generated
+	 */
+	EAttribute getArchiveType_Path();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath <em>Classpath</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Classpath</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath
+	 * @generated
+	 */
+	EClass getClasspath();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getGroup <em>Group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath#getGroup()
+	 * @see #getClasspath()
+	 * @generated
+	 */
+	EAttribute getClasspath_Group();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getArchive <em>Archive</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Archive</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath#getArchive()
+	 * @see #getClasspath()
+	 * @generated
+	 */
+	EReference getClasspath_Archive();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath#getId()
+	 * @see #getClasspath()
+	 * @generated
+	 */
+	EAttribute getClasspath_Id();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Library</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary()
+	 * @see #getClasspath()
+	 * @generated
+	 */
+	EAttribute getClasspath_IsLibrary();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration <em>Launch Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Launch Configuration</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration
+	 * @generated
+	 */
+	EClass getLaunchConfiguration();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClass_ <em>Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Class</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClass_()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_Class();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Working Directory</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_WorkingDirectory();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Program Arguments</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_ProgramArguments();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Vm Parameters</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_VmParameters();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Classpath Reference</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference()
+	 * @see #getLaunchConfiguration()
+	 * @generated
+	 */
+	EAttribute getLaunchConfiguration_ClasspathReference();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Module <em>Module</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Module</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Module
+	 * @generated
+	 */
+	EClass getModule();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Module#getType()
+	 * @see #getModule()
+	 * @generated
+	 */
+	EAttribute getModule_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir <em>Publish Dir</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Publish Dir</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir()
+	 * @see #getModule()
+	 * @generated
+	 */
+	EAttribute getModule_PublishDir();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference <em>Publisher Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Publisher Reference</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference()
+	 * @see #getModule()
+	 * @generated
+	 */
+	EAttribute getModule_PublisherReference();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Port <em>Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Port</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Port
+	 * @generated
+	 */
+	EClass getPort();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getNo <em>No</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>No</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Port#getNo()
+	 * @see #getPort()
+	 * @generated
+	 */
+	EAttribute getPort_No();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Port#getName()
+	 * @see #getPort()
+	 * @generated
+	 */
+	EAttribute getPort_Name();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol <em>Protocol</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Protocol</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol()
+	 * @see #getPort()
+	 * @generated
+	 */
+	EAttribute getPort_Protocol();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Project <em>Project</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Project</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Project
+	 * @generated
+	 */
+	EClass getProject();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference <em>Classpath Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Classpath Reference</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference()
+	 * @see #getProject()
+	 * @generated
+	 */
+	EAttribute getProject_ClasspathReference();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Property <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Property
+	 * @generated
+	 */
+	EClass getProperty();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getContext <em>Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Context</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getContext()
+	 * @see #getProperty()
+	 * @generated
+	 */
+	EAttribute getProperty_Context();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getDefault <em>Default</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Default</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getDefault()
+	 * @see #getProperty()
+	 * @generated
+	 */
+	EAttribute getProperty_Default();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getId()
+	 * @see #getProperty()
+	 * @generated
+	 */
+	EAttribute getProperty_Id();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getLabel <em>Label</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Label</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getLabel()
+	 * @see #getProperty()
+	 * @generated
+	 */
+	EAttribute getProperty_Label();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getType()
+	 * @see #getProperty()
+	 * @generated
+	 */
+	EAttribute getProperty_Type();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher <em>Publisher</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Publisher</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher
+	 * @generated
+	 */
+	EClass getPublisher();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getGroup <em>Group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getGroup()
+	 * @see #getPublisher()
+	 * @generated
+	 */
+	EAttribute getPublisher_Group();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getPublish <em>Publish</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Publish</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getPublish()
+	 * @see #getPublisher()
+	 * @generated
+	 */
+	EReference getPublisher_Publish();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getUnpublish <em>Unpublish</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Unpublish</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getUnpublish()
+	 * @see #getPublisher()
+	 * @generated
+	 */
+	EReference getPublisher_Unpublish();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getId()
+	 * @see #getPublisher()
+	 * @generated
+	 */
+	EAttribute getPublisher_Id();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.PublishType <em>Publish Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Publish Type</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.PublishType
+	 * @generated
+	 */
+	EClass getPublishType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.PublishType#getTask <em>Task</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Task</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.PublishType#getTask()
+	 * @see #getPublishType()
+	 * @generated
+	 */
+	EAttribute getPublishType_Task();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.PublishType#getClasspathReference <em>Classpath Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Classpath Reference</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.PublishType#getClasspathReference()
+	 * @see #getPublishType()
+	 * @generated
+	 */
+	EAttribute getPublishType_ClasspathReference();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime <em>Server Runtime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Server Runtime</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime
+	 * @generated
+	 */
+	EClass getServerRuntime();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup <em>Group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EAttribute getServerRuntime_Group();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProperty <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Property</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProperty()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Property();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup1 <em>Group1</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group1</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup1()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EAttribute getServerRuntime_Group1();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPort <em>Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Port</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPort()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Port();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup2 <em>Group2</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group2</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup2()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EAttribute getServerRuntime_Group2();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getModule <em>Module</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Module</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getModule()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Module();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject <em>Project</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Project</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Project();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart <em>Start</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Start</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Start();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop <em>Stop</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Stop</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Stop();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup3 <em>Group3</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group3</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup3()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EAttribute getServerRuntime_Group3();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPublisher <em>Publisher</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Publisher</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPublisher()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Publisher();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup4 <em>Group4</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Group4</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup4()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EAttribute getServerRuntime_Group4();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getClasspath <em>Classpath</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Classpath</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getClasspath()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EReference getServerRuntime_Classpath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EAttribute getServerRuntime_Name();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion <em>Version</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Version</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion()
+	 * @see #getServerRuntime()
+	 * @generated
+	 */
+	EAttribute getServerRuntime_Version();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType <em>Unpublish Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Unpublish Type</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.UnpublishType
+	 * @generated
+	 */
+	EClass getUnpublishType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getTask <em>Task</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Task</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getTask()
+	 * @see #getUnpublishType()
+	 * @generated
+	 */
+	EAttribute getUnpublishType_Task();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getClasspathReference <em>Classpath Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Classpath Reference</em>'.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getClasspathReference()
+	 * @see #getUnpublishType()
+	 * @generated
+	 */
+	EAttribute getUnpublishType_ClasspathReference();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	ServerTypeFactory getServerTypeFactory();
+
+} //ServerTypePackage
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/UnpublishType.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/UnpublishType.java
new file mode 100644
index 0000000..cb39c33
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/UnpublishType.java
@@ -0,0 +1,107 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: UnpublishType.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unpublish Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getTask <em>Task</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getUnpublishType()
+ * @model 
+ * @generated
+ */
+public interface UnpublishType extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Task</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Task</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Task</em>' attribute.
+	 * @see #setTask(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getUnpublishType_Task()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getTask();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getTask <em>Task</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Task</em>' attribute.
+	 * @see #getTask()
+	 * @generated
+	 */
+	void setTask(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Classpath Reference</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #setClasspathReference(String)
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getUnpublishType_ClasspathReference()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getClasspathReference();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType#getClasspathReference <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Classpath Reference</em>' attribute.
+	 * @see #getClasspathReference()
+	 * @generated
+	 */
+	void setClasspathReference(String value);
+
+} // UnpublishType
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ArchiveTypeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ArchiveTypeImpl.java
new file mode 100644
index 0000000..93bc447
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ArchiveTypeImpl.java
@@ -0,0 +1,188 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ArchiveTypeImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Archive Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ArchiveTypeImpl#getPath <em>Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArchiveTypeImpl extends EObjectImpl implements ArchiveType {
+	/**
+	 * The default value of the '{@link #getPath() <em>Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPath() <em>Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String path = PATH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArchiveTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getArchiveType();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPath() {
+		return path;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPath(String newPath) {
+		String oldPath = path;
+		path = newPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.ARCHIVE_TYPE__PATH, oldPath, path));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.ARCHIVE_TYPE__PATH:
+				return getPath();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.ARCHIVE_TYPE__PATH:
+				setPath((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.ARCHIVE_TYPE__PATH:
+				setPath(PATH_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.ARCHIVE_TYPE__PATH:
+				return PATH_EDEFAULT == null ? path != null : !PATH_EDEFAULT.equals(path);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (path: ");
+		result.append(path);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ArchiveTypeImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ClasspathImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ClasspathImpl.java
new file mode 100644
index 0000000..edf0de6
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ClasspathImpl.java
@@ -0,0 +1,362 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ClasspathImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.jst.server.generic.servertype.definition.Classpath;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classpath</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ClasspathImpl#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ClasspathImpl#getArchive <em>Archive</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ClasspathImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ClasspathImpl#isIsLibrary <em>Is Library</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClasspathImpl extends EObjectImpl implements Classpath {
+	/**
+	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group = null;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isIsLibrary() <em>Is Library</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsLibrary()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_LIBRARY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsLibrary() <em>Is Library</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsLibrary()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isLibrary = IS_LIBRARY_EDEFAULT;
+
+	/**
+	 * This is true if the Is Library attribute has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isLibraryESet = false;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ClasspathImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getClasspath();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup() {
+		if (group == null) {
+			group = new BasicFeatureMap(this, ServerTypePackage.CLASSPATH__GROUP);
+		}
+		return group;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getArchive() {
+		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getClasspath_Archive());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.CLASSPATH__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isIsLibrary() {
+		return isLibrary;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setIsLibrary(boolean newIsLibrary) {
+		boolean oldIsLibrary = isLibrary;
+		isLibrary = newIsLibrary;
+		boolean oldIsLibraryESet = isLibraryESet;
+		isLibraryESet = true;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.CLASSPATH__IS_LIBRARY, oldIsLibrary, isLibrary, !oldIsLibraryESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void unsetIsLibrary() {
+		boolean oldIsLibrary = isLibrary;
+		boolean oldIsLibraryESet = isLibraryESet;
+		isLibrary = IS_LIBRARY_EDEFAULT;
+		isLibraryESet = false;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.UNSET, ServerTypePackage.CLASSPATH__IS_LIBRARY, oldIsLibrary, IS_LIBRARY_EDEFAULT, oldIsLibraryESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSetIsLibrary() {
+		return isLibraryESet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case ServerTypePackage.CLASSPATH__GROUP:
+					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.CLASSPATH__ARCHIVE:
+					return ((InternalEList)getArchive()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.CLASSPATH__GROUP:
+				return getGroup();
+			case ServerTypePackage.CLASSPATH__ARCHIVE:
+				return getArchive();
+			case ServerTypePackage.CLASSPATH__ID:
+				return getId();
+			case ServerTypePackage.CLASSPATH__IS_LIBRARY:
+				return isIsLibrary() ? Boolean.TRUE : Boolean.FALSE;
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.CLASSPATH__GROUP:
+				getGroup().clear();
+				getGroup().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.CLASSPATH__ARCHIVE:
+				getArchive().clear();
+				getArchive().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.CLASSPATH__ID:
+				setId((String)newValue);
+				return;
+			case ServerTypePackage.CLASSPATH__IS_LIBRARY:
+				setIsLibrary(((Boolean)newValue).booleanValue());
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.CLASSPATH__GROUP:
+				getGroup().clear();
+				return;
+			case ServerTypePackage.CLASSPATH__ARCHIVE:
+				getArchive().clear();
+				return;
+			case ServerTypePackage.CLASSPATH__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case ServerTypePackage.CLASSPATH__IS_LIBRARY:
+				unsetIsLibrary();
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.CLASSPATH__GROUP:
+				return group != null && !group.isEmpty();
+			case ServerTypePackage.CLASSPATH__ARCHIVE:
+				return !getArchive().isEmpty();
+			case ServerTypePackage.CLASSPATH__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case ServerTypePackage.CLASSPATH__IS_LIBRARY:
+				return isSetIsLibrary();
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (group: ");
+		result.append(group);
+		result.append(", id: ");
+		result.append(id);
+		result.append(", isLibrary: ");
+		if (isLibraryESet) result.append(isLibrary); else result.append("<unset>");
+		result.append(')');
+		return result.toString();
+	}
+
+} //ClasspathImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/LaunchConfigurationImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/LaunchConfigurationImpl.java
new file mode 100644
index 0000000..067da61
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/LaunchConfigurationImpl.java
@@ -0,0 +1,404 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: LaunchConfigurationImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Launch Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.LaunchConfigurationImpl#getClass_ <em>Class</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.LaunchConfigurationImpl#getWorkingDirectory <em>Working Directory</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.LaunchConfigurationImpl#getProgramArguments <em>Program Arguments</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.LaunchConfigurationImpl#getVmParameters <em>Vm Parameters</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.LaunchConfigurationImpl#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LaunchConfigurationImpl extends EObjectImpl implements LaunchConfiguration {
+	/**
+	 * The default value of the '{@link #getClass_() <em>Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClass_()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClass_() <em>Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClass_()
+	 * @generated
+	 * @ordered
+	 */
+	protected String class_ = CLASS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getWorkingDirectory() <em>Working Directory</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWorkingDirectory()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String WORKING_DIRECTORY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getWorkingDirectory() <em>Working Directory</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWorkingDirectory()
+	 * @generated
+	 * @ordered
+	 */
+	protected String workingDirectory = WORKING_DIRECTORY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProgramArguments() <em>Program Arguments</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProgramArguments()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROGRAM_ARGUMENTS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProgramArguments() <em>Program Arguments</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProgramArguments()
+	 * @generated
+	 * @ordered
+	 */
+	protected String programArguments = PROGRAM_ARGUMENTS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getVmParameters() <em>Vm Parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVmParameters()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VM_PARAMETERS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getVmParameters() <em>Vm Parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVmParameters()
+	 * @generated
+	 * @ordered
+	 */
+	protected String vmParameters = VM_PARAMETERS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASSPATH_REFERENCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected String classpathReference = CLASSPATH_REFERENCE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LaunchConfigurationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getLaunchConfiguration();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getClass_() {
+		return class_;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setClass(String newClass) {
+		String oldClass = class_;
+		class_ = newClass;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__CLASS, oldClass, class_));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getWorkingDirectory() {
+		return workingDirectory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setWorkingDirectory(String newWorkingDirectory) {
+		String oldWorkingDirectory = workingDirectory;
+		workingDirectory = newWorkingDirectory;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY, oldWorkingDirectory, workingDirectory));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProgramArguments() {
+		return programArguments;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProgramArguments(String newProgramArguments) {
+		String oldProgramArguments = programArguments;
+		programArguments = newProgramArguments;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS, oldProgramArguments, programArguments));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getVmParameters() {
+		return vmParameters;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setVmParameters(String newVmParameters) {
+		String oldVmParameters = vmParameters;
+		vmParameters = newVmParameters;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS, oldVmParameters, vmParameters));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getClasspathReference() {
+		return classpathReference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setClasspathReference(String newClasspathReference) {
+		String oldClasspathReference = classpathReference;
+		classpathReference = newClasspathReference;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE, oldClasspathReference, classpathReference));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASS:
+				return getClass_();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
+				return getWorkingDirectory();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
+				return getProgramArguments();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
+				return getVmParameters();
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
+				return getClasspathReference();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASS:
+				setClass((String)newValue);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
+				setWorkingDirectory((String)newValue);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
+				setProgramArguments((String)newValue);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
+				setVmParameters((String)newValue);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
+				setClasspathReference((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASS:
+				setClass(CLASS_EDEFAULT);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
+				setWorkingDirectory(WORKING_DIRECTORY_EDEFAULT);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
+				setProgramArguments(PROGRAM_ARGUMENTS_EDEFAULT);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
+				setVmParameters(VM_PARAMETERS_EDEFAULT);
+				return;
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
+				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASS:
+				return CLASS_EDEFAULT == null ? class_ != null : !CLASS_EDEFAULT.equals(class_);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
+				return WORKING_DIRECTORY_EDEFAULT == null ? workingDirectory != null : !WORKING_DIRECTORY_EDEFAULT.equals(workingDirectory);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
+				return PROGRAM_ARGUMENTS_EDEFAULT == null ? programArguments != null : !PROGRAM_ARGUMENTS_EDEFAULT.equals(programArguments);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
+				return VM_PARAMETERS_EDEFAULT == null ? vmParameters != null : !VM_PARAMETERS_EDEFAULT.equals(vmParameters);
+			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
+				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (class: ");
+		result.append(class_);
+		result.append(", workingDirectory: ");
+		result.append(workingDirectory);
+		result.append(", programArguments: ");
+		result.append(programArguments);
+		result.append(", vmParameters: ");
+		result.append(vmParameters);
+		result.append(", classpathReference: ");
+		result.append(classpathReference);
+		result.append(')');
+		return result.toString();
+	}
+
+} //LaunchConfigurationImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ModuleImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ModuleImpl.java
new file mode 100644
index 0000000..e3e314f
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ModuleImpl.java
@@ -0,0 +1,296 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ModuleImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.Module;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Module</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ModuleImpl#getType <em>Type</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ModuleImpl#getPublishDir <em>Publish Dir</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ModuleImpl#getPublisherReference <em>Publisher Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModuleImpl extends EObjectImpl implements Module {
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TYPE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected String type = TYPE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPublishDir() <em>Publish Dir</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublishDir()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PUBLISH_DIR_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPublishDir() <em>Publish Dir</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublishDir()
+	 * @generated
+	 * @ordered
+	 */
+	protected String publishDir = PUBLISH_DIR_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPublisherReference() <em>Publisher Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublisherReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PUBLISHER_REFERENCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPublisherReference() <em>Publisher Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublisherReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected String publisherReference = PUBLISHER_REFERENCE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ModuleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getModule();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(String newType) {
+		String oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.MODULE__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPublishDir() {
+		return publishDir;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPublishDir(String newPublishDir) {
+		String oldPublishDir = publishDir;
+		publishDir = newPublishDir;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.MODULE__PUBLISH_DIR, oldPublishDir, publishDir));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPublisherReference() {
+		return publisherReference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPublisherReference(String newPublisherReference) {
+		String oldPublisherReference = publisherReference;
+		publisherReference = newPublisherReference;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.MODULE__PUBLISHER_REFERENCE, oldPublisherReference, publisherReference));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.MODULE__TYPE:
+				return getType();
+			case ServerTypePackage.MODULE__PUBLISH_DIR:
+				return getPublishDir();
+			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
+				return getPublisherReference();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.MODULE__TYPE:
+				setType((String)newValue);
+				return;
+			case ServerTypePackage.MODULE__PUBLISH_DIR:
+				setPublishDir((String)newValue);
+				return;
+			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
+				setPublisherReference((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.MODULE__TYPE:
+				setType(TYPE_EDEFAULT);
+				return;
+			case ServerTypePackage.MODULE__PUBLISH_DIR:
+				setPublishDir(PUBLISH_DIR_EDEFAULT);
+				return;
+			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
+				setPublisherReference(PUBLISHER_REFERENCE_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.MODULE__TYPE:
+				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+			case ServerTypePackage.MODULE__PUBLISH_DIR:
+				return PUBLISH_DIR_EDEFAULT == null ? publishDir != null : !PUBLISH_DIR_EDEFAULT.equals(publishDir);
+			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
+				return PUBLISHER_REFERENCE_EDEFAULT == null ? publisherReference != null : !PUBLISHER_REFERENCE_EDEFAULT.equals(publisherReference);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (type: ");
+		result.append(type);
+		result.append(", publishDir: ");
+		result.append(publishDir);
+		result.append(", publisherReference: ");
+		result.append(publisherReference);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ModuleImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PortImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PortImpl.java
new file mode 100644
index 0000000..a91f336
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PortImpl.java
@@ -0,0 +1,296 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: PortImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.Port;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PortImpl#getNo <em>No</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PortImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PortImpl#getProtocol <em>Protocol</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PortImpl extends EObjectImpl implements Port {
+	/**
+	 * The default value of the '{@link #getNo() <em>No</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNo()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NO_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getNo() <em>No</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNo()
+	 * @generated
+	 * @ordered
+	 */
+	protected String no = NO_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProtocol() <em>Protocol</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProtocol()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROTOCOL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProtocol() <em>Protocol</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProtocol()
+	 * @generated
+	 * @ordered
+	 */
+	protected String protocol = PROTOCOL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PortImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getPort();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getNo() {
+		return no;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setNo(String newNo) {
+		String oldNo = no;
+		no = newNo;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PORT__NO, oldNo, no));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PORT__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProtocol() {
+		return protocol;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProtocol(String newProtocol) {
+		String oldProtocol = protocol;
+		protocol = newProtocol;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PORT__PROTOCOL, oldProtocol, protocol));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PORT__NO:
+				return getNo();
+			case ServerTypePackage.PORT__NAME:
+				return getName();
+			case ServerTypePackage.PORT__PROTOCOL:
+				return getProtocol();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PORT__NO:
+				setNo((String)newValue);
+				return;
+			case ServerTypePackage.PORT__NAME:
+				setName((String)newValue);
+				return;
+			case ServerTypePackage.PORT__PROTOCOL:
+				setProtocol((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PORT__NO:
+				setNo(NO_EDEFAULT);
+				return;
+			case ServerTypePackage.PORT__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case ServerTypePackage.PORT__PROTOCOL:
+				setProtocol(PROTOCOL_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PORT__NO:
+				return NO_EDEFAULT == null ? no != null : !NO_EDEFAULT.equals(no);
+			case ServerTypePackage.PORT__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case ServerTypePackage.PORT__PROTOCOL:
+				return PROTOCOL_EDEFAULT == null ? protocol != null : !PROTOCOL_EDEFAULT.equals(protocol);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (no: ");
+		result.append(no);
+		result.append(", name: ");
+		result.append(name);
+		result.append(", protocol: ");
+		result.append(protocol);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PortImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ProjectImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ProjectImpl.java
new file mode 100644
index 0000000..18ca93a
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ProjectImpl.java
@@ -0,0 +1,188 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ProjectImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.Project;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Project</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ProjectImpl#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProjectImpl extends EObjectImpl implements Project {
+	/**
+	 * The default value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASSPATH_REFERENCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected String classpathReference = CLASSPATH_REFERENCE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProjectImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getProject();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getClasspathReference() {
+		return classpathReference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setClasspathReference(String newClasspathReference) {
+		String oldClasspathReference = classpathReference;
+		classpathReference = newClasspathReference;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROJECT__CLASSPATH_REFERENCE, oldClasspathReference, classpathReference));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
+				return getClasspathReference();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
+				setClasspathReference((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
+				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
+				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (classpathReference: ");
+		result.append(classpathReference);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ProjectImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PropertyImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PropertyImpl.java
new file mode 100644
index 0000000..7171921
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PropertyImpl.java
@@ -0,0 +1,404 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: PropertyImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.Property;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PropertyImpl#getContext <em>Context</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PropertyImpl#getDefault <em>Default</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PropertyImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PropertyImpl#getLabel <em>Label</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PropertyImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyImpl extends EObjectImpl implements Property {
+	/**
+	 * The default value of the '{@link #getContext() <em>Context</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContext()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONTEXT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getContext() <em>Context</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContext()
+	 * @generated
+	 * @ordered
+	 */
+	protected String context = CONTEXT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefault() <em>Default</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefault()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDefault() <em>Default</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefault()
+	 * @generated
+	 * @ordered
+	 */
+	protected String default_ = DEFAULT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLabel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LABEL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLabel()
+	 * @generated
+	 * @ordered
+	 */
+	protected String label = LABEL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TYPE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected String type = TYPE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getProperty();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getContext() {
+		return context;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContext(String newContext) {
+		String oldContext = context;
+		context = newContext;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__CONTEXT, oldContext, context));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDefault() {
+		return default_;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDefault(String newDefault) {
+		String oldDefault = default_;
+		default_ = newDefault;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__DEFAULT, oldDefault, default_));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLabel() {
+		return label;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLabel(String newLabel) {
+		String oldLabel = label;
+		label = newLabel;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__LABEL, oldLabel, label));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(String newType) {
+		String oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROPERTY__CONTEXT:
+				return getContext();
+			case ServerTypePackage.PROPERTY__DEFAULT:
+				return getDefault();
+			case ServerTypePackage.PROPERTY__ID:
+				return getId();
+			case ServerTypePackage.PROPERTY__LABEL:
+				return getLabel();
+			case ServerTypePackage.PROPERTY__TYPE:
+				return getType();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROPERTY__CONTEXT:
+				setContext((String)newValue);
+				return;
+			case ServerTypePackage.PROPERTY__DEFAULT:
+				setDefault((String)newValue);
+				return;
+			case ServerTypePackage.PROPERTY__ID:
+				setId((String)newValue);
+				return;
+			case ServerTypePackage.PROPERTY__LABEL:
+				setLabel((String)newValue);
+				return;
+			case ServerTypePackage.PROPERTY__TYPE:
+				setType((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROPERTY__CONTEXT:
+				setContext(CONTEXT_EDEFAULT);
+				return;
+			case ServerTypePackage.PROPERTY__DEFAULT:
+				setDefault(DEFAULT_EDEFAULT);
+				return;
+			case ServerTypePackage.PROPERTY__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case ServerTypePackage.PROPERTY__LABEL:
+				setLabel(LABEL_EDEFAULT);
+				return;
+			case ServerTypePackage.PROPERTY__TYPE:
+				setType(TYPE_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PROPERTY__CONTEXT:
+				return CONTEXT_EDEFAULT == null ? context != null : !CONTEXT_EDEFAULT.equals(context);
+			case ServerTypePackage.PROPERTY__DEFAULT:
+				return DEFAULT_EDEFAULT == null ? default_ != null : !DEFAULT_EDEFAULT.equals(default_);
+			case ServerTypePackage.PROPERTY__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case ServerTypePackage.PROPERTY__LABEL:
+				return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
+			case ServerTypePackage.PROPERTY__TYPE:
+				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (context: ");
+		result.append(context);
+		result.append(", default: ");
+		result.append(default_);
+		result.append(", id: ");
+		result.append(id);
+		result.append(", label: ");
+		result.append(label);
+		result.append(", type: ");
+		result.append(type);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PublishTypeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PublishTypeImpl.java
new file mode 100644
index 0000000..cef3bad
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PublishTypeImpl.java
@@ -0,0 +1,242 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: PublishTypeImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.PublishType;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Publish Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublishTypeImpl#getTask <em>Task</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublishTypeImpl#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PublishTypeImpl extends EObjectImpl implements PublishType {
+	/**
+	 * The default value of the '{@link #getTask() <em>Task</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTask()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TASK_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTask() <em>Task</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTask()
+	 * @generated
+	 * @ordered
+	 */
+	protected String task = TASK_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASSPATH_REFERENCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected String classpathReference = CLASSPATH_REFERENCE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PublishTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getPublishType();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTask() {
+		return task;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTask(String newTask) {
+		String oldTask = task;
+		task = newTask;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISH_TYPE__TASK, oldTask, task));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getClasspathReference() {
+		return classpathReference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setClasspathReference(String newClasspathReference) {
+		String oldClasspathReference = classpathReference;
+		classpathReference = newClasspathReference;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISH_TYPE__CLASSPATH_REFERENCE, oldClasspathReference, classpathReference));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISH_TYPE__TASK:
+				return getTask();
+			case ServerTypePackage.PUBLISH_TYPE__CLASSPATH_REFERENCE:
+				return getClasspathReference();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISH_TYPE__TASK:
+				setTask((String)newValue);
+				return;
+			case ServerTypePackage.PUBLISH_TYPE__CLASSPATH_REFERENCE:
+				setClasspathReference((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISH_TYPE__TASK:
+				setTask(TASK_EDEFAULT);
+				return;
+			case ServerTypePackage.PUBLISH_TYPE__CLASSPATH_REFERENCE:
+				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISH_TYPE__TASK:
+				return TASK_EDEFAULT == null ? task != null : !TASK_EDEFAULT.equals(task);
+			case ServerTypePackage.PUBLISH_TYPE__CLASSPATH_REFERENCE:
+				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (task: ");
+		result.append(task);
+		result.append(", classpathReference: ");
+		result.append(classpathReference);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PublishTypeImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PublisherImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PublisherImpl.java
new file mode 100644
index 0000000..08b1db5
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/PublisherImpl.java
@@ -0,0 +1,297 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: PublisherImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.jst.server.generic.servertype.definition.Publisher;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Publisher</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublisherImpl#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublisherImpl#getPublish <em>Publish</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublisherImpl#getUnpublish <em>Unpublish</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublisherImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PublisherImpl extends EObjectImpl implements Publisher {
+	/**
+	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group = null;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PublisherImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getPublisher();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup() {
+		if (group == null) {
+			group = new BasicFeatureMap(this, ServerTypePackage.PUBLISHER__GROUP);
+		}
+		return group;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getPublish() {
+		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getPublisher_Publish());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getUnpublish() {
+		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getPublisher_Unpublish());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISHER__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case ServerTypePackage.PUBLISHER__GROUP:
+					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.PUBLISHER__PUBLISH:
+					return ((InternalEList)getPublish()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.PUBLISHER__UNPUBLISH:
+					return ((InternalEList)getUnpublish()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISHER__GROUP:
+				return getGroup();
+			case ServerTypePackage.PUBLISHER__PUBLISH:
+				return getPublish();
+			case ServerTypePackage.PUBLISHER__UNPUBLISH:
+				return getUnpublish();
+			case ServerTypePackage.PUBLISHER__ID:
+				return getId();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISHER__GROUP:
+				getGroup().clear();
+				getGroup().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.PUBLISHER__PUBLISH:
+				getPublish().clear();
+				getPublish().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.PUBLISHER__UNPUBLISH:
+				getUnpublish().clear();
+				getUnpublish().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.PUBLISHER__ID:
+				setId((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISHER__GROUP:
+				getGroup().clear();
+				return;
+			case ServerTypePackage.PUBLISHER__PUBLISH:
+				getPublish().clear();
+				return;
+			case ServerTypePackage.PUBLISHER__UNPUBLISH:
+				getUnpublish().clear();
+				return;
+			case ServerTypePackage.PUBLISHER__ID:
+				setId(ID_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.PUBLISHER__GROUP:
+				return group != null && !group.isEmpty();
+			case ServerTypePackage.PUBLISHER__PUBLISH:
+				return !getPublish().isEmpty();
+			case ServerTypePackage.PUBLISHER__UNPUBLISH:
+				return !getUnpublish().isEmpty();
+			case ServerTypePackage.PUBLISHER__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (group: ");
+		result.append(group);
+		result.append(", id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PublisherImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerRuntimeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerRuntimeImpl.java
new file mode 100644
index 0000000..04676c4
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerRuntimeImpl.java
@@ -0,0 +1,881 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerRuntimeImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.jst.server.generic.internal.xml.Resolver;
+import org.eclipse.jst.server.generic.servertype.definition.Classpath;
+import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
+import org.eclipse.jst.server.generic.servertype.definition.Module;
+import org.eclipse.jst.server.generic.servertype.definition.Project;
+import org.eclipse.jst.server.generic.servertype.definition.Publisher;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Server Runtime</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getGroup <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getGroup1 <em>Group1</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getPort <em>Port</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getGroup2 <em>Group2</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getModule <em>Module</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getProject <em>Project</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getStart <em>Start</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getStop <em>Stop</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getGroup3 <em>Group3</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getPublisher <em>Publisher</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getGroup4 <em>Group4</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getClasspath <em>Classpath</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.ServerRuntimeImpl#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ServerRuntimeImpl extends EObjectImpl implements ServerRuntime {
+	/**
+	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group = null;
+
+	/**
+	 * The cached value of the '{@link #getGroup1() <em>Group1</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup1()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group1 = null;
+
+	/**
+	 * The cached value of the '{@link #getGroup2() <em>Group2</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup2()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group2 = null;
+
+	/**
+	 * The cached value of the '{@link #getProject() <em>Project</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProject()
+	 * @generated
+	 * @ordered
+	 */
+	protected Project project = null;
+
+	/**
+	 * The cached value of the '{@link #getStart() <em>Start</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStart()
+	 * @generated
+	 * @ordered
+	 */
+	protected LaunchConfiguration start = null;
+
+	/**
+	 * The cached value of the '{@link #getStop() <em>Stop</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStop()
+	 * @generated
+	 * @ordered
+	 */
+	protected LaunchConfiguration stop = null;
+
+	/**
+	 * The cached value of the '{@link #getGroup3() <em>Group3</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup3()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group3 = null;
+
+	/**
+	 * The cached value of the '{@link #getGroup4() <em>Group4</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup4()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap group4 = null;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVersion()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VERSION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVersion()
+	 * @generated
+	 * @ordered
+	 */
+	protected String version = VERSION_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup()
+	 * @generated NOT
+	 * @ordered
+	 */
+	protected String filename = null;
+	
+
+	/**
+	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroup()
+	 * @generated NOT
+	 * @ordered
+	 */
+	protected Resolver resolver = new Resolver(this);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ServerRuntimeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getServerRuntime();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup() {
+		if (group == null) {
+			group = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP);
+		}
+		return group;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getProperty() {
+		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Property());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup1() {
+		if (group1 == null) {
+			group1 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP1);
+		}
+		return group1;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getPort() {
+		return ((FeatureMap)getGroup1()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Port());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup2() {
+		if (group2 == null) {
+			group2 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP2);
+		}
+		return group2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getModule() {
+		return ((FeatureMap)getGroup2()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Module());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Project getProject() {
+		return project;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetProject(Project newProject, NotificationChain msgs) {
+		Project oldProject = project;
+		project = newProject;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__PROJECT, oldProject, newProject);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProject(Project newProject) {
+		if (newProject != project) {
+			NotificationChain msgs = null;
+			if (project != null)
+				msgs = ((InternalEObject)project).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__PROJECT, null, msgs);
+			if (newProject != null)
+				msgs = ((InternalEObject)newProject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__PROJECT, null, msgs);
+			msgs = basicSetProject(newProject, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__PROJECT, newProject, newProject));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LaunchConfiguration getStart() {
+		return start;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetStart(LaunchConfiguration newStart, NotificationChain msgs) {
+		LaunchConfiguration oldStart = start;
+		start = newStart;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__START, oldStart, newStart);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStart(LaunchConfiguration newStart) {
+		if (newStart != start) {
+			NotificationChain msgs = null;
+			if (start != null)
+				msgs = ((InternalEObject)start).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__START, null, msgs);
+			if (newStart != null)
+				msgs = ((InternalEObject)newStart).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__START, null, msgs);
+			msgs = basicSetStart(newStart, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__START, newStart, newStart));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LaunchConfiguration getStop() {
+		return stop;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetStop(LaunchConfiguration newStop, NotificationChain msgs) {
+		LaunchConfiguration oldStop = stop;
+		stop = newStop;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__STOP, oldStop, newStop);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStop(LaunchConfiguration newStop) {
+		if (newStop != stop) {
+			NotificationChain msgs = null;
+			if (stop != null)
+				msgs = ((InternalEObject)stop).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__STOP, null, msgs);
+			if (newStop != null)
+				msgs = ((InternalEObject)newStop).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__STOP, null, msgs);
+			msgs = basicSetStop(newStop, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__STOP, newStop, newStop));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup3() {
+		if (group3 == null) {
+			group3 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP3);
+		}
+		return group3;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getPublisher() {
+		return ((FeatureMap)getGroup3()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Publisher());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getGroup4() {
+		if (group4 == null) {
+			group4 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP4);
+		}
+		return group4;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getClasspath() {
+		return ((FeatureMap)getGroup4()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Classpath());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getVersion() {
+		return version;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setVersion(String newVersion) {
+		String oldVersion = version;
+		version = newVersion;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__VERSION, oldVersion, version));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case ServerTypePackage.SERVER_RUNTIME__GROUP:
+					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
+					return ((InternalEList)getProperty()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__GROUP1:
+					return ((InternalEList)getGroup1()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__PORT:
+					return ((InternalEList)getPort()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__GROUP2:
+					return ((InternalEList)getGroup2()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__MODULE:
+					return ((InternalEList)getModule()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__PROJECT:
+					return basicSetProject(null, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__START:
+					return basicSetStart(null, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__STOP:
+					return basicSetStop(null, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__GROUP3:
+					return ((InternalEList)getGroup3()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
+					return ((InternalEList)getPublisher()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__GROUP4:
+					return ((InternalEList)getGroup4()).basicRemove(otherEnd, msgs);
+				case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
+					return ((InternalEList)getClasspath()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.SERVER_RUNTIME__GROUP:
+				return getGroup();
+			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
+				return getProperty();
+			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
+				return getGroup1();
+			case ServerTypePackage.SERVER_RUNTIME__PORT:
+				return getPort();
+			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
+				return getGroup2();
+			case ServerTypePackage.SERVER_RUNTIME__MODULE:
+				return getModule();
+			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
+				return getProject();
+			case ServerTypePackage.SERVER_RUNTIME__START:
+				return getStart();
+			case ServerTypePackage.SERVER_RUNTIME__STOP:
+				return getStop();
+			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
+				return getGroup3();
+			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
+				return getPublisher();
+			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
+				return getGroup4();
+			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
+				return getClasspath();
+			case ServerTypePackage.SERVER_RUNTIME__NAME:
+				return getName();
+			case ServerTypePackage.SERVER_RUNTIME__VERSION:
+				return getVersion();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.SERVER_RUNTIME__GROUP:
+				getGroup().clear();
+				getGroup().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
+				getProperty().clear();
+				getProperty().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
+				getGroup1().clear();
+				getGroup1().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PORT:
+				getPort().clear();
+				getPort().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
+				getGroup2().clear();
+				getGroup2().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__MODULE:
+				getModule().clear();
+				getModule().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
+				setProject((Project)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__START:
+				setStart((LaunchConfiguration)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__STOP:
+				setStop((LaunchConfiguration)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
+				getGroup3().clear();
+				getGroup3().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
+				getPublisher().clear();
+				getPublisher().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
+				getGroup4().clear();
+				getGroup4().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
+				getClasspath().clear();
+				getClasspath().addAll((Collection)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__NAME:
+				setName((String)newValue);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__VERSION:
+				setVersion((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.SERVER_RUNTIME__GROUP:
+				getGroup().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
+				getProperty().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
+				getGroup1().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PORT:
+				getPort().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
+				getGroup2().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__MODULE:
+				getModule().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
+				setProject((Project)null);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__START:
+				setStart((LaunchConfiguration)null);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__STOP:
+				setStop((LaunchConfiguration)null);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
+				getGroup3().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
+				getPublisher().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
+				getGroup4().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
+				getClasspath().clear();
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case ServerTypePackage.SERVER_RUNTIME__VERSION:
+				setVersion(VERSION_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.SERVER_RUNTIME__GROUP:
+				return group != null && !group.isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
+				return !getProperty().isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
+				return group1 != null && !group1.isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__PORT:
+				return !getPort().isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
+				return group2 != null && !group2.isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__MODULE:
+				return !getModule().isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
+				return project != null;
+			case ServerTypePackage.SERVER_RUNTIME__START:
+				return start != null;
+			case ServerTypePackage.SERVER_RUNTIME__STOP:
+				return stop != null;
+			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
+				return group3 != null && !group3.isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
+				return !getPublisher().isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
+				return group4 != null && !group4.isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
+				return !getClasspath().isEmpty();
+			case ServerTypePackage.SERVER_RUNTIME__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case ServerTypePackage.SERVER_RUNTIME__VERSION:
+				return VERSION_EDEFAULT == null ? version != null : !VERSION_EDEFAULT.equals(version);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (group: ");
+		result.append(group);
+		result.append(", group1: ");
+		result.append(group1);
+		result.append(", group2: ");
+		result.append(group2);
+		result.append(", group3: ");
+		result.append(group3);
+		result.append(", group4: ");
+		result.append(group4);
+		result.append(", name: ");
+		result.append(name);
+		result.append(", version: ");
+		result.append(version);
+		result.append(')');
+		return result.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public Publisher getPublisher(String id) {
+		Iterator iterator = this.getModule().iterator();
+		while (iterator.hasNext()) {
+			Publisher publisher = (Publisher) iterator.next();
+			if(id.equals(publisher.getId()))
+				return publisher;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public Module getModule(String type) {
+		Iterator iterator = this.getModule().iterator();
+		while (iterator.hasNext()) {
+			Module module = (Module) iterator.next();
+			if(type.equals(module.getType()))
+				return module;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public Classpath getClasspath(String ref) {
+		Iterator iterator = this.getClasspath().iterator();
+		while (iterator.hasNext()) {
+			Classpath cp = (Classpath) iterator.next();
+			if(ref.equals(cp.getId()))
+				return cp;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public String getFilename() {
+		return filename;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public void setFilename(String fn) {
+		this.filename = fn;		
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public void setPropertyValues(Map properties) {
+		this.resolver.setPropertyValues(properties);
+		
+	}
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public Resolver getResolver() {
+		return this.resolver;
+	}
+	
+	
+} //ServerRuntimeImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerTypeFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerTypeFactoryImpl.java
new file mode 100644
index 0000000..9002e4b
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerTypeFactoryImpl.java
@@ -0,0 +1,211 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypeFactoryImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServerTypeFactoryImpl extends EFactoryImpl implements ServerTypeFactory {
+	/**
+	 * Creates and instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServerTypeFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case ServerTypePackage.ARCHIVE_TYPE: return createArchiveType();
+			case ServerTypePackage.CLASSPATH: return createClasspath();
+			case ServerTypePackage.LAUNCH_CONFIGURATION: return createLaunchConfiguration();
+			case ServerTypePackage.MODULE: return createModule();
+			case ServerTypePackage.PORT: return createPort();
+			case ServerTypePackage.PROJECT: return createProject();
+			case ServerTypePackage.PROPERTY: return createProperty();
+			case ServerTypePackage.PUBLISHER: return createPublisher();
+			case ServerTypePackage.PUBLISH_TYPE: return createPublishType();
+			case ServerTypePackage.SERVER_RUNTIME: return createServerRuntime();
+			case ServerTypePackage.UNPUBLISH_TYPE: return createUnpublishType();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArchiveType createArchiveType() {
+		ArchiveTypeImpl archiveType = new ArchiveTypeImpl();
+		return archiveType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Classpath createClasspath() {
+		ClasspathImpl classpath = new ClasspathImpl();
+		return classpath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LaunchConfiguration createLaunchConfiguration() {
+		LaunchConfigurationImpl launchConfiguration = new LaunchConfigurationImpl();
+		return launchConfiguration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Module createModule() {
+		ModuleImpl module = new ModuleImpl();
+		return module;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Port createPort() {
+		PortImpl port = new PortImpl();
+		return port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Project createProject() {
+		ProjectImpl project = new ProjectImpl();
+		return project;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property createProperty() {
+		PropertyImpl property = new PropertyImpl();
+		return property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Publisher createPublisher() {
+		PublisherImpl publisher = new PublisherImpl();
+		return publisher;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PublishType createPublishType() {
+		PublishTypeImpl publishType = new PublishTypeImpl();
+		return publishType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServerRuntime createServerRuntime() {
+		ServerRuntimeImpl serverRuntime = new ServerRuntimeImpl();
+		return serverRuntime;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UnpublishType createUnpublishType() {
+		UnpublishTypeImpl unpublishType = new UnpublishTypeImpl();
+		return unpublishType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServerTypePackage getServerTypePackage() {
+		return (ServerTypePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	public static ServerTypePackage getPackage() {
+		return ServerTypePackage.eINSTANCE;
+	}
+
+} //ServerTypeFactoryImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerTypePackageImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerTypePackageImpl.java
new file mode 100644
index 0000000..02e6613
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/ServerTypePackageImpl.java
@@ -0,0 +1,1329 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypePackageImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
+import org.eclipse.jst.server.generic.servertype.definition.Classpath;
+import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
+import org.eclipse.jst.server.generic.servertype.definition.Module;
+import org.eclipse.jst.server.generic.servertype.definition.Port;
+import org.eclipse.jst.server.generic.servertype.definition.Project;
+import org.eclipse.jst.server.generic.servertype.definition.Property;
+import org.eclipse.jst.server.generic.servertype.definition.PublishType;
+import org.eclipse.jst.server.generic.servertype.definition.Publisher;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory;
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+import org.eclipse.jst.server.generic.servertype.definition.UnpublishType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServerTypePackageImpl extends EPackageImpl implements ServerTypePackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass archiveTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass classpathEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass launchConfigurationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass moduleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass portEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass projectEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass publisherEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass publishTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass serverRuntimeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass unpublishTypeEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ServerTypePackageImpl() {
+		super(eNS_URI, ServerTypeFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this
+	 * model, and for any others upon which it depends.  Simple
+	 * dependencies are satisfied by calling this method on all
+	 * dependent packages before doing anything else.  This method drives
+	 * initialization for interdependent packages directly, in parallel
+	 * with this package, itself.
+	 * <p>Of this package and its interdependencies, all packages which
+	 * have not yet been registered by their URI values are first created
+	 * and registered.  The packages are then initialized in two steps:
+	 * meta-model objects for all of the packages are created before any
+	 * are initialized, since one package's meta-model objects may refer to
+	 * those of another.
+	 * <p>Invocation of this method will not affect any packages that have
+	 * already been initialized.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static ServerTypePackage init() {
+		if (isInited) return (ServerTypePackage)EPackage.Registry.INSTANCE.getEPackage(ServerTypePackage.eNS_URI);
+
+		// Obtain or create and register package
+		ServerTypePackageImpl theServerTypePackage = (ServerTypePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ServerTypePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ServerTypePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackageImpl.init();
+
+		// Create package meta-data objects
+		theServerTypePackage.createPackageContents();
+
+		// Initialize created meta-data
+		theServerTypePackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theServerTypePackage.freeze();
+
+		return theServerTypePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getArchiveType() {
+		return archiveTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getArchiveType_Path() {
+		return (EAttribute)archiveTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getClasspath() {
+		return classpathEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getClasspath_Group() {
+		return (EAttribute)classpathEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getClasspath_Archive() {
+		return (EReference)classpathEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getClasspath_Id() {
+		return (EAttribute)classpathEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getClasspath_IsLibrary() {
+		return (EAttribute)classpathEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getLaunchConfiguration() {
+		return launchConfigurationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_Class() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_WorkingDirectory() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_ProgramArguments() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_VmParameters() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLaunchConfiguration_ClasspathReference() {
+		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getModule() {
+		return moduleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getModule_Type() {
+		return (EAttribute)moduleEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getModule_PublishDir() {
+		return (EAttribute)moduleEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getModule_PublisherReference() {
+		return (EAttribute)moduleEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPort() {
+		return portEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPort_No() {
+		return (EAttribute)portEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPort_Name() {
+		return (EAttribute)portEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPort_Protocol() {
+		return (EAttribute)portEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getProject() {
+		return projectEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProject_ClasspathReference() {
+		return (EAttribute)projectEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getProperty() {
+		return propertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProperty_Context() {
+		return (EAttribute)propertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProperty_Default() {
+		return (EAttribute)propertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProperty_Id() {
+		return (EAttribute)propertyEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProperty_Label() {
+		return (EAttribute)propertyEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProperty_Type() {
+		return (EAttribute)propertyEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPublisher() {
+		return publisherEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPublisher_Group() {
+		return (EAttribute)publisherEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPublisher_Publish() {
+		return (EReference)publisherEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPublisher_Unpublish() {
+		return (EReference)publisherEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPublisher_Id() {
+		return (EAttribute)publisherEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPublishType() {
+		return publishTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPublishType_Task() {
+		return (EAttribute)publishTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPublishType_ClasspathReference() {
+		return (EAttribute)publishTypeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getServerRuntime() {
+		return serverRuntimeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getServerRuntime_Group() {
+		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Property() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getServerRuntime_Group1() {
+		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Port() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getServerRuntime_Group2() {
+		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Module() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Project() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Start() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Stop() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getServerRuntime_Group3() {
+		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Publisher() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getServerRuntime_Group4() {
+		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(11);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getServerRuntime_Classpath() {
+		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(12);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getServerRuntime_Name() {
+		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(13);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getServerRuntime_Version() {
+		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(14);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getUnpublishType() {
+		return unpublishTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUnpublishType_Task() {
+		return (EAttribute)unpublishTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUnpublishType_ClasspathReference() {
+		return (EAttribute)unpublishTypeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServerTypeFactory getServerTypeFactory() {
+		return (ServerTypeFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		archiveTypeEClass = createEClass(ARCHIVE_TYPE);
+		createEAttribute(archiveTypeEClass, ARCHIVE_TYPE__PATH);
+
+		classpathEClass = createEClass(CLASSPATH);
+		createEAttribute(classpathEClass, CLASSPATH__GROUP);
+		createEReference(classpathEClass, CLASSPATH__ARCHIVE);
+		createEAttribute(classpathEClass, CLASSPATH__ID);
+		createEAttribute(classpathEClass, CLASSPATH__IS_LIBRARY);
+
+		launchConfigurationEClass = createEClass(LAUNCH_CONFIGURATION);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__CLASS);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__WORKING_DIRECTORY);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__VM_PARAMETERS);
+		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE);
+
+		moduleEClass = createEClass(MODULE);
+		createEAttribute(moduleEClass, MODULE__TYPE);
+		createEAttribute(moduleEClass, MODULE__PUBLISH_DIR);
+		createEAttribute(moduleEClass, MODULE__PUBLISHER_REFERENCE);
+
+		portEClass = createEClass(PORT);
+		createEAttribute(portEClass, PORT__NO);
+		createEAttribute(portEClass, PORT__NAME);
+		createEAttribute(portEClass, PORT__PROTOCOL);
+
+		projectEClass = createEClass(PROJECT);
+		createEAttribute(projectEClass, PROJECT__CLASSPATH_REFERENCE);
+
+		propertyEClass = createEClass(PROPERTY);
+		createEAttribute(propertyEClass, PROPERTY__CONTEXT);
+		createEAttribute(propertyEClass, PROPERTY__DEFAULT);
+		createEAttribute(propertyEClass, PROPERTY__ID);
+		createEAttribute(propertyEClass, PROPERTY__LABEL);
+		createEAttribute(propertyEClass, PROPERTY__TYPE);
+
+		publisherEClass = createEClass(PUBLISHER);
+		createEAttribute(publisherEClass, PUBLISHER__GROUP);
+		createEReference(publisherEClass, PUBLISHER__PUBLISH);
+		createEReference(publisherEClass, PUBLISHER__UNPUBLISH);
+		createEAttribute(publisherEClass, PUBLISHER__ID);
+
+		publishTypeEClass = createEClass(PUBLISH_TYPE);
+		createEAttribute(publishTypeEClass, PUBLISH_TYPE__TASK);
+		createEAttribute(publishTypeEClass, PUBLISH_TYPE__CLASSPATH_REFERENCE);
+
+		serverRuntimeEClass = createEClass(SERVER_RUNTIME);
+		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PROPERTY);
+		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP1);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PORT);
+		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP2);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__MODULE);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PROJECT);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__START);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__STOP);
+		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP3);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PUBLISHER);
+		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP4);
+		createEReference(serverRuntimeEClass, SERVER_RUNTIME__CLASSPATH);
+		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__NAME);
+		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__VERSION);
+
+		unpublishTypeEClass = createEClass(UNPUBLISH_TYPE);
+		createEAttribute(unpublishTypeEClass, UNPUBLISH_TYPE__TASK);
+		createEAttribute(unpublishTypeEClass, UNPUBLISH_TYPE__CLASSPATH_REFERENCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(archiveTypeEClass, ArchiveType.class, "ArchiveType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getArchiveType_Path(), theXMLTypePackage.getString(), "path", null, 0, 1, ArchiveType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(classpathEClass, Classpath.class, "Classpath", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getClasspath_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, Classpath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getClasspath_Archive(), this.getArchiveType(), null, "archive", null, 1, -1, Classpath.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEAttribute(getClasspath_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Classpath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getClasspath_IsLibrary(), theXMLTypePackage.getBoolean(), "isLibrary", null, 0, 1, Classpath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(launchConfigurationEClass, LaunchConfiguration.class, "LaunchConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getLaunchConfiguration_Class(), theXMLTypePackage.getString(), "class", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_WorkingDirectory(), theXMLTypePackage.getString(), "workingDirectory", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_ProgramArguments(), theXMLTypePackage.getString(), "programArguments", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_VmParameters(), theXMLTypePackage.getString(), "vmParameters", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLaunchConfiguration_ClasspathReference(), theXMLTypePackage.getString(), "classpathReference", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(moduleEClass, Module.class, "Module", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getModule_Type(), theXMLTypePackage.getString(), "type", null, 1, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getModule_PublishDir(), theXMLTypePackage.getString(), "publishDir", null, 1, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getModule_PublisherReference(), theXMLTypePackage.getString(), "publisherReference", null, 1, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(portEClass, Port.class, "Port", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPort_No(), theXMLTypePackage.getString(), "no", null, 1, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPort_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPort_Protocol(), theXMLTypePackage.getString(), "protocol", null, 1, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(projectEClass, Project.class, "Project", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getProject_ClasspathReference(), theXMLTypePackage.getString(), "classpathReference", null, 1, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getProperty_Context(), theXMLTypePackage.getString(), "context", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getProperty_Default(), theXMLTypePackage.getString(), "default", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getProperty_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getProperty_Label(), theXMLTypePackage.getString(), "label", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getProperty_Type(), theXMLTypePackage.getString(), "type", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(publisherEClass, Publisher.class, "Publisher", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPublisher_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPublisher_Publish(), this.getPublishType(), null, "publish", null, 1, -1, Publisher.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getPublisher_Unpublish(), this.getUnpublishType(), null, "unpublish", null, 1, -1, Publisher.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPublisher_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(publishTypeEClass, PublishType.class, "PublishType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPublishType_Task(), theXMLTypePackage.getString(), "task", null, 1, 1, PublishType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPublishType_ClasspathReference(), theXMLTypePackage.getString(), "classpathReference", null, 1, 1, PublishType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(serverRuntimeEClass, ServerRuntime.class, "ServerRuntime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getServerRuntime_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Property(), this.getProperty(), null, "property", null, 0, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEAttribute(getServerRuntime_Group1(), ecorePackage.getEFeatureMapEntry(), "group1", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Port(), this.getPort(), null, "port", null, 0, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEAttribute(getServerRuntime_Group2(), ecorePackage.getEFeatureMapEntry(), "group2", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Module(), this.getModule(), null, "module", null, 1, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Project(), this.getProject(), null, "project", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Start(), this.getLaunchConfiguration(), null, "start", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Stop(), this.getLaunchConfiguration(), null, "stop", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getServerRuntime_Group3(), ecorePackage.getEFeatureMapEntry(), "group3", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Publisher(), this.getPublisher(), null, "publisher", null, 0, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEAttribute(getServerRuntime_Group4(), ecorePackage.getEFeatureMapEntry(), "group4", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getServerRuntime_Classpath(), this.getClasspath(), null, "classpath", null, 1, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEAttribute(getServerRuntime_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getServerRuntime_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(unpublishTypeEClass, UnpublishType.class, "UnpublishType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getUnpublishType_Task(), theXMLTypePackage.getString(), "task", null, 1, 1, UnpublishType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getUnpublishType_ClasspathReference(), theXMLTypePackage.getString(), "classpathReference", null, 1, 1, UnpublishType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+		createExtendedMetaDataAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createExtendedMetaDataAnnotations() {
+		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";		
+		addAnnotation
+		  (archiveTypeEClass, 
+		   source, 
+		   new String[] {
+			 "name", "archive_._type",
+			 "kind", "empty"
+		   });		
+		addAnnotation
+		  (getArchiveType_Path(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "path"
+		   });		
+		addAnnotation
+		  (classpathEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Classpath",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getClasspath_Group(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:0"
+		   });		
+		addAnnotation
+		  (getClasspath_Archive(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "archive",
+			 "group", "#group:0"
+		   });		
+		addAnnotation
+		  (getClasspath_Id(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "id"
+		   });		
+		addAnnotation
+		  (getClasspath_IsLibrary(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "isLibrary"
+		   });		
+		addAnnotation
+		  (launchConfigurationEClass, 
+		   source, 
+		   new String[] {
+			 "name", "LaunchConfiguration",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_Class(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "class"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_WorkingDirectory(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "workingDirectory"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_ProgramArguments(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "programArguments"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_VmParameters(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "vmParameters"
+		   });		
+		addAnnotation
+		  (getLaunchConfiguration_ClasspathReference(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "classpathReference"
+		   });		
+		addAnnotation
+		  (moduleEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Module",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getModule_Type(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "type"
+		   });		
+		addAnnotation
+		  (getModule_PublishDir(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "publishDir"
+		   });		
+		addAnnotation
+		  (getModule_PublisherReference(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "publisherReference"
+		   });		
+		addAnnotation
+		  (portEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Port",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getPort_No(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "no"
+		   });		
+		addAnnotation
+		  (getPort_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "name"
+		   });		
+		addAnnotation
+		  (getPort_Protocol(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "protocol"
+		   });		
+		addAnnotation
+		  (projectEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Project",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getProject_ClasspathReference(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "classpathReference"
+		   });		
+		addAnnotation
+		  (propertyEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Property",
+			 "kind", "empty"
+		   });		
+		addAnnotation
+		  (getProperty_Context(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "context"
+		   });		
+		addAnnotation
+		  (getProperty_Default(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "default"
+		   });		
+		addAnnotation
+		  (getProperty_Id(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "id"
+		   });		
+		addAnnotation
+		  (getProperty_Label(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "label"
+		   });		
+		addAnnotation
+		  (getProperty_Type(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "type"
+		   });		
+		addAnnotation
+		  (publisherEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Publisher",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getPublisher_Group(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:0"
+		   });		
+		addAnnotation
+		  (getPublisher_Publish(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "publish",
+			 "group", "#group:0"
+		   });		
+		addAnnotation
+		  (getPublisher_Unpublish(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "unpublish",
+			 "group", "#group:0"
+		   });		
+		addAnnotation
+		  (getPublisher_Id(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "id"
+		   });		
+		addAnnotation
+		  (publishTypeEClass, 
+		   source, 
+		   new String[] {
+			 "name", "publish_._type",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getPublishType_Task(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "task"
+		   });		
+		addAnnotation
+		  (getPublishType_ClasspathReference(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "classpathReference"
+		   });			
+		addAnnotation
+		  (serverRuntimeEClass, 
+		   source, 
+		   new String[] {
+			 "name", "ServerRuntime",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Group(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:0"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Property(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "property",
+			 "group", "#group:0"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Group1(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:2"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Port(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "port",
+			 "group", "#group:2"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Group2(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:4"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Module(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "module",
+			 "group", "#group:4"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Project(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "project"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Start(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "start"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Stop(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "stop"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Group3(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:9"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Publisher(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "publisher",
+			 "group", "#group:9"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Group4(), 
+		   source, 
+		   new String[] {
+			 "kind", "group",
+			 "name", "group:11"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Classpath(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "classpath",
+			 "group", "#group:11"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "name"
+		   });		
+		addAnnotation
+		  (getServerRuntime_Version(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "version"
+		   });		
+		addAnnotation
+		  (unpublishTypeEClass, 
+		   source, 
+		   new String[] {
+			 "name", "unpublish_._type",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getUnpublishType_Task(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "task"
+		   });		
+		addAnnotation
+		  (getUnpublishType_ClasspathReference(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "classpathReference"
+		   });
+	}
+
+} //ServerTypePackageImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/UnpublishTypeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/UnpublishTypeImpl.java
new file mode 100644
index 0000000..451a60e
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/impl/UnpublishTypeImpl.java
@@ -0,0 +1,242 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: UnpublishTypeImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
+import org.eclipse.jst.server.generic.servertype.definition.UnpublishType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unpublish Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.UnpublishTypeImpl#getTask <em>Task</em>}</li>
+ *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.impl.UnpublishTypeImpl#getClasspathReference <em>Classpath Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UnpublishTypeImpl extends EObjectImpl implements UnpublishType {
+	/**
+	 * The default value of the '{@link #getTask() <em>Task</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTask()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TASK_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTask() <em>Task</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTask()
+	 * @generated
+	 * @ordered
+	 */
+	protected String task = TASK_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASSPATH_REFERENCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClasspathReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected String classpathReference = CLASSPATH_REFERENCE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UnpublishTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return ServerTypePackage.eINSTANCE.getUnpublishType();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTask() {
+		return task;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTask(String newTask) {
+		String oldTask = task;
+		task = newTask;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.UNPUBLISH_TYPE__TASK, oldTask, task));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getClasspathReference() {
+		return classpathReference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setClasspathReference(String newClasspathReference) {
+		String oldClasspathReference = classpathReference;
+		classpathReference = newClasspathReference;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.UNPUBLISH_TYPE__CLASSPATH_REFERENCE, oldClasspathReference, classpathReference));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.UNPUBLISH_TYPE__TASK:
+				return getTask();
+			case ServerTypePackage.UNPUBLISH_TYPE__CLASSPATH_REFERENCE:
+				return getClasspathReference();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.UNPUBLISH_TYPE__TASK:
+				setTask((String)newValue);
+				return;
+			case ServerTypePackage.UNPUBLISH_TYPE__CLASSPATH_REFERENCE:
+				setClasspathReference((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.UNPUBLISH_TYPE__TASK:
+				setTask(TASK_EDEFAULT);
+				return;
+			case ServerTypePackage.UNPUBLISH_TYPE__CLASSPATH_REFERENCE:
+				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case ServerTypePackage.UNPUBLISH_TYPE__TASK:
+				return TASK_EDEFAULT == null ? task != null : !TASK_EDEFAULT.equals(task);
+			case ServerTypePackage.UNPUBLISH_TYPE__CLASSPATH_REFERENCE:
+				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (task: ");
+		result.append(task);
+		result.append(", classpathReference: ");
+		result.append(classpathReference);
+		result.append(')');
+		return result.toString();
+	}
+
+} //UnpublishTypeImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeAdapterFactory.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeAdapterFactory.java
new file mode 100644
index 0000000..891ba08
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeAdapterFactory.java
@@ -0,0 +1,316 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypeAdapterFactory.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.jst.server.generic.servertype.definition.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage
+ * @generated
+ */
+public class ServerTypeAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ServerTypePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServerTypeAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ServerTypePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch the delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ServerTypeSwitch modelSwitch =
+		new ServerTypeSwitch() {
+			public Object caseArchiveType(ArchiveType object) {
+				return createArchiveTypeAdapter();
+			}
+			public Object caseClasspath(Classpath object) {
+				return createClasspathAdapter();
+			}
+			public Object caseLaunchConfiguration(LaunchConfiguration object) {
+				return createLaunchConfigurationAdapter();
+			}
+			public Object caseModule(Module object) {
+				return createModuleAdapter();
+			}
+			public Object casePort(Port object) {
+				return createPortAdapter();
+			}
+			public Object caseProject(Project object) {
+				return createProjectAdapter();
+			}
+			public Object caseProperty(Property object) {
+				return createPropertyAdapter();
+			}
+			public Object casePublisher(Publisher object) {
+				return createPublisherAdapter();
+			}
+			public Object casePublishType(PublishType object) {
+				return createPublishTypeAdapter();
+			}
+			public Object caseServerRuntime(ServerRuntime object) {
+				return createServerRuntimeAdapter();
+			}
+			public Object caseUnpublishType(UnpublishType object) {
+				return createUnpublishTypeAdapter();
+			}
+			public Object defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	public Adapter createAdapter(Notifier target) {
+		return (Adapter)modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType <em>Archive Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ArchiveType
+	 * @generated
+	 */
+	public Adapter createArchiveTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath <em>Classpath</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath
+	 * @generated
+	 */
+	public Adapter createClasspathAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration <em>Launch Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration
+	 * @generated
+	 */
+	public Adapter createLaunchConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Module <em>Module</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Module
+	 * @generated
+	 */
+	public Adapter createModuleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Port <em>Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Port
+	 * @generated
+	 */
+	public Adapter createPortAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Project <em>Project</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Project
+	 * @generated
+	 */
+	public Adapter createProjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Property <em>Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Property
+	 * @generated
+	 */
+	public Adapter createPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher <em>Publisher</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher
+	 * @generated
+	 */
+	public Adapter createPublisherAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.PublishType <em>Publish Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.PublishType
+	 * @generated
+	 */
+	public Adapter createPublishTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime <em>Server Runtime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime
+	 * @generated
+	 */
+	public Adapter createServerRuntimeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.UnpublishType <em>Unpublish Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.jst.server.generic.servertype.definition.UnpublishType
+	 * @generated
+	 */
+	public Adapter createUnpublishTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //ServerTypeAdapterFactory
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeResourceFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeResourceFactoryImpl.java
new file mode 100644
index 0000000..f472d2e
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeResourceFactoryImpl.java
@@ -0,0 +1,89 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypeResourceFactoryImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jst.server.generic.servertype.definition.util.ServerTypeResourceImpl
+ * @generated
+ */
+public class ServerTypeResourceFactoryImpl extends XMLResourceFactoryImpl {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExtendedMetaData extendedMetaData;
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServerTypeResourceFactoryImpl() {
+		super();
+		extendedMetaData = ExtendedMetaData.INSTANCE;
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Resource createResource(URI uri) {
+		XMLResource result = new ServerTypeResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //ServerTypeResourceFactoryImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeResourceImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeResourceImpl.java
new file mode 100644
index 0000000..d3030a2
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeResourceImpl.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypeResourceImpl.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jst.server.generic.servertype.definition.util.ServerTypeResourceFactoryImpl
+ * @generated
+ */
+public class ServerTypeResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public ServerTypeResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //ServerTypeResourceFactoryImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeSwitch.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeSwitch.java
new file mode 100644
index 0000000..b891eb7
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/util/ServerTypeSwitch.java
@@ -0,0 +1,366 @@
+/**
+ * <copyright>
+ *******************************************************************************
+ * 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
+ * 
+ * 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/>.
+ ***************************************************************************
+ * </copyright>
+ *
+ * $Id: ServerTypeSwitch.java,v 1.1 2004/11/20 21:18:10 ndai Exp $
+ */
+package org.eclipse.jst.server.generic.servertype.definition.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.jst.server.generic.servertype.definition.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage
+ * @generated
+ */
+public class ServerTypeSwitch {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ServerTypePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServerTypeSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ServerTypePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	public Object doSwitch(EObject theEObject) {
+		return doSwitch(theEObject.eClass(), theEObject);
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(EClass theEClass, EObject theEObject) {
+		if (theEClass.eContainer() == modelPackage) {
+			return doSwitch(theEClass.getClassifierID(), theEObject);
+		}
+		else {
+			List eSuperTypes = theEClass.getESuperTypes();
+			return
+				eSuperTypes.isEmpty() ?
+					defaultCase(theEObject) :
+					doSwitch((EClass)eSuperTypes.get(0), theEObject);
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case ServerTypePackage.ARCHIVE_TYPE: {
+				ArchiveType archiveType = (ArchiveType)theEObject;
+				Object result = caseArchiveType(archiveType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.CLASSPATH: {
+				Classpath classpath = (Classpath)theEObject;
+				Object result = caseClasspath(classpath);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.LAUNCH_CONFIGURATION: {
+				LaunchConfiguration launchConfiguration = (LaunchConfiguration)theEObject;
+				Object result = caseLaunchConfiguration(launchConfiguration);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.MODULE: {
+				Module module = (Module)theEObject;
+				Object result = caseModule(module);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.PORT: {
+				Port port = (Port)theEObject;
+				Object result = casePort(port);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.PROJECT: {
+				Project project = (Project)theEObject;
+				Object result = caseProject(project);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.PROPERTY: {
+				Property property = (Property)theEObject;
+				Object result = caseProperty(property);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.PUBLISHER: {
+				Publisher publisher = (Publisher)theEObject;
+				Object result = casePublisher(publisher);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.PUBLISH_TYPE: {
+				PublishType publishType = (PublishType)theEObject;
+				Object result = casePublishType(publishType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.SERVER_RUNTIME: {
+				ServerRuntime serverRuntime = (ServerRuntime)theEObject;
+				Object result = caseServerRuntime(serverRuntime);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ServerTypePackage.UNPUBLISH_TYPE: {
+				UnpublishType unpublishType = (UnpublishType)theEObject;
+				Object result = caseUnpublishType(unpublishType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Archive Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Archive Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseArchiveType(ArchiveType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Classpath</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Classpath</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseClasspath(Classpath object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Launch Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Launch Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseLaunchConfiguration(LaunchConfiguration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Module</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Module</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseModule(Module object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Port</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Port</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object casePort(Port object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Project</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Project</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseProject(Project object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Property</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseProperty(Property object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Publisher</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Publisher</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object casePublisher(Publisher object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Publish Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Publish Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object casePublishType(PublishType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Server Runtime</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Server Runtime</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseServerRuntime(ServerRuntime object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Unpublish Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Unpublish Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseUnpublishType(UnpublishType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	public Object defaultCase(EObject object) {
+		return null;
+	}
+
+} //ServerTypeSwitch
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd b/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
new file mode 100644
index 0000000..db3de5a
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
+	xmlns:jst="http://eclipse.org/jst/server/generic/ServerTypeDefinition">
+
+
+
+	<complexType name="ServerRuntime">
+		<annotation>
+			<documentation>
+				Generic Server Type Definition. It must have a list of
+				properties.
+			</documentation>
+		</annotation>
+
+		<sequence minOccurs="1" maxOccurs="1">
+			<sequence minOccurs="0" maxOccurs="unbounded">
+				<element name="property" type="jst:Property"></element>
+			</sequence>
+
+			<sequence minOccurs="0" maxOccurs="unbounded">
+				<element name="port" type="jst:Port" />
+			</sequence>
+
+			<sequence minOccurs="1" maxOccurs="unbounded">
+				<element name="module" type="jst:Module" />
+			</sequence>
+			<element name="project" type="jst:Project"/>
+			<element name="start" type="jst:LaunchConfiguration" />
+			<element name="stop" type="jst:LaunchConfiguration" />
+
+			<sequence minOccurs="0" maxOccurs="unbounded">
+				<element name="publisher" type="jst:Publisher" />
+			</sequence>
+
+			<sequence minOccurs="1" maxOccurs="unbounded">
+				<element name="classpath" type="jst:Classpath" />
+			</sequence>
+		</sequence>
+
+		<attribute name="name" type="string" use="required" />
+		<attribute name="version" type="string"></attribute>
+	</complexType>
+
+	<complexType name="Property">
+		<attribute name="id" type="string" />
+		<attribute name="label" type="string" />
+		<attribute name="type" type="string" />
+		<attribute name="context" type="string" />
+		<attribute name="default" type="string" />
+	</complexType>
+
+	<complexType name="Module">
+		<sequence>
+			<element name="type" type="string" />
+			<element name="publishDir" type="string" />
+			<element name="publisherReference" type="string" />
+		</sequence>
+	</complexType>
+
+	<complexType name="LaunchConfiguration">
+		<sequence>
+			<element name="class" type="string" />
+			<element name="workingDirectory" type="string" />
+			<element name="programArguments" type="string" />
+			<element name="vmParameters" type="string" />
+			<element name="classpathReference" type="string" />
+		</sequence>
+	</complexType>
+
+	<complexType name="Port">
+		<sequence>
+			<element name="no" type="string" />
+			<element name="name" type="string" />
+			<element name="protocol" type="string" />
+		</sequence>
+	</complexType>
+
+	<complexType name="Classpath">
+		<sequence minOccurs="1" maxOccurs="unbounded">
+			<element name="archive">
+				<complexType>
+					<attribute name="path" type="string" />
+				</complexType>
+			</element>
+		</sequence>
+		<attribute name="id" type="string" />
+		<attribute name="isLibrary" type="boolean" use="optional" />
+	</complexType>
+
+	<complexType name="Publisher">
+		<sequence minOccurs="1" maxOccurs="unbounded">
+			<element name="publish">
+
+				<complexType>
+					<sequence>
+						<element name="task" type="string" />
+						<element name="classpathReference"
+							type="string" />
+					</sequence>
+				</complexType>
+			</element>
+			<element name="unpublish">
+				<complexType>
+				  <sequence>
+					<element name="task" type="string" />
+					<element name="classpathReference" type="string" />
+				  </sequence>
+				</complexType>
+			</element>
+		</sequence>
+		<attribute name="id" type="string" />
+	</complexType>
+
+	<complexType name="Project">
+		<sequence minOccurs="1" maxOccurs="1">
+		<element name="classpathReference" type="string"></element>
+		</sequence>
+	</complexType>
+
+</schema>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore b/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
new file mode 100644
index 0000000..582ec37
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="definition"
+    nsURI="http://eclipse.org/jst/server/generic/ServerTypeDefinition" nsPrefix="definition">
+  <eClassifiers xsi:type="ecore:EClass" name="ArchiveType">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="archive_._type"/>
+      <details key="kind" value="empty"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="path"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Classpath">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Classpath"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="archive" lowerBound="1"
+        upperBound="-1" eType="#//ArchiveType" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="archive"/>
+        <details key="group" value="#group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="id"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLibrary" unique="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+        unsettable="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="isLibrary"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LaunchConfiguration">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="LaunchConfiguration"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="class" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="class"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="workingDirectory" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="workingDirectory"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="programArguments" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="programArguments"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="vmParameters" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="vmParameters"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="classpathReference"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Module">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Module"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="type"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="publishDir" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="publishDir"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="publisherReference" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="publisherReference"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Port">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Port"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="no" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="no"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="name"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="protocol"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Project">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Project"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="classpathReference"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Property">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Property"/>
+      <details key="kind" value="empty"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="context" unique="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" unique="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="default"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="id"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="label"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="type"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Publisher">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Publisher"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="publish" lowerBound="1"
+        upperBound="-1" eType="#//PublishType" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="publish"/>
+        <details key="group" value="#group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="unpublish" lowerBound="1"
+        upperBound="-1" eType="#//UnpublishType" volatile="true" transient="true"
+        derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="unpublish"/>
+        <details key="group" value="#group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="id"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PublishType">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="publish_._type"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="task" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="task"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="classpathReference"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ServerRuntime">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Generic Server Type Definition. It must have a list of&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;properties.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
+    </eAnnotations>
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="ServerRuntime"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-1"
+        eType="#//Property" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="property"/>
+        <details key="group" value="#group:0"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group1" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:2"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="port" upperBound="-1" eType="#//Port"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="port"/>
+        <details key="group" value="#group:2"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group2" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:4"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="module" lowerBound="1"
+        upperBound="-1" eType="#//Module" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="module"/>
+        <details key="group" value="#group:4"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="project" lowerBound="1"
+        eType="#//Project" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="project"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//LaunchConfiguration"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="start"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stop" lowerBound="1" eType="#//LaunchConfiguration"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="stop"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group3" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:9"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="publisher" upperBound="-1"
+        eType="#//Publisher" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="publisher"/>
+        <details key="group" value="#group:9"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group4" unique="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+        <details key="name" value="group:11"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="classpath" lowerBound="1"
+        upperBound="-1" eType="#//Classpath" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="classpath"/>
+        <details key="group" value="#group:11"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="name"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="version"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="UnpublishType">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="unpublish_._type"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="task" unique="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="task"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="classpathReference"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
new file mode 100644
index 0000000..c042602
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jst.server.generic.model/src"
+    editDirectory="/org.eclipse.jst.server.generic.model.edit/src" editorDirectory="/org.eclipse.jst.server.generic.model.editor/src"
+    modelPluginID="org.eclipse.jst.server.generic.model" runtimeJar="true" modelName="Servertype"
+    editPluginClass="org.eclipse.jst.server.generic.server.type.definition.provider.ServertypeEditPlugin"
+    editorPluginClass="org.eclipse.jst.server.generic.server.type.definition.presentation.ServertypeEditorPlugin"
+    runtimeCompatibility="false">
+  <foreignModel>ServerTypeDefinitionSchema.xsd</foreignModel>
+  <genPackages prefix="ServerType" basePackage="org.eclipse.jst.server.generic.servertype"
+      resource="XML" ecorePackage="org.eclipse.jst.server.generic.servertype.ecore#/">
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType/path"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Classpath">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Classpath/group"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//Classpath/archive"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Classpath/id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Classpath/isLibrary"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/class"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/workingDirectory"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/programArguments"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/vmParameters"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/classpathReference"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Module">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Module/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Module/publishDir"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Module/publisherReference"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Port">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Port/no"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Port/name"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Port/protocol"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Project">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Project/classpathReference"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Property">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/context"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/default"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/label"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/type"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Publisher">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Publisher/group"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//Publisher/publish"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//Publisher/unpublish"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Publisher/id"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//PublishType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//PublishType/task"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//PublishType/classpathReference"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/property"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group1"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/port"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group2"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/module"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/project"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/start"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/stop"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group3"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/publisher"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group4"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/classpath"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/name"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/version"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType/task"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType/classpathReference"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.xsd2ecore b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.xsd2ecore
new file mode 100644
index 0000000..999e4e4
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.xsd2ecore
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xsd2ecore:XSD2EcoreMappingRoot xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd2ecore="http://www.eclipse.org/emf/2002/XSD2Ecore" inputs="ServerTypeDefinitionSchema.xsd#/"
+    outputs="org.eclipse.jst.server.generic.servertype.ecore#/" topToBottom="true">
+  <nested inputs="bundleentry://175/cache/www.w3.org/2001/XMLSchema.xsd#//string;XSDSimpleTypeDefinition=7"
+      outputs="http://www.eclipse.org/emf/2003/XMLType#//String"/>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle/XSDModelGroup/XSDParticle/archive;XSDElementDeclaration/XSDComplexTypeDefinition"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle/XSDModelGroup/XSDParticle/archive;XSDElementDeclaration/XSDComplexTypeDefinition/XSDAttributeUse"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType/path"/>
+  </nested>
+  <nested inputs="bundleentry://175/cache/www.w3.org/2001/XMLSchema.xsd#//boolean;XSDSimpleTypeDefinition=8"
+      outputs="http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/group"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/archive"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDAttributeUse"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/id"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDAttributeUse=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/isLibrary"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/class"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/workingDirectory"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=2"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/programArguments"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=3"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/vmParameters"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=4"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/classpathReference"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module/type"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module/publishDir"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle=2"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module/publisherReference"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port/no"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port/name"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=2"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port/protocol"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Project;XSDComplexTypeDefinition=7"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Project">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Project;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Project/classpathReference"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=3"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/context"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=4"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/default"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/id"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/label"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=2"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/type"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle/publish;XSDElementDeclaration/XSDComplexTypeDefinition"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//PublishType">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle/publish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//PublishType/task"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle/publish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//PublishType/classpathReference"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1/unpublish;XSDElementDeclaration/XSDComplexTypeDefinition"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1/unpublish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType/task"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1/unpublish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType/classpathReference"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/group"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/publish"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/unpublish"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDAttributeUse"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/id"/>
+  </nested>
+  <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition"
+      outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime">
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/property"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group1"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/port"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=2"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group2"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=2/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/module"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=3"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/project"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=4"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/start"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=5"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/stop"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=6"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group3"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=6/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/publisher"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=7"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group4"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=7/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/classpath"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDAttributeUse"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/name"/>
+    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDAttributeUse=1"
+        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/version"/>
+  </nested>
+</xsd2ecore:XSD2EcoreMappingRoot>
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.classpath b/plugins/org.eclipse.jst.server.generic.modules/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.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.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.modules/build.properties b/plugins/org.eclipse.jst.server.generic.modules/build.properties
deleted file mode 100644
index 9815251..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.commonmodules.jar = src/
-output.commonmodules.jar = bin/
-bin.includes = plugin.xml,\
-               commonmodules.jar
-src.includes = plugin.xml,\
-               src/
diff --git a/plugins/org.eclipse.jst.server.generic.modules/plugin.xml b/plugins/org.eclipse.jst.server.generic.modules/plugin.xml
deleted file mode 100644
index 47858aa..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/plugin.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jst.server.generic.modules"
-   name="J2EE Common Modules Plug-in"
-   version="1.0.0"
-   provider-name="Eteration.com"
-   class="org.eclipse.jst.server.generic.modules.ModulesPlugin">
-
-   <runtime>
-      <library name="commonmodules.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.wst.server.core"/>
-      <import plugin="org.eclipse.jst.server.core"/>
-   </requires>
-
-   <extension point="org.eclipse.wst.server.core.moduleFactories">
-      <moduleFactory
-            projects="true"
-            class="org.eclipse.jst.server.generic.modules.J2eeSpecModuleFactoryDelegate"
-            id="org.eclipse.jst.server.generic.modules.j2eeSpecModules">
-       <moduleType
-         types="j2ee.web,j2ee.ejb,j2ee.ear"
-         versions="1.2,1.3,1.4">
-       </moduleType>
-      </moduleFactory>
-   </extension>
-
-   <extension point="org.eclipse.wst.server.core.moduleObjectAdapters">
-      <moduleObjectAdapter
-         id="org.eclipse.jst.server.generic.modules.j2eeSpecModuleObjectAdapter"
-         class="org.eclipse.jst.server.generic.modules.J2EESpecModuleObjectAdapter"
-         objectClass="org.eclipse.core.resources.IResource"/>
-   </extension>
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/EjbModule.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/EjbModule.java
deleted file mode 100644
index e826f1b..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/EjbModule.java
+++ /dev/null
@@ -1,121 +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:
- *     Naci M. Dai - 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.modules;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.j2ee.IEJBModule;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleListener;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-
-
-public class EjbModule extends J2EEModule implements IEJBModule {
-
-
-	public EjbModule(IFolder moduleFolder) {
-		super(moduleFolder);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IEJBModule#getEJBSpecificationVersion()
-	 */
-	public String getEJBSpecificationVersion() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IJ2EEModule#isBinary()
-	 */
-	public boolean isBinary() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#members()
-	 */
-	public IModuleResource[] members() throws CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-
-	
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#addModuleListener(org.eclipse.wst.server.core.model.IModuleListener)
-	 */
-	public void addModuleListener(IModuleListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#removeModuleListener(org.eclipse.wst.server.core.model.IModuleListener)
-	 */
-	public void removeModuleListener(IModuleListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#getChildModules()
-	 */
-	public IModule[] getChildModules() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IModuleType#getType()
-	 */
-	public String getType() {
-		return "j2ee.ejb";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#validate()
-	 */
-	public IStatus validate() {
-		try {
-			if(Utils.isValidEjbModule(this.getFolder()))
-				return new Status(IStatus.OK,ModulesPlugin.ID, 0,"",null);
-		} catch (Exception e) {
-			Trace.trace("Unale to validate EJB Module", e);
-		}
-		return new Status(IStatus.ERROR,ModulesPlugin.ID, 0,"",null);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/EnterpriseApplication.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/EnterpriseApplication.java
deleted file mode 100644
index b129599..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/EnterpriseApplication.java
+++ /dev/null
@@ -1,132 +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:
- *     Naci M. Dai - 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.modules;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.j2ee.IEnterpriseApplication;
-import org.eclipse.jst.server.j2ee.IJ2EEModule;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleListener;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-
-
-public class EnterpriseApplication extends J2EEModule implements IEnterpriseApplication{
-
-
-	public EnterpriseApplication(IFolder moduleFolder) {
-		super(moduleFolder);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IEnterpriseApplication#getModules()
-	 */
-	public IJ2EEModule[] getModules() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IEnterpriseApplication#getURI(org.eclipse.jst.server.j2ee.IJ2EEModule)
-	 */
-	public String getURI(IJ2EEModule module) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IEnterpriseApplication#containsLooseModules()
-	 */
-	public boolean containsLooseModules() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#validate()
-	 */
-	public IStatus validate() {
-		try {
-			if(Utils.isValidEarModule(this.getFolder()))
-				return new Status(IStatus.OK,ModulesPlugin.ID, 0,"",null);
-		} catch (Exception e) {
-			Trace.trace("Unale to validate EAR Module", e);
-		}
-		return new Status(IStatus.ERROR,ModulesPlugin.ID, 0,"",null);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#members()
-	 */
-	public IModuleResource[] members() throws CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#addModuleListener(org.eclipse.wst.server.core.model.IModuleListener)
-	 */
-	public void addModuleListener(IModuleListener listener) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#removeModuleListener(org.eclipse.wst.server.core.model.IModuleListener)
-	 */
-	public void removeModuleListener(IModuleListener listener) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#getChildModules()
-	 */
-	public IModule[] getChildModules() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IModuleType#getType()
-	 */
-	public String getType() {
-		return "j2ee.ear";
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2EEModule.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2EEModule.java
deleted file mode 100644
index 2d36805..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2EEModule.java
+++ /dev/null
@@ -1,102 +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:
- *     Naci M. Dai - 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.modules;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
-
-
-public abstract class J2EEModule implements IModule {
-
-	private IFolder folder;
-	
-	public J2EEModule(IFolder moduleFolder) {
-		
-		this.folder = moduleFolder;
-	}
-
-	public String getJ2EESpecificationVersion() {
-		return "1.2";
-	}
-
-	public IPath getLocation() {
-		return this.folder.getLocation();
-	}
-
-	public IProject getProject() {
-		return this.getFolder().getProject();
-	}
-
-
-	public IFolder getFolder() {
-		return folder;
-	}
-
-	public String getFactoryId() {
-		return "org.eclipse.jst.server.generic.modules.j2eeSpecModules";
-	}
-
-	public String getId() {
-		return getName();
-	}
-
-	public IStatus canPublish() {
-		return validate();
-	}
-
-	public String getName() {
-		return getFolder().getName();
-	}
-
-	public boolean exists() {
-		return getFolder().exists();
-	}
-	public String getVersion() {
-		return getJ2EESpecificationVersion();
-	}
-
-	/**
-	 * @param resource
-	 * @return
-	 */
-	public IModuleObject getModuleObject(IResource resource) {
-		return null;
-	}
-
-
-	
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2EESpecModuleObjectAdapter.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2EESpecModuleObjectAdapter.java
deleted file mode 100644
index 835e6b1..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2EESpecModuleObjectAdapter.java
+++ /dev/null
@@ -1,54 +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:
- *     Naci M. Dai - 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.modules;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.server.core.model.IModuleObject;
-import org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate;
-
-public class J2EESpecModuleObjectAdapter implements IModuleObjectAdapterDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate#getModuleObject(java.lang.Object)
-	 */
-	public IModuleObject getModuleObject(Object obj) {
-		if (!(obj instanceof IResource))
-			return null;
-		IResource resource = (IResource) obj;
-		J2EEModule module = null;
-		module = (J2EEModule)J2eeSpecModuleFactoryDelegate.getInstance().getModule(resource);
-		if (module == null)
-			return null;
-
-		return module.getModuleObject(resource);
-	}
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2eeSpecModuleFactoryDelegate.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2eeSpecModuleFactoryDelegate.java
deleted file mode 100644
index ab4a0e9..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/J2eeSpecModuleFactoryDelegate.java
+++ /dev/null
@@ -1,196 +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:
- *     Naci M. Dai - 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.modules;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleFactoryDelegate;
-import org.eclipse.wst.server.core.model.IModuleFactoryListener;
-
-
-public class J2eeSpecModuleFactoryDelegate implements IModuleFactoryDelegate {
-	protected static final List NO_MODULES = new ArrayList(0);
-	
-	protected static J2eeSpecModuleFactoryDelegate instance;
-	protected IWorkspaceRoot root;
-	
-	public J2eeSpecModuleFactoryDelegate() {
-		root = ResourcesPlugin.getWorkspace().getRoot();
-		instance = this;
-	}
-	
-	public static J2eeSpecModuleFactoryDelegate getInstance() {
-		if (instance == null)
-			new J2eeSpecModuleFactoryDelegate();
-		return instance;
-	}
-	
-	public IModule getModule(String memento) {
-		if (memento == null)
-			return null;
-		try {
-			IPath modulePath = new Path(memento);
-			if(!modulePath.isAbsolute())
-				return null;
-			return getModule(root.getContainerForLocation(modulePath));
-		} catch (Exception e) {
-			Trace.trace("Could not create module: " + e.getMessage());
-		}
-		return null;
-	}
-
-
-	private IModule getModule(IContainer containerForLocation) {
-		IModule module=null;
-		if (Utils.isValidModule((IFolder)containerForLocation)) {
-			try {
-				module = createModule((IFolder)containerForLocation);
-			} catch (Exception e) {
-				Trace.trace("Unable to get module for container,",e);
-			}
-		}		
-		return module;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleFactoryDelegate#getModules()
-	 */
-	public List getModules() {
-		IProject[] projects = root.getProjects();
-		if (projects == null)
-			return NO_MODULES;
-				List list = new ArrayList();
-		int size = projects.length;
-		for (int i = 0; i < size; i++) {
-				this.initModules(projects[i],list);
-		}
-		return list;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleFactoryDelegate#addModuleFactoryListener(org.eclipse.wst.server.core.model.IModuleFactoryListener)
-	 */
-	public void addModuleFactoryListener(IModuleFactoryListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleFactoryDelegate#removeModuleFactoryListener(org.eclipse.wst.server.core.model.IModuleFactoryListener)
-	 */
-	public void removeModuleFactoryListener(IModuleFactoryListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-	
-	private void initModules(IProject project, List list) {
-		try {
-			IResource[] res = project.members();
-			initModulesIn(res,list);
-		} catch (Exception e) {
-			Trace.trace(e.getMessage(), e);
-		}
-	}
-	private void initModulesIn(IResource[] res, List list) throws Exception {
-		for (int j = 0; j < res.length; j++) {
-			if (res[j].getType() != IResource.FOLDER)
-				continue;
-			IFolder moduleFolder = (IFolder) res[j];
-			initModulesIn(moduleFolder,list);
-		}
-	}
-	private void initModulesIn(IFolder moduleFolder, final List list) throws Exception {
-		if (Utils.isValidModule(moduleFolder)) {
-			IModule module = createModule(moduleFolder);
-			if(module != null)
-				list.add(module);
-		} 
-		
-			moduleFolder.accept(new IResourceVisitor() {
-				public boolean visit(IResource resource) throws CoreException {
-					if (resource.getType() != IResource.FOLDER)
-						return false;
-					IResource res[] = ((IFolder )resource).members();
-					
-					for (int j = 0; j < res.length; j++) {
-						if (res[j].getType() != IResource.FOLDER)
-							continue;
-						IFolder moduleFolder = (IFolder) res[j];
-						try {
-                            initModulesIn(moduleFolder,list);
-                        } catch (Exception e) {
-                          Trace.trace("Could not determine modules in folder", e);
-                        }
-					}
-			
-					return true;
-				}
-			});
-		
-	}
-	private IModule createModule(IFolder moduleFolder) throws Exception {
-		
-		IModule module = null;
-		if (Utils.isValidWebModule(moduleFolder)) {
-			module = new WebModule(moduleFolder);
-		} else if (Utils.isValidEjbModule(moduleFolder)) {
-			module = new EjbModule(moduleFolder);
-		} else if (Utils.isValidEarModule(moduleFolder)) {
-			module = new EnterpriseApplication(moduleFolder);
-		}
-		return module;
-	}
-
-	/**
-	 * @param resource
-	 * @return
-	 */
-	public IModule getModule(IResource resource) {
-		
-		return null;
-	}
-
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/ModulesPlugin.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/ModulesPlugin.java
deleted file mode 100644
index 00e074a..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/ModulesPlugin.java
+++ /dev/null
@@ -1,100 +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:
- *     Naci M. Dai - 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.modules;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ModulesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ModulesPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	public final static String ID = "org.eclipse.jst.server.generic.modules";
-	
-	/**
-	 * The constructor.
-	 */
-	public ModulesPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.generic.modules.ModulesPluginResources");
-		} 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 ModulesPlugin 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 = ModulesPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/Trace.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/Trace.java
deleted file mode 100644
index 76c57f9..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/Trace.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jst.server.generic.modules;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-
-/**
- * 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 s java.lang.String
-	 */
-	public static void trace(byte level, String s) {
-		trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!ModulesPlugin.getDefault().isDebugging())
-			return;
-
-		System.out.println(s);
-		if (t != null)
-			t.printStackTrace();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(String s) {
-		trace(s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(String s, Throwable t) {
-		trace(FINEST, s, t);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/Utils.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/Utils.java
deleted file mode 100644
index e404746..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/Utils.java
+++ /dev/null
@@ -1,78 +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:
- *     Naci M. Dai - 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.modules;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-
-public class Utils {
-
-	public static boolean isValidEarModule(IFolder folder) throws Exception {
-		String ePath = "/META-INF/application.xml";
-		String ePath2 = "/meta-inf/application.xml";
-		return (pathExistsIn(folder, ePath) || pathExistsIn(folder, ePath2));
-	}
-
-	public static boolean isValidEjbModule(IFolder folder) throws Exception {
-		String ePath = "/META-INF/ejb-jar.xml";
-		String ePath2 = "/meta-inf/ejb-jar.xml";
-		String bPath = "/META-INF/beans.xml";
-		return (pathExistsIn(folder, ePath) || pathExistsIn(folder, ePath2) || pathExistsIn(
-				folder, bPath));
-	}
-
-	public static boolean isValidModule(IFolder folder) {
-		try {
-			return (isValidWebModule(folder) || isValidEarModule(folder) || isValidEjbModule(folder));
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public static boolean isValidWebModule(IFolder folder) throws Exception {
-		String wPath = "/WEB-INF/web.xml";
-		String wPath2 = "/web-inf/web.xml";
-		return (pathExistsIn(folder, wPath) || pathExistsIn(folder, wPath2));
-	}
-
-	private static boolean pathExistsIn(IFolder folder, String addToPath) {
-		IProject project = folder.getProject();
-		IPath folderPath = folder.getProjectRelativePath();
-		Path contP = new Path(folderPath.toString() + addToPath);
-		IResource er = project.findMember(contP);
-		return (er != null && er.exists());
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/WebModule.java b/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/WebModule.java
deleted file mode 100644
index 8489881..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/src/org/eclipse/jst/server/generic/modules/WebModule.java
+++ /dev/null
@@ -1,147 +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:
- *     Naci M. Dai - 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.modules;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleListener;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-
-
-public class WebModule extends J2EEModule implements IWebModule {
-	
-	private String servletSpec = null;
-	private String jspSpec     = null;
-
-	public WebModule(IFolder moduleFolder) {
-		super(moduleFolder);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IWebModule#getServletSpecificationVersion()
-	 */
-	public String getServletSpecificationVersion() {
-//		  web-app_2_4.xsd
-//        web-app_2_3.dtd
-//		  else 2.2
-		if(servletSpec == null)
-			servletSpec = "2.2";
-		return servletSpec;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IWebModule#getJSPSpecificationVersion()
-	 */
-	public String getJSPSpecificationVersion() {
-//		if servlet 2.4  -> 2.0
-//      else servlet 2.3 -> 1.2
-//		else 1.1;
-		if(servletSpec == null)
-			servletSpec = "1.1";
-		return jspSpec;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IWebModule#getContextRoot()
-	 */
-	public String getContextRoot() {
-		return this.getFolder().getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IWebModule#isPublishRequired()
-	 */
-	public boolean isPublishRequired() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.j2ee.IJ2EEModule#isBinary()
-	 */
-	public boolean isBinary() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#validate()
-	 */
-	public IStatus validate() {
-		try {
-			if(Utils.isValidWebModule(this.getFolder()))
-				return new Status(IStatus.OK,ModulesPlugin.ID, 0,"",null);
-		} catch (Exception e) {
-			Trace.trace("Unale to validate Web Module", e);
-		}
-		return new Status(IStatus.ERROR,ModulesPlugin.ID, 0,"",null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#members()
-	 */
-	public IModuleResource[] members() throws CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#addModuleListener(org.eclipse.wst.server.core.model.IModuleListener)
-	 */
-	public void addModuleListener(IModuleListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#removeModuleListener(org.eclipse.wst.server.core.model.IModuleListener)
-	 */
-	public void removeModuleListener(IModuleListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModule#getChildModules()
-	 */
-	public IModule[] getChildModules() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IModuleType#getType()
-	 */
-	public String getType() {
-		return "j2ee.web";
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/logo.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/logo.gif
new file mode 100644
index 0000000..854d525
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/logo.gif
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
index 958b586..8a61dcb 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
@@ -1,3 +1,4 @@
-pluginName= Generic J2EE Server Plugin UI
+pluginName=Generic Server Plugin UI
 providerName=Eteration.com
+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
index 6646b91..fe94808 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.server.generic.ui/plugin.xml
@@ -5,7 +5,8 @@
    name="%pluginName"
    version="1.0.0"
    provider-name="%providerName"
-   class="org.eclipse.jst.server.generic.ui.GenericUiPlugin">
+   class="org.eclipse.jst.server.generic.ui.GenericUiPlugin"
+   description="%pluginDescription">
 
    <runtime>
       <library name="genericui.jar">
@@ -22,6 +23,9 @@
       <import plugin="org.eclipse.jst.server.generic.core"/>
       <import plugin="org.eclipse.wst.server.core" />
       <import plugin="org.eclipse.jst.server.core"/>
+      <import plugin="org.eclipse.emf"/>
+      <import plugin="org.eclipse.emf.ecore"/>
+      <import plugin="org.eclipse.emf.ecore.xmi"/>
    </requires>
 
  <extension
@@ -32,13 +36,13 @@
         class="org.eclipse.jst.server.generic.internal.ui.GenericServerRuntimeWizardFragment"/>       
  </extension>
 
-<!-- <extension
+<extension
        point="org.eclipse.wst.server.ui.wizardFragments">
      <fragment
         id="org.eclipse.jst.server.generic.server"
-        typeIds="org.eclipse.jst.server.generic.configuration"
+        typeIds="org.eclipse.jst.server.generic"
         class="org.eclipse.jst.server.generic.internal.ui.GenericServerWizardFragment"/>       
- </extension>-->
+ </extension>
   <extension point="org.eclipse.wst.server.ui.editorPages">
       <page
          id="org.eclipse.jst.server.generic.configuration.editor.webmodule"
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericLaunchConfigurationTabGroup.java
index 23b6e10..b217b1f 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericLaunchConfigurationTabGroup.java
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericLaunchConfigurationTabGroup.java
@@ -35,7 +35,6 @@
 import org.eclipse.debug.ui.EnvironmentTab;
 import org.eclipse.debug.ui.ILaunchConfigurationDialog;
 import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
 import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
 import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
 import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
@@ -45,7 +44,7 @@
 
 public class GenericLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup{
 	/**
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
+	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
 	 */
 	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
 		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[7];
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerRuntimeWizardFragment.java
index 44ac09e..85faa63 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerRuntimeWizardFragment.java
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerRuntimeWizardFragment.java
@@ -35,8 +35,10 @@
 import java.util.List;
 import java.util.Map;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jst.server.generic.internal.core.GenericServerRuntime;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
+import org.eclipse.jst.server.generic.ui.GenericServerUIMessages;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -61,10 +63,14 @@
  */
 public class GenericServerRuntimeWizardFragment extends ServerDefinitionTypeAwareWizardFragment {
 	
+
 	private Group selectionBar;
 	private Combo fServerCombo;
 	private ServerTypeDefinitionGroup fServerPanel;
 	private IRuntimeWorkingCopy fRuntimeWC;
+    private Map fServerRuntimeProperties;
+    private String fSelectedServerType;
+    
 	
 	/**
 	 * Constructor
@@ -76,7 +82,7 @@
 	 * @see com.ibm.wtp.server.ui.wizard.IWizardFragment#isComplete()
 	 */
 	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
+	  	IRuntimeWorkingCopy runtime = getRuntimeWorkingCopy();
 		if (runtime == null)
 			return false;
 		IStatus status = runtime.validate();
@@ -102,7 +108,7 @@
                     .getAttribute(
                             GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,
                             (Map) null);
-        ServerTypeDefinition definition = getServerTypeDefinition(selected,
+        ServerRuntime definition = getServerTypeDefinition(selected,
                 properties);
 
         fServerPanel.reset(definition,
@@ -118,18 +124,18 @@
         Map properties= null;
         if(getRuntimeWorkingCopy()!=null)
             properties = getRuntimeWorkingCopy().getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map)null);
-		ServerTypeDefinition definition = getServerTypeDefinition(selected,properties);
-        fServerPanel = new ServerTypeDefinitionGroup(definition,ServerTypeDefinitionGroup.CONTEXT_RUNTIME,properties,parent,SWT.NONE);
+        ServerRuntime definition = getServerTypeDefinition(selected,properties);
+        fServerPanel = new ServerTypeDefinitionGroup(this,definition,ServerTypeDefinitionGroup.CONTEXT_RUNTIME,properties,parent);
     }
     private void createSelectionBar(Composite content) {
 		selectionBar = new Group(content, SWT.SHADOW_ETCHED_IN);
 		selectionBar.setLayout(new GridLayout(2,false));
 		selectionBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 		Label label = new Label(selectionBar, SWT.NONE);
-		label.setText("Server types:");
+		label.setText(GenericServerUIMessages.getString("runtimeWizard.label.serverType"));
 		label.setLayoutData(new GridData());
 		fServerCombo = new Combo(selectionBar, SWT.BORDER |SWT.READ_ONLY);
-		ServerTypeDefinition[] servers = getAllServerDefinitionTypes();
+		ServerRuntime[] servers = getAllServerDefinitionTypes();
 		for(int i=0; i<servers.length; i++){
 			fServerCombo.add(servers[i].getName());
 		}
@@ -141,6 +147,7 @@
 				new SelectionListener() {
 					public void widgetSelected(SelectionEvent e) {
 						swapBody();
+						serverDefinitionTypePropertiesChanged();
 					}
 					public void widgetDefaultSelected(SelectionEvent e) {}
 				}
@@ -190,21 +197,22 @@
 	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#exit()
 	 */
 	public void exit() {
-		String selected = fServerCombo.getItem(fServerCombo.getSelectionIndex());
-		Map properties = fServerPanel.getProperties();
-		IRuntimeWorkingCopy wc = getRuntimeWorkingCopy();
-		
-		wc.setAttribute(GenericServerRuntime.SERVER_DEFINITION_ID, selected);
-		wc.setAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,properties);
-		wc.setName(createName());
-		fRuntimeWC=null;
+
+        fRuntimeWC=null;
 	}
+	protected String getSelectedServerType(){
+	   return  fSelectedServerType;
+	}
+	protected Map getServerRuntimeProperties(){
+	    return fServerRuntimeProperties; 
+	}
+
 	private String createName()
 	{
-	    String selected = fServerCombo.getItem(fServerCombo.getSelectionIndex());
+	    String selected = getSelectedServerType();
 	    IRuntimeWorkingCopy wc = getRuntimeWorkingCopy();
 	    IRuntimeType runtimeType = wc.getRuntimeType();
-	    String name = selected+" ("+runtimeType.getName()+")";
+	    String name = GenericServerUIMessages.getFormattedString("runtimeName", new String[] {selected,runtimeType.getName()});
 	    
 		IResourceManager rm = ServerCore.getResourceManager();
 		List list = rm.getRuntimes(runtimeType);
@@ -231,4 +239,45 @@
 			fRuntimeWC = (IRuntimeWorkingCopy)getTaskModel().getObject(ITaskModel.TASK_RUNTIME); 
 		return fRuntimeWC;
 	}
+    /* (non-Javadoc)
+     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description()
+     */
+    public String description() {
+        return  GenericServerUIMessages.getString("runtimeWizardDescription");
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
+     */
+    public String title() {
+        return GenericServerUIMessages.getString("runtimeWizardTitle");
+    }
+    
+    /* (non-Javadoc)
+     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#serverDefinitionTypePropertiesChanged()
+     */
+    public void serverDefinitionTypePropertiesChanged() {
+		fSelectedServerType = fServerCombo.getItem(fServerCombo.getSelectionIndex());
+        fServerRuntimeProperties = fServerPanel.getProperties();
+   		String selected = getSelectedServerType();
+		Map properties = getServerRuntimeProperties();
+		IRuntimeWorkingCopy wc = getRuntimeWorkingCopy();       		
+		wc.setAttribute(GenericServerRuntime.SERVER_DEFINITION_ID, selected);
+		wc.setAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,properties);
+		wc.setName(createName());
+		validate();
+   }
+    
+    private void validate()
+    {
+		if (getRuntimeWorkingCopy() == null) {
+			this.getWizard().setMessage("", IMessageProvider.ERROR);
+			return;
+		}
+		IStatus status = getRuntimeWorkingCopy().validate();
+		if (status == null || status.isOK())
+			getWizard().setMessage(null, IMessageProvider.NONE);
+		else
+			getWizard().setMessage(status.getMessage(), IMessageProvider.ERROR);
+		getWizard().update();
+    }
 }
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerWizardFragment.java
index 3d0c6c0..66a8abd 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerWizardFragment.java
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/GenericServerWizardFragment.java
@@ -32,10 +32,9 @@
 
 import java.util.Map;
 import org.eclipse.jst.server.generic.internal.core.GenericServerRuntime;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
-import org.eclipse.swt.SWT;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
+import org.eclipse.jst.server.generic.ui.GenericServerUIMessages;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.eclipse.wst.server.core.ITaskModel;
 import org.eclipse.wst.server.ui.wizard.IWizardHandle;
@@ -48,7 +47,8 @@
 {
 
     private ServerTypeDefinitionGroup fComposite;
-    private boolean flag=false; 
+    private boolean flag=false;
+    private Map fProperties; 
 	/* (non-Javadoc)
 	 * @see com.ibm.wtp.server.ui.wizard.IWizardFragment#isComplete()
 	 */
@@ -59,37 +59,76 @@
 		return flag;
 	}
 
-	public void createContent(Composite parent, IWizardHandle handle) 
-	{
-		createBody(parent,handle);	
+	public void createContent(Composite parent, IWizardHandle handle){
+		createBody(parent,handle);
 	}
 	/**
 	 * 
 	 */
 	private void createBody(Composite parent, IWizardHandle handle) 
 	{
-		IServerWorkingCopy server = (IServerWorkingCopy)getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		String ID = server.getRuntime().getAttribute(GenericServerRuntime.SERVER_DEFINITION_ID,(String)null);
-		Map runtimeProperties = server.getRuntime().getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map)null);
-		ServerTypeDefinition definition = getServerTypeDefinition(ID,runtimeProperties);
-		fComposite = new ServerTypeDefinitionGroup(definition,ServerTypeDefinitionGroup.CONTEXT_SERVER, null,parent,SWT.NONE);
+		IServerWorkingCopy server = getServer();
+		ServerRuntime definition = getServerTypeDefinitionFor(server);
+		fComposite = new ServerTypeDefinitionGroup(this, definition,ServerTypeDefinitionGroup.CONTEXT_SERVER, null,parent);
 		flag=true;
-		
 	}
 
-	public void enter() {
-		// TODO Auto-generated method stub
-		super.enter();
+	/**
+     * @param server
+     * @return
+     */
+    private ServerRuntime getServerTypeDefinitionFor(IServerWorkingCopy server) {
+        String ID = server.getRuntime().getAttribute(GenericServerRuntime.SERVER_DEFINITION_ID,(String)null);
+		Map runtimeProperties = server.getRuntime().getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map)null);
+		ServerRuntime definition = getServerTypeDefinition(ID,runtimeProperties);
+        return definition;
+    }
+
+    /**
+     * @return
+     */
+    private IServerWorkingCopy getServer() {
+        IServerWorkingCopy server = (IServerWorkingCopy)getTaskModel().getObject(ITaskModel.TASK_SERVER);
+        return server;
+    }
+
+    public void enter() {
+        IServerWorkingCopy server = getServer();
+        ServerRuntime definition = getServerTypeDefinitionFor(server);
+        fComposite.reset(definition,ServerTypeDefinitionGroup.CONTEXT_SERVER,null);
 	}
-	public void exit() {
-	    IServerConfigurationWorkingCopy serverConfigWorkingCopy = (IServerConfigurationWorkingCopy)getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-	    serverConfigWorkingCopy.setAttribute("lomboz",fComposite.getProperties());
-//		try {
-//            serverWorkingCopy.save(new NullProgressMonitor());
-//        } catch (CoreException e) {
-//            // TODO Auto-generated catch block
-//            e.printStackTrace();
-//        }
-		
+	public void exit(){
+	    fProperties = fComposite.getProperties();
+	    serverDefinitionTypePropertiesChanged();
 	}
+	
+	protected Map getServerProperties(){
+	    return fProperties;
+	}
+	
+    /* (non-Javadoc)
+     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description()
+     */
+    public String description() {
+        return  GenericServerUIMessages.getString("serverWizardDescription");
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
+     */
+    public String title() {
+        return  GenericServerUIMessages.getString("serverWizardTitle");
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#serverDefinitionTypePropertiesChanged()
+     */
+    public void serverDefinitionTypePropertiesChanged() {
+        fProperties = fComposite.getProperties();
+        IServerWorkingCopy serverWorkingCopy = getServer();
+        ServerRuntime definition = getServerTypeDefinitionFor(serverWorkingCopy);
+        
+        serverWorkingCopy.setName(GenericServerUIMessages.getFormattedString("serverName",new String[] {definition.getName()}));
+        serverWorkingCopy.setAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,getServerProperties());
+    }
 }
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerDefinitionTypeAwareWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerDefinitionTypeAwareWizardFragment.java
index b30f4f9..2b8413c 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerDefinitionTypeAwareWizardFragment.java
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerDefinitionTypeAwareWizardFragment.java
@@ -7,9 +7,9 @@
 package org.eclipse.jst.server.generic.internal.ui;
 
 import java.util.Map;
-
 import org.eclipse.jst.server.generic.core.CorePlugin;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
+import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
+import org.eclipse.jst.server.generic.ui.GenericUiPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -24,28 +24,48 @@
  */
 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();
+	
 	public abstract void createContent(Composite parent, IWizardHandle handle);
 
-	protected ServerTypeDefinition getServerTypeDefinition(String definitionID, Map properties)
+	public abstract void serverDefinitionTypePropertiesChanged();
+	
+	protected ServerRuntime getServerTypeDefinition(String definitionID, Map properties)
 	{
 	    return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(definitionID,properties);
 	}
 	
-	protected ServerTypeDefinition[] getAllServerDefinitionTypes()
+	protected ServerRuntime[] getAllServerDefinitionTypes()
 	{
 	    return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerTypeDefinitions();
 	}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerTypeDefinitionGroup.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerTypeDefinitionGroup.java
index f52bfab..926ab42 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerTypeDefinitionGroup.java
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/internal/ui/ServerTypeDefinitionGroup.java
@@ -1,12 +1,45 @@
+/*******************************************************************************
+ * 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.internal.ui;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinition;
-import org.eclipse.jst.server.generic.internal.xml.ServerTypeDefinitionProperty;
+
+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;
@@ -20,21 +53,29 @@
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 
-/**
- *  Renders a ServerTypeDefinion inside a Group. 
- *
- * @author Gorkem Ercan
- */
+
 public class ServerTypeDefinitionGroup 
 {
-    public static final String CONTEXT_SERVER = ServerTypeDefinitionProperty.CONTEXT_SERVER;
-    public static final String CONTEXT_RUNTIME = ServerTypeDefinitionProperty.CONTEXT_RUNTIME;
+    public static final String CONTEXT_SERVER = Property.CONTEXT_SERVER;
+    public static final String CONTEXT_RUNTIME = Property.CONTEXT_RUNTIME;
 
-    private ServerTypeDefinition fServerTypeDefinition;
+    private ServerRuntime fServerTypeDefinition;
     private List fPropertyControls = new ArrayList();
     private Map fPropertyMap =new HashMap();
     private String fContext="undefined";
     private Group fDefinitionGroup;
+    private ServerDefinitionTypeAwareWizardFragment fAwareWizardFragment;
+    private class PropertyModifyListener implements ModifyListener
+    {
+        /* (non-Javadoc)
+         * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
+         */
+        public void modifyText(ModifyEvent e) {
+            fAwareWizardFragment.serverDefinitionTypePropertiesChanged();
+            
+        }
+        
+    }
     
     /**
      * Construct a composite for the given ServerTypeDefinition
@@ -44,8 +85,9 @@
      * @param parent
      * @param style
      */
-    public ServerTypeDefinitionGroup(ServerTypeDefinition definition, String context, Map initialProperties, Composite parent, int style) 
+    public ServerTypeDefinitionGroup(ServerDefinitionTypeAwareWizardFragment fragment, ServerRuntime definition, String context, Map initialProperties, Composite parent) 
     {
+        fAwareWizardFragment = fragment;
         initServerTypeDefinition(definition,context,initialProperties);
         createControl(parent);
     }
@@ -64,7 +106,7 @@
      * @param context
      * @param initialProperties
      */
-    public void reset(ServerTypeDefinition definition, String context, Map initialProperties)
+    public void reset(ServerRuntime definition, String context, Map initialProperties)
     {
         initServerTypeDefinition(definition, context, initialProperties);
         fDefinitionGroup.setText(definition.getName());
@@ -84,7 +126,7 @@
      * @param context
      * @param initialProperties
      */
-    private void initServerTypeDefinition(ServerTypeDefinition definition, String context, Map initialProperties) {
+    private void initServerTypeDefinition(ServerRuntime definition, String context, Map initialProperties) {
         fServerTypeDefinition = definition;
         initProperties(initialProperties);
         this.fContext = context;
@@ -104,49 +146,43 @@
      * @param defPanel
      */
     private void createPropertyControls(Composite definitionComposite) {
-		List properties = fServerTypeDefinition.getProperties();
+		List properties = fServerTypeDefinition.getProperty();
 		for(int i = 0; i<properties.size(); i++)
 		{
-		    ServerTypeDefinitionProperty property = (ServerTypeDefinitionProperty)properties.get(i);		    
-//		    if(this.fContext.equals(property.getContext()))
+		    Property property = (Property)properties.get(i);		    
+		    if(this.fContext.equals(property.getContext()))
 		        createPropertyControl(definitionComposite,property);
 		}
         
     }
      
-    private void createPropertyControl(Composite parent, ServerTypeDefinitionProperty property)
+    private void createPropertyControl(Composite parent, Property property)
     {
-    	switch (property.getType()) {
-    	case ServerTypeDefinitionProperty.TYPE_DIRECTORY :
+    	if( "directory".equals(property.getType())) {
     		Text path = createLabeledPath(property.getLabel(),getPropertyValue(property),parent);
     		path.setData(property);
     		fPropertyControls.add(path);
-    		break;
-    	case ServerTypeDefinitionProperty.TYPE_FILE :
-    		Text file = createLabeledFile(property.getLabel(),getPropertyValue(property),parent);
+    	} else if( "file".equals(property.getType())) {
+    	    Text file = createLabeledFile(property.getLabel(),getPropertyValue(property),parent);
     		file.setData(property);
     		fPropertyControls.add(file);
-    		break;
-    	case ServerTypeDefinitionProperty.TYPE_STRING :
-    		Text str = createLabeledText(property.getLabel(),getPropertyValue(property),parent);
+    	} else if( "string".equals(property.getType())) {
+    	    Text str = createLabeledText(property.getLabel(),getPropertyValue(property),parent);
     		str.setData(property);
     		fPropertyControls.add(str);
-    		break;
-    	case ServerTypeDefinitionProperty.TYPE_BOOLEAN :
-    		Button bool =createLabeledCheck(property.getLabel(),("true".equals( getPropertyValue(property))),	parent);
+    	} else if( "boolean".equals(property.getType())) {
+    	    Button bool =createLabeledCheck(property.getLabel(),("true".equals( getPropertyValue(property))),	parent);
     		bool.setData(property);
     		fPropertyControls.add(bool);
-    		break;
-    	default :
-    		Text defaultText= createLabeledText(property.getLabel(),getPropertyValue(property),parent);
+    	} else  {
+    	    Text defaultText= createLabeledText(property.getLabel(),getPropertyValue(property),parent);
     		defaultText.setData(property);
     		fPropertyControls.add(defaultText);
-    		break;
-    	}
+     	}
     }
-	private String getPropertyValue(ServerTypeDefinitionProperty property)
+	private String getPropertyValue(Property property)
 	{
-		String value = property.getDefaultValue();
+		String value = property.getDefault();
 		if(fPropertyMap!=null && fPropertyMap.isEmpty()==false)
 			value=(String)fPropertyMap.get(property.getId()); 
 		return value;
@@ -158,13 +194,25 @@
     	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) {
+               fAwareWizardFragment.serverDefinitionTypePropertiesChanged();
+            }
+
+            public void widgetDefaultSelected(SelectionEvent e) {
+                // TODO Auto-generated method stub
+
+            }
+        });
+    	
     	return fButton;
     }
     protected Text createLabeledFile(String title, String value,
@@ -181,7 +229,7 @@
     	gridData.horizontalSpan = 1;
     	fText.setLayoutData(gridData);
     	fText.setText(value);
-    
+    	fText.addModifyListener(new PropertyModifyListener());
     	Button fButton = new Button(defPanel, SWT.PUSH);
     	fButton.setText("...");
     	fButton.setLayoutData(new GridData());
@@ -212,11 +260,11 @@
     	label.setText(title);
     
     	final Text fText = new Text(parent, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
+    	gridData = new GridData(GridData.FILL_HORIZONTAL);
     	gridData.horizontalSpan = 1;
     	fText.setLayoutData(gridData);
     	fText.setText(value);
+    	fText.addModifyListener(new PropertyModifyListener());
     	Button fButton = new Button(parent, SWT.PUSH);
     	fButton.setText("...");
     	fButton.setLayoutData(new GridData());
@@ -252,6 +300,7 @@
     	gridData.horizontalSpan = 2;
     	fText.setLayoutData(gridData);
     	fText.setText(value);
+    	fText.addModifyListener(new PropertyModifyListener());
     	return fText;
     }
     public Map getProperties()
@@ -261,13 +310,13 @@
     		if(fPropertyControls.get(i)instanceof Button)
     		{
     			Button button = (Button)fPropertyControls.get(i);
-    			ServerTypeDefinitionProperty prop = (ServerTypeDefinitionProperty)button.getData();
+    			Property prop = (Property)button.getData();
     			fPropertyMap.put(prop.getId(),Boolean.toString(button.getSelection()));
     		}
     		else
     		{
     			Text text = (Text)fPropertyControls.get(i);
-    			ServerTypeDefinitionProperty prop = (ServerTypeDefinitionProperty)text.getData();
+    			Property prop = (Property)text.getData();
     			fPropertyMap.put(prop.getId(),text.getText());
     		}
     	}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericServerUIMessages.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericServerUIMessages.java
new file mode 100644
index 0000000..b1a5537
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericServerUIMessages.java
@@ -0,0 +1,63 @@
+package org.eclipse.jst.server.generic.ui;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * Helper class to get messages
+ * 
+ * @author Gorkem Ercan
+ */
+public class GenericServerUIMessages {
+
+	private static final String RESOURCE_BUNDLE= "org.eclipse.jst.server.generic.ui.GenericServerUIMessages";//$NON-NLS-1$
+
+	private static ResourceBundle fResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+
+	private GenericServerUIMessages() {
+	}
+
+	/**
+	 * Return string from the resource bundle.
+	 * 
+	 * @param key the string used to get the bundle value, must not be <code>null</code>
+	 * @return the string from the resource bundle
+	 */
+	public static String getString(String key) {
+		try {
+			return fResourceBundle.getString(key);
+		} catch (MissingResourceException e) {
+			return "!" + key + "!";
+		}
+	}
+	
+	/**
+	 * Gets a string from the resource bundle that is 
+	 * formatted it with the given argument.
+	 * 
+	 * @param key the string used to get the bundle value, must not be null
+	 * @param arg the argument used to format the string
+	 * @return the formatted string
+	 */
+	public static String getFormattedString(String key, Object[] arg) {
+		String format= null;
+		try {
+			format= fResourceBundle.getString(key);
+		} catch (MissingResourceException e) {
+			return "!" + key + "!";
+		}
+		if (arg == null)
+			arg= new Object[0];
+		return MessageFormat.format(format,arg );
+	}
+	
+	/**
+	 * Returns a resource bundle.
+	 * 
+	 * @return the resource bundle
+	 */
+	public static ResourceBundle getResourceBundle() {
+		return fResourceBundle;
+	}
+}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericServerUIMessages.properties b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericServerUIMessages.properties
new file mode 100644
index 0000000..e9a164b
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericServerUIMessages.properties
@@ -0,0 +1,7 @@
+serverWizardTitle=New Generic Server
+serverWizardDescription=Create a new server of the selected server type
+runtimeWizardTitle=New Generic Server Runtime
+runtimeWizardDescription=Define a new Generic Runtime for your server type
+runtimeWizard.label.serverType=Server types:
+serverName = {0}(Generic)
+runtimeName= {0}({1})
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericUiPlugin.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericUiPlugin.java
index e2cc51e..0de4415 100644
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericUiPlugin.java
+++ b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/GenericUiPlugin.java
@@ -30,6 +30,8 @@
  ***************************************************************************/
 package org.eclipse.jst.server.generic.ui;
 
+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.*;
@@ -40,7 +42,9 @@
  * @author Gorkem Ercan
  */
 public class GenericUiPlugin extends AbstractUIPlugin {
-	//The shared instance.
+	
+    public static final String WIZBAN_IMAGE = "genericlogo";
+    //The shared instance.
 	private static GenericUiPlugin plugin;
 	//Resource bundle.
 	private ResourceBundle resourceBundle;
@@ -92,6 +96,15 @@
 		}
 	}
 
+    protected ImageRegistry createImageRegistry() {
+        ImageRegistry registry = new ImageRegistry();
+        ImageDescriptor desc = ImageDescriptor.createFromURL(getDefault().getBundle().getEntry("/icons/wizban/logo.gif"));
+        registry.put(WIZBAN_IMAGE,desc);
+        return registry;
+    }
+  	public ImageDescriptor imageDescriptor(String key){
+		return getImageRegistry().getDescriptor(key);
+	}
 	/**
 	 * Returns the plugin's resource bundle,
 	 */
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 92ec6ad..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=false
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 0904efd..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.tomcat.core</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.wst.server.core</project>
-		<project>org.eclipse.jst.server.core</project>
-	</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/build.properties b/plugins/org.eclipse.jst.server.tomcat.core/build.properties
deleted file mode 100644
index 231b340..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
-###############################################################################
-source.tomcatcore.jar = tomcatcore/
-bin.includes = plugin.xml,\
-               *.jar,\
-               plugin.properties,\
-               tomcatcore.jar,\
-               verifyInstall.properties,\
-               .options
-jars.compile.order = 
-src.includes = schema/,\
-               build.properties
-output.tomcatcore.jar = bin/
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 e130fc2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
+++ /dev/null
@@ -1,154 +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
-###############################################################################
-pluginName=Apache Tomcat Support
-providerName=IBM
-
-# --------------- 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 locator
-runtimeLocatorLabel=Tomcat Runtimes
-runtimeLocatorDescription=Search for Apache Tomcat v3.2, v4.0, v4.1, and v5.0 runtimes.
-
-serverLocatorLabel=Tomcat Servers
-serverLocatorDescription=Search for Apache Tomcat v3.2, v4.0, v4.1, and v5.0 servers.
-
-# runtime target
-targetJRE=Tomcat JRE
-target32runtime=Tomcat v3.2 runtime
-target40runtime=Tomcat v4.0 runtime
-target41runtime=Tomcat v4.1 runtime
-target50runtime=Tomcat v5.0 runtime
-
-# --------------- Servers and Configurations ---------------
-tomcat32ServerType=Tomcat v3.2 Server
-tomcat32ServerShortType=Local Server
-tomcat32ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat32ConfigurationType=Tomcat v3.2 Server Configuration
-tomcat32ConfigurationShortType=Server Configuration
-tomcat32ConfigurationDescription=A server configuration for Tomcat version 3.2.
-
-tomcat40ServerType=Tomcat v4.0 Server
-tomcat40ServerShortType=Local Server
-tomcat40ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat40ConfigurationType=Tomcat v4.0 Server Configuration
-tomcat40ConfigurationShortType=Server Configuration
-tomcat40ConfigurationDescription=A server configuration for Tomcat version 4.0.
-
-tomcat41ServerType=Tomcat v4.1 Server
-tomcat41ServerShortType=Local Server
-tomcat41ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat41ConfigurationType=Tomcat v4.1 Server Configuration
-tomcat41ConfigurationShortType=Server Configuration
-tomcat41ConfigurationDescription=A server configuration for Tomcat version 4.1.
-
-tomcat50ServerType=Tomcat v5.0 Server
-tomcat50ServerShortType=Local Server
-tomcat50ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat50ConfigurationType=Tomcat v5.0 Server Configuration
-tomcat50ConfigurationShortType=Server Configuration
-tomcat50ConfigurationDescription=A server configuration for Tomcat version 5.0.
-
-tomcat55ServerType=Tomcat v5.5 Server
-tomcat55ServerShortType=Local Server
-tomcat55ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
-
-tomcat55ConfigurationType=Tomcat v5.5 Server Configuration
-tomcat55ConfigurationShortType=Server Configuration
-tomcat55ConfigurationDescription=A server configuration for Tomcat version 5.5.
-
-# --------------- Tasks (progress monitors) ---------------
-savingTask=Saving...
-loadingTask=Loading...
-creatingTask=Creating...
-updatingConfigurationTask=Updating run-time configuration...
-publishTask=Publishing to Tomcat...
-publishConfigurationTask=Publishing the configuration...
-publishTempDirectoryTask=Updating the temp directory...
-publishCopyTask=Copying module {0}...
-publishExpandTask=Expanding module {0}...
-publishProjectTask=Publishing project {0}...
-publisherPublishTask=Publishing {0}...
-publisherDeleteTask=Deleting {0}...
-
-tomcatLaunchConfigurationType=Apache Tomcat
-
-# 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 ---------------
-startingServer=Starting Tomcat server {0}. Debugging is disabled and breakpoints will be ignored.
-debuggingServer=Starting Tomcat server {0} in debug mode. Breakpoints are enabled.
-profilingServer=Starting Tomcat server {0}. Profiling is enabled and debugging has been disabled.
-errorInvalidConfiguration=Invalid server configuration
-canAddModule=Web module can be added to the server.
-canModifyModules=Web modules can be modified.
-
-# --------------- Errors and Info ---------------
-errorTitle=Tomcat Error
-errorInstallDir=The Tomcat installation directory is not correct. Edit the server and change the installation directory.
-errorJRE=The JRE could not be found. Edit the server and change the JRE location.
-errorPortInUse=Port {0} required by {1} is already in use.
-errorCouldNotLaunch=Tomcat could not be launched successfully.
-errorCouldNotFindDebugPort=Could not find a valid port for debugging.
-errorCouldNotLoadServer=Could not find a valid Tomcat server at the specified location.
-errorCouldNotLoadConfiguration=Could not find a valid Tomcat server configuration at the specified location.
-errorCouldNotSaveServer=Could not save the Tomcat server: {0}.
-errorCouldNotSaveConfiguration=Could not save the Tomcat server configuration: {0}.
-errorPublishConfiguration=Could not publish server configuration: {0}.
-errorWebModulesOnly=Tomcat only supports running J2EE Web modules.
-errorCancelled=Cancelled
-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 and 1.3 and 1.4 Web modules
-errorSpec55=Tomcat version 5.5 only supports J2EE 1.2 and 1.3 and 1.4 Web modules
-errorInstallDir=The Tomcat installation directory is not correct.
-errorJREDir=The JDK installation directory is not correct.
-errorRuntimeName=Enter a name for the runtime.
-errorDuplicateRuntimeName=Name is already in use.
-
-publishingStarted=Publishing started successfully
-publishingStopped=Publishing ended successfully
-
-infoPublishSuccess=Publishing was successful
-infoDefaultAvailable=A Tomcat server is available.
-
-projectCleanupSuccess=Old project {0} was removed successfully.
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 e232912..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
+++ /dev/null
@@ -1,284 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.jst.server.tomcat.core"
-  name="%pluginName"
-  version="3.0.0"
-  provider-name="%providerName"
-  class="org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin">
-
-  <runtime>
-     <library name="tomcatcore.jar">
-        <export name="*"/>
-        <packages prefixes="org.eclipse.jst.server.tomcat.core"/>
-     </library>
-  </runtime>
-
-  <requires>
-     <import plugin="org.eclipse.core.runtime" />
-     <import plugin="org.eclipse.core.resources" />
-     <import plugin="org.eclipse.debug.core" />
-     <import plugin="org.eclipse.jdt.core" />
-     <import plugin="org.eclipse.jdt.debug" />
-     <import plugin="org.eclipse.jdt.launching" />
-     <import plugin="org.eclipse.wst.server.core" />
-     <import plugin="org.eclipse.jst.server.core" />
-  </requires>
-
-  <extension point="org.eclipse.wst.server.core.runtimeTypes">
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.32.runtime"
-       name="%runtimeTypeTomcat32Label"
-       description="%runtimeTypeTomcat32Description"
-       vendor="%apache"
-       version="3.2"
-       order="50"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.40.runtime"
-       name="%runtimeTypeTomcat40Label"
-       description="%runtimeTypeTomcat40Description"
-       vendor="%apache"
-       version="4.0"
-       order="52"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.41.runtime"
-       name="%runtimeTypeTomcat41Label"
-       description="%runtimeTypeTomcat41Description"
-       vendor="%apache"
-       version="4.1"
-       order="54"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.50.runtime"
-       name="%runtimeTypeTomcat50Label"
-       description="%runtimeTypeTomcat50Description"
-       vendor="%apache"
-       version="5.0"
-       order="56"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
-       <moduleType
-         types="j2ee.web"
-         versions="1.2, 1.3, 1.4"/>
-    </runtimeType>
-
-    <runtimeType
-       id="org.eclipse.jst.server.tomcat.55.runtime"
-       name="%runtimeTypeTomcat55Label"
-       description="%runtimeTypeTomcat55Description"
-       vendor="%apache"
-       version="5.5"
-       order="58"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
-       <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"
-       name="%runtimeLocatorLabel"
-       description="%runtimeLocatorDescription"
-       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.v32"
-        runtimeTypeIds="org.eclipse.jst.server.tomcat.32.runtime"
-        class="org.eclipse.jst.server.tomcat.core.internal.Tomcat32RuntimeTargetHandler"/>
-     <runtimeTargetHandler
-        id="org.eclipse.jst.server.tomcat.runtimeTarget.v40"
-        runtimeTypeIds="org.eclipse.jst.server.tomcat.40.runtime"
-        class="org.eclipse.jst.server.tomcat.core.internal.Tomcat40RuntimeTargetHandler"/>
-     <runtimeTargetHandler
-        id="org.eclipse.jst.server.tomcat.runtimeTarget.v41"
-        runtimeTypeIds="org.eclipse.jst.server.tomcat.41.runtime"
-        class="org.eclipse.jst.server.tomcat.core.internal.Tomcat41RuntimeTargetHandler"/>
-     <runtimeTargetHandler
-        id="org.eclipse.jst.server.tomcat.runtimeTarget.v50"
-        runtimeTypeIds="org.eclipse.jst.server.tomcat.50.runtime"
-        class="org.eclipse.jst.server.tomcat.core.internal.Tomcat50RuntimeTargetHandler"/>
-     <runtimeTargetHandler
-        id="org.eclipse.jst.server.tomcat.runtimeTarget.v55"
-        runtimeTypeIds="org.eclipse.jst.server.tomcat.55.runtime"
-        class="org.eclipse.jst.server.tomcat.core.internal.Tomcat55RuntimeTargetHandler"/>
-   </extension>
-
-  <extension point="org.eclipse.wst.server.core.serverTypes">
-     <serverType
-       id="org.eclipse.jst.server.tomcat.32"
-       name="%tomcat32ServerType"
-       description="%tomcat32ServerDescription"
-       hosts="localhost"
-       runtime="true"
-       order="50"
-       monitorable="true"
-       initialState="stopped"
-       configurationTypeId="org.eclipse.jst.server.tomcat.32"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.32.runtime"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.40"
-       name="%tomcat40ServerType"
-       description="%tomcat40ServerDescription"
-       hosts="localhost"
-       runtime="true"
-       order="52"
-       monitorable="true"
-       initialState="stopped"
-       configurationTypeId="org.eclipse.jst.server.tomcat.40"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.40.runtime"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.41"
-       name="%tomcat41ServerType"
-       description="%tomcat41ServerDescription"
-       hosts="localhost"
-       runtime="true"
-       order="54"
-       monitorable="true"
-       initialState="stopped"
-       configurationTypeId="org.eclipse.jst.server.tomcat.41"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.41.runtime"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.50"
-       name="%tomcat50ServerType"
-       description="%tomcat50ServerDescription"
-       hosts="localhost"
-       runtime="true"
-       order="56"
-       monitorable="true"
-       initialState="stopped"
-       configurationTypeId="org.eclipse.jst.server.tomcat.50"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.50.runtime"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
-     </serverType>
-     <serverType
-       id="org.eclipse.jst.server.tomcat.55"
-       name="%tomcat55ServerType"
-       description="%tomcat55ServerDescription"
-       hosts="localhost"
-       runtime="true"
-       order="58"
-       monitorable="true"
-       initialState="stopped"
-       configurationTypeId="org.eclipse.jst.server.tomcat.55"
-       launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.tomcat.55.runtime"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
-     </serverType>
-   </extension>
-   
-   <extension point="org.eclipse.wst.server.core.serverLocators">
-    <serverLocator
-       id="org.eclipse.jst.server.tomcat.server.locator"
-       name="%serverLocatorLabel"
-       description="%serverLocatorDescription"
-       hosts="local"
-       class="org.eclipse.jst.server.tomcat.core.internal.TomcatServerLocator"/>
-  </extension>
-   
-   <extension point="org.eclipse.wst.server.core.serverConfigurationTypes">
-     <serverConfigurationType
-       id="org.eclipse.jst.server.tomcat.32"
-       name="%tomcat32ConfigurationType"
-       description="%tomcat32ConfigurationDescription"
-       isFolder="true"
-       class="org.eclipse.jst.server.tomcat.core.internal.Tomcat32Configuration"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat32ConfigurationWorkingCopy">
-     </serverConfigurationType>
-     <serverConfigurationType
-       id="org.eclipse.jst.server.tomcat.40"
-       name="%tomcat40ConfigurationType"
-       description="%tomcat40ConfigurationDescription"
-       isFolder="true"
-       class="org.eclipse.jst.server.tomcat.core.internal.Tomcat40Configuration"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat40ConfigurationWorkingCopy">
-     </serverConfigurationType>
-     <serverConfigurationType
-       id="org.eclipse.jst.server.tomcat.41"
-       name="%tomcat41ConfigurationType"
-       description="%tomcat41ConfigurationDescription"
-       isFolder="true"
-       class="org.eclipse.jst.server.tomcat.core.internal.Tomcat41Configuration"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat41ConfigurationWorkingCopy">
-     </serverConfigurationType>
-     <serverConfigurationType
-       id="org.eclipse.jst.server.tomcat.50"
-       name="%tomcat50ConfigurationType"
-       description="%tomcat50ConfigurationDescription"
-       isFolder="true"
-       class="org.eclipse.jst.server.tomcat.core.internal.Tomcat50Configuration"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat50ConfigurationWorkingCopy">
-     </serverConfigurationType>
-     <serverConfigurationType
-       id="org.eclipse.jst.server.tomcat.55"
-       name="%tomcat55ConfigurationType"
-       description="%tomcat55ConfigurationDescription"
-       isFolder="true"
-       class="org.eclipse.jst.server.tomcat.core.internal.Tomcat55Configuration"
-       workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat55ConfigurationWorkingCopy">
-     </serverConfigurationType>
-   </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>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/IMimeMapping.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/IMimeMapping.java
deleted file mode 100644
index e269443..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/IMimeMapping.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * 
- */
-public interface IMimeMapping {
-	/**
-	 * Returns the extension.
-	 * @return java.lang.String
-	 */
-	public String getExtension();
-
-	/**
-	 * Returns the mime type.
-	 * @return java.lang.String
-	 */
-	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/ITomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfiguration.java
deleted file mode 100644
index e0a2b4b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfiguration.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.wst.server.core.model.IServerConfigurationDelegate;
-/**
- * 
- */
-public interface ITomcatConfiguration extends IServerConfigurationDelegate {
-	/**
-	 * Returns a list of mime mappings.
-	 * @return java.util.List
-	 */
-	public List getMimeMappings();
-	
-	/**
-	 * Returns a list of ServerPorts that this configuration uses.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerPorts();
-
-	/**
-	 * Return a list of the web modules in this server.
-	 * @return java.util.List
-	 */
-	public List getWebModules();
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfigurationWorkingCopy.java
deleted file mode 100644
index 3028367..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.model.IServerConfigurationWorkingCopyDelegate;
-
-public interface ITomcatConfigurationWorkingCopy extends ITomcatConfiguration, IServerConfigurationWorkingCopyDelegate {
-	/**
-	 * 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);
-
-	/**
-	 * Removes 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);
-
-	/**
-	 * Removes a mime mapping.
-	 * @param index int
-	 */
-	public void removeMimeMapping(int index);
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntime.java
deleted file mode 100644
index 203ef25..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntime.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.jdt.launching.IVMInstall;
-
-import org.eclipse.wst.server.core.model.IRuntimeDelegate;
-/**
- * 
- */
-public interface ITomcatRuntime extends IRuntimeDelegate {
-	public String getVMInstallTypeId();
-
-	public String getVMInstallId();
-
-	public IVMInstall getVMInstall();
-	
-	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/ITomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntimeWorkingCopy.java
deleted file mode 100644
index 2be3301..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
-/**
- *
- */
-public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime, IRuntimeWorkingCopyDelegate {
-	public void setVMInstall(String typeId, String id);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServer.java
deleted file mode 100644
index d22ca1c..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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;
-
-import org.eclipse.wst.server.core.model.IServerDelegate;
-import org.eclipse.wst.server.core.model.IURLProvider;
-/**
- * 
- */
-public interface ITomcatServer extends IServerDelegate, IURLProvider {
-	public static final String PROPERTY_SECURE = "secure";
-	public static final String PROPERTY_DEBUG = "debug";
-	public static final String PROPERTY_TEST_ENVIRONMENT = "testEnvironment";
-
-	/**
-	 * 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();
-	
-	/**
-	 * Returns true if the process is set to run in secure mode.
-	 *
-	 * @return boolean
-	 */
-	public boolean isSecure();
-	
-	/**
-	 * Returns true if this is a test (run code out of the workbench) environment server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isTestEnvironment();
-	
-	/**
-	 * Returns the main class that is used to launch the Tomcat server.
-	 * 
-	 * @return
-	 */
-	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
-	 */
-	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/ITomcatServerWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerWorkingCopy.java
deleted file mode 100644
index 2d54aa4..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerWorkingCopy.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.model.IServerWorkingCopyDelegate;
-/**
- * 
- */
-public interface ITomcatServerWorkingCopy extends ITomcatServer, IServerWorkingCopyDelegate {
-	/**
-	 * Sets this process to debug mode. This feature only works
-	 * with Tomcat v4.0 and above.
-	 *
-	 * @param b boolean
-	 */
-	public void setDebug(boolean b);
-	
-	/**
-	 * Sets this process to secure mode.
-	 * 
-	 * @param b boolean
-	 */
-	public void setSecure(boolean b);
-	
-	/**
-	 * 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/ITomcatWebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatWebModule.java
deleted file mode 100644
index 5edf606..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatWebModule.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * 
- */
-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/WebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/WebModule.java
deleted file mode 100644
index 8bb2640..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/WebModule.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jst.server.tomcat.core;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * A Web module.
- */
-public class WebModule implements ITomcatWebModule {
-	private String docBase;
-	private String path;
-	private String memento;
-	private boolean reloadable;
-
-	/**
-	 * WebModule constructor comment.
-	 */
-	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;
-	}
-}
\ 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 caddc6f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.j2ee.IWebModule;
-
-/**
- * 
- */
-public interface ITomcatVersionHandler {
-	public boolean verifyInstallPath(IPath installPath);
-	
-	public String getRuntimeClass();
-	
-	public List getRuntimeClasspath(IPath installPath);
-	
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting);
-	
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure);
-
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	public IStatus canAddModule(IWebModule 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/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 6954b41..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-/**
- * A mime mapping.
- */
-public class MimeMapping implements IMimeMapping {
-	private String extension;
-	private String mimeType;
-
-	/**
-	 * MimeMapping constructor comment.
-	 */
-	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 89802ae..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.debug.core.ILaunchManager;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerState;
-/**
- * Thread used to ping server to test when it is started.
- */
-public class PingThread extends Thread {
-	// 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 static final int MAX_PINGS = 56; // total: 16 seconds
-
-	private boolean stop = false;
-	private String mode;
-	private String url = "";
-	private TomcatServer serverType;
-	private IServerState control;
-
-	public PingThread(TomcatServer serverType, IServerState control, String url, String mode) {	super();
-		this.control = control;
-		this.url = url;
-		this.mode = mode;
-		this.serverType = serverType;
-		setDaemon(true);
-	}
-	
-	/**
-	 * Ping the server until it is started. Then set the server
-	 * state to SERVER_STARTED.
-	 */
-	public void run() {
-		int count = 0;
-		try {
-			sleep(PING_DELAY);
-		} catch (Exception e) { }
-		while (!stop) {
-			try {
-				if (count == MAX_PINGS) {
-					serverType.stop();
-					stop = true;
-					break;
-				}
-				Trace.trace(Trace.FINEST, "Ping: pinging");
-				URL pingUrl = new URL(url);
-				URLConnection conn = pingUrl.openConnection();
-				((HttpURLConnection)conn).getResponseCode();
-				count++;
-	
-				// ping worked - server is up
-				if (!stop) {
-					Trace.trace(Trace.FINEST, "Ping: success");
-					Thread.sleep(200);
-					if (ILaunchManager.DEBUG_MODE.equals(mode))
-						control.setServerState(IServer.SERVER_STARTED_DEBUG);
-					else if (ILaunchManager.PROFILE_MODE.equals(mode))
-						control.setServerState(IServer.SERVER_STARTED_PROFILE);
-					else
-						control.setServerState(IServer.SERVER_STARTED);
-				}
-				stop = true;
-			} catch (FileNotFoundException fe) {
-				try { Thread.sleep(200); } catch (Exception e) { }
-				if (ILaunchManager.DEBUG_MODE.equals(mode))
-					control.setServerState(IServer.SERVER_STARTED_DEBUG);
-				else if (ILaunchManager.PROFILE_MODE.equals(mode))
-					control.setServerState(IServer.SERVER_STARTED_PROFILE);
-				else
-					control.setServerState(IServer.SERVER_STARTED);
-				stop = true;
-			} catch (Exception e) {
-				Trace.trace(Trace.FINEST, "Ping: failed");
-				// pinging failed
-				if (!stop) {
-					try {
-						sleep(PING_INTERVAL);
-					} catch (InterruptedException e2) { }
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Tell the pinging to stop.
-	 */
-	public void stopPinging() {
-		//Trace.trace("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/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 2da373b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java
+++ /dev/null
@@ -1,452 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.WebModule;
-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.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.ContextManager;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Parameter;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Server;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.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 comment.
-	 */
-	public Tomcat32Configuration() {
-		super();
-	}
-	
-	/**
-	 * Return the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "";
-	}
-	
-	/**
-	 * Returns the main server port.
-	 * @return TomcatServerPort
-	 */
-	public IServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort port = (IServerPort) 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 = "unknown";
-				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("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("Error getting project refs", e);
-		}
-	
-		return list;
-	}
-	
-	/**
-	 * Load a Tomcat configuration from the given directory.
-	 * @param dir
-	 * @return org.eclipse.jst.server.tomcat.internal.Tomcat32Configuration
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("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("Could not load Tomcat v3.2 configuration from " + path.toOSString() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-	
-	/**
-	 * Reload a Tomcat configuration from the given resource.
-	 *
-	 * @param resource
-	 * @return org.eclipse.jst.server.tomcat.core.Tomcat32Configuration
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), 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("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("Could not reload Tomcat v3.2 configuration from: " + folder.getFullPath() + ": " + e.getMessage());
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-	
-	/**
-	 * Save the information held by this object to the given directory.
-	 * @param dir
-	 * @param forceDirty if true, the files will be saved, regardless
-	 * of whether they have been modified
-	 * @param org.eclipse.core.runtime.IProgressMonitor monitor
-	 * @throws java.io.IOException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v3.2 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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 dir
-	 * @param forceDirty if true, the files will be saved, regardless
-	 * of whether they have been modified
-	 * @param org.eclipse.core.runtime.IProgressMonitor monitor
-	 * @throws java.io.IOException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v3.2 configuration to " + folder.getFullPath(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorCouldNotSaveConfiguration", new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32ConfigurationWorkingCopy.java
deleted file mode 100644
index 823ff60..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.ContextManager;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Parameter;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v3.2 server configuration.
- */
-public class Tomcat32ConfigurationWorkingCopy extends Tomcat32Configuration implements ITomcatConfigurationWorkingCopy {
-	protected IServerConfigurationWorkingCopy wc;
-
-	/**
-	 * Tomcat32Configuration constructor comment.
-	 */
-	public Tomcat32ConfigurationWorkingCopy() {
-		super();
-	}
-	
-	public void initialize(IServerConfigurationWorkingCopy wc2) {
-		this.wc = wc2;
-	}
-	
-	public void setDefaults() { }
-	
-	public void handleSave(byte id, IProgressMonitor monitor) { }
-	
-	/**
-	 * Adds a mime mapping.
-	 * @param map MimeMapping
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * Add a web module.
-	 * @param module org.eclipse.jst.server.tomcat.WebModule
-	 */
-	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("Error adding web module", e);
-		}
-	}
-	
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param file java.io.File
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer serverType, IRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-	
-			Tomcat32Configuration config = new Tomcat32Configuration();
-			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().getWorkingCopy();
-				((Tomcat32ConfigurationWorkingCopy) scwc.getDelegate()).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("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 int
-	 * @param newExtension java.lang.String
-	 */
-	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("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("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("Error removing web module " + index, e);
-		}
-	}
-	
-	public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-	}
-
-	public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		load(runtime.getLocation().append("conf"), 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/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 a2d63f8..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.j2ee.IWebModule;
-/**
- * 
- */
-public class Tomcat32Handler implements ITomcatVersionHandler {
-	public boolean verifyInstallPath(IPath installPath) {
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_32);
-	}
-	
-	/**
-	 * Return the runtime class name.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.tomcat.startup.Tomcat";
-	}
-
-	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;
-	}
-
-	/**
-	 * Return the program's runtime arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		if (configPath != null) {
-			list.add("-f");
-			list.add("\"" + configPath.append("conf").append("server.xml").toOSString() + "\"");
-		}
-		
-		if (!starting)
-			list.add("-stop");
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	/**
-	 * Return the runtime (VM) arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
-		List list = new ArrayList();
-		list.add("-Dtomcat.home=\"" + installPath.toOSString() + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			IPath dir = configPath;
-			dir = dir.append("conf").append("tomcat.policy");
-			list.add("-Djava.security.manager");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	public IStatus canAddModule(IWebModule module) {
-		if ("1.2".equals(module.getJ2EESpecificationVersion()))
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%canAddModule"), null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorSpec32"), 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/Tomcat32RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32RuntimeTargetHandler.java
deleted file mode 100644
index 8559ee0..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32RuntimeTargetHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class Tomcat32RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
-	public String getId() {
-		return "org.eclipse.jst.server.tomcat.runtimeTarget.v32";
-	}
-
-	public String getLabel() {
-		return TomcatPlugin.getResource("%target32runtime");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
-		IPath installPath = runtime.getLocation();
-					
-		if (installPath == null)
-			return new IClasspathEntry[0];
-		
-		IPath path = installPath.append("lib");
-		List list = new ArrayList();
-		addLibraryEntries(list, path.toFile(), true);
-		
-		return resolveList(list);
-	}
-}
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 2072415..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java
+++ /dev/null
@@ -1,443 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-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.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-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.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.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 comment.
-	 */
-	public Tomcat40Configuration() {
-		super();
-	}
-		
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public IServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort port = (IServerPort) 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", "Server port", port, "TCPIP"));
-		} catch (Exception e) { }
-	
-		// 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 = "unknown port";
-					String protocol = "TCPIP";
-					boolean advanced = true;
-					String[] contentTypes = null;
-					int port = -1;
-					try {
-						port = Integer.parseInt(connector.getPort());
-					} catch (Exception e) { }
-					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) { }
-						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("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("Error getting modules", e);
-		}
-		return list;
-	}
-	
-	/**
-	 * @param java.lang.String
-	 * @return org.eclipse.jst.server.tomcat.internal.Tomcat40Configuration
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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()));
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V40))
-				throw new CoreException(null);
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-
-	/**
-	 * Reload the configuration.
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), 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);
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V40))
-				throw new Exception("Not a Tomcat v4.0 configuration");
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-	
-	/**
-	 * Save to the given directory.
-	 * @param dir java.io.File
-	 * @param forceDirty boolean
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @exception java.io.IOException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v4.0 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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 dir
-	 * @param org.eclipse.core.runtime.IProgressMonitor monitor
-	 * @throws java.io.IOException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v4.0 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorCouldNotSaveConfiguration", new String[] {e.getLocalizedMessage()}), e));
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40ConfigurationWorkingCopy.java
deleted file mode 100644
index 999948a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,253 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v4.0 server configuration.
- */
-public class Tomcat40ConfigurationWorkingCopy extends Tomcat40Configuration implements ITomcatConfigurationWorkingCopy {
-	protected IServerConfigurationWorkingCopy wc;
-
-	/**
-	 * Tomcat40Configuration constructor comment.
-	 */
-	public Tomcat40ConfigurationWorkingCopy() {
-		super();
-	}
-	
-	public void initialize(IServerConfigurationWorkingCopy wc2) {
-		this.wc = wc2;
-	}
-	
-	public void setDefaults() { }
-	
-	public void handleSave(byte id, IProgressMonitor monitor) { }
-	
-	/**
-	 * Adds a mime mapping.
-	 * @param extension java.lang.String
-	 * @param mimeType java.lang.String
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * Add a web module.
-	 * @param module org.eclipse.jst.server.tomcat.WebModule
-	 */
-	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("Error adding web module " + module.getPath(), e);
-		}
-	}
-	
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param file java.io.File
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-			
-			Tomcat40Configuration config = new Tomcat40Configuration();
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
-				((Tomcat40ConfigurationWorkingCopy) scwc.getDelegate()).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("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 int
-	 * @param newExtension java.lang.String
-	 */
-	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("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("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("Error removing module ref " + index, e);
-		}
-	}
-	
-	public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-	}
-
-	public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		load(runtime.getLocation().append("conf"), monitor);
-	}
-}
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 b69a5b4..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.j2ee.IWebModule;
-/**
- * 
- */
-public class Tomcat40Handler implements ITomcatVersionHandler {
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-		String s = installPath.lastSegment();
-		if (s != null && s.startsWith("jakarta-tomcat-") && !s.startsWith("jakarta-tomcat-4.0"))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_40);
-	}
-	
-	/**
-	 * Return the runtime class name.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.catalina.startup.Bootstrap";
-	}
-	
-	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;
-	}
-
-	/**
-	 * Return the program's runtime arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		if (configPath != null) {
-			list.add("-config");
-			list.add("\"" + configPath.append("conf").append("server.xml").toOSString() + "\"");
-		}
-		
-		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;
-	}
-
-	/**
-	 * Return the runtime (VM) arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
-		List list = new ArrayList();
-		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			IPath dir = configPath.append("conf").append("catalina.policy");
-			list.add("-Djava.security.manager");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	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, TomcatPlugin.getResource("%canAddModule"), null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorSpec40"), 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/Tomcat40RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40RuntimeTargetHandler.java
deleted file mode 100644
index 5adf0e6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40RuntimeTargetHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class Tomcat40RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
-	public String getId() {
-		return "org.eclipse.jst.server.tomcat.runtimeTarget.v40";
-	}
-
-	public String getLabel() {
-		return TomcatPlugin.getResource("%target40runtime");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
-		IPath installPath = runtime.getLocation();
-		
-		if (installPath == null)
-			return new IClasspathEntry[0];
-		
-		IPath path = installPath.append("common");
-		List list = new ArrayList();
-		addLibraryEntries(list, path.append("lib").toFile(), true);
-		addLibraryEntries(list, path.append("endorsed").toFile(), true);
-		//addLibraryEntry(list, path.append("classes").toFile()); // no longer supported by eclipse
-		return resolveList(list);
-	}
-}
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 5d26f99..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java
+++ /dev/null
@@ -1,461 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-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.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-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.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Listener;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.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 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 comment.
-	 */
-	public Tomcat41Configuration() {
-		super();
-	}
-	
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public IServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort port = (IServerPort) 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", "Server port", port, "TCPIP"));
-		} catch (Exception e) { }
-	
-		// 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) { }
-					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) { }
-						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("Error getting project refs", e);
-		}
-		return list;
-	}
-	
-	/**
-	 *
-	 * @return org.eclipse.jst.server.tomcat.internal.Tomcat40Configuration
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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()));
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V41))
-				throw new CoreException(null);
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-
-	/**
-	 * Reload the configuration.
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), 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);
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V41))
-				throw new Exception("Not a Tomcat v4.1 configuration");
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-
-	/**
-	 * Save to the given directory.
-	 * @param dir java.io.File
-	 * @param forceDirty boolean
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @exception java.io.IOException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v4.1 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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 dir
-	 * @param org.eclipse.core.runtime.IProgressMonitor monitor
-	 * @throws java.io.IOException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v4.1 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41ConfigurationWorkingCopy.java
deleted file mode 100644
index 0c1abd6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v4.1 server configuration.
- */
-public class Tomcat41ConfigurationWorkingCopy extends Tomcat41Configuration implements ITomcatConfigurationWorkingCopy {
-	protected IServerConfigurationWorkingCopy wc;
-
-	/**
-	 * Tomcat41Configuration constructor comment.
-	 */
-	public Tomcat41ConfigurationWorkingCopy() {
-		super();
-	}
-	
-	public void initialize(IServerConfigurationWorkingCopy wc2) {
-		this.wc = wc2;
-	}
-	
-	public void setDefaults() { }
-	
-	public void handleSave(byte id, IProgressMonitor monitor) { }
-	
-	/**
-	 * Adds a mime mapping.
-	 * @param extension java.lang.String
-	 * @param mimeType java.lang.String
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * Add a web module.
-	 * @param module org.eclipse.jst.server.tomcat.WebModule
-	 */
-	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("Error adding web module " + module.getPath(), e);
-		}
-	}
-
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param file java.io.File
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-			
-			Tomcat41Configuration config = new Tomcat41Configuration();
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
-				((Tomcat41ConfigurationWorkingCopy) scwc.getDelegate()).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("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 int
-	 * @param newExtension java.lang.String
-	 */
-	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("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("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("Error removing module ref " + index, e);
-		}
-	}
-	
-	public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-	}
-
-	public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		load(runtime.getLocation().append("conf"), monitor);
-	}
-}
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 6efc9bf..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.j2ee.IWebModule;
-/**
- * 
- */
-public class Tomcat41Handler implements ITomcatVersionHandler {
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-		String s = installPath.lastSegment();
-		if (s != null && s.startsWith("jakarta-tomcat-") && !s.startsWith("jakarta-tomcat-4.1"))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_41);
-	}
-	
-	/**
-	 * Return the runtime class name.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.catalina.startup.Bootstrap";
-	}
-	
-	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;
-	}
-
-	/**
-	 * Return the program's runtime arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		if (configPath != null) {
-			list.add("-config");
-			list.add("\"" + configPath.append("conf").append("server.xml").toOSString() + "\"");
-		}
-		
-		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;
-	}
-
-	/**
-	 * Return the runtime (VM) arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
-		List list = new ArrayList();
-		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			IPath dir = configPath.append("conf").append("catalina.policy");
-			list.add("-Djava.security.manager");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	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, TomcatPlugin.getResource("%canAddModule"), null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorSpec41"), 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/Tomcat41RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41RuntimeTargetHandler.java
deleted file mode 100644
index d96cb51..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41RuntimeTargetHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class Tomcat41RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
-	public String getId() {
-		return "org.eclipse.jst.server.tomcat.runtimeTarget.v41";
-	}
-
-	public String getLabel() {
-		return TomcatPlugin.getResource("%target41runtime");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
-		IPath installPath = runtime.getLocation();
-		
-		if (installPath == null)
-			return new IClasspathEntry[0];
-		
-		IPath path = installPath.append("common");
-		List list = new ArrayList();
-		addLibraryEntries(list, path.append("lib").toFile(), true);
-		addLibraryEntries(list, path.append("endorsed").toFile(), true);
-		//addLibraryEntry(list, path.append("classes").toFile()); // no longer supported by eclipse
-		return resolveList(list);
-	}
-}
\ 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 0f0103b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java
+++ /dev/null
@@ -1,433 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.WebModule;
-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.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.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 comment.
-	 */
-	public Tomcat50Configuration() {
-		super();
-	}
-	
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public IServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort port = (IServerPort) 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", "Server port", port, "TCPIP"));
-		} catch (Exception e) { }
-	
-		// 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) { }
-					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("Error getting project refs", e);
-		}
-		return list;
-	}
-	
-	/**
-	 *
-	 * @return org.eclipse.jst.server.tomcat.internal.Tomcat40Configuration
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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()));
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V50))
-				throw new CoreException(null);
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-
-	/**
-	 * Reload the configuration.
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), 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);
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V41))
-				throw new Exception("Not a Tomcat v5.0 configuration");
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-
-	/**
-	 * Save to the given directory.
-	 * @param dir java.io.File
-	 * @param forceDirty boolean
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @exception java.io.IOException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v5.0 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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 dir
-	 * @param org.eclipse.core.runtime.IProgressMonitor monitor
-	 * @throws java.io.IOException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v5.0 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50ConfigurationWorkingCopy.java
deleted file mode 100644
index cc50521..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v4.1 server configuration.
- */
-public class Tomcat50ConfigurationWorkingCopy extends Tomcat50Configuration implements ITomcatConfigurationWorkingCopy {
-	protected IServerConfigurationWorkingCopy wc;
-
-	/**
-	 * Tomcat50Configuration constructor comment.
-	 */
-	public Tomcat50ConfigurationWorkingCopy() {
-		super();
-	}
-	
-	public void initialize(IServerConfigurationWorkingCopy wc2) {
-		this.wc = wc2;
-	}
-	
-	public void setDefaults() { }
-	
-	public void handleSave(byte id, IProgressMonitor monitor) { }
-	
-	/**
-	 * Adds a mime mapping.
-	 * @param extension java.lang.String
-	 * @param mimeType java.lang.String
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * Add a web module.
-	 * @param module org.eclipse.jst.server.tomcat.WebModule
-	 */
-	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("Error adding web module " + module.getPath(), e);
-		}
-	}
-
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param file java.io.File
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-			
-			Tomcat50Configuration config = new Tomcat50Configuration();
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
-				((Tomcat50ConfigurationWorkingCopy) scwc.getDelegate()).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("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 int
-	 * @param newExtension java.lang.String
-	 */
-	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("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("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("Error removing module ref " + index, e);
-		}
-	}
-	
-	public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-	}
-
-	public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		load(runtime.getLocation().append("conf"), monitor);
-	}
-}
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 9371e9a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.j2ee.IWebModule;
-/**
- * 
- */
-public class Tomcat50Handler implements ITomcatVersionHandler {
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-		String s = installPath.lastSegment();
-		if (s != null && s.startsWith("jakarta-tomcat-") && !s.startsWith("jakarta-tomcat-5.0"))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_50);
-	}
-	
-	/**
-	 * Return the runtime class name.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getRuntimeClass() {
-		return "org.apache.catalina.startup.Bootstrap";
-	}
-	
-	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;
-	}
-
-	/**
-	 * Return the program's runtime arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
-		List list = new ArrayList();
-		if (configPath != null) {
-			list.add("-config");
-			list.add("\"" + configPath.append("conf").append("server.xml").toOSString() + "\"");
-		}
-		
-		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;
-	}
-
-	/**
-	 * Return the runtime (VM) arguments.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
-		List list = new ArrayList();
-		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
-		
-		// run in secure mode
-		if (isSecure) {
-			IPath dir = configPath.append("conf").append("catalina.policy");
-			list.add("-Djava.security.manager");
-			list.add("-Djava.security.policy=\"" + dir.toOSString() + "\"");
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-	
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	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, TomcatPlugin.getResource("%canAddModule"), null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorSpec50"), 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/Tomcat50RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50RuntimeTargetHandler.java
deleted file mode 100644
index c514873..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50RuntimeTargetHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class Tomcat50RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
-	public String getId() {
-		return "org.eclipse.jst.server.tomcat.runtimeTarget.v50";
-	}
-
-	public String getLabel() {
-		return TomcatPlugin.getResource("%target50runtime");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
-		IPath installPath = runtime.getLocation();
-		
-		if (installPath == null)
-			return new IClasspathEntry[0];
-		
-		IPath path = installPath.append("common");
-		List list = new ArrayList();
-		addLibraryEntries(list, path.append("lib").toFile(), true);
-		addLibraryEntries(list, path.append("endorsed").toFile(), true);
-		// addLibraryEntry(list, path.append("classes").toFile()); // no longer supported by eclipse
-		return resolveList(list);
-	}
-}
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 2c3d2c0..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java
+++ /dev/null
@@ -1,449 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-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.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-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.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Listener;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.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 comment.
-	 */
-	public Tomcat55Configuration() {
-		super();
-	}
-	
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String getDocBaseRoot() {
-		return "webapps/";
-	}
-
-	/**
-	 * Return the port number.
-	 * @return int
-	 */
-	public IServerPort getMainPort() {
-		Iterator iterator = getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort port = (IServerPort) 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", "Server port", port, "TCPIP"));
-		} catch (Exception e) { }
-	
-		// 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) { }
-					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("Error getting project refs", e);
-		}
-		return list;
-	}
-	
-	/**
-	 *
-	 * @return org.eclipse.jst.server.tomcat.internal.Tomcat40Configuration
-	 */
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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()));
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V55))
-				throw new CoreException(null);
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-
-	/**
-	 * Reload the configuration.
-	 */
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), 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);
-			if (!TomcatConfigurationUtil.verifyConfiguration(this, TomcatConfigurationUtil.CONFIGURATION_V41))
-				throw new Exception("Not a Tomcat v5.5 configuration");
-			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, TomcatPlugin.getResource("%errorCouldNotLoadConfiguration"), e));
-		}
-	}
-
-	/**
-	 * Save to the given directory.
-	 * @param dir java.io.File
-	 * @param forceDirty boolean
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @exception java.io.IOException
-	 */
-	protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v5.5 configuration to " + path, e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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 dir
-	 * @param org.eclipse.core.runtime.IProgressMonitor monitor
-	 * @throws java.io.IOException
-	 */
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%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("Could not save Tomcat v5.5 configuration to " + folder.toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55ConfigurationWorkingCopy.java
deleted file mode 100644
index df1c811..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v5.5 server configuration.
- */
-public class Tomcat55ConfigurationWorkingCopy extends Tomcat55Configuration implements ITomcatConfigurationWorkingCopy {
-	protected IServerConfigurationWorkingCopy wc;
-
-	/**
-	 * Tomcat55Configuration constructor comment.
-	 */
-	public Tomcat55ConfigurationWorkingCopy() {
-		super();
-	}
-	
-	public void initialize(IServerConfigurationWorkingCopy wc2) {
-		this.wc = wc2;
-	}
-	
-	public void setDefaults() { }
-	
-	public void handleSave(byte id, IProgressMonitor monitor) { }
-	
-	/**
-	 * Adds a mime mapping.
-	 * @param extension java.lang.String
-	 * @param mimeType java.lang.String
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		webAppDocument.addMimeMapping(index, map);
-		firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
-	}
-
-	/**
-	 * Add a web module.
-	 * @param module org.eclipse.jst.server.tomcat.WebModule
-	 */
-	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("Error adding web module " + module.getPath(), e);
-		}
-	}
-
-	/**
-	 * Localize the web projects in this configuration.
-	 *
-	 * @param file java.io.File
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-			
-			Tomcat55Configuration config = new Tomcat55Configuration();
-			config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-	
-			if (monitor.isCanceled())
-				return;
-	
-			if (!server2.isTestEnvironment()) {
-				IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
-				((Tomcat55ConfigurationWorkingCopy) scwc.getDelegate()).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("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 int
-	 * @param newExtension java.lang.String
-	 */
-	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("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("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("Error removing module ref " + index, e);
-		}
-	}
-	
-	public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-	}
-
-	public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		load(runtime.getLocation().append("conf"), monitor);
-	}
-}
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 891f976..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.j2ee.IWebModule;
-/**
- * 
- */
-public class Tomcat55Handler extends Tomcat50Handler {
-	public boolean verifyInstallPath(IPath installPath) {
-		if (installPath == null)
-			return false;
-
-		String s = installPath.lastSegment();
-		if (s != null && s.startsWith("jakarta-tomcat-") && !s.startsWith("jakarta-tomcat-5.5"))
-			return false;
-		return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_55);
-	}
-	
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	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, TomcatPlugin.getResource("%canAddModule"), null);
-		
-		return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorSpec55"), null);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55RuntimeTargetHandler.java
deleted file mode 100644
index cae2d19..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55RuntimeTargetHandler.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * 
- */
-public class Tomcat55RuntimeTargetHandler extends Tomcat50RuntimeTargetHandler {
-	public String getId() {
-		return "org.eclipse.jst.server.tomcat.runtimeTarget.v55";
-	}
-
-	public String getLabel() {
-		return TomcatPlugin.getResource("%target55runtime");
-	}
-}
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 4a18a1d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java
+++ /dev/null
@@ -1,250 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.File;
-import java.io.InputStream;
-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.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.FileUtil;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.ServerConfigurationDelegate;
-/**
- * Generic Tomcat server configuration.
- */
-public abstract class TomcatConfiguration extends ServerConfigurationDelegate implements ITomcatConfiguration {
-	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";
-
-	/**
-	 * TomcatConfiguration constructor comment.
-	 */
-	public TomcatConfiguration() {
-		super();
-	}
-
-	/**
-	 * Copies all files from the given directory in the workbench
-	 * to the given location.
-	 *
-	 * @param from java.io.File
-	 * @param to java.io.File
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	protected IStatus backupAndPublish(IPath confDir, boolean doBackup, IProgressMonitor monitor) {
-		MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%publishConfigurationTask"), null);
-		Trace.trace("Backup and publish");
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-	
-			IPath backup = null;
-			if (doBackup) {
-				// create backup directory
-				backup = confDir.append("backup");
-				if (!backup.toFile().exists())
-					backup.toFile().mkdir();
-			}
-			
-			confDir = confDir.append("conf");
-	
-			IFolder folder = configuration.getConfigurationDataFolder();
-			if (folder != null)
-				backupFolder(folder, confDir, backup, ms, monitor);
-			else {
-				IPath path = configuration.getConfigurationDataPath();
-				backupPath(path, confDir, backup, ms, monitor);
-			}
-			
-		} catch (Exception e) {
-			Trace.trace("backupAndPublish() error", e);
-			IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPublishConfiguration", new String[] {e.getLocalizedMessage()}), e);
-			ms.add(s);
-		}
-		monitor.done();
-		return ms;
-	}
-	
-	protected void backupFolder(IFolder folder, IPath confDir, IPath backup, MultiStatus ms, IProgressMonitor monitor) throws CoreException {
-		IResource[] children = folder.members();
-		if (children == null)
-			return;
-		
-		int size = children.length;
-		monitor.beginTask(TomcatPlugin.getResource("%publishConfigurationTask"), size * 100);
-		for (int i = 0; i < size; i++) {
-			if (children[i] instanceof IFile) {
-				try {
-					IFile file = (IFile) children[i];
-					String name = file.getName();
-					monitor.subTask(TomcatPlugin.getResource("%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("backupAndPublish() error", e);
-					ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%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(TomcatPlugin.getResource("%publishConfigurationTask"), size * 100);
-		for (int i = 0; i < size; i++) {
-			try {
-				File file = files[i];
-				String name = file.getName();
-				monitor.subTask(TomcatPlugin.getResource("%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("backupAndPublish() error", e);
-				ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPublishConfiguration", new String[] {e.getLocalizedMessage()}), e));
-			}
-			monitor.worked(100);
-		}
-	}
-
-	/**
-	 * Returns the root of the docbase parameter.
-	 *
-	 * @return java.lang.String
-	 */
-	protected abstract String getDocBaseRoot();
-
-	/**
-	 * Returns the main server port.
-	 * @return IServerPort
-	 */
-	public abstract IServerPort 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.
-	 *
-	 * @return java.lang.String
-	 * @param module IWebModule
-	 */
-	protected String getWebModuleURL(IWebModule webModule) {
-		WebModule module = getWebModule(webModule);
-		if (module != null)
-			return module.getPath();
-		
-		return webModule.getContextRoot();
-	}
-
-	/**
-	 * Returns the partial URL applicable to this project.
-	 *
-	 * @return java.lang.String
-	 * @param project org.eclipse.core.resources.IProject
-	 */
-	protected WebModule getWebModule(IWebModule webModule) {
-		if (webModule == null)
-			return null;
-	
-		String memento = webModule.getFactoryId() + ":" + webModule.getId();
-	
-		List modules = getWebModules();
-		int size = modules.size();
-		for (int i = 0; i < size; i++) {
-			WebModule module = (WebModule) modules.get(i);
-			if (memento.equals(module.getMemento())) {
-				return module;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return the docBase of the ROOT web module.
-	 *
-	 * @return java.lang.String
-	 */
-	protected abstract String getROOTModuleDocBase();
-
-	/**
-	 * Save to the given directory.
-	 * @param f java.io.File
-	 * @param forceSave boolean
-	 * @exception java.io.IOException
-	 */
-	protected abstract void save(IPath path, boolean forceSave, IProgressMonitor monitor) throws CoreException;
-	
-	protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		configuration.getWorkingCopy().firePropertyChangeEvent(propertyName, oldValue, newValue);
-	}
-
-	/**
-	 * 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/TomcatConfigurationUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfigurationUtil.java
deleted file mode 100644
index d0b81dd..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfigurationUtil.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.tomcat.core.internal;
-
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server;
-/**
- * 
- */
-public class TomcatConfigurationUtil {
-	public static final int CONFIGURATION_V32 = 0;
-	public static final int CONFIGURATION_V40 = 20;
-	public static final int CONFIGURATION_V41 = 40;
-	public static final int CONFIGURATION_V50 = 60;
-	public static final int CONFIGURATION_V55 = 80;
-
-	/**
-	 * 
-	 */
-	protected static boolean verifyConfiguration(TomcatConfiguration config, int version) {
-		if (version == CONFIGURATION_V32) {
-			return config instanceof Tomcat32Configuration;
-		}
-		Server server = null;
-		if (config instanceof Tomcat40Configuration) {
-			server = ((Tomcat40Configuration)config).server;
-		} else if (config instanceof Tomcat41Configuration) {
-			server = ((Tomcat41Configuration)config).server;
-		} else if (config instanceof Tomcat50Configuration) {
-			server = ((Tomcat50Configuration)config).server;
-		} else if (config instanceof Tomcat55Configuration) {
-			server = ((Tomcat55Configuration)config).server;
-		}
-
-		/*if (Tomcat50Configuration.verifyConfiguration(server))
-				return (version == CONFIGURATION_V50);
-*/
-		if (Tomcat41Configuration.hasMDBListener(server))
-			return (version == CONFIGURATION_V41
-					|| version == CONFIGURATION_V50
-					|| version == CONFIGURATION_V55);
-
-		if (version == CONFIGURATION_V40)
-			return true;
-
-		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/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 aa25486..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.ExecutionArguments;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-/**
- * 
- */
-public class TomcatLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		String serverId = configuration.getAttribute(IServer.ATTR_SERVER_ID, (String) null);
-
-		IServer server = ServerCore.getResourceManager().getServer(serverId);
-		if (server == null) {
-			Trace.trace(Trace.FINEST, "Launch configuration could not find server");
-			// throw CoreException();
-			return;
-		}
-
-		TomcatServer tomcatServer = (TomcatServer) server.getDelegate();
-		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 3407b18..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.net.URL;
-
-import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.jst.server.j2ee.Servlet;
-import org.eclipse.jst.server.j2ee.WebResource;
-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.NullLaunchable;
-import org.eclipse.wst.server.core.util.NullModuleObject;
-/**
- * Launchable adapter delegate for Web resources in Tomcat.
- */
-public class TomcatLaunchableAdapterDelegate implements ILaunchableAdapterDelegate {
-	/*
-	 * @see ILaunchableAdapterDelegate#getLaunchable(IServer, IModuleObject)
-	 */
-	public ILaunchable getLaunchable(IServer server, IModuleObject moduleObject) {
-		Trace.trace("TomcatLaunchableAdapter " + server + "-" + moduleObject);
-		IServerDelegate delegate = server.getDelegate();
-		if (!(delegate instanceof TomcatServer))
-			return null;
-		if (!(moduleObject instanceof Servlet) &&
-			!(moduleObject instanceof WebResource) &&
-			!(moduleObject instanceof NullModuleObject))
-			return null;
-		if (!(moduleObject.getModule() instanceof IWebModule))
-			return null;
-
-		try {
-			URL url = ((IURLProvider) delegate).getModuleRootURL(moduleObject.getModule());
-			
-			Trace.trace("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("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);
-			} else { // null
-				return new NullLaunchable();
-			}
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			Trace.trace("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 7f179b6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java
+++ /dev/null
@@ -1,285 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.File;
-import java.net.URL;
-import java.text.MessageFormat;
-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;
-/**
- * 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
-	 * @return
-	 */
-	public static String getPreference(String id) {
-		return getInstance().getPluginPreferences().getString(id);
-	}
-	
-	/**
-	 * Set the install location preference.
-	 * 
-	 * @param id
-	 * @return
-	 */
-	public static void setPreference(String id, String value) {
-		getInstance().getPluginPreferences().setValue(id, value);
-		getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 */
-	public static String getResource(String key) {
-		try {
-			return Platform.getResourceString(getInstance().getBundle(), key);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-	
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given object.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 * @param obj java.lang.Object[]
-	 */
-	public static String getResource(String key, Object[] obj) {
-		try {
-			return MessageFormat.format(getResource(key), obj);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-		
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given object.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 * @param obj java.lang.Object[]
-	 */
-	public static String getResource(String key, String arg) {
-		return getResource(key, new String[] { arg });
-	}
-	
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given object.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 * @param obj java.lang.Object[]
-	 */
-	public static String getResource(String key, String arg1, String arg2) {
-		return getResource(key, new String[] { arg1, arg2 });
-	}
-	
-	/**
-	 * Returns the Tomcat home directory.
-	 * @return java.lang.String
-	 */
-	protected static String getTomcatStateLocation() {
-		try {
-			return getInstance().getStateLocation().toOSString();
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	public static ITomcatVersionHandler getTomcatVersionHandler(String id) {
-		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;
-	}
-	
-	/**
-	 * Returns the file with which to verify the Tomcat installation.
-	 *
-	 * @param boolean
-	 * @return java.lang.String[]
-	 */
-	public static void loadVerifyFiles() {
-		if (verify32 != null)
-			return;
-	
-		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);
-			verify32 = new String[0];
-			verify40 = new String[0];
-			verify41 = new String[0];
-			verify50 = new String[0];
-			verify55 = new String[0];
-		}
-	}
-
-	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;
-	}
-}
\ 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 2f18b9c..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.tomcat.core.ITomcatRuntime;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * 
- */
-public class TomcatRuntime implements ITomcatRuntime {
-	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 IRuntime runtime;
-
-	public TomcatRuntime() { }
-
-	public void initialize(IRuntime newRuntime) {
-		this.runtime = newRuntime;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IRuntime#getLocation()
-	 */
-	public ITomcatVersionHandler getVersionHandler() {
-		IRuntimeType type = runtime.getRuntimeType();
-		return TomcatPlugin.getTomcatVersionHandler(type.getId());
-	}
-
-	public String getVMInstallTypeId() {
-		return runtime.getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-
-	public String getVMInstallId() {
-		return runtime.getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-
-	public IVMInstall getVMInstall() {
-		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) { }
-		return null;
-	}
-
-	public List getRuntimeClasspath() {
-		return getVersionHandler().getRuntimeClasspath(runtime.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(runtime.getLocation());
-	}
-	
-	public IStatus validate() {
-		if (runtime.getName() == null || runtime.getName().length() == 0)
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorRuntimeName"), null);
-
-		if (runtime.isWorkingCopy() && ServerUtil.isNameInUse(runtime))
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorDuplicateRuntimeName"), null);
-	
-		IPath path = runtime.getLocation();
-		if (path == null || path.isEmpty())
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, "", null);
-		else if (!verifyLocation())
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorInstallDir"), null);
-		else if (getVMInstall() == null) {
-			return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorJRE"), null);
-		} else
-			return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "", null);
-	}
-	
-	public void dispose() { }
-}
\ 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 8a3d9f5..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.File;
-import java.io.FileFilter;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
-
-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.IRuntimeLocatorDelegate;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorListener;
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
-/**
- * 
- */
-public class TomcatRuntimeLocator implements IRuntimeLocatorDelegate {
-	protected static final String[] runtimeTypes = new String[] {
-		"org.eclipse.jst.server.tomcat.32.runtime",
-		"org.eclipse.jst.server.tomcat.40.runtime",
-		"org.eclipse.jst.server.tomcat.41.runtime",
-		"org.eclipse.jst.server.tomcat.50.runtime",
-		"org.eclipse.jst.server.tomcat.55.runtime"};
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IRuntimeFactoryDelegate#getKnownRuntimes()
-	 */
-	public void searchForRuntimes(IRuntimeLocatorListener listener, IProgressMonitor monitor) {
-		File[] 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 void searchDir(IRuntimeLocatorListener listener, File dir, int depth, IProgressMonitor monitor) {
-		if ("conf".equals(dir.getName())) {
-			IRuntimeWorkingCopy runtime = getRuntimeFromDir(dir.getParentFile());
-			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 IRuntimeWorkingCopy getRuntimeFromDir(File dir) {
-		for (int i = 0; i < runtimeTypes.length; i++) {
-			try {
-				IRuntimeType runtimeType = ServerCore.getRuntimeType(runtimeTypes[i]);
-				IRuntimeWorkingCopy runtime = runtimeType.createRuntime(dir.getAbsolutePath());
-				runtime.setName(dir.getName());
-				runtime.setLocation(new Path(dir.getAbsolutePath()));
-				IRuntimeWorkingCopyDelegate delegate = runtime.getWorkingCopyDelegate();
-				ITomcatRuntimeWorkingCopy wc = (ITomcatRuntimeWorkingCopy) delegate;
-				IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-				wc.setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-				IStatus status = wc.validate();
-				if (status == null || status.isOK())
-					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 90b9d93..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.jst.server.tomcat.core.ITomcatRuntime;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public abstract class TomcatRuntimeTargetHandler extends ClasspathRuntimeTargetHandler {
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime) {
-		ITomcatRuntime tomcatRuntime = (ITomcatRuntime) runtime.getDelegate();
-		IVMInstall vmInstall = tomcatRuntime.getVMInstall();
-		if (vmInstall != null) {
-			String name = vmInstall.getName();
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append("org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType").append(name)) };
-		}
-		return null;
-	}
-	
-	public String[] getClasspathEntryIds(IRuntime runtime) {
-		return new String[1];
-	}
-
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		return getLabel();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) {
-		return resolveClasspathContainer(runtime);
-	}
-
-	public abstract String getLabel();
-
-	public abstract IClasspathEntry[] resolveClasspathContainer(IRuntime runtime);
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeWorkingCopy.java
deleted file mode 100644
index 70616fd..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-/**
- * 
- */
-public class TomcatRuntimeWorkingCopy extends TomcatRuntime implements ITomcatRuntimeWorkingCopy {
-	protected IRuntimeWorkingCopy wc;
-	
-	public void initialize(IRuntimeWorkingCopy runtime2) {
-		wc = runtime2;
-	}
-
-	public void setDefaults() {
-		IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-		setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-		
-		IRuntimeType type = wc.getRuntimeType();
-		wc.setLocation(new Path(TomcatPlugin.getPreference("location" + type.getId())));
-	}
-
-	public void setVMInstall(String typeId, String id) {
-		if (typeId == null)
-			wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-		else
-			wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-		
-		if (id == null)
-			wc.setAttribute(PROP_VM_INSTALL_ID, (String)null);
-		else
-			wc.setAttribute(PROP_VM_INSTALL_ID, id);
-	}
-	
-	public void handleSave(byte id, IProgressMonitor 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/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 93b6f45..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
+++ /dev/null
@@ -1,661 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.tomcat.core.internal;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-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.j2ee.IWebModule;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.ITomcatRuntime;
-import org.eclipse.jst.server.tomcat.core.ITomcatServer;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.command.RemoveWebModuleTask;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetWebModulePathTask;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.resources.IModuleResourceDelta;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * Generic Tomcat server.
- */
-public class TomcatServer implements ITomcatServer, IStartableServer, IMonitorableServer {
-	private static final String ATTR_STOP = "stop-server";
-	
-	protected transient IPath tempDirectory;
-	
-	protected IServerState 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 TomcatServer() {
-		super();
-	}
-
-	public void initialize(IServerState server2) {
-		this.server = server2;
-	}
-	
-	public void dispose() { }
-
-	public TomcatRuntime getTomcatRuntime() {
-		if (server.getRuntime() == null)
-			return null;
-		
-		return (TomcatRuntime) server.getRuntime().getDelegate();
-	}
-	
-	public ITomcatVersionHandler getTomcatVersionHandler() {
-		if (server.getRuntime() == null)
-			return null;
-
-		TomcatRuntime runtime = (TomcatRuntime) server.getRuntime().getDelegate();
-		return runtime.getVersionHandler();
-	}
-	
-	public TomcatConfiguration getTomcatConfiguration() {
-		IServerConfiguration configuration = server.getServerConfiguration();
-		if (configuration == null)
-			return null;
-		
-		return (TomcatConfiguration) configuration.getDelegate();
-	}
-
-	/**
-	 * Returns the project publisher that can be used to
-	 * publish the given project.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return org.eclipse.wst.server.core.model.IProjectPublisher
-	 */
-	public IPublisher getPublisher(List parents, IModule module) {
-		if (isTestEnvironment())
-			return null;
-		
-		return new TomcatWebModulePublisher((IWebModule) module, server.getRuntime().getLocation());
-	}
-
-	/**
-	 * 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 || !(module instanceof IWebModule))
-				return null;
-	
-			IServerConfiguration serverConfig = server.getServerConfiguration();
-			if (serverConfig == null)
-				return null;
-	
-			TomcatConfiguration config = (TomcatConfiguration) serverConfig.getDelegate();
-			if (config == null)
-				return null;
-	
-			String url = "http://localhost";
-			int port = config.getMainPort().getPort();
-			port = ServerCore.getServerMonitorManager().getMonitoredPort(server, port, "web");
-			if (port != 80)
-				url += ":" + port;
-
-			IWebModule module2 = (IWebModule) module;
-			url += config.getWebModuleURL(module2);
-			
-			if (!url.endsWith("/"))
-				url += "/";
-
-			return new URL(url);
-		} catch (Exception e) {
-			Trace.trace("Could not get root URL", e);
-			return null;
-		}
-	}
-
-	/**
-	 * Return the runtime class name.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getRuntimeClass() {
-		return getTomcatVersionHandler().getRuntimeClass();
-	}
-
-	/**
-	 * Return the program's runtime arguments to start or stop.
-	 *
-	 * @param boolean starting
-	 * @return java.lang.String
-	 */
-	protected String[] getRuntimeProgramArguments(boolean starting) {
-		IPath configPath = null;
-		if (isTestEnvironment())
-			configPath = getTempDirectory();
-		return getTomcatVersionHandler().getRuntimeProgramArguments(configPath, isDebug(), starting);
-	}
-
-	/**
-	 * Return the runtime (VM) arguments.
-	 *
-	 * @return java.lang.String
-	 */
-	protected String[] getRuntimeVMArguments() {
-		IPath configPath = null;
-		if (isTestEnvironment())
-			configPath = getTempDirectory();
-		return getTomcatVersionHandler().getRuntimeVMArguments(server.getRuntime().getLocation(), configPath, isSecure());
-	}
-
-	/**
-	 * Obtain a temporary directory if this server doesn't
-	 * already have one. Otherwise, return the existing one.
-	 * @return java.io.File
-	 */
-	public IPath getTempDirectory() {
-		if (tempDirectory == null)
-			tempDirectory = server.getTempDirectory();
-		return tempDirectory;
-	}
-
-	/**
-	 * 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 server.getAttribute(PROPERTY_DEBUG, false);
-	}
-
-	/**
-	 * Returns true if this is a test (run code out of the workbench) server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isTestEnvironment() {
-		return server.getAttribute(PROPERTY_TEST_ENVIRONMENT, false);
-	}
-
-	/**
-	 * Returns true if the process is set to run in secure mode.
-	 *
-	 * @return boolean
-	 */
-	public boolean isSecure() {
-		return server.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();
-	}
-
-	public void setProcess(final IProcess newProcess) {
-		if (process != null)
-			return;
-
-		process = newProcess;
-		processListener = new IDebugEventSetListener() {
-			public void handleDebugEvents(DebugEvent[] events) {
-				if (events != null) {
-					int size = events.length;
-					for (int i = 0; i < size; i++) {
-						if (process.equals(events[i].getSource()) && events[i].getKind() == DebugEvent.TERMINATE) {
-							DebugPlugin.getDefault().removeDebugEventListener(this);
-							stopImpl();
-						}
-					}
-				}
-			}
-		};
-		DebugPlugin.getDefault().addDebugEventListener(processListener);
-	}
-
-	protected void stopImpl() {
-		if (ping != null) {
-			ping.stopPinging();
-			ping = null;
-		}
-		if (process != null) {
-			process = null;
-			DebugPlugin.getDefault().removeDebugEventListener(processListener);
-			processListener = null;
-		}
-		server.setServerState(IServer.SERVER_STOPPED);
-	}
-
-	/**
-	 * Methods called to notify that publishing is about to begin.
-	 * This allows the server to open a connection to the server
-	 * or get any global information ready.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public IStatus publishStart(IProgressMonitor monitor) {
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%publishingStarted"), null);
-	}
-	
-	public IStatus publishConfiguration(IProgressMonitor monitor) {
-		IPath confDir = null;
-		if (isTestEnvironment()) {
-			confDir = getTempDirectory();
-			File temp = confDir.append("conf").toFile();
-			if (!temp.exists())
-				temp.mkdirs();
-		} else
-			confDir = server.getRuntime().getLocation();
-		return getTomcatConfiguration().backupAndPublish(confDir, !isTestEnvironment(), monitor);
-	}
-
-	/**
-	 * Methods called to notify that publishing has finished.
-	 * The server can close any open connections to the server
-	 * and do any cleanup operations.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public IStatus publishStop(IProgressMonitor monitor) {
-		server.setConfigurationSyncState(IServer.SYNC_STATE_IN_SYNC);
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%publishingStopped"), null);
-	}
-
-	/**
-	 * Return true if the server should be terminated before the workbench
-	 * shutdown and false if not. If the server is not terminated when
-	 * workbench shutdown, then the server should get reconnected
-	 * in the server load when the workbench startsup.
-	 * 
-	 * @return boolean
-	 **/
-	public boolean isTerminateOnShutdown() {
-		return true;
-	}
-
-	/**
-	 * Setup for starting the server.
-	 * 
-	 * @param launch ILaunch
-	 * @param launchMode String
-	 * @param monitor IProgressMonitor
-	 */
-	public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-		if ("true".equals(launch.getLaunchConfiguration().getAttribute(ATTR_STOP, "false")))
-			return;
-		IStatus status = getTomcatRuntime().validate();
-		if (status != null && !status.isOK())
-			throw new CoreException(status);
-
-		//setRestartNeeded(false);
-		TomcatConfiguration configuration = getTomcatConfiguration();
-	
-		// check that ports are free
-		Iterator iterator = configuration.getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort sp = (IServerPort) iterator.next();
-			if (SocketUtil.isPortInUse(sp.getPort(), 5))
-				throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPortInUse", new String[] {sp.getPort() + "", sp.getName()}), null));
-		}
-		
-		server.setServerState(IServer.SERVER_STARTING);
-	
-		// ping server to check for startup
-		try {
-			String url = "http://localhost";
-			int port = configuration.getMainPort().getPort();
-			if (port != 80)
-				url += ":" + port;
-			ping = new PingThread(this, server, url, launchMode);
-			ping.start();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
-		}
-	}
-
-	/**
-	 * Cleanly shuts down and terminates the server.
-	 */
-	public void stop() {
-		byte state = server.getServerState();
-		if (state == IServer.SERVER_STOPPED)
-			return;
-		else if (state == IServer.SERVER_STARTING || state == IServer.SERVER_STOPPING) {
-			terminate();
-			return;
-		}
-
-		try {
-			Trace.trace(Trace.FINER, "Stopping Tomcat");
-			if (state != IServer.SERVER_STOPPED)
-				server.setServerState(IServer.SERVER_STOPPING);
-	
-			ILaunchConfiguration launchConfig = server.getLaunchConfiguration(true);
-			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.
-	 */
-	public void terminate() {
-		if (server.getServerState() == IServer.SERVER_STOPPED)
-			return;
-
-		try {
-			server.setServerState(IServer.SERVER_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 int getStartTimeout() {
-		return 45000;
-	}
-	
-	public int getStopTimeout() {
-		return 10000;
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "TomcatServer";
-	}
-
-	/**
-	 * Update the given configuration in the server.
-	 * (i.e. publish any changes to the server, and restart if necessary)
-	 * @param config org.eclipse.wst.server.core.model.IServerConfiguration
-	 */
-	public void updateConfiguration() {
-		Trace.trace(Trace.FINEST, "Configuration updated " + this);
-		//setConfigurationSyncState(SYNC_STATE_DIRTY);
-		//setRestartNeeded(true);
-	}
-
-	/**
-	 * Respond to updates within the project tree.
-	 */
-	public void updateModule(final IModule module, IModuleResourceDelta delta) { }
-
-	public void setLaunchDefaults(ILaunchConfigurationWorkingCopy workingCopy) {
-		ITomcatRuntime runtime = getTomcatRuntime();
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, runtime.getVMInstallTypeId());
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, runtime.getVMInstall().getName());
-		
-		String[] args = getRuntimeProgramArguments(true);
-		String args2 = renderCommandLine(args, " ");
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args2);
-
-		args = getRuntimeVMArguments();
-		args2 = renderCommandLine(args, " ");
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, args2);
-		
-		List cp = runtime.getRuntimeClasspath();
-		
-		// add tools.jar to the path
-		IVMInstall vmInstall = runtime.getVMInstall();
-		if (vmInstall != null) {
-			try {
-				cp.add(JavaRuntime.newRuntimeContainerClasspathEntry(new Path(JavaRuntime.JRE_CONTAINER).append("org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType").append(vmInstall.getName()), IRuntimeClasspathEntry.BOOTSTRAP_CLASSES));
-			} catch (Exception e) { }			
-			
-			IPath jrePath = new Path(vmInstall.getInstallLocation().getAbsolutePath());
-			if (jrePath != null) {
-				IPath toolsPath = jrePath.append("lib").append("tools.jar");
-				if (toolsPath.toFile().exists()) {
-					cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath));
-				}
-			}
-		}
-		
-		Iterator cpi = cp.iterator();
-		List list = new ArrayList();
-		while (cpi.hasNext()) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) cpi.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);
-	}
-
-	/**
-	 * Returns the child project(s) of this project. If this
-	 * project contains other projects, it should list those
-	 * projects. If not, it should return an empty list.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return java.util.List
-	 */
-	public List getChildModules(IModule project) {
-		return new ArrayList(0);
-	}
-
-	/**
-	 * Returns the parent project(s) of this project. When
-	 * determining if a given project can run on a server
-	 * configuration, this method will be used to find the
-	 * actual project that will be run on the server. For
-	 * instance, a Web project may return a list of Ear projects
-	 * that it is contained in if the server only supports Ear
-	 * projects.
-	 *
-	 * <p>If the given project will directly run on the server,
-	 * it should just be returned.</p>
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return java.util.List
-	 */
-	public List getParentModules(IModule module) throws CoreException {
-		if (module instanceof IWebModule) {
-			IWebModule webModule = (IWebModule) module;
-			IStatus status = canModifyModules(new IModule[] { module }, null);
-			if (status == null || !status.isOK())
-				throw new CoreException(status);
-			ArrayList l = new ArrayList();
-			l.add(webModule);
-			return l;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the project references for projects that are in
-	 * this configuration.
-	 *
-	 * @return java.lang.String[]
-	 */
-	public IModule[] getModules() {
-		List list = new ArrayList();
-		
-		ITomcatConfiguration config = getTomcatConfiguration();
-		if (config != null) {
-			List modules = config.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) {
-					int index = memento.indexOf(":");
-					if (index > 0) {
-						String factoryId = memento.substring(0, index);
-						String mem = memento.substring(index + 1);
-						IModule module2 = ServerUtil.getModule(factoryId, mem);
-						if (module2 != null)
-							list.add(module2);
-					}
-				}
-			}
-		}
-		
-		IModule[] s = new IModule[list.size()];
-		list.toArray(s);
-		
-		return s;
-	}
-	
-	public byte getModuleState(IModule module) {
-		return IServer.MODULE_STATE_STARTED;
-	}
-
-	/**
-	 * Returns true if the given project is supported by this
-	 * server, and false otherwise.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	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];
-				if (!(module instanceof IWebModule))
-					return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorWebModulesOnly"), null);
-				
-				IStatus status = getTomcatVersionHandler().canAddModule((IWebModule) module);
-				if (status != null && !status.isOK())
-					return status;
-			}
-		}
-		
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "%canModifyModules", null);
-	}
-
-	/**
-	 * Method called when changes to the modules or module factories
-	 * within this configuration occur. Return any necessary commands to repair
-	 * or modify the server configuration in response to these changes.
-	 * 
-	 * @param org.eclipse.wst.server.core.model.IModuleFactoryEvent[]
-	 * @param org.eclipse.wst.server.core.model.IModuleEvent[]
-	 * @return org.eclipse.wst.server.core.model.ITask[]
-	 */
-	public ITask[] getRepairCommands(IModuleFactoryEvent[] factoryEvent, IModuleEvent[] moduleEvent) {
-		List list = new ArrayList();
-		// check for Web modules being removed
-		if (factoryEvent != null) {
-			List modules = getTomcatConfiguration().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) {
-					boolean found = false;
-					int index = memento.indexOf(":");
-					String factoryId = memento.substring(0, index);
-					String mem = memento.substring(index + 1);
-					
-					int size2 = factoryEvent.length;
-					for (int j = 0; !found && j < size2; j++) {
-						IModule[] removed = factoryEvent[j].getRemovedModules();
-						if (removed != null) {
-							int size3 = removed.length;
-							for (int k = 0; !found && k < size3; k++) {
-								if (removed[k] != null && removed[k].getFactoryId().equals(factoryId) &&
-										removed[k].getId().equals(mem)) {
-									list.add(new RemoveWebModuleTask(i));
-									found = true;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		
-		// check for changing context roots
-		if (moduleEvent != null) {
-			int size2 = moduleEvent.length;
-			for (int j = 0; j < size2; j++) {
-				if (moduleEvent[j].getModule() instanceof IWebModule && moduleEvent[j].isChanged()) {
-					IWebModule webModule = (IWebModule) moduleEvent[j].getModule();
-					
-					String contextRoot = webModule.getContextRoot();
-					if (contextRoot != null && !contextRoot.startsWith("/"))
-						contextRoot = "/" + contextRoot;
-					
-					List modules = getTomcatConfiguration().getWebModules();
-					int size = modules.size();
-					boolean found = false;
-					for (int i = 0; !found && i < size; i++) {
-						WebModule module = (WebModule) modules.get(i);
-						
-						String memento = module.getMemento();
-						if (memento != null) {
-							int index = memento.indexOf(":");
-							String factoryId = memento.substring(0, index);
-							String mem = memento.substring(index + 1);
-							if (webModule.getFactoryId().equals(factoryId) && webModule.getId().equals(mem)) {
-								if (!module.getPath().equals(contextRoot)) {
-									list.add(new SetWebModulePathTask(i, contextRoot));
-									found = true;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		ITask[] commands = new ITask[list.size()];
-		list.toArray(commands);
-		return commands;
-	}
-
-	public List getServerPorts() {
-		if (server.getServerConfiguration() == null)
-			return new ArrayList();
-		return getTomcatConfiguration().getServerPorts();
-	}
-}
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 6f2388f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorListener;
-import org.eclipse.wst.server.core.model.IServerLocatorDelegate;
-import org.eclipse.wst.server.core.model.IServerLocatorListener;
-/**
- * 
- */
-public class TomcatServerLocator extends TomcatRuntimeLocator implements IServerLocatorDelegate {
-	/*protected static final String[] serverTypes = new String[] {
-		"org.eclipse.jst.server.tomcat.32",
-		"org.eclipse.jst.server.tomcat.40",
-		"org.eclipse.jst.server.tomcat.41",
-		"org.eclipse.jst.server.tomcat.50"};*/
-
-	public void searchForServers(final IServerLocatorListener listener, IProgressMonitor monitor) {
-		IRuntimeLocatorListener listener2 = new IRuntimeLocatorListener() {
-			public void runtimeFound(IRuntime runtime) {
-				String runtimeTypeId = runtime.getRuntimeType().getId();
-				String serverTypeId = runtimeTypeId.substring(0, runtimeTypeId.length() - 8);
-				IServerType serverType = ServerCore.getServerType(serverTypeId);
-				try {
-					IServer server = serverType.createServer(serverTypeId, null, runtime);
-					listener.serverFound(server);
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not create Tomcat server", e);
-				}
-			}
-		};
-		searchForRuntimes(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 5e0f98b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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/TomcatServerWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerWorkingCopy.java
deleted file mode 100644
index 6a2f595..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerWorkingCopy.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * 
- */
-public class TomcatServerWorkingCopy extends TomcatServer implements ITomcatServerWorkingCopy {
-	protected IServerWorkingCopy workingCopy;
-
-	public TomcatServerWorkingCopy() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IServerWorkingCopyDelegate#initializeWorkingCopy(org.eclipse.wst.server.core.IServerWorkingCopy)
-	 */
-	public void initialize(IServerWorkingCopy workingCopy2) {
-		this.workingCopy = workingCopy2;
-	}
-	
-	public void setDefaults() {
-		setTestEnvironment(true);
-	}
-	
-	/**
-	 * Sets this process to debug mode. This feature only works
-	 * with Tomcat v4.0.
-	 *
-	 * @param b boolean
-	 */
-	public void setDebug(boolean b) {
-		workingCopy.setAttribute(PROPERTY_DEBUG, b);
-	}
-
-	/**
-	 * Sets this process to secure mode.
-	 * @param b boolean
-	 */
-	public void setSecure(boolean b) {
-		workingCopy.setAttribute(PROPERTY_SECURE, b);
-	}
-	
-	/**
-	 * Sets this server to test environment mode.
-	 * 
-	 * @param b boolean
-	 */
-	public void setTestEnvironment(boolean b) {
-		workingCopy.setAttribute(PROPERTY_TEST_ENVIRONMENT, b);
-	}
-	
-	/**
-	 * Add the given project to this configuration. The project
-	 * has already been verified using isSupportedProject() and
-	 * does not already exist in the configuration.
-	 *
-	 * @param ref java.lang.String
-	 */
-	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);
-		
-		IServerConfigurationWorkingCopy scwc = server.getServerConfiguration().getWorkingCopy();
-		// TODO
-		ITomcatConfigurationWorkingCopy wc = (ITomcatConfigurationWorkingCopy) scwc.getWorkingCopyDelegate();
-		boolean change = false;
-
-		if (add != null) {
-			int size = add.length;
-			for (int i = 0; i < size; i++) {
-				IModule module3 = add[i];
-				IWebModule module = (IWebModule) module3;
-				String contextRoot = module.getContextRoot();
-				if (contextRoot != null && !contextRoot.startsWith("/"))
-					contextRoot = "/" + contextRoot;
-				WebModule module2 = new WebModule(contextRoot,
-						module.getLocation().toOSString(), module.getFactoryId() + ":" + module.getId(), true);
-				wc.addWebModule(-1, module2);
-				change = true;
-			}
-		}
-		
-		if (remove != null) {
-			int size2 = remove.length;
-			for (int j = 0; j < size2; j++) {
-				IModule module3 = remove[j];
-				String memento = module3.getFactoryId() + ":" + 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())) {
-						wc.removeWebModule(i);
-						change = true;
-					}
-				}
-			}
-		}
-		if (!change)
-			scwc.release();
-		else
-			scwc.save(new NullProgressMonitor());
-		server.setConfigurationSyncState(IServer.SYNC_STATE_DIRTY);
-	}
-	
-	public void handleSave(byte id, IProgressMonitor 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/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 a299b6e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,86 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *    IBM - 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.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.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.launching.JavaSourceLookupUtil;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IProjectModule;
-/**
- *
- */
-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);
-
-		String serverId = configuration.getAttribute(IServer.ATTR_SERVER_ID, (String) null);
-
-		IServer server = ServerCore.getResourceManager().getServer(serverId);
-		if (server != null) {
-			List list = new ArrayList();
-			List pathList = new ArrayList();
-			IModule[] modules = server.getModules();
-			for (int i = 0; i < modules.length; i++) {
-				if (modules[i] instanceof IProjectModule) {
-					IProjectModule dp = (IProjectModule) modules[i];
-					IProject project = dp.getProject();
-					try {
-						if (project.hasNature(JavaCore.NATURE_ID)) {
-							IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-							list.add(javaProject);
-						}
-					} catch (Exception e) { }
-					
-					IPath path = server.getRuntime().getLocation().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);
-		return JavaSourceLookupUtil.translate(resolved, 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/TomcatWebModulePublisher.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatWebModulePublisher.java
deleted file mode 100644
index 705f24f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatWebModulePublisher.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.File;
-import java.io.InputStream;
-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.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.j2ee.IWebModule;
-
-import org.eclipse.wst.server.core.model.IPublisher;
-import org.eclipse.wst.server.core.resources.IModuleFile;
-import org.eclipse.wst.server.core.resources.IModuleFolder;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-import org.eclipse.wst.server.core.resources.RemoteFolder;
-import org.eclipse.wst.server.core.resources.RemoteResource;
-import org.eclipse.wst.server.core.util.FileUtil;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * The Tomcat publisher for local (out of the workbench) resources.
- */
-public class TomcatWebModulePublisher implements IPublisher {
-	protected IWebModule module;
-	protected IPath installDir;
-
-	protected static final Status publishStatus = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Published successfully", null);
-	protected static final Status deleteStatus = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Deleted successfully", null);
-
-	/**
-	 * TomcatWebModulePublisher constructor comment.
-	 */
-	public TomcatWebModulePublisher(IWebModule module, IPath installDir) {
-		super();
-		this.module = module;
-		this.installDir = installDir;
-	}
-
-	/**
-	 * Delete the following files from the remote machine.
-	 *
-	 * @param file java.lang.String[]
-	 * @return org.eclipse.core.runtime.IStatus[]
-	 */
-	public IStatus[] delete(IRemoteResource[] resource, IProgressMonitor monitor) {
-		if (resource == null)
-			return null;
-
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(TomcatPlugin.getResource("%publishTask"), resource.length);
-
-		IPath root = getRemoteRoot().append(module.getContextRoot());
-
-		int size = resource.length;
-		IStatus[] status = new Status[size];
-		for (int i = 0; i < size; i++) {
-			if (monitor.isCanceled())
-				return status;
-
-			IPath path = resource[i].getPath();
-			IPath realPath = root.append(path);
-			File file = new File(realPath.toOSString());
-
-			monitor.subTask(TomcatPlugin.getResource("%publisherDeleteTask", new String[] {path.toString()}));
-			Trace.trace("Deleting " + realPath);
-			boolean b = file.delete();
-			if (b)
-				status[i] = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Delete " + realPath.toOSString() + " successfully", null);
-			else
-				status[i] = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, "Could not delete " + realPath.toOSString(), null);
-
-			monitor.worked(1);
-		}
-		monitor.done();
-		return status;
-	}
-
-	/**
-	 * Returns the mapping of this file on the remote
-	 * system. Return null if this file should not be
-	 * copied to the remote server.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @return org.eclipse.core.resources.IPath
-	 */
-	public IPath getMappedLocation(IModuleResource resource) {
-		return resource.getPath();
-	}
-
-	/**
-	 * Recursively builds a directory tree of the remote resources.
-	 *
-	 * @param path org.eclipse.core.runtime.IPath
-	 * @return java.util.List
-	 */
-	protected IRemoteResource[] getRemoteResources(RemoteFolder parent, File dir) {
-		List list = new ArrayList();
-
-		if (!dir.exists())
-			return null;
-
-		if (!dir.isDirectory())
-			return null;
-
-		File[] files = dir.listFiles();
-		if (files == null)
-			return null;
-
-		int size = files.length;
-		for (int i = 0; i < size; i++) {
-			File file = files[i];
-			if (file.isDirectory()) {
-				RemoteFolder folder = new RemoteFolder(parent, file.getName(), file.lastModified());
-				if (parent != null)
-					parent.addChild(folder);
-				getRemoteResources(folder, file);
-				list.add(folder);
-			} else {
-				IRemoteResource remote = new RemoteResource(parent, file.getName(), file.lastModified());
-				if (parent != null)
-					parent.addChild(remote);
-				list.add(remote);
-			}
-		}
-
-		IRemoteResource[] resources = new IRemoteResource[list.size()];
-		list.toArray(resources);
-		return resources;
-	}
-
-	/**
-	 * Returns a list of the remote resources at the root level.
-	 * These may be folders or resources. This method should not
-	 * return cached data.
-	 *
-	 * @return java.util.List
-	 */
-	public IRemoteResource[] getRemoteResources(IProgressMonitor monitor) {
-		File rootFile = getRemoteRoot().append(module.getContextRoot()).toFile();
-		if (rootFile.exists()) {
-			return getRemoteResources(null, rootFile);
-		}
-		return new IRemoteResource[0];
-	}
-
-	/**
-	 * Returns the root of the remote publishing location.
-	 *
-	 * @return org.eclipse.core.runtime.IPath
-	 */
-	protected IPath getRemoteRoot() {
-		return installDir.append("webapps");
-	}
-
-	/**
-	 * Returns true if there may be any files or folders within
-	 * this container that should be mapped to the remote system.
-	 * Returns false if files within this folder are never copied
-	 * to the remote system.
-	 *
-	 * @param container org.eclipse.core.resources.IContainer
-	 * @return boolean
-	 */
-	public boolean shouldMapMembers(IModuleFolder folder) {
-		return true;
-	}
-
-	/**
-	 * Publish the given files to the given location on the
-	 * remote machine.
-	 *
-	 * @param file java.lang.String[]
-	 * @return org.eclipse.core.runtime.IStatus[]
-	 */
-	public IStatus[] publish(IModuleResource[] resource, IProgressMonitor monitor) {
-		if (resource == null)
-			return null;
-
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(TomcatPlugin.getResource("%publishTask"), resource.length);
-
-		IPath root = getRemoteRoot().append(module.getContextRoot());
-	
-		// create context root directory if necessary
-		File temp = root.toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		int size = resource.length;
-		IStatus[] status = new Status[size];
-		for (int i = 0; i < size; i++) {
-			if (monitor.isCanceled())
-				return status;
-
-			//IPath fromPath = resource[i].getLocation();
-			IPath toPath = getMappedLocation(resource[i]);
-			IPath realToPath = root.append(toPath);
-
-			// copy file
-			monitor.subTask(TomcatPlugin.getResource("%publisherPublishTask", new String[] {toPath.toString()}));
-			Trace.trace("Publishing " + resource[i] + " -> " + realToPath);
-			if (resource[i] instanceof IModuleFolder) {
-				File f = new File(realToPath.toOSString());
-				if (f.exists() && f.isDirectory()) {
-					status[i] = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Directory " + realToPath.toOSString() + " already exists", null);
-				} else {
-					boolean b = f.mkdir();
-
-					if (b)
-						status[i] = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Created " + realToPath.toOSString() + " successfully", null);
-					else
-						status[i] = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, "Could not create directory " + realToPath.toOSString(), null);
-				}
-			} else if (resource[i] instanceof IModuleFile) {
-				IModuleFile file = (IModuleFile) resource[i];
-				InputStream in = null;
-				try {
-					in = file.getContents();
-					status[i] = FileUtil.copyFile(in, realToPath.toOSString());
-				} catch (Exception e) {
-					// FIX-ME
-				} finally {
-					if (in != null)
-						try {
-							in.close();
-						} catch (Exception e) { }
-				}
-			}
-			monitor.worked(1);
-		}
-
-		monitor.done();
-		return status;
-	}
-	
-	/**
-	 * Delete the entire module from the remote location.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus deleteAll(IProgressMonitor monitor) {
-		IPath path = getRemoteRoot().append(module.getContextRoot());
-
-		FileUtil.deleteDirectory(path.toFile(), monitor);
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%projectCleanupSuccess", module.getContextRoot()), null);
-	}
-}
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 338cbf5..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * 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;
-	
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!TomcatPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(s);
-		if (t != null)
-			t.printStackTrace();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(String s) {
-		trace(s, null);
-	}
-	
-	/**
-	 * Trace the given exception.
-	 *
-	 * @param s java.lang.String
-	 * @param e java.lang.Throwable
-	 */
-	public static void trace(String s, Throwable t) {
-		trace(FINEST, s, t);
-	}
-}
\ 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 4b59012..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.IMimeMapping;
-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;
-
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * 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 url java.net.URL
-	 */
-	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 resource org.eclipse.core.resources.IResource
-	 */
-	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.MimeMapping
-	 */
-	public void addMimeMapping(int index, IMimeMapping map) {
-		Trace.trace("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 int
-	 * @param mapping org.eclipse.jst.server.tomcat.MimeMapping
-	 */
-	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 filename java.lang.String
-	 */
-	/*public void save(String dirPath, boolean forceDirty) throws IOException {
-		if (forceDirty || isWebAppDirty)
-			XMLUtil.save(dirPath + "web.xml", webAppDocument);
-	}*/
-	
-	/**
-	 * Saves the Web app document.
-	 *
-	 * @param filename java.lang.String
-	 */
-	public void save(String path, boolean forceDirty) throws IOException {
-		if (forceDirty || isWebAppDirty)
-			XMLUtil.save(path, webAppDocument);
-	}
-	
-	/**
-	 * Saves the Web app document.
-	 *
-	 * @param filename java.lang.String
-	 */
-	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) {
-		} finally {
-			try {
-				in.close();
-			} catch (Exception 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/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 857b4ab..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.*;
-import org.eclipse.jst.server.tomcat.core.internal.*;
-/**
- * Command to add a mime mapping.
- */
-public class AddMimeMappingCommand extends ConfigurationCommand {
-	protected MimeMapping map;
-
-	/**
-	 * ModifyMimeTypeExtensionCommand constructor comment.
-	 */
-	public AddMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, MimeMapping map) {
-		super(configuration);
-		this.map = map;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		configuration.addMimeMapping(0, map);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%configurationEditorActionAddMimeMappingDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionAddMimeMapping");
-	}
-
-	/**
-	 * 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 8ba4c8f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.*;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * Command to add a web module.
- */
-public class AddWebModuleCommand extends ConfigurationCommand {
-	protected WebModule module;
-	protected int modules = -1;
-
-	/**
-	 * AddWebModuleCommand constructor comment.
-	 */
-	public AddWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, WebModule module) {
-		super(configuration);
-		this.module = module;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		modules = configuration.getWebModules().size();
-		configuration.addWebModule(-1, module);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%configurationEditorActionAddWebModuleDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionAddWebModule");
-	}
-
-	/**
-	 * 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 517c134..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * Configuration command.
- */
-public abstract class ConfigurationCommand extends Task {
-	protected ITomcatConfigurationWorkingCopy configuration;
-
-	/**
-	 * ConfigurationCommand constructor comment.
-	 */
-	public ConfigurationCommand(ITomcatConfigurationWorkingCopy configuration) {
-		super();
-		this.configuration = configuration;
-	}
-
-	/**
-	 * Returns true if this command can be undone.
-	 * @return boolean
-	 */
-	public boolean canUndo() {
-		return true;
-	}
-	
-	public abstract boolean execute();
-	
-	public void execute(IProgressMonitor monitor) {
-		execute();
-	}
-}
\ 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 549494d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * Command to change a mime type extension.
- */
-public class ModifyMimeMappingCommand extends ConfigurationCommand {
-	protected int index;
-	protected MimeMapping oldMap;
-	protected MimeMapping newMap;
-
-	public ModifyMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, int index, MimeMapping map) {
-		super(configuration);
-		this.index = index;
-		newMap = map;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldMap = (MimeMapping) configuration.getMimeMappings().get(index);
-		configuration.modifyMimeMapping(index, newMap);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%configurationEditorActionModifyMimeMappingDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionModifyMimeMapping");
-	}
-
-	/**
-	 * 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 4915720..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.Iterator;
-
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * Command to change the configuration port.
- */
-public class ModifyPortCommand extends ConfigurationCommand {
-	protected String id;
-	protected int port;
-	protected int oldPort;
-
-	/**
-	 * ChangePortCommand constructor comment.
-	 */
-	public ModifyPortCommand(ITomcatConfigurationWorkingCopy configuration, String id, int port) {
-		super(configuration);
-		this.id = id;
-		this.port = port;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		// find old port number
-		Iterator iterator = configuration.getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort temp = (IServerPort) iterator.next();
-			if (id.equals(temp.getId()))
-				oldPort = temp.getPort();
-		}
-	
-		// make the change
-		configuration.modifyServerPort(id, port);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%configurationEditorActionModifyPortDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionModifyPort");
-	}
-
-	/**
-	 * 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 4f470f7..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * 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);
-		this.index = index;
-		newModule = module;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldModule = (WebModule) configuration.getWebModules().get(index);
-		configuration.modifyWebModule(index, newModule.getDocumentBase(), newModule.getPath(), newModule.isReloadable());
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%configurationEditorActionModifyWebModuleDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionModifyWebModule");
-	}
-
-	/**
-	 * 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 49ac07b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * Command to remove a mime mapping.
- */
-public class RemoveMimeMappingCommand extends ConfigurationCommand {
-	protected int index;
-	protected MimeMapping mapping;
-
-	/**
-	 * ModifyMimeTypeExtensionCommand constructor comment.
-	 */
-	public RemoveMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, int index) {
-		super(configuration);
-		this.index = index;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		mapping = (MimeMapping) configuration.getMimeMappings().get(index);
-		configuration.removeMimeMapping(index);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%configurationEditorActionRemoveMimeMappingDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionRemoveMimeMapping");
-	}
-
-	/**
-	 * 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 fca5d86..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * Command to remove a web module.
- */
-public class RemoveWebModuleCommand extends ConfigurationCommand {
-	protected int index;
-	protected WebModule module;
-
-	/**
-	 * RemoveWebModuleCommand constructor comment.
-	 */
-	public RemoveWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, int index) {
-		super(configuration);
-		this.index = index;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		module = (WebModule) configuration.getWebModules().get(index);
-		configuration.removeWebModule(index);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		if (module == null)
-			module = (WebModule) configuration.getWebModules().get(index);
-		return TomcatPlugin.getResource("%configurationEditorActionRemoveWebModuleDescription", module.getPath());
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionRemoveWebModule");
-	}
-
-	/**
-	 * 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/RemoveWebModuleTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleTask.java
deleted file mode 100644
index 4f70202..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleTask.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * Task to remove a web module.
- */
-public class RemoveWebModuleTask extends Task {
-	protected int index;
-	protected WebModule module;
-
-	/**
-	 * RemoveWebModuleTask constructor comment.
-	 */
-	public RemoveWebModuleTask(int index) {
-		super();
-		this.index = index;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-		ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
-		module = (WebModule) configuration.getWebModules().get(index);
-		configuration.removeWebModule(index);
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		if (module == null) {
-			IServerConfiguration config = (IServerConfiguration) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-			ITomcatConfiguration configuration = (ITomcatConfiguration) config.getDelegate();
-			module = (WebModule) configuration.getWebModules().get(index);
-		}
-		return TomcatPlugin.getResource("%configurationEditorActionRemoveWebModuleDescription", module.getPath());
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionRemoveWebModule");
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		try {
-			IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-			ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
-			configuration.addWebModule(index, module);
-		} catch (Exception 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/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 38eed7b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * A command on a Tomcat server.
- */
-public abstract class ServerCommand extends Task {
-	protected ITomcatServerWorkingCopy server;
-
-	/**
-	 * ServerCommand constructor comment.
-	 */
-	public ServerCommand(ITomcatServerWorkingCopy server) {
-		super();
-		this.server = server;
-	}
-	
-	/**
-	 * Returns true if this command can be undone.
-	 * @return boolean
-	 */
-	public boolean canUndo() {
-		return true;
-	}
-	
-	public abstract boolean execute();
-	
-	public void execute(IProgressMonitor monitor) {
-		execute();
-	}
-}
\ 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 944bb0e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * Command to change the server debug mode.
- */
-public class SetDebugModeCommand extends ServerCommand {
-	protected boolean debug;
-	protected boolean oldDebug;
-
-	/**
-	 * SetDebugModeCommand constructor comment.
-	 */
-	public SetDebugModeCommand(ITomcatServerWorkingCopy server, boolean debug) {
-		super(server);
-		this.debug = debug;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldDebug = server.isDebug();
-		server.setDebug(debug);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%serverEditorActionSetDebugModeDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%serverEditorActionSetDebugMode");
-	}
-
-	/**
-	 * 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 2e381bf..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * Command to change the server security option.
- */
-public class SetSecureCommand extends ServerCommand {
-	protected boolean secure;
-	protected boolean oldSecure;
-
-	/**
-	 * SetSecureCommand constructor comment.
-	 */
-	public SetSecureCommand(ITomcatServerWorkingCopy server, boolean secure) {
-		super(server);
-		this.secure = secure;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldSecure = server.isSecure();
-		server.setSecure(secure);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%serverEditorActionSetSecureDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%serverEditorActionSetSecure");
-	}
-
-	/**
-	 * 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 365effb..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * Command to change the server debug mode.
- */
-public class SetTestEnvironmentCommand extends ServerCommand {
-	protected boolean te;
-	protected boolean oldTe;
-
-	/**
-	 * SetTestEnvironmentCommand constructor comment.
-	 */
-	public SetTestEnvironmentCommand(ITomcatServerWorkingCopy server, boolean te) {
-		super(server);
-		this.te = te;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldTe = server.isTestEnvironment();
-		server.setTestEnvironment(te);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return TomcatPlugin.getResource("%serverEditorActionSetTestEnvironmentDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%serverEditorActionSetTestEnvironment");
-	}
-
-	/**
-	 * 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 ab778f7..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-/**
- * 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.
-	 */
-	public SetWebModulePathCommand(ITomcatConfigurationWorkingCopy configuration, int index, String contextRoot) {
-		super(configuration);
-		this.index = index;
-		this.path = contextRoot;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean 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);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		if (oldModule == null)
-			oldModule = (WebModule) configuration.getWebModules().get(index);
-		
-		return TomcatPlugin.getResource("%configurationEditorActionEditWebModuleDescription", oldModule.getPath(), path);
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionEditWebModulePath");
-	}
-
-	/**
-	 * 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/command/SetWebModulePathTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathTask.java
deleted file mode 100644
index 332112d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathTask.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * Task to modify the path of a Web module.
- */
-public class SetWebModulePathTask extends Task {
-	protected int index;
-	protected WebModule oldModule;
-	protected String path;
-
-	/**
-	 * SetWebModulePathTask constructor comment.
-	 */
-	public SetWebModulePathTask(int index, String contextRoot) {
-		super();
-		this.index = index;
-		this.path = contextRoot;
-	}
-	
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-		ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
-		oldModule = (WebModule) configuration.getWebModules().get(index);
-		configuration.removeWebModule(index);
-		
-		WebModule module = new WebModule(path, oldModule.getDocumentBase(), oldModule.getMemento(), oldModule.isReloadable());
-		configuration.addWebModule(index, module);
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		if (oldModule == null) {
-			IServerConfiguration config = (IServerConfiguration) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-			ITomcatConfiguration configuration = (ITomcatConfiguration) config.getDelegate();
-			oldModule = (WebModule) configuration.getWebModules().get(index);
-		}
-		
-		return TomcatPlugin.getResource("%configurationEditorActionEditWebModuleDescription", oldModule.getPath(), path);
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return TomcatPlugin.getResource("%configurationEditorActionEditWebModulePath");
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		try {
-			IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-			ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
-			configuration.removeWebModule(index);
-			configuration.addWebModule(index, oldModule);
-		} catch (Exception 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/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 9c82af9..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 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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 implements Serializable {
-
-
-	private static final long serialVersionUID = 1L;
-	
-	protected String packageName;
-	protected Document document;
-
-	public Factory() { }
-	
-	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 {
-			InputStreamReader reader = new InputStreamReader(in);
-			document = XMLUtil.getDocumentBuilder().parse(new InputSource(reader));
-			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 ibmxmlelement = (XMLElement) class1.newInstance();
-			ibmxmlelement.setElement(element);
-			ibmxmlelement.setFactory(this);
-			return ibmxmlelement;
-		} catch (Exception exception) { }
-		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;
-	}
-}
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 2e9ee79..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.io.Serializable;
-import org.w3c.dom.*;
-/**
- * An XML element.
- */
-public class XMLElement implements Serializable {
-
-	private static final long serialVersionUID = 1L;
-	private Element xmlElement;
-	protected Factory factory;
-
-	public XMLElement() { }
-
-	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 void createEmptyBody() {
-	}
-
-	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));
-			}
-		}
-	}
-}
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 421b297..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java
+++ /dev/null
@@ -1,378 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.
-	 * @return org.w3c.dom.Element
-	 * @param nodeName java.lang.String
-	 */
-	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.
-	 * @return org.w3c.dom.Element
-	 * @param nodeName java.lang.String
-	 */
-	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.
-	 * @param n org.w3c.dom.Node
-	 */
-	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 PrintWriter(out), document);
-			return out.toByteArray();
-		} catch (Exception ex) {
-			throw new IOException(ex.getLocalizedMessage());
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (Exception e) { }
-		}
-	}
-
-	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
-	 * @param node org.w3c.dom.Node
-	 */
-	public static String getSubNodeValue(Element element, String name) {
-		NodeList nodeList = element.getElementsByTagName(name);
-		return getNodeValue(nodeList.item(0)).trim();
-	}
-
-	/**
-	 * Insert the given text.
-	 * @param n org.w3c.dom.Node
-	 */
-	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(PrintWriter 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 {
-		PrintWriter out = null;
-		try {
-			out = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
-			//traceNode(document, "");
-			print(out, document);
-		} catch (Exception ex) {
-			throw new IOException(ex.getLocalizedMessage());
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (Exception e) { }
-		}
-	}
-
-	/**
-	 * Set the value of the subnode
-	 *
-	 * @param element org.w3c.dom.Element
-	 * @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) {
-		PrintWriter out = null;
-		try {
-			ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
-			out = new PrintWriter(baos);
-			print(out, document);
-			return new String(baos.toByteArray());
-		} catch (Exception ex) {
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (Exception 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/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 e014b9d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Connector extends XMLElement {
-	public Connector() { }
-	
-	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 7157981..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Context extends XMLElement {
-	public Context() { }
-	
-	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 0913c3a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class ContextManager extends XMLElement {
-	public ContextManager() { }
-	
-	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 ca73ec8..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Parameter extends XMLElement {
-	public Parameter() { }
-	
-	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 2011fa4..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Server extends XMLElement {
-	public Server() { }
-	
-	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 f89e0f5..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Connector extends XMLElement {
-	public Connector() { }
-
-	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 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);
-	}
-}
\ 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 ffbb584..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Context extends XMLElement {
-	public Context() { }
-
-	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 ed7acd6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Engine extends XMLElement {
-	public Engine() { }
-	
-	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 b3996df..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Host extends XMLElement {
-	public Host() { }
-	
-	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 a8f9061..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Listener extends XMLElement {
-	public Listener() { }
-
-	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 cc73793..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Server extends XMLElement {
-	public Server() { }
-
-	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 99499ed..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.tomcat.core.internal.xml.*;
-/**
- * 
- */
-public class Service extends XMLElement {
-	public Service() { }
-
-	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 9434b15..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-verify32install=lib/jasper.jar,lib/servlet.jar,bin,conf,webapps
-verify40install=bin/bootstrap.jar,conf,webapps
-verify41install=bin/bootstrap.jar,conf,webapps
-verify50install=bin/bootstrap.jar,conf,webapps
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.classpath b/plugins/org.eclipse.jst.server.tomcat.ui/.classpath
deleted file mode 100644
index b0cfa1b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="tomcatui/"/>
-	<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.ui/.cvsignore b/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore
deleted file mode 100644
index dc63549..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.tomcat.ui_3.0.0.jar
-tomcatui.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.project b/plugins/org.eclipse.jst.server.tomcat.ui/.project
deleted file mode 100644
index 5cbc5ba..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.tomcat.ui</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.wst.server.core</project>
-		<project>org.eclipse.jst.server.core</project>
-		<project>org.eclipse.jst.server.ui</project>
-		<project>org.eclipse.jst.server.tomcat.core</project>
-		<project>org.eclipse.wst.server.ui</project>
-	</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.ui/build.properties b/plugins/org.eclipse.jst.server.tomcat.ui/build.properties
deleted file mode 100644
index ae57913..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/build.properties
+++ /dev/null
@@ -1,19 +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,\
-               *.jar,\
-               plugin.properties,\
-               tomcatui.jar,\
-               icons/
-source.tomcatui.jar = tomcatui/
-jars.compile.order = 
-src.includes = build.properties
-output.tomcatui.jar = bin/
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif
deleted file mode 100644
index c585010..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif
deleted file mode 100644
index 0a8e4bf..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif
deleted file mode 100644
index 7a354b7..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif
deleted file mode 100644
index 0cb4c16..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_32.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_32.gif
deleted file mode 100644
index bb4d02d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_32.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_40.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_40.gif
deleted file mode 100644
index e3745fc..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_40.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_41.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_41.gif
deleted file mode 100644
index ed45603..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_41.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_50.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_50.gif
deleted file mode 100644
index 0cac53e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_50.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat_tools.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat_tools.gif
deleted file mode 100644
index 73bf959..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat_tools.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif
deleted file mode 100644
index bf20f70..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.gif
deleted file mode 100644
index 63a9599..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
deleted file mode 100644
index 90269da..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
+++ /dev/null
@@ -1,110 +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
-###############################################################################
-pluginName=Apache Tomcat UI Support
-providerName=IBM
-
-# --------------- Editors ---------------
-
-editorName=Tomcat Server Editor
-
-# General text used in both editors
-editorRemove=Remove
-editorAdd=Add...
-editorEdit=Edit...
-editorBrowse=Browse...
-
-# --- Configuration Editor ---
-configurationEditorWebModulesPage=Modules
-configurationEditorWebModulesPageTitle=Web Modules
-configurationEditorWebModulesSection=Web Modules
-configurationEditorWebModulesDescription=Configure the Web Modules on this server.
-configurationEditorMimeMappingsPage=Mappings
-configurationEditorMimeMappingsPageTitle=MIME Mappings
-configurationEditorMimeMappingsSection=MIME Mappings
-configurationEditorMimeMappingsDescription=Configure MIME type mappings.
-configurationEditorPortsPage=Configuration
-configurationEditorPortsPageTitle=Tomcat Server Configuration
-configurationEditorNameSection=Server Configuration
-configurationEditorNameDescription=Enter settings for the server configuration.
-configurationEditorPortsSection=Ports
-configurationEditorPortsDescription=Modify the server ports.
-
-# Fields
-configurationEditorPortNameColumn=Port Name
-configurationEditorPortValueColumn=Port Number
-configurationEditorPathColumn=Path
-configurationEditorDocBaseColumn=Document Base
-configurationEditorProjectColumn=Project
-configurationEditorReloadColumn=Auto Reload
-configurationEditorProjectMissing={0} missing
-configurationEditorReloadEnabled=Enabled
-configurationEditorReloadDisabled=Disabled
-configurationEditorAddProjectModule=Add Web Project...
-configurationEditorAddExternalModule=Add External Web Module...
-
-# Add/Edit Mime Mapping dialog
-configurationEditorMimeMapppingDialogTitleEdit=Edit MIME Mapping
-configurationEditorMimeMapppingDialogTitleAdd=Add MIME Mapping
-configurationEditorMimeMapppingDialogMimeType=MIME type:
-configurationEditorMimeMapppingDialogMimeExtension=MIME extension:
-
-# Add/Edit Web Module dialog
-configurationEditorWebModuleDialogTitleEdit=Edit Web Module
-configurationEditorWebModuleDialogTitleAdd=Add Web Module
-configurationEditorWebModuleDialogProjects=Projects:
-configurationEditorWebModuleDialogPath=Path:
-configurationEditorWebModuleDialogDocumentBase=Document base:
-configurationEditorWebModuleDialogAutoReload=Auto reloading:
-configurationEditorWebModuleDialogReloadEnabled=Enabled
-configurationEditorWebModuleDialogSelectDirectory=Select the Web module directory.
-
-
-# --- Server Editor ---
-serverEditorGeneralPage=Server
-serverEditorGeneralPageTitle=Tomcat Server
-serverEditorGeneralSection=Server
-serverEditorGeneralDescription=Enter settings for the server.
-
-# Fields
-serverEditorSecure=Enable security
-serverEditorDebugMode=Enable Tomcat debug mode (v4.x and above only)
-serverEditorTestEnvironment=Run modules directly from the workspace (do not modify the Tomcat installation)
-
-# 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
-
-
-# --------------- General UI ---------------
-
-runtimeName=Na&me:
-browse=B&rowse...
-installDir=Tomcat installation &directory:
-installedJRE=&JRE:
-installedJREs=&Installed JREs...
-selectInstallDir=Select Tomcat installation directory.
-
-# New Tomcat server wizard
-wizardTitle=Tomcat Server
-wizardDescription=Specify the installation directory
-
-
-# --------------- Errors and Info ---------------
-errorTitle=Tomcat Error
-errorInstallDir=The Tomcat installation directory is not correct. Edit the server and change the installation directory.
-errorJRE=The JRE could not be found. Edit the server and change the JRE location.
-errorDefaultInstallDir=Cannot create a Tomcat server because the installation directory is not known. Enter the installation directory in the Tomcat preferences.
-errorCancelled=Cancelled
-errorNameContainsWhitespace=Name should not begin or end with whitespace.
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
deleted file mode 100644
index f5e4dec..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.jst.server.tomcat.ui"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin">
-
-   <runtime>
-      <library name="tomcatui.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jst.server.tomcat.ui"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" />
-      <import plugin="org.eclipse.core.resources" />
-      <import plugin="org.eclipse.ui" />
-      <import plugin="org.eclipse.ui.ide" />
-      <import plugin="org.eclipse.ui.editors" />
-      <import plugin="org.eclipse.ui.forms" />
-      <import plugin="org.eclipse.debug.core" />
-      <import plugin="org.eclipse.debug.ui" />
-      <import plugin="org.eclipse.jdt.core" />
-      <import plugin="org.eclipse.jdt.debug" />
-      <import plugin="org.eclipse.jdt.debug.ui" />
-      <import plugin="org.eclipse.jdt.launching" />
-      <import plugin="org.eclipse.wst.server.core" />
-      <import plugin="org.eclipse.wst.server.ui" />
-      <import plugin="org.eclipse.jst.server.core" />
-      <import plugin="org.eclipse.jst.server.ui" />
-      <import plugin="org.eclipse.jst.server.tomcat.core" />
-   </requires>
-
-   <extension point="org.eclipse.wst.server.ui.serverImages">
-      <image
-         id="org.eclipse.jst.server.tomcat.32"
-         icon="icons/obj16/server_32.gif"
-         typeIds="org.eclipse.jst.server.tomcat.32.runtime"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.40"
-         icon="icons/obj16/server_40.gif"
-         typeIds="org.eclipse.jst.server.tomcat.40.runtime"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.41"
-         icon="icons/obj16/server_41.gif"
-         typeIds="org.eclipse.jst.server.tomcat.41.runtime"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.50"
-         icon="icons/obj16/server_50.gif"
-         typeIds="org.eclipse.jst.server.tomcat.50.runtime"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.55"
-         icon="icons/obj16/server_55.gif"
-         typeIds="org.eclipse.jst.server.tomcat.55.runtime"/>
-
-      <image
-         id="org.eclipse.jst.server.tomcat.32"
-         icon="icons/obj16/server_32.gif"
-         typeIds="org.eclipse.jst.server.tomcat.32"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.40"
-         icon="icons/obj16/server_40.gif"
-         typeIds="org.eclipse.jst.server.tomcat.40"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.41"
-         icon="icons/obj16/server_41.gif"
-         typeIds="org.eclipse.jst.server.tomcat.41"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.50"
-         icon="icons/obj16/server_50.gif"
-         typeIds="org.eclipse.jst.server.tomcat.50"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.55"
-         icon="icons/obj16/server_55.gif"
-         typeIds="org.eclipse.jst.server.tomcat.55"/>
-   </extension>
-
-   <extension point="org.eclipse.wst.server.ui.editorPages">
-      <page
-         id="org.eclipse.jst.server.tomcat.configuration.editor.webmodule"
-         order="20"
-         name="%configurationEditorWebModulesPage"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationWebModuleEditorFactory"/>
-   </extension>
-   
-   <extension point="org.eclipse.wst.server.ui.editorPageSections">
-      <section
-         id="org.eclipse.jst.server.tomcat.server.editor.general"
-         order="0"
-         insertionId="org.eclipse.wst.server.editor.overview.left"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ServerGeneralEditorSectionFactory"/>
-      <section
-         id="org.eclipse.jst.server.tomcat.configuration.editor.port"
-         order="10"
-         insertionId="org.eclipse.wst.server.editor.overview.right"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationPortEditorSectionFactory"/>
-      <section
-         id="org.eclipse.jst.server.tomcat.configuration.editor.mime"
-         order="20"
-         insertionId="org.eclipse.wst.server.editor.overview.right"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationMimeEditorSectionFactory"/>
-   </extension>
-   
-   <extension point="org.eclipse.wst.server.ui.wizardFragments">
-      <fragment
-         id="org.eclipse.jst.server.tomcat.32.runtime"
-         typeIds="org.eclipse.jst.server.tomcat.32.runtime"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.40.runtime"
-         typeIds="org.eclipse.jst.server.tomcat.40.runtime"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.41.runtime"
-         typeIds="org.eclipse.jst.server.tomcat.41.runtime"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.50.runtime"
-         typeIds="org.eclipse.jst.server.tomcat.50.runtime"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.55.runtime"
-         typeIds="org.eclipse.jst.server.tomcat.55.runtime"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-   </extension>
-   
-  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.tomcat.ui.launchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-      icon="icons/obj16/tomcat_tools.gif">
-    </launchConfigurationTypeImage>
-  </extension>
-
-  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.tomcat.ui.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-      class="org.eclipse.jst.server.tomcat.ui.internal.TomcatLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-  </extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java
deleted file mode 100644
index 9279b0d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * Constant ids for context help.
- */
-public interface ContextIds {
-	public static final String SERVER_EDITOR = TomcatUIPlugin.PLUGIN_ID + ".teig0000";
-	public static final String SERVER_EDITOR_TEST_ENVIRONMENT = TomcatUIPlugin.PLUGIN_ID + ".teig0002";
-	public static final String SERVER_EDITOR_SECURE = TomcatUIPlugin.PLUGIN_ID + ".teig0004";
-	public static final String SERVER_EDITOR_DEBUG_MODE = TomcatUIPlugin.PLUGIN_ID + ".teig0006";
-
-	public static final String CONFIGURATION_EDITOR_WEBMODULES = TomcatUIPlugin.PLUGIN_ID + ".tecw0000";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecw0002";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_ADD_PROJECT = TomcatUIPlugin.PLUGIN_ID + ".tecw0004";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_ADD_EXTERNAL = TomcatUIPlugin.PLUGIN_ID + ".tecw0006";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_EDIT = TomcatUIPlugin.PLUGIN_ID + ".tecw0008";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_REMOVE = TomcatUIPlugin.PLUGIN_ID + ".tecw0010";
-
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG = TomcatUIPlugin.PLUGIN_ID + ".tdwm0000";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PROJECT = TomcatUIPlugin.PLUGIN_ID + ".tdpr0002";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PATH = TomcatUIPlugin.PLUGIN_ID + ".tdpr0004";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_DOCBASE = TomcatUIPlugin.PLUGIN_ID + ".tdpr0006";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_RELOAD = TomcatUIPlugin.PLUGIN_ID + ".tdpr0008";
-
-	public static final String CONFIGURATION_EDITOR_MAPPINGS = TomcatUIPlugin.PLUGIN_ID + ".tecm0000";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecm0002";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_ADD = TomcatUIPlugin.PLUGIN_ID + ".tecm0004";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_EDIT = TomcatUIPlugin.PLUGIN_ID + ".tecm0006";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_REMOVE = TomcatUIPlugin.PLUGIN_ID + ".tecm0008";
-
-	public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG = TomcatUIPlugin.PLUGIN_ID + ".tdmm0000";
-	public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG_TYPE = TomcatUIPlugin.PLUGIN_ID + ".tdmm0002";
-	public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG_EXTENSION = TomcatUIPlugin.PLUGIN_ID + ".tdmm0004";
-
-	public static final String CONFIGURATION_EDITOR_PORTS = TomcatUIPlugin.PLUGIN_ID + ".tecp0000";
-	public static final String CONFIGURATION_EDITOR_PORTS_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecp0002";
-		
-	public static final String RUNTIME = TomcatUIPlugin.PLUGIN_ID + ".twnr0000";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java
deleted file mode 100644
index 4de2a3e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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);
-	}
-
-	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);
-		data.heightHint = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-		b.setLayoutData(data);
-		return b;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java
deleted file mode 100644
index 6fbb49d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.wst.server.ui.ServerLaunchConfigurationTab;
-/**
- * 
- */
-public class TomcatLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
-	/**
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[6];
-		tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.jst.server.tomcat" });
-		tabs[0].setLaunchConfigurationDialog(dialog);
-		tabs[1] = new JavaArgumentsTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		tabs[2] = new JavaClasspathTab();
-		tabs[2].setLaunchConfigurationDialog(dialog);
-		tabs[3] = new SourceLookupTab();
-		tabs[3].setLaunchConfigurationDialog(dialog);
-		tabs[4] = new EnvironmentTab();
-		tabs[4].setLaunchConfigurationDialog(dialog);
-		tabs[5] = new CommonTab();
-		tabs[5].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java
deleted file mode 100644
index ff02805..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java
+++ /dev/null
@@ -1,282 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-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.tomcat.core.ITomcatRuntimeWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Wizard page to set the server install directory.
- */
-public class TomcatRuntimeComposite extends Composite {
-	protected IRuntimeWorkingCopy runtimeWC;
-	protected ITomcatRuntimeWorkingCopy runtime;
-	
-	protected IWizardHandle wizard;
-	
-	protected Text installDir;
-	protected Text name;
-	protected Combo combo;
-	protected List installedJREs;
-	protected String[] jreNames;
-	protected int defaultVMIndex;
-
-	/**
-	 * TomcatRuntimeWizardPage constructor comment.
-	 * @param runtime
-	 */
-	protected TomcatRuntimeComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		
-		wizard.setTitle(TomcatUIPlugin.getResource("%wizardTitle"));
-		wizard.setDescription(TomcatUIPlugin.getResource("%wizardDescription"));
-		wizard.setImageDescriptor(TomcatUIPlugin.getImageDescriptor(TomcatUIPlugin.IMG_WIZ_TOMCAT));
-		
-		createControl();
-	}
-	
-	protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
-		if (newRuntime == null) {
-			runtimeWC = null;
-			runtime = null;
-		} else {
-			runtimeWC = newRuntime;
-			runtime = (TomcatRuntimeWorkingCopy) newRuntime.getWorkingCopyDelegate();
-		}
-		
-		init();
-		validate();
-	}
-
-	/**
-	 * Provide a wizard page to change the Tomcat installation directory.
-	 *
-	 * @param parent the parent composite
-	 * @return the new control
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		WorkbenchHelp.setHelp(this, ContextIds.RUNTIME);
-		
-		Label label = new Label(this, SWT.NONE);
-		label.setText(TomcatUIPlugin.getResource("%runtimeName"));
-		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(TomcatUIPlugin.getResource("%installDir"));
-		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, TomcatUIPlugin.getResource("%browse"));
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(TomcatRuntimeComposite.this.getShell());
-				dialog.setMessage(TomcatUIPlugin.getResource("%selectInstallDir"));
-				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(TomcatUIPlugin.getResource("%installedJRE"));
-		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 = (IVMInstall) installedJREs.get(sel);
-				runtime.setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-				validate();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		Button button = SWTUtil.createButton(this, TomcatUIPlugin.getResource("%installedJREs"));
-		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(defaultVMIndex);
-				}
-			}
-		});
-		
-		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];
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i] = vmInstall.getName();
-		}
-		
-		IVMInstall defaultVM = JavaRuntime.getDefaultVMInstall();
-		defaultVMIndex = installedJREs.indexOf(defaultVM);
-	}
-
-	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 (name == null || runtime == null)
-			return;
-		
-		if (runtimeWC.getName() != null)
-			name.setText(runtimeWC.getName());
-		else
-			name.setText("");
-	
-		if (runtimeWC.getLocation() != null)
-			installDir.setText(runtimeWC.getLocation().toOSString());
-		else
-			installDir.setText("");
-		
-		// set selection
-		boolean found = false;
-		int size = installedJREs.size();
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			if (vmInstall.getVMInstallType().getId().equals(runtime.getVMInstallTypeId())
-					&& vmInstall.getId().equals(runtime.getVMInstallId())) {
-				combo.select(i);
-				found = true;
-			}
-		}
-		if (!found)
-			combo.select(defaultVMIndex);
-	}
-
-	protected void validate() {
-		if (runtime == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-
-		IStatus status = runtime.validate();
-		if (status == null || status.isOK())
-			wizard.setMessage(null, IMessageProvider.NONE);
-		else
-			wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-		wizard.update();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java
deleted file mode 100644
index eb4fb6b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class TomcatRuntimeWizardFragment extends WizardFragment {
-	protected TomcatRuntimeComposite comp;
-	
-	public TomcatRuntimeWizardFragment() { }
-
-	public boolean hasComposite() {
-		return true;
-	}
-	
-	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-		
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate();
-		return (status != null && status.isOK());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.task.WizardFragment#createComposite()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new TomcatRuntimeComposite(parent, wizard);
-		return comp;
-	}
-
-	public void enter() {
-		if (comp != null) {
-			IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-			comp.setRuntime(runtime);
-		}
-	}
-
-	public void exit() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-		IPath path = runtime.getLocation();
-		ITomcatRuntimeWorkingCopy tr = (ITomcatRuntimeWorkingCopy) runtime.getWorkingCopyDelegate();
-		if (tr.validate().isOK())
-			TomcatPlugin.setPreference("location" + runtime.getRuntimeType().getId(), path.toString());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java
deleted file mode 100644
index 53fe87d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * The actual Tomcat plugin. It allows the rest of the classes
- * to load images and get a handle to the desktop.
- */
-public class TomcatUIPlugin extends AbstractUIPlugin {
-	protected static TomcatUIPlugin singleton;
-
-	protected Map imageDescriptors = new HashMap();
-
-	// base url for icons
-	private static URL ICON_BASE_URL;
-
-	private static final String URL_OBJ = "obj16/";
-	private static final String URL_WIZBAN = "wizban/";
-
-	public static final String PLUGIN_ID = "org.eclipse.tomcat";
-
-	public static final String IMG_WIZ_TOMCAT = "wizTomcat";
-
-	public static final String IMG_WEB_MODULE = "webModule";
-	public static final String IMG_MIME_MAPPING = "mimeMapping";
-	public static final String IMG_MIME_EXTENSION = "mimeExtension";
-	public static final String IMG_PORT = "port";
-	public static final String IMG_PROJECT_MISSING = "projectMissing";
-
-	public static final String PREF_TOMCAT32_INSTALL_DIR = "tomcat32install";
-	public static final String PREF_TOMCAT40_INSTALL_DIR = "tomcat40install";
-	public static final String PREF_TOMCAT41_INSTALL_DIR = "tomcat41install";
-	public static final String PREF_TOMCAT50_INSTALL_DIR = "tomcat50install";
-	public static final String PREF_JDK_INSTALL_DIR = "jdkinstall";
-
-	/**
-	 * TomcatUIPlugin constructor comment.
-	 */
-	public TomcatUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	protected ImageRegistry createImageRegistry() {
-		ImageRegistry registry = new ImageRegistry();
-	
-		registerImage(registry, IMG_WIZ_TOMCAT, URL_WIZBAN + "tomcat_wiz.gif");
-	
-		registerImage(registry, IMG_WEB_MODULE, URL_OBJ + "web_module.gif");
-		registerImage(registry, IMG_MIME_MAPPING, URL_OBJ + "mime_mapping.gif");
-		registerImage(registry, IMG_MIME_EXTENSION, URL_OBJ + "mime_extension.gif");
-		registerImage(registry, IMG_PORT, URL_OBJ + "port.gif");
-		registerImage(registry, IMG_PROJECT_MISSING, URL_OBJ + "project_missing.gif");
-	
-		return registry;
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public static Image getImage(String key) {
-		return getInstance().getImageRegistry().get(key);
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		try {
-			getInstance().getImageRegistry();
-			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * @return org.eclipse.jst.server.tomcat.internal.TomcatUIPlugin
-	 */
-	public static TomcatUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 */
-	public static String getResource(String key) {
-		try {
-			return Platform.getResourceString(getInstance().getBundle(), key);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-	
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given object.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 * @param obj java.lang.Object[]
-	 */
-	public static String getResource(String key, Object[] obj) {
-		try {
-			return MessageFormat.format(getResource(key), obj);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-		
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given object.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 * @param obj java.lang.Object[]
-	 */
-	public static String getResource(String key, String arg) {
-		return getResource(key, new String[] { arg });
-	}
-	
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given object.
-	 * @return java.lang.String
-	 * @param key java.lang.String
-	 * @param obj java.lang.Object[]
-	 */
-	public static String getResource(String key, String arg1, String arg2) {
-		return getResource(key, new String[] { arg1, arg2 });
-	}
-	
-	/**
-	 * Register an image with the registry.
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private void registerImage(ImageRegistry registry, String key, String partialURL) {
-		if (ICON_BASE_URL == null) {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = singleton.getBundle().getEntry(pathSuffix);
-		}
-
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			registry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error registering image", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java
deleted file mode 100644
index b9f1fbe..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * 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;
-	
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!TomcatUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(s);
-		if (t != null)
-			t.printStackTrace();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(String s) {
-		trace(s, null);
-	}
-	
-	/**
-	 * Trace the given exception.
-	 *
-	 * @param s java.lang.String
-	 * @param e java.lang.Throwable
-	 */
-	public static void trace(String s, Throwable t) {
-		trace(FINEST, s, t);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java
deleted file mode 100644
index f89622e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java
+++ /dev/null
@@ -1,415 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.beans.*;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.internal.command.*;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.WorkbenchHelp;
-/**
- * Tomcat configuration mime editor section.
- */
-public class ConfigurationMimeEditorSection extends ServerResourceEditorSection {
-	protected ITomcatConfigurationWorkingCopy tomcatConfiguration;
-
-	protected boolean updating;
-
-	protected PropertyChangeListener listener;
-	
-	protected Tree mimeTypes;
-	protected int index = -1;
-	protected List mappings;
-	protected Button add;
-	protected Button remove;
-	protected Button edit;
-
-	/**
-	 * ConfigurationMimeEditorSection constructor comment.
-	 */
-	protected ConfigurationMimeEditorSection() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (TomcatConfiguration.ADD_MAPPING_PROPERTY.equals(event.getPropertyName())) {
-					Integer in = (Integer) event.getOldValue();
-					MimeMapping mapping = (MimeMapping) event.getNewValue();
-					addMimeMapping(in.intValue(), mapping);
-				} else if (TomcatConfiguration.REMOVE_MAPPING_PROPERTY.equals(event.getPropertyName())) {
-					Integer in = (Integer) event.getNewValue();
-					removeMimeMapping(in.intValue());
-				} else if (TomcatConfiguration.MODIFY_MAPPING_PROPERTY.equals(event.getPropertyName())) {
-					Integer in = (Integer) event.getOldValue();
-					MimeMapping mapping = (MimeMapping) event.getNewValue();
-					modifyMimeMapping(in.intValue(), mapping);
-				}
-			}
-		};
-		serverConfiguration.addPropertyChangeListener(listener);
-	}
-
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE|ExpandableComposite.TITLE_BAR|Section.DESCRIPTION|ExpandableComposite.FOCUS_TITLE);
-		section.setText(TomcatUIPlugin.getResource("%configurationEditorMimeMappingsSection"));
-		section.setDescription(TomcatUIPlugin.getResource("%configurationEditorMimeMappingsDescription"));
-		section.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(data);
-		WorkbenchHelp.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_MAPPINGS);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		mimeTypes = toolkit.createTree(composite, SWT.V_SCROLL | SWT.SINGLE | SWT.H_SCROLL);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		data.widthHint = 220;
-		data.heightHint = 200;
-		mimeTypes.setLayoutData(data);
-		WorkbenchHelp.setHelp(mimeTypes, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_LIST);
-		
-		// add listener to the table
-		mimeTypes.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectMimeMapping();
-			}
-		});
-		
-		Composite buttonComp = toolkit.createComposite(composite);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonComp.setLayout(layout);
-		buttonComp.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
-		add = toolkit.createButton(buttonComp, TomcatUIPlugin.getResource("%editorAdd"), SWT.PUSH);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = 75;
-		add.setLayoutData(data);
-		
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MimeMappingDialog dialog = new MimeMappingDialog(getShell());
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					commandManager.executeCommand(new AddMimeMappingCommand(tomcatConfiguration, dialog.getMimeMapping()));
-				}
-			}
-		});
-		WorkbenchHelp.setHelp(add, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_ADD);
-		
-		edit = toolkit.createButton(buttonComp, TomcatUIPlugin.getResource("%editorEdit"), SWT.PUSH);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = 75;
-		edit.setLayoutData(data);
-		edit.setEnabled(false);
-		
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (index < 0)
-					return;
-				MimeMappingDialog dialog = new MimeMappingDialog(getShell(), (MimeMapping) tomcatConfiguration.getMimeMappings().get(index));
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					commandManager.executeCommand(new ModifyMimeMappingCommand(tomcatConfiguration, index, dialog.getMimeMapping()));
-				}
-			}
-		});
-		WorkbenchHelp.setHelp(edit, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_EDIT);
-		
-		remove = toolkit.createButton(buttonComp, TomcatUIPlugin.getResource("%editorRemove"), SWT.PUSH);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = 75;
-		remove.setLayoutData(data);
-		remove.setEnabled(false);
-		
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (index < 0)
-					return;
-				commandManager.executeCommand(new RemoveMimeMappingCommand(tomcatConfiguration, index));
-				index = -1;
-				edit.setEnabled(false);
-				remove.setEnabled(false);
-			}
-		});
-		WorkbenchHelp.setHelp(remove, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_REMOVE);
-		
-		initialize();
-	}
-	
-	public void dispose() {
-		if (serverConfiguration != null)
-			serverConfiguration.removePropertyChangeListener(listener);
-	}
-
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		if (serverConfiguration != null) {
-			tomcatConfiguration = (ITomcatConfigurationWorkingCopy) serverConfiguration.getWorkingCopyDelegate();
-			addChangeListener();
-		}
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (mimeTypes == null)
-			return;
-
-		mimeTypes.removeAll();
-		
-		mappings = tomcatConfiguration.getMimeMappings();
-		
-		// sort mappings
-		int size = mappings.size();
-		int[] map = new int[size];
-		for (int i = 0; i < size; i++)
-			map[i] = i;
-		
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				MimeMapping mappingA = (MimeMapping) mappings.get(map[i]);
-				MimeMapping mappingB = (MimeMapping) mappings.get(map[j]);
-				if (mappingA.getMimeType().compareTo(mappingB.getMimeType()) > 0 ||
-						((mappingA.getMimeType().equals(mappingB.getMimeType())) &&
-								mappingA.getExtension().compareTo(mappingB.getExtension()) > 0)) {
-					int temp = map[i];
-					map[i] = map[j];
-					map[j] = temp;
-				}
-			}
-		}
-		
-		// display them
-		Map hash = new HashMap();
-		
-		for (int i = 0; i < size; i++) {
-			MimeMapping mapping = (MimeMapping) mappings.get(map[i]);
-			// get parent node
-			TreeItem parent = (TreeItem) hash.get(mapping.getMimeType());
-			if (parent == null) {
-				parent = new TreeItem(mimeTypes, SWT.NONE);
-				parent.setText(mapping.getMimeType());
-				parent.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING));
-				hash.put(mapping.getMimeType(), parent);
-			}
-			
-			// add node
-			TreeItem item = new TreeItem(parent, SWT.NONE);
-			item.setText(mapping.getExtension());
-			item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION));
-			item.setData(new Integer(map[i]));
-		}
-		
-		if (readOnly) {
-			add.setEnabled(false);
-			edit.setEnabled(false);
-			remove.setEnabled(false);
-		} else {
-			add.setEnabled(true);
-			selectMimeMapping();
-		}
-	}
-	
-	protected void validate() {
-	}
-	
-	/**
-	 * Add a mime mapping.
-	 * 
-	 * @param index int
-	 * @param map org.eclipse.jst.server.tomcat.MimeMapping
-	 */
-	protected void addMimeMapping(int index2, MimeMapping map) {
-		mappings.add(index2, map);
-		
-		// correct all index numbers
-		int size = mimeTypes.getItemCount();
-		TreeItem[] parents = mimeTypes.getItems();
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			
-			int size2 = parent.getItemCount();
-			TreeItem[] children = parent.getItems();
-			for (int j = 0; j < size2; j++) {
-				Integer in = (Integer) children[j].getData();
-				if (in.intValue() >= index2)
-					children[j].setData(new Integer(in.intValue() + 1));
-			}
-		}
-		
-		// check if there is a parent. If so, just add a new child
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			if (parent.getText().equals(map.getMimeType())) {
-				TreeItem item = new TreeItem(parent, SWT.NONE);
-				item.setText(map.getExtension());
-				item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION));
-				item.setData(new Integer(index2));
-				mimeTypes.showItem(item);
-				return;
-			}
-		}
-		
-		// if not, add a new parent and child to the end
-		TreeItem parent = new TreeItem(mimeTypes, SWT.NONE);
-		parent.setText(map.getMimeType());
-		parent.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING));
-		
-		TreeItem item = new TreeItem(parent, SWT.NONE);
-		item.setText(map.getExtension());
-		item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION));
-		item.setData(new Integer(index2));
-		mimeTypes.showItem(item);
-	}
-	
-	/**
-	 * 
-	 * @param index int
-	 * @param map org.eclipse.jst.server.tomcat.MimeMapping
-	 */
-	protected void modifyMimeMapping(int index2, MimeMapping map) {
-		MimeMapping oldMap = (MimeMapping) mappings.get(index2);
-		mappings.set(index2, map);
-		
-		int size = mimeTypes.getItemCount();
-		TreeItem[] parents = mimeTypes.getItems();
-		
-		if (oldMap.getMimeType().equals(map.getMimeType())) {
-			for (int i = 0; i < size; i++) {
-				TreeItem parent = parents[i];
-				
-				if (parent.getText().equals(map.getMimeType())) {
-					int size2 = parent.getItemCount();
-					TreeItem[] children = parent.getItems();
-					for (int j = 0; j < size2; j++) {
-						Integer in = (Integer) children[j].getData();
-						if (in.intValue() == index2) {
-							children[j].setText(map.getExtension());
-							children[j].setData(new Integer(index2));
-							mimeTypes.showItem(children[j]);
-							return;
-						}
-					}
-				}
-			}
-			return;
-		}
-		
-		// otherwise, let's try a remove and an add
-		removeMimeMapping(index2);
-		addMimeMapping(index2, map);
-	}
-	
-	/**
-	 * Remove the mime mapping at the given index.
-	 * @param i int
-	 */
-	protected void removeMimeMapping(int index2) {
-		mappings.remove(index2);
-		
-		// remove item
-		int size = mimeTypes.getItemCount();
-		TreeItem[] parents = mimeTypes.getItems();
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			
-			int size2 = parent.getItemCount();
-			TreeItem[] children = parent.getItems();
-			for (int j = 0; j < size2; j++) {
-				Integer in = (Integer) children[j].getData();
-				if (in.intValue() == index2) {
-					children[j].dispose();
-					if (size2 == 1)
-						parent.dispose();
-					i += size;
-					j += size2;
-				}
-			}
-		}
-		
-		// correct all index numbers
-		size = mimeTypes.getItemCount();
-		parents = mimeTypes.getItems();
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			
-			int size2 = parent.getItemCount();
-			TreeItem[] children = parent.getItems();
-			for (int j = 0; j < size2; j++) {
-				Integer in = (Integer) children[j].getData();
-				if (in.intValue() > index2)
-					children[j].setData(new Integer(in.intValue() - 1));
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void selectMimeMapping() {
-		if (readOnly)
-			return;
-
-		try {
-			TreeItem item = mimeTypes.getSelection()[0];
-			Integer in = (Integer) item.getData();
-			index = in.intValue();
-			
-			remove.setEnabled(true);
-			edit.setEnabled(true);
-		} catch (Exception e) {
-			index = -1;
-			remove.setEnabled(false);
-			edit.setEnabled(false);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSectionFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSectionFactory.java
deleted file mode 100644
index e5cefe1..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSectionFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.*;
-/**
- *
- */
-public class ConfigurationMimeEditorSectionFactory implements IServerEditorPageSectionFactoryDelegate {
-	/*
-	 * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
-	 */
-	public boolean shouldCreateSection(IServer server, IServerConfiguration configuration) {
-		return (configuration != null);
-	}
-
-	/*
-	 * @see IServerEditorPartFactoryDelegate#createPage()
-	 */
-	public IServerEditorSection createSection() {
-		return new ConfigurationMimeEditorSection();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java
deleted file mode 100644
index 88d1e23..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.beans.*;
-import java.util.Iterator;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ServerPort;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.internal.command.*;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.WorkbenchHelp;
-/**
- * Tomcat configuration port editor page.
- */
-public class ConfigurationPortEditorSection extends ServerResourceEditorSection {
-	protected ITomcatConfigurationWorkingCopy tomcatConfiguration;
-
-	protected boolean updating;
-
-	protected Table ports;
-	protected TableViewer viewer;
-
-	protected PropertyChangeListener listener;
-
-	/**
-	 * ConfigurationPortEditorSection constructor comment.
-	 */
-	protected ConfigurationPortEditorSection() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (TomcatConfiguration.MODIFY_PORT_PROPERTY.equals(event.getPropertyName())) {
-					String id = (String) event.getOldValue();
-					Integer i = (Integer) event.getNewValue();
-					changePortNumber(id, i.intValue());
-				}
-			}
-		};
-		serverConfiguration.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * 
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	protected void changePortNumber(String id, int port) {
-		TableItem[] items = ports.getItems();
-		int size = items.length;
-		for (int i = 0; i < size; i++) {
-			IServerPort sp = (IServerPort) items[i].getData();
-			if (sp.getId().equals(id)) {
-				items[i].setData(new ServerPort(id, sp.getName(), port, sp.getProtocol()));
-				items[i].setText(1, port + "");
-				/*if (i == selection) {
-					selectPort();
-				}*/
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 *
-	 * @param parent the parent control
-	 */
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE|ExpandableComposite.EXPANDED|ExpandableComposite.TITLE_BAR|Section.DESCRIPTION|ExpandableComposite.FOCUS_TITLE);
-		section.setText(TomcatUIPlugin.getResource("%configurationEditorPortsSection"));
-		section.setDescription(TomcatUIPlugin.getResource("%configurationEditorPortsDescription"));
-		section.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		// ports
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 8;
-		layout.marginWidth = 8;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.FILL_HORIZONTAL));
-		WorkbenchHelp.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_PORTS);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-
-		ports = toolkit.createTable(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
-		ports.setHeaderVisible(true);
-		ports.setLinesVisible(true);
-		WorkbenchHelp.setHelp(ports, ContextIds.CONFIGURATION_EDITOR_PORTS_LIST);
-		
-		TableLayout tableLayout = new TableLayout();
-	
-		TableColumn col = new TableColumn(ports, SWT.NONE);
-		col.setText(TomcatUIPlugin.getResource("%configurationEditorPortNameColumn"));
-		ColumnWeightData colData = new ColumnWeightData(15, 150, true);
-		tableLayout.addColumnData(colData);
-
-		col = new TableColumn(ports, SWT.NONE);
-		col.setText(TomcatUIPlugin.getResource("%configurationEditorPortValueColumn"));
-		colData = new ColumnWeightData(8, 80, true);
-		tableLayout.addColumnData(colData);
-
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.widthHint = 230;
-		data.heightHint = 100;
-		ports.setLayoutData(data);
-		ports.setLayout(tableLayout);
-	
-		viewer = new TableViewer(ports);
-		viewer.setColumnProperties(new String[] {"name", "port"});
-
-		initialize();
-	}
-
-	protected void setupPortEditors() {
-		viewer.setCellEditors(new CellEditor[] {null, new TextCellEditor(ports)});
-	
-		ICellModifier cellModifier = new ICellModifier() {
-			public Object getValue(Object element, String property) {
-				IServerPort sp = (IServerPort) element;
-				return sp.getPort() + "";
-			}
-	
-			public boolean canModify(Object element, String property) {
-				if ("port".equals(property))
-					return true;
-				
-				return false;
-			}
-	
-			public void modify(Object element, String property, Object value) {
-				try {
-					Item item = (Item) element;
-					IServerPort sp = (IServerPort) item.getData();
-					int port = Integer.parseInt((String) value);
-					commandManager.executeCommand(new ModifyPortCommand(tomcatConfiguration, sp.getId(), port));
-				} catch (Exception ex) { }
-			}
-		};
-		viewer.setCellModifier(cellModifier);
-		
-		// preselect second column (Windows-only)
-		String os = System.getProperty("os.name");
-		if (os != null && os.toLowerCase().indexOf("win") >= 0) {
-			ports.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					try {
-						int n = ports.getSelectionIndex();
-						viewer.editElement(ports.getItem(n).getData(), 1);
-					} catch (Exception e) { }
-				}
-			});
-		}
-	}
-	
-	public void dispose() {
-		if (serverConfiguration != null)
-			serverConfiguration.removePropertyChangeListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 * <p>
-	 * Subclasses of <code>EditorPart</code> must implement this method.  Within
-	 * the implementation subclasses should verify that the input type is acceptable
-	 * and then save the site and input.  Here is sample code:
-	 * </p>
-	 * <pre>
-	 *		if (!(input instanceof IFileEditorInput))
-	 *			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
-	 *		setSite(site);
-	 *		setInput(editorInput);
-	 * </pre>
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		if (serverConfiguration != null) {
-			tomcatConfiguration = (ITomcatConfigurationWorkingCopy) serverConfiguration.getWorkingCopyDelegate();
-			addChangeListener();
-		}
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (ports == null)
-			return;
-
-		ports.removeAll();
-
-		Iterator iterator = tomcatConfiguration.getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			IServerPort port = (IServerPort) iterator.next();
-			TableItem item = new TableItem(ports, SWT.NONE);
-			String[] s = new String[] {port.getName(), port.getPort() + ""};
-			item.setText(s);
-			item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PORT));
-			item.setData(port);
-		}
-		
-		if (readOnly) {
-			viewer.setCellEditors(new CellEditor[] {null, null});
-			viewer.setCellModifier(null);
-		} else {
-			setupPortEditors();
-		}
-	}
-	
-	protected void validate() { }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSectionFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSectionFactory.java
deleted file mode 100644
index d95de26..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSectionFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.*;
-/**
- *
- */
-public class ConfigurationPortEditorSectionFactory implements IServerEditorPageSectionFactoryDelegate {
-	/*
-	 * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
-	 */
-	public boolean shouldCreateSection(IServer server, IServerConfiguration configuration) {
-		return (configuration != null);
-	}
-
-	/*
-	 * @see IServerEditorPartFactoryDelegate#createPage()
-	 */
-	public IServerEditorSection createSection() {
-		return new ConfigurationPortEditorSection();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorFactory.java
deleted file mode 100644
index aed4284..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartFactoryDelegate;
-/**
- *
- */
-public class ConfigurationWebModuleEditorFactory implements IServerEditorPartFactoryDelegate {
-	/*
-	 * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
-	 */
-	public boolean shouldCreatePage(IServer server, IServerConfiguration configuration) {
-		return (server != null && configuration != null);
-	}
-
-	/*
-	 * @see IServerEditorPartFactoryDelegate#createPage()
-	 */
-	public IEditorPart createPage() {
-		return new ConfigurationWebModuleEditorPart();
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java
deleted file mode 100644
index c7602ef..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java
+++ /dev/null
@@ -1,376 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.internal.command.AddWebModuleCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.ModifyWebModuleCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.RemoveWebModuleCommand;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.editor.ICommandManager;
-import org.eclipse.wst.server.ui.editor.ServerResourceEditorPart;
-/**
- * Tomcat configuration web module editor page.
- */
-public class ConfigurationWebModuleEditorPart extends ServerResourceEditorPart {
-	protected ITomcatServerWorkingCopy server2;
-	protected ITomcatConfigurationWorkingCopy configuration;
-
-	protected Table webAppTable;
-	protected int selection = -1;
-	protected Button addProject;
-	protected Button addExtProject;
-	protected Button remove;
-	protected Button edit;
-
-	protected PropertyChangeListener listener;
-
-	/**
-	 * ConfigurationWebModuleEditorPart constructor comment.
-	 */
-	protected ConfigurationWebModuleEditorPart() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (TomcatConfiguration.MODIFY_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) {
-					initialize();
-				} else if (TomcatConfiguration.ADD_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) {
-					initialize();
-				} else if (TomcatConfiguration.REMOVE_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) {
-					initialize();
-				}
-			}
-		};
-		serverConfiguration.addPropertyChangeListener(listener);
-	}
-	
-	protected ICommandManager getCommandManager() {
-		return commandManager;
-	}
-	
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 */
-	public void createPartControl(Composite parent) {
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-
-		ScrolledForm form = toolkit.createScrolledForm(parent);
-		form.setText(TomcatUIPlugin.getResource("%configurationEditorWebModulesPageTitle"));
-		form.getBody().setLayout(new GridLayout());
-	
-		Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TWISTIE|ExpandableComposite.EXPANDED|ExpandableComposite.TITLE_BAR|Section.DESCRIPTION|ExpandableComposite.FOCUS_TITLE);
-		section.setText(TomcatUIPlugin.getResource("%configurationEditorWebModulesSection"));
-		section.setDescription(TomcatUIPlugin.getResource("%configurationEditorWebModulesDescription"));
-		section.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		WorkbenchHelp.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_WEBMODULES);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		webAppTable = toolkit.createTable(composite, SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
-		webAppTable.setHeaderVisible(true);
-		webAppTable.setLinesVisible(true);
-		WorkbenchHelp.setHelp(webAppTable, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_LIST);
-		//toolkit.paintBordersFor(webAppTable);
-		
-		TableLayout tableLayout = new TableLayout();
-	
-		TableColumn col = new TableColumn(webAppTable, SWT.NONE);
-		col.setText(TomcatUIPlugin.getResource("%configurationEditorPathColumn"));
-		ColumnWeightData colData = new ColumnWeightData(8, 85, true);
-		tableLayout.addColumnData(colData);
-	
-		TableColumn col2 = new TableColumn(webAppTable, SWT.NONE);
-		col2.setText(TomcatUIPlugin.getResource("%configurationEditorDocBaseColumn"));
-		colData = new ColumnWeightData(13, 135, true);
-		tableLayout.addColumnData(colData);
-	
-		TableColumn col3 = new TableColumn(webAppTable, SWT.NONE);
-		col3.setText(TomcatUIPlugin.getResource("%configurationEditorProjectColumn"));
-		colData = new ColumnWeightData(8, 85, true);
-		tableLayout.addColumnData(colData);
-	
-		TableColumn col4 = new TableColumn(webAppTable, SWT.NONE);
-		col4.setText(TomcatUIPlugin.getResource("%configurationEditorReloadColumn"));
-		colData = new ColumnWeightData(7, 75, true);
-		tableLayout.addColumnData(colData);
-		
-		webAppTable.setLayout(tableLayout);
-	
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = 450;
-		data.heightHint = 120;
-		webAppTable.setLayoutData(data);
-		webAppTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectWebApp();
-			}
-		});
-	
-		Composite rightPanel = toolkit.createComposite(composite);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		rightPanel.setLayout(layout);
-		data = new GridData();
-		rightPanel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
-		//toolkit.paintBordersFor(rightPanel);
-	
-		// buttons still to add:
-		// add project, add external module, remove module
-		addProject = toolkit.createButton(rightPanel, TomcatUIPlugin.getResource("%configurationEditorAddProjectModule"), SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		addProject.setLayoutData(data);
-		WorkbenchHelp.setHelp(addProject, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_ADD_PROJECT);
-	
-		// disable the add project module button if there are no
-		// web projects in the workbench
-		if (!canAddWebModule())
-			addProject.setEnabled(false);
-		else {
-			addProject.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), server2, configuration, true);
-					dialog.open();
-					if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-						getCommandManager().executeCommand(new AddWebModuleCommand(configuration, dialog.getWebModule()));
-					}
-				}
-			});
-		}
-	
-		addExtProject = toolkit.createButton(rightPanel, TomcatUIPlugin.getResource("%configurationEditorAddExternalModule"), SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		addExtProject.setLayoutData(data);
-		addExtProject.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), server2, configuration, false);
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					getCommandManager().executeCommand(new AddWebModuleCommand(configuration, dialog.getWebModule()));
-				}
-			}
-		});
-		WorkbenchHelp.setHelp(addExtProject, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_ADD_EXTERNAL);
-		
-		edit = toolkit.createButton(rightPanel, TomcatUIPlugin.getResource("%editorEdit"), SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		edit.setLayoutData(data);
-		edit.setEnabled(false);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (selection < 0)
-					return;
-				WebModule module = (WebModule) configuration.getWebModules().get(selection);
-				WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), server2, configuration, module);
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					getCommandManager().executeCommand(new ModifyWebModuleCommand(configuration, selection, dialog.getWebModule()));
-				}
-			}
-		});
-		WorkbenchHelp.setHelp(edit, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_EDIT);
-	
-		remove = toolkit.createButton(rightPanel, TomcatUIPlugin.getResource("%editorRemove"), SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		remove.setLayoutData(data);
-		remove.setEnabled(false);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (selection < 0)
-					return;
-				getCommandManager().executeCommand(new RemoveWebModuleCommand(configuration, selection));
-				remove.setEnabled(false);
-				edit.setEnabled(false);
-				selection = -1;
-			}
-		});
-		WorkbenchHelp.setHelp(remove, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_REMOVE);
-
-		initialize();
-	}
-	
-	protected boolean canAddWebModule() {
-		Iterator iterator = ServerUtil.getModules("j2ee.web", "*", false).iterator();
-		while (iterator.hasNext()) {
-			Object module = iterator.next();
-			if (module instanceof IWebModule) {
-				IStatus status = server.canModifyModules(new IModule[] { (IWebModule) module }, null);
-				if (status != null && status.isOK())
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	public void dispose() {
-		if (serverConfiguration != null)
-			serverConfiguration.removePropertyChangeListener(listener);
-	}
-		
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 * <p>
-	 * Subclasses of <code>EditorPart</code> must implement this method.  Within
-	 * the implementation subclasses should verify that the input type is acceptable
-	 * and then save the site and input.  Here is sample code:
-	 * </p>
-	 * <pre>
-	 *		if (!(input instanceof IFileEditorInput))
-	 *			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
-	 *		setSite(site);
-	 *		setInput(editorInput);
-	 * </pre>
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		if (serverConfiguration != null) {
-			configuration = (ITomcatConfigurationWorkingCopy) serverConfiguration.getWorkingCopyDelegate();
-			addChangeListener();
-		}
-		
-		if (server != null) {
-			server2 = (ITomcatServerWorkingCopy) server.getWorkingCopyDelegate();
-		}
-		initialize();
-	}
-
-	/**
-	 * 
-	 */
-	protected void initialize() {
-		if (webAppTable == null)
-			return;
-
-		webAppTable.removeAll();
-	
-		List list = configuration.getWebModules();
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			WebModule module = (WebModule) iterator.next();
-			TableItem item = new TableItem(webAppTable, SWT.NONE);
-	
-			// FIX-ME
-			String memento = module.getMemento();
-			String projectName = "";
-			Image projectImage = null;
-			if (memento != null && memento.length() > 0) {
-				projectName = TomcatUIPlugin.getResource("%configurationEditorProjectMissing", new String[] {memento});
-				projectImage = TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PROJECT_MISSING);
-				int index = memento.indexOf(":");
-				if (index > 0) {
-					String factoryId = memento.substring(0, index);
-					String mem = memento.substring(index + 1);
-					projectName = TomcatUIPlugin.getResource("%configurationEditorProjectMissing", new String[] {mem});
-					IModule module2 = ServerUtil.getModule(factoryId, mem);
-					if (module != null) {
-						projectName = ServerUICore.getLabelProvider().getText(module2);
-						projectImage = ServerUICore.getLabelProvider().getImage(module2);
-					}
-				}
-			}
-	
-			String reload = module.isReloadable() ? TomcatUIPlugin.getResource("%configurationEditorReloadEnabled") : TomcatUIPlugin.getResource("%configurationEditorReloadDisabled");
-			String[] s = new String[] {module.getPath(), module.getDocumentBase(), projectName, reload};
-			item.setText(s);
-			item.setImage(0, TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_WEB_MODULE));
-			if (projectImage != null)
-				item.setImage(2, projectImage);
-		}
-		
-		if (readOnly) {
-			addProject.setEnabled(false);
-			addExtProject.setEnabled(false);
-			edit.setEnabled(false);
-			remove.setEnabled(false);
-		} else {
-			addProject.setEnabled(canAddWebModule());
-			addExtProject.setEnabled(true);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void selectWebApp() {
-		if (readOnly)
-			return;
-
-		try {
-			selection = webAppTable.getSelectionIndex();
-			remove.setEnabled(true);
-			edit.setEnabled(true);
-		} catch (Exception e) {
-			selection = -1;
-			remove.setEnabled(false);
-			edit.setEnabled(false);
-		}
-	}
-	
-	/**
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (webAppTable != null)
-			webAppTable.setFocus();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java
deleted file mode 100644
index 0725b8b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog to add or modify mime mappings.
- */
-public class MimeMappingDialog extends Dialog {
-	protected MimeMapping map;
-	protected boolean isEdit;
-
-	/**
-	 * MimeMappingDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	protected MimeMappingDialog(Shell parentShell) {
-		this(parentShell, new MimeMapping("", ""));
-		isEdit = false;
-	}
-
-	/**
-	 * SystemPropertyDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	protected MimeMappingDialog(Shell parentShell, MimeMapping map) {
-		super(parentShell);
-		this.map = map;
-		isEdit = true;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING));
-		if (isEdit)
-			newShell.setText(TomcatUIPlugin.getResource("%configurationEditorMimeMapppingDialogTitleEdit"));
-		else
-			newShell.setText(TomcatUIPlugin.getResource("%configurationEditorMimeMapppingDialogTitleAdd"));
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG);
-	
-		new Label(composite, SWT.NONE).setText(TomcatUIPlugin.getResource("%configurationEditorMimeMapppingDialogMimeType"));
-		final Text type = new Text(composite, SWT.BORDER);
-		GridData data = new GridData();
-		data.widthHint = 150;
-		type.setLayoutData(data);
-		type.setText(map.getMimeType());
-		type.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				map = new MimeMapping(map.getExtension(), type.getText());
-				validate();
-			}
-		});
-		WorkbenchHelp.setHelp(type, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG_TYPE);
-	
-		new Label(composite, SWT.NONE).setText(TomcatUIPlugin.getResource("%configurationEditorMimeMapppingDialogMimeExtension"));
-		final Text extension = new Text(composite, SWT.BORDER);
-		data = new GridData();
-		data.widthHint = 150;
-		extension.setLayoutData(data);
-		extension.setText(map.getExtension());
-		extension.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				map = new MimeMapping(extension.getText(), map.getMimeType());
-				validate();
-			}
-		});
-		WorkbenchHelp.setHelp(extension, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG_EXTENSION);
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-	
-	protected Control createButtonBar(Composite parent) {
-		Control control = super.createButtonBar(parent);
-		validate();
-
-		return control;
-	}
-
-	protected void validate() {
-		boolean ok = true;
-		if (map.getExtension() == null || map.getExtension().length() < 1)
-			ok = false;
-		if (map.getMimeType() == null || map.getMimeType().length() < 1)
-			ok = false;
-		getButton(IDialogConstants.OK_ID).setEnabled(ok);
-	}
-
-	/**
-	 * Return the mime mapping.
-	 *
-	 * @return org.eclipse.jst.server.tomcat.MimeMapping
-	 */
-	public MimeMapping getMimeMapping() {
-		return map;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java
deleted file mode 100644
index 693c52a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.jst.server.tomcat.core.ITomcatServer;
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetDebugModeCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetSecureCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetTestEnvironmentCommand;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.wst.server.ui.editor.*;
-/**
- * Tomcat server general editor page.
- */
-public class ServerGeneralEditorSection extends ServerResourceEditorSection {
-	protected ITomcatServerWorkingCopy tomcatServer;
-
-	protected Button secure;
-	protected Button debug;
-	protected Button testEnvironment;
-	protected boolean updating;
-
-	protected PropertyChangeListener listener;
-
-	/**
-	 * ServerGeneralEditorPart constructor comment.
-	 */
-	protected ServerGeneralEditorSection() { }
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (updating)
-					return;
-				updating = true;
-				if (ITomcatServer.PROPERTY_SECURE.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					ServerGeneralEditorSection.this.secure.setSelection(b.booleanValue());
-				} else if (ITomcatServer.PROPERTY_DEBUG.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					ServerGeneralEditorSection.this.debug.setSelection(b.booleanValue());
-				} else if (ITomcatServer.PROPERTY_TEST_ENVIRONMENT.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					ServerGeneralEditorSection.this.testEnvironment.setSelection(b.booleanValue());
-				}
-				updating = false;
-			}
-		};
-		server.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 *
-	 * @param parent the parent control
-	 */
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE|ExpandableComposite.EXPANDED|ExpandableComposite.TITLE_BAR|Section.DESCRIPTION|ExpandableComposite.FOCUS_TITLE);
-		section.setText(TomcatUIPlugin.getResource("%serverEditorGeneralSection"));
-		section.setDescription(TomcatUIPlugin.getResource("%serverEditorGeneralDescription"));
-		section.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		WorkbenchHelp.setHelp(composite, ContextIds.SERVER_EDITOR);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		// test environment
-		testEnvironment = toolkit.createButton(composite, TomcatUIPlugin.getResource("%serverEditorTestEnvironment"), SWT.CHECK);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		testEnvironment.setLayoutData(data);
-		testEnvironment.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (updating)
-					return;
-				updating = true;
-				commandManager.executeCommand(new SetTestEnvironmentCommand(tomcatServer, testEnvironment.getSelection()));
-				updating = false;
-			}
-		});
-		WorkbenchHelp.setHelp(testEnvironment, ContextIds.SERVER_EDITOR_TEST_ENVIRONMENT);
-
-		// security
-		secure = toolkit.createButton(composite, TomcatUIPlugin.getResource("%serverEditorSecure"), SWT.CHECK);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		secure.setLayoutData(data);
-		secure.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (updating)
-					return;
-				updating = true;
-				commandManager.executeCommand(new SetSecureCommand(tomcatServer, secure.getSelection()));
-				updating = false;
-			}
-		});
-		WorkbenchHelp.setHelp(secure, ContextIds.SERVER_EDITOR_SECURE);
-	
-		// debug mode
-		debug = toolkit.createButton(composite, TomcatUIPlugin.getResource("%serverEditorDebugMode"), SWT.CHECK);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		debug.setLayoutData(data);
-		debug.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (updating)
-					return;
-				updating = true;
-				commandManager.executeCommand(new SetDebugModeCommand(tomcatServer, debug.getSelection()));
-				updating = false;
-			}
-		});
-		WorkbenchHelp.setHelp(debug, ContextIds.SERVER_EDITOR_DEBUG_MODE);
-	
-		initialize();
-	}
-
-	public void dispose() {
-		if (server != null)
-			server.removePropertyChangeListener(listener);
-	}
-
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		if (server != null) {
-			tomcatServer = (ITomcatServerWorkingCopy) server.getWorkingCopyDelegate();
-			addChangeListener();
-		}
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (secure == null || tomcatServer == null)
-			return;
-		updating = true;
-
-		testEnvironment.setSelection(tomcatServer.isTestEnvironment());
-		secure.setSelection(tomcatServer.isSecure());
-		if (server.getRuntime() != null && server.getRuntime().getRuntimeType().getId().indexOf("32") >= 0 || readOnly)
-			debug.setEnabled(false);
-		else {
-			debug.setEnabled(true);
-			debug.setSelection(tomcatServer.isDebug());
-		}
-		
-		if (readOnly)
-			secure.setEnabled(false);
-		else
-			secure.setEnabled(true);
-		
-		updating = false;
-	}
-	
-	protected void validate() { }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSectionFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSectionFactory.java
deleted file mode 100644
index fb2c7f4..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSectionFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.*;
-/**
- *
- */
-public class ServerGeneralEditorSectionFactory implements IServerEditorPageSectionFactoryDelegate {
-	/*
-	 * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
-	 */
-	public boolean shouldCreateSection(IServer server, IServerConfiguration configuration) {
-		return (server != null && server.getServerType().getId().indexOf("tomcat") >= 0);
-	}
-
-	/*
-	 * @see IServerEditorPartFactoryDelegate#createPage()
-	 */
-	public IServerEditorSection createSection() {
-		return new ServerGeneralEditorSection();
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java
deleted file mode 100644
index 2c03fae..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.ITomcatServer;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.jst.server.tomcat.ui.internal.Trace;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.ServerUICore;
-/**
- * Dialog to add or modify web modules.
- */
-public class WebModuleDialog extends Dialog {
-	protected WebModule module;
-	protected boolean isEdit;
-	protected boolean isProject;
-	protected Text docBase;
-	protected ITomcatServer server;
-	protected ITomcatConfiguration config;
-
-	protected Table projTable;
-
-	/**
-	 * WebModuleDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	protected WebModuleDialog(Shell parentShell, ITomcatServer server, ITomcatConfiguration config, WebModule module) {
-		super(parentShell);
-		this.module = module;
-		this.server = server;
-		this.config = config;
-		isEdit = true;
-	}
-
-	/**
-	 * WebModuleDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	protected WebModuleDialog(Shell parentShell, ITomcatServer server, ITomcatConfiguration config, boolean isProject) {
-		this(parentShell, server, config, new WebModule("/", "", null, true));
-		isEdit = false;
-		this.isProject = isProject;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (isEdit)
-			newShell.setText(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogTitleEdit"));
-		else
-			newShell.setText(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogTitleAdd"));
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG);
-		// add project field if we are adding a project
-		if (!isEdit && isProject) {
-			Label l = new Label(composite, SWT.NONE);
-			l.setText(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogProjects"));
-			GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-			l.setLayoutData(data);
-			
-			projTable = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-			data = new GridData();
-			data.widthHint = 150;
-			data.heightHint = 75;
-			projTable.setLayoutData(data);
-			WorkbenchHelp.setHelp(projTable, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PROJECT);
-	
-			// fill table with web module projects
-			Iterator iterator = ServerUtil.getModules("j2ee.web", "*", false).iterator();
-			while (iterator.hasNext()) {
-				Object module3 = iterator.next();
-				if (module3 instanceof IWebModule) {
-					IWebModule module2 = (IWebModule) module3;
-					IStatus status = server.canModifyModules(new IModule[] { module2}, null);
-					if (status != null && status.isOK()) {
-						TableItem item = new TableItem(projTable, SWT.NONE);
-						item.setText(0, ServerUICore.getLabelProvider().getText(module2));
-						item.setImage(0, ServerUICore.getLabelProvider().getImage(module2));
-						item.setData(module2);
-					}
-				}
-			}
-			new Label(composite, SWT.NONE).setText(" ");
-		}
-	
-		new Label(composite, SWT.NONE).setText(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogDocumentBase"));
-		docBase = new Text(composite, SWT.BORDER);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		docBase.setLayoutData(data);
-		docBase.setText(module.getDocumentBase());
-		WorkbenchHelp.setHelp(docBase, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_DOCBASE);
-	
-		// disable document base for project modules
-		if (isProject || (module.getMemento() != null && module.getMemento().length() > 0))
-			docBase.setEnabled(false);
-		else {
-			docBase.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					module = new WebModule(module.getPath(), docBase.getText(), module.getMemento(), module.isReloadable());
-					validate();
-				}
-			});
-		}
-	
-		if (isEdit || isProject)
-			new Label(composite, SWT.NONE).setText(" ");
-		else {
-			Button browse = new Button(composite, SWT.NONE);
-			browse.setText(TomcatUIPlugin.getResource("%browse"));
-			browse.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent se) {
-					try {
-						DirectoryDialog dialog = new DirectoryDialog(getShell());
-						dialog.setMessage(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogSelectDirectory"));
-						String selectedDirectory = dialog.open();
-						if (selectedDirectory != null)
-							docBase.setText(selectedDirectory);
-					} catch (Exception e) {
-						Trace.trace("Error browsing", e);
-					}
-				}
-			});
-		}
-	
-		// path (context-root)
-		new Label(composite, SWT.NONE).setText(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogPath"));
-		final Text path = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = 150;
-		path.setLayoutData(data);
-		path.setText(module.getPath());
-		path.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				module = new WebModule(path.getText(), module.getDocumentBase(), module.getMemento(), module.isReloadable());
-			}
-		});
-		WorkbenchHelp.setHelp(path, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PATH);
-	
-		new Label(composite, SWT.NONE).setText("");
-		
-		// auto reload
-		new Label(composite, SWT.NONE).setText(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogAutoReload"));
-		final Button reloadable = new Button(composite, SWT.CHECK);
-		reloadable.setText(TomcatUIPlugin.getResource("%configurationEditorWebModuleDialogReloadEnabled"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		reloadable.setLayoutData(data);
-		reloadable.setSelection(module.isReloadable());
-		reloadable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				module = new WebModule(module.getPath(), module.getDocumentBase(), module.getMemento(), reloadable.getSelection());
-			}
-		});
-		WorkbenchHelp.setHelp(reloadable, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_RELOAD);
-	
-		if (!isEdit && isProject) {
-			projTable.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					try {
-						IWebModule module2 = (IWebModule) projTable.getSelection()[0].getData();
-						String contextRoot = module2.getContextRoot();
-						if (contextRoot != null && !contextRoot.startsWith("/"))
-							contextRoot = "/" + contextRoot;
-						module = new WebModule(contextRoot, module2.getLocation().toOSString(), module2.getFactoryId() + ":" + module2.getId(), module.isReloadable());
-						docBase.setText(module2.getLocation().toOSString());
-					} catch (Exception e) { }
-					validate();
-				}
-			});
-			new Label(composite, SWT.NONE).setText("");
-		}
-	
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-	
-	protected Control createButtonBar(Composite parent) {
-		Control control = super.createButtonBar(parent);
-		validate();
-
-		return control;
-	}
-
-	protected void validate() {
-		boolean ok = true;
-		if (module.getDocumentBase() == null || module.getDocumentBase().length() < 1)
-			ok = false;
-		
-		getButton(IDialogConstants.OK_ID).setEnabled(ok);
-	}
-
-	/**
-	 * Return the mime mapping.
-	 *
-	 * @return org.eclipse.jst.server.tomcat.WebModule
-	 */
-	public WebModule getWebModule() {
-		return module;
-	}
-}
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/.project b/plugins/org.eclipse.jst.server.ui/.project
deleted file mode 100644
index 34eb7e0..0000000
--- a/plugins/org.eclipse.jst.server.ui/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.ui</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.wst.server.core</project>
-		<project>org.eclipse.jst.server.core</project>
-		<project>org.eclipse.wst.server.ui</project>
-	</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/build.properties b/plugins/org.eclipse.jst.server.ui/build.properties
deleted file mode 100644
index d0e25d5..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,\
-               *.jar,\
-               plugin.properties,\
-               icons/,\
-               sjavaui.jar
-jars.compile.order = 
-src.includes = schema/,\
-               build.properties
-output.sjavaui.jar = bin/
-source.sjavaui.jar = 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/java_system_property.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/java_system_property.gif
deleted file mode 100644
index bc51b5e..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_system_property.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_var.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/java_var.gif
deleted file mode 100644
index ff42a74..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_var.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/plugin.properties b/plugins/org.eclipse.jst.server.ui/plugin.properties
deleted file mode 100644
index 044ec1c..0000000
--- a/plugins/org.eclipse.jst.server.ui/plugin.properties
+++ /dev/null
@@ -1,79 +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
-###############################################################################
-pluginName=Java Server UI Support
-providerName=IBM
-
-# --------------- Java UI ---------------
-
-javaSystemPropertiesTitle=System Properties
-javaSystemPropertiesDescription=Enter system properties (-D options) to be passed to the server.
-
-javaClasspathTitle=Class Path
-javaClasspathDescription=Change class path entries.
-
-javaPathTitle=Java Library Path
-javaPathDescription=Enter Java Library Path and choose one of the Path Options.
-javaPathValue=Java Library Path
-
-javaVMArgumentsTitle=Java VM Arguments
-javaVMArgumentsDescription=Enter arguments to the Java VM.
-
-javaAdd=Add...
-javaRemove=Remove
-javaEdit=Edit...
-javaDown=Down
-javaUp=Up
-javaBrowse=&Browse...
-
-javaSystemProperties=System Properties:
-javaSystemPropertyNameColumn=Name
-javaSystemPropertyValueColumn=Value
-javaSystemPropertyAddDialog=Add System Property
-javaSystemPropertyEditDialog=Edit System Property
-javaSystemPropertyName=&Name:
-javaSystemPropertyValue=&Value:
-
-javaClasspath=Class Path:
-javaAddExternalJar=Add External JARs...
-javaAddExternalJarDialog=Select JAR file
-javaAddExternalFolder=Add External Folder...
-javaAddExternalFolderDialog=Select Folder
-javaAddExternalFolderDialogMessage=Select a folder to add to the class path.
-javaAddFolder=Add Folder...
-javaAddFolderDialogTitle=Select Folder
-javaAddFolderDialogMessage=Select a folder to add to the class path.
-javaAddVariable=Add Variable...
-javaAddVariableDialogTitle=Add Class Path Variable
-javaAddVariableDialogName=&Variable Name:
-javaAddVariableDialogExtension=&Path Extension:
-javaAddVariableDialogResolved=Resolved Path:
-javaAddString=Add Path...
-javaAddStringDialogTitle=Add Class Path
-javaAddStringDialogPath=Path:
-javaAddStringDialogInvalidPath=The path must be absolute.
-javaEditStringDialogTitle=Edit Class Path
-
-javaPath=System Path:
-javaPathGroup=Path Option
-javaPathAppend=Append to system path
-javaPathPrepend=Prepend to system path
-javaPathReplace=Replace system path
-
-javaVMArguments=Java VM Arguments:
-
-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:
-runtimeTypeInstalledJREs=In&stalled JREs...
\ No newline at end of file
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 6ee0308..0000000
--- a/plugins/org.eclipse.jst.server.ui/plugin.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.jst.server.ui"
-  name="%pluginName"
-  version="3.0.0"
-  provider-name="%providerName"
-  class="org.eclipse.jst.server.internal.ui.JavaServerUIPlugin">
-
-<requires>
-  <import plugin="org.eclipse.core.runtime"/>
-  <import plugin="org.eclipse.core.resources"/>
-  <import plugin="org.eclipse.ui"/>
-  <import plugin="org.eclipse.ui.ide"/>
-  <import plugin="org.eclipse.ui.views"/>
-  <import plugin="org.eclipse.ui.editors"/>
-  <import plugin="org.eclipse.jdt.core"/>
-  <import plugin="org.eclipse.jdt.launching"/>
-  <import plugin="org.eclipse.wst.server.core"/>
-  <import plugin="org.eclipse.wst.server.ui"/>
-  <import plugin="org.eclipse.jst.server.core"/>
-</requires>
-
-  <runtime>
-    <library name="sjavaui.jar">
-      <export name="*"/>
-      <packages prefixes="org.eclipse.jst.server.ui"/>
-    </library>
-  </runtime>
-
-  <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.internal.ui.GenericRuntimeWizardFragment"/>
-  </extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ContextIds.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ContextIds.java
deleted file mode 100644
index 912c27f..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ContextIds.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jst.server.internal.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * 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/internal/ui/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeComposite.java
deleted file mode 100644
index 9b664c6..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeComposite.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package org.eclipse.jst.server.internal.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.IGenericRuntimeWorkingCopy;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-/**
- * 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;
-	protected int defaultVMIndex;
-
-	/**
-	 * GenericRuntimeComposite constructor comment.
-	 */
-	protected GenericRuntimeComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		
-		wizard.setTitle(JavaServerUIPlugin.getResource("%runtimeTypeTitle"));
-		wizard.setDescription(JavaServerUIPlugin.getResource("%runtimeTypeDescription"));
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_RUNTIME_TYPE));
-		
-		createControl();
-	}
-
-	protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
-		if (newRuntime == null) {
-			runtimeWC = null;
-			runtime = null;
-		} else {
-			runtimeWC = newRuntime;
-			runtime = (IGenericRuntimeWorkingCopy) newRuntime.getWorkingCopyDelegate();
-		}
-		
-		init();
-		validate();
-	}
-
-	/**
-	 * Provide a wizard page to change the Tomcat installation directory.
-	 *
-	 * @param parent the parent composite
-	 * @return the new control
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		WorkbenchHelp.setHelp(this, ContextIds.RUNTIME_TARGET_COMPOSITE);
-		
-		Label label = new Label(this, SWT.NONE);
-		label.setText(JavaServerUIPlugin.getResource("%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(JavaServerUIPlugin.getResource("%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, JavaServerUIPlugin.getResource("%browse"));
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(GenericRuntimeComposite.this.getShell());
-				dialog.setMessage(JavaServerUIPlugin.getResource("%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(JavaServerUIPlugin.getResource("%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 = (IVMInstall) installedJREs.get(sel);
-				runtime.setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-				validate();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		Button button = SWTUtil.createButton(this, JavaServerUIPlugin.getResource("%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(defaultVMIndex);
-				}
-			}
-		});
-		
-		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];
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i] = vmInstall.getName();
-		}
-		
-		IVMInstall defaultVM = JavaRuntime.getDefaultVMInstall();
-		defaultVMIndex = installedJREs.indexOf(defaultVM);
-	}
-
-	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
-		boolean found = false;
-		int size = installedJREs.size();
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			if (vmInstall.getVMInstallType().getId().equals(runtime.getVMInstallTypeId())
-					&& vmInstall.getId().equals(runtime.getVMInstallId())) {
-				combo.select(i);
-				found = true;
-			}
-		}
-		if (!found)
-			combo.select(defaultVMIndex);
-	}
-
-	protected void validate() {
-		if (runtime == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-
-		IStatus status = runtime.validate();
-		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/internal/ui/GenericRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeWizardFragment.java
deleted file mode 100644
index 0a522ca..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeWizardFragment.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jst.server.internal.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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;
-	
-	public GenericRuntimeWizardFragment() { }
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new GenericRuntimeComposite(parent, wizard);
-		return comp;
-	}
-
-	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-		
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate();
-		return (status != null && status.isOK());
-	}
-
-	public void enter() {
-		if (comp != null) {
-			IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.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/internal/ui/ImageResource.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ImageResource.java
deleted file mode 100644
index 5540d8e..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ImageResource.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.eclipse.jst.server.internal.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * 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_OBJ = "obj16/";
-	private static final String URL_WIZBAN = "wizban/";
-
-	// Java images
-	public static final String IMG_JAVA_CLASSPATH_JAR = "classpathJar";
-	public static final String IMG_JAVA_CLASSPATH_VAR = "classpathVar";
-	public static final String IMG_JAVA_SYSTEM_PROPERTY = "systemProperty";
-	public static final String IMG_RUNTIME_TYPE = "runtimeType";
-
-	/**
-	 * Cannot construct an ImageResource. Use static methods only.
-	 */
-	private ImageResource() {}
-
-	/**
-	 * Dispose of element images that were created.
-	 */
-	protected static void dispose() {
-		try {
-			Trace.trace("Disposing of element images");
-			Iterator iterator = elementImages.values().iterator();
-			while (iterator.hasNext()) {
-				Image image = (Image) iterator.next();
-				image.dispose();
-			}
-		} catch (Exception e) {
-			Trace.trace("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();
-	
-		// Java images
-		registerImage(IMG_JAVA_SYSTEM_PROPERTY, URL_OBJ + "java_system_property.gif");
-		registerImage(IMG_JAVA_CLASSPATH_JAR, URL_OBJ + "java_jar.gif");
-		registerImage(IMG_JAVA_CLASSPATH_VAR, URL_OBJ + "java_var.gif");
-		registerImage(IMG_RUNTIME_TYPE, URL_WIZBAN + "new_runtime_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("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/internal/ui/JavaServerUIPlugin.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/JavaServerUIPlugin.java
deleted file mode 100644
index 77a8179..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/JavaServerUIPlugin.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jst.server.internal.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * The main server tooling plugin class.
- */
-public class JavaServerUIPlugin extends AbstractUIPlugin {
-	// server java 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;
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key) {
-		try {
-			return Platform.getResourceString(getInstance().getBundle(), key);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arguments java.lang.Object[]
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, Object[] arguments) {
-		try {
-			String text = getResource(key);
-			return MessageFormat.format(text, arguments);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/SWTUtil.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/SWTUtil.java
deleted file mode 100644
index 3bac0f8..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/SWTUtil.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.jst.server.internal.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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);
-	}
-
-	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);
-		data.heightHint = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-		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/internal/ui/Trace.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/Trace.java
deleted file mode 100644
index f0f9885..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/Trace.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jst.server.internal.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * 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 s java.lang.String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!JavaServerUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(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/AddClasspathVariableDialog.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/AddClasspathVariableDialog.java
deleted file mode 100644
index e711b8f..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/AddClasspathVariableDialog.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.internal.ui.ContextIds;
-import org.eclipse.jst.server.internal.ui.JavaServerUIPlugin;
-import org.eclipse.jst.server.internal.ui.Trace;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog to add a Java classpath variable entry.
- */
-public class AddClasspathVariableDialog extends Dialog {
-	protected IClasspathEntry entry;
-
-	protected Combo variableCombo;
-	protected Text extension;
-	protected CLabel resolvedPath;
-
-	/**
-	 * AddClasspathVariableDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public AddClasspathVariableDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	
-	/**
-	 * AddClasspathVariableDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public AddClasspathVariableDialog(Shell parentShell, IClasspathEntry entry) {
-		super(parentShell);
-		this.entry = entry;
-	}
-
-	/**
-	 * Notifies that the cancel button of this dialog has been pressed.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method sets
-	 * this dialog's return code to <code>Window.CANCEL</code>
-	 * and closes the dialog. Subclasses may override if desired.
-	 * </p>
-	 */
-	protected void cancelPressed() {
-		entry = null;
-		super.cancelPressed();
-	}
-
-	protected IPath chooseExternalJarFile(Shell shell, String initialPath) {
-		FileDialog dialog = new FileDialog(shell, SWT.SINGLE);
-		dialog.setText(JavaServerUIPlugin.getResource("%javaAddExternalJarDialog"));
-		dialog.setFilterExtensions(new String[] {"*.jar;*.zip"});
-		dialog.setFilterPath(initialPath);
-		String res = dialog.open();
-	
-		if (res != null)
-			return new Path(res).makeAbsolute();
-	
-		return null;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(JavaServerUIPlugin.getResource("%javaAddVariableDialogTitle"));
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(composite, ContextIds.JAVA_CLASSPATH_VARIABLE_DIALOG);
-	
-		new Label(composite, SWT.NONE).setText(JavaServerUIPlugin.getResource("%javaAddVariableDialogName"));
-	
-		variableCombo = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY);
-		String[] variables = JavaCore.getClasspathVariableNames();
-		variableCombo.setItems(variables);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = 200;
-		variableCombo.setLayoutData(data);
-		variableCombo.select(0);
-		WorkbenchHelp.setHelp(composite, ContextIds.JAVA_CLASSPATH_VARIABLE_DIALOG_VARIABLE);
-	
-		new Label(composite, SWT.NONE).setText("");
-	
-		new Label(composite, SWT.NONE).setText(JavaServerUIPlugin.getResource("%javaAddVariableDialogExtension"));
-		extension = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		extension.setLayoutData(data);
-		WorkbenchHelp.setHelp(composite, ContextIds.JAVA_CLASSPATH_VARIABLE_DIALOG_EXTENSION);
-	
-		Button browse = new Button(composite, SWT.NONE);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		browse.setLayoutData(data);
-		browse.setText(JavaServerUIPlugin.getResource("%javaBrowse"));
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String initialPath = null;
-				String text = variableCombo.getText();
-				IPath varPath = new Path(text);
-				IPath resolved = JavaCore.getResolvedVariablePath(varPath);
-				if (resolved != null)
-					initialPath = resolved.toOSString();
-	
-				IPath path = chooseExternalJarFile(getShell(), initialPath);
-				if (path != null) {
-					if (resolved != null && resolved.isPrefixOf(path)) {
-						path = path.removeFirstSegments(resolved.segmentCount());
-						path = path.setDevice(null);
-					}
-					extension.setText(path.toString());
-				}
-			}
-		});
-		WorkbenchHelp.setHelp(composite, ContextIds.JAVA_CLASSPATH_VARIABLE_DIALOG_EXTENSION_BROWSE);
-	
-		new Label(composite, SWT.NONE).setText(JavaServerUIPlugin.getResource("%javaAddVariableDialogResolved"));
-	
-		resolvedPath = new CLabel(composite, SWT.NONE);
-		resolvedPath.setText("");
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		resolvedPath.setLayoutData(data);
-	
-		if (entry != null) {
-			String var = entry.getPath().segment(0);
-			int size = variables.length;
-			for (int i = 0; i < size; i++) {
-				if (variables[i].equals(var))
-					variableCombo.select(i);
-			}
-			
-			String rest = entry.getPath().removeFirstSegments(1).toString();
-			extension.setText(rest);
-		}
-		
-		variableCombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				handleSelection();
-			}
-		});
-		extension.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				handleSelection();
-			}
-		});
-
-		handleSelection();
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-
-	/**
-	 * Return the classpath entry.
-	 *
-	 * @return 
-	 */
-	public IClasspathEntry getClasspathEntry() {
-		return entry;
-	}
-
-	/**
-	 * 
-	 */
-	protected void handleSelection() {
-		try {
-			int index = variableCombo.getSelectionIndex();
-			String var = variableCombo.getItem(index);
-	
-			String path = extension.getText();
-			if (path != null && !path.startsWith("/"))
-				path = "/" + path;
-	
-			entry = JavaCore.newVariableEntry(new Path(var + path), null, null);
-	
-			IPath resolved = JavaCore.getResolvedVariablePath(new Path(var + path));
-			if (resolved == null)
-				resolvedPath.setText("");
-			else
-				resolvedPath.setText(resolved.toString());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "JavaUI selection error", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IClasspathEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IClasspathEditor.java
deleted file mode 100644
index 2829c13..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IClasspathEditor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jdt.core.IClasspathEntry;
-/**
- * An generic interface for modifying the classpath of a Java server.
- * Can be used to implement the command pattern between the editor and
- * the server.
- */
-public interface IClasspathEditor {
-	/**
-	 * Add classpath entries to the server.
-	 *
-	 * @param entries org.eclipse.jdt.core.IClasspathEntry[]
-	 */
-	public void addClasspathEntries(IClasspathEntry[] entries);
-
-	/**
-	 * Edit a classpath entry on the server.
-	 *
-	 * @param entries org.eclipse.jdt.core.IClasspathEntry[]
-	 */
-	public void editClasspathEntry(int i, IClasspathEntry entry);
-
-	/**
-	 * Remove a classpath entry from the server.
-	 *
-	 * @param entry org.eclipse.jdt.core.IClasspathEntry
-	 */
-	public void removeClasspathEntry(IClasspathEntry entry);
-
-	/**
-	 * Swap two classpath entries in the server.
-	 *
-	 * @param i int
-	 * @param j int
-	 */
-	public void swapClasspathEntries(int i, int j);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IPathEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IPathEditor.java
deleted file mode 100644
index 64be48d..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IPathEditor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * An generic interface for modifying the path of a Java server. Can be used
- * to implement the command pattern between the editor and the server.
- */
-public interface IPathEditor {
-	/**
-	 * Set the system path for this server.
-	 *
-	 * @param s java.lang.String
-	 */
-	public void setPath(String s);
-
-	/**
-	 * Set the system path type for this server.
-	 *
-	 * @param t int
-	 */
-	public void setPathType(int t);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/ISystemPropertyEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/ISystemPropertyEditor.java
deleted file mode 100644
index 1e10909..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/ISystemPropertyEditor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.core.SystemProperty;
-/**
- * An generic interface for modifying the system properties of
- * a Java server. Can be used to implement the command
- * pattern between the editor and the server.
- */
-public interface ISystemPropertyEditor {
-	/**
-	 * Add a system property to the server.
-	 *
-	 * @param property org.eclipse.jst.server.ui.SystemProperty
-	 */
-	public void addSystemProperty(SystemProperty property);
-
-	/**
-	 * Edit a system property on the server.
-	 *
-	 * @param oldProperty org.eclipse.jst.server.ui.SystemProperty
-	 * @param newProperty org.eclipse.jst.server.ui.SystemProperty
-	 */
-	public void modifySystemProperty(SystemProperty oldProperty, SystemProperty newProperty);
-
-	/**
-	 * Remove a system property from the server.
-	 *
-	 * @param property org.eclipse.jst.server.ui.SystemProperty
-	 */
-	public void removeSystemProperty(SystemProperty property);
-}
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IVMArgumentEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IVMArgumentEditor.java
deleted file mode 100644
index 6542dfa..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IVMArgumentEditor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * An generic interface for modifying the VM arguments of a Java
- * server. Can be used to implement the command
- * pattern between the editor and the server.
- */
-public interface IVMArgumentEditor {
-	/**
-	 * Set the VM arguments for this server.
-	 *
-	 * @param s java.lang.String[]
-	 */
-	public void setVMArguments(String[] s);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaContextIds.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaContextIds.java
deleted file mode 100644
index 1ca57fc..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaContextIds.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.internal.ui.ContextIds;
-/**
- * Java Context Ids
- */
-public interface JavaContextIds extends ContextIds {
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaImages.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaImages.java
deleted file mode 100644
index 944eacb..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaImages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.server.internal.ui.ImageResource;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * 
- */
-public class JavaImages {
-	// Java images
-	public static final String IMG_JAVA_CLASSPATH_JAR = ImageResource.IMG_JAVA_CLASSPATH_JAR;
-	public static final String IMG_JAVA_CLASSPATH_VAR = ImageResource.IMG_JAVA_CLASSPATH_JAR;
-	public static final String IMG_JAVA_SYSTEM_PROPERTY = ImageResource.IMG_JAVA_CLASSPATH_JAR;
-
-	/**
-	 * Return the image with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.swt.graphics.Image
-	 */
-	public static Image getImage(String key) {
-		return ImageResource.getImage(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) {
-		return ImageResource.getImageDescriptor(key);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaResources.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaResources.java
deleted file mode 100644
index 38eb5ee..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaResources.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jst.server.internal.ui.JavaServerUIPlugin;
-/**
- * 
- */
-public class JavaResources {
-	/**
-	 * Returns the translated String found with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key) {
-		return JavaServerUIPlugin.getResource(key);
-	}
-	
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arguments java.lang.Object[]
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, Object[] arguments) {
-		return JavaServerUIPlugin.getResource(key, arguments);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/StringClasspathDialog.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/StringClasspathDialog.java
deleted file mode 100644
index ef8e08f..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/StringClasspathDialog.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.internal.ui.ContextIds;
-import org.eclipse.jst.server.internal.ui.JavaServerUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog to add a string classpath.
- */
-public class StringClasspathDialog extends Dialog {
-	protected String cp;
-	protected Button okay;
-	protected boolean isForceAbsolutePath = true;
-	protected boolean isEdit;
-	
-	/**
-	 * SystemPropertyDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public StringClasspathDialog(Shell parentShell) {
-		this(parentShell, "");
-		isEdit = false;
-	}
-	
-	public StringClasspathDialog(Shell parentShell, boolean curIsForceAbsolutePath) {
-		this(parentShell);
-		isForceAbsolutePath = curIsForceAbsolutePath;
-	}
-	
-	/**
-	 * SystemPropertyDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public StringClasspathDialog(Shell parentShell, String cp) {
-		super(parentShell);
-		this.cp = cp;
-		isEdit = true;
-	}
-
-	/**
-	 * Notifies that the cancel button of this dialog has been pressed.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method sets
-	 * this dialog's return code to <code>Window.CANCEL</code>
-	 * and closes the dialog. Subclasses may override if desired.
-	 * </p>
-	 */
-	protected void cancelPressed() {
-		cp = null;
-		super.cancelPressed();
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (isEdit)
-			newShell.setText(JavaServerUIPlugin.getResource("%javaEditStringDialogTitle"));
-		else 
-		    newShell.setText(JavaServerUIPlugin.getResource("%javaAddStringDialogTitle"));
-	}
-
-	/**
-	 * Adds buttons to this dialog's button bar.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method adds 
-	 * standard ok and cancel buttons using the <code>createButton</code>
-	 * framework method. Subclasses may override.
-	 * </p>
-	 *
-	 * @param parent the button bar composite
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		okay = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		okay.setEnabled(false);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(composite, ContextIds.JAVA_CLASSPATH_STRING_DIALOG);
-	
-		new Label(composite, SWT.NONE).setText(JavaServerUIPlugin.getResource("%javaAddStringDialogPath"));
-		final Text nameText = new Text(composite, SWT.BORDER);
-		GridData data = new GridData();
-		data.widthHint = 225;
-		nameText.setLayoutData(data);
-		nameText.setText(cp);
-	
-		final Label invalid = new Label(composite, SWT.NONE);
-		invalid.setText("");
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		invalid.setLayoutData(data);
-	
-		nameText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				cp = nameText.getText();
-	
-				IPath path = new Path(cp);
-				if (cp != null && cp.length() == 0) {
-					invalid.setText("");
-					okay.setEnabled(false);
-				} else if (!path.isAbsolute() && isForceAbsolutePath) {
-					invalid.setText(JavaServerUIPlugin.getResource("%javaAddStringDialogInvalidPath"));
-					okay.setEnabled(false);
-				} else {
-					invalid.setText("");
-					okay.setEnabled(true);
-				}
-			}
-		});
-		WorkbenchHelp.setHelp(nameText, ContextIds.JAVA_CLASSPATH_STRING_DIALOG_PATH);
-
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-
-	/**
-	 * Return the classpath.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getClasspath() {
-		return cp;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/SystemPropertyDialog.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/SystemPropertyDialog.java
deleted file mode 100644
index 51d33ac..0000000
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/SystemPropertyDialog.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package org.eclipse.jst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.core.SystemProperty;
-import org.eclipse.jst.server.internal.ui.ContextIds;
-import org.eclipse.jst.server.internal.ui.JavaServerUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog to add or modify system properties.
- */
-public class SystemPropertyDialog extends Dialog {
-	protected SystemProperty sp;
-	protected boolean isEdit;
-	
-	protected Text nameText;
-	protected Text valueText;
-	
-	private Button okButton;
-	
-	/**
-	 * SystemPropertyDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public SystemPropertyDialog(Shell parentShell) {
-		this(parentShell, new SystemProperty("", ""));
-		isEdit = false;
-	}
-
-	/**
-	 * SystemPropertyDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public SystemPropertyDialog(Shell parentShell, SystemProperty sp) {
-		super(parentShell);
-		this.sp = sp;
-		isEdit = true;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (isEdit)
-			newShell.setText(JavaServerUIPlugin.getResource("%javaSystemPropertyEditDialog"));
-		else
-			newShell.setText(JavaServerUIPlugin.getResource("%javaSystemPropertyAddDialog"));
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(composite, ContextIds.JAVA_SYSTEM_PROPERTY_DIALOG);
-	
-		new Label(composite, SWT.NONE).setText(JavaServerUIPlugin.getResource("%javaSystemPropertyName"));
-		nameText = new Text(composite, SWT.BORDER);
-		GridData data = new GridData();
-		data.widthHint = 200;
-		nameText.setLayoutData(data);
-		nameText.setText(sp.getName());
-		nameText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				sp = new SystemProperty(nameText.getText(), sp.getValue());
-				validateFields();
-			}
-		});
-		WorkbenchHelp.setHelp(nameText, ContextIds.JAVA_SYSTEM_PROPERTY_DIALOG_NAME);
-	
-		new Label(composite, SWT.NONE).setText(JavaServerUIPlugin.getResource("%javaSystemPropertyValue"));
-		valueText = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		valueText.setLayoutData(data);
-		valueText.setText(sp.getValue());
-		valueText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				sp = new SystemProperty(sp.getName(), valueText.getText());
-				validateFields();
-			}
-		});
-		WorkbenchHelp.setHelp(valueText, ContextIds.JAVA_SYSTEM_PROPERTY_DIALOG_VALUE);
-	
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-
-	/**
-	 * Return the system property.
-	 *
-	 * @return org.eclipse.jst.server.ui.SystemProperty
-	 */
-	public SystemProperty getSystemProperty() {
-		return sp;
-	}
-
-	/**
-	 * Initialize the Ok button
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */	
-	protected Control createButtonBar(Composite parent) {
-		Control buttonControl = super.createButtonBar(parent);
-		// Initialize the ok button state after the ok button is created.
-		validateFields();
-
-		return buttonControl;
-	}
-
-	/**
-	 * Enable Ok button
-	 *
-	 * @param boolean value used to enable Ok button
-	 */
-	private void setOkButtonEnabled(boolean curIsEnabled) {
-		if (okButton == null) {
-			okButton = getButton(IDialogConstants.OK_ID);
-		}
-		if (okButton != null) {
-			okButton.setEnabled(curIsEnabled);
-		}
-	}
-
-	/**
-	 * Enables the Ok button for the required fields that require a value
-	 *
-	 */
-	protected void validateFields() {
-		boolean result = true;
-
-		if (nameText != null) {
-			String curName = nameText.getText();
-			result &= (curName != null && curName.length() > 0);
-		}
-
-		setOkButtonEnabled(result);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/.classpath b/plugins/org.eclipse.wst.server.core/.classpath
deleted file mode 100644
index cf5d302..0000000
--- a/plugins/org.eclipse.wst.server.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="servercore/"/>
-	<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.server.core/.cvsignore b/plugins/org.eclipse.wst.server.core/.cvsignore
deleted file mode 100644
index dd71f75..0000000
--- a/plugins/org.eclipse.wst.server.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-temp.folder
-build.xml
-servercore.jar
-org.eclipse.wst.server.core_3.0.0.jar
diff --git a/plugins/org.eclipse.wst.server.core/.options b/plugins/org.eclipse.wst.server.core/.options
deleted file mode 100644
index 3f8479c..0000000
--- a/plugins/org.eclipse.wst.server.core/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-# Debugging options for the org.eclipse.wst.server.core plugin
-
-# Turn on general debugging
-org.eclipse.wst.server.core/debug=false
-
-# Prints out values
-org.eclipse.wst.server.core/resources=false
diff --git a/plugins/org.eclipse.wst.server.core/.project b/plugins/org.eclipse.wst.server.core/.project
deleted file mode 100644
index bf1e7ef..0000000
--- a/plugins/org.eclipse.wst.server.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.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.wst.server.core/build.properties b/plugins/org.eclipse.wst.server.core/build.properties
deleted file mode 100644
index a3c08db..0000000
--- a/plugins/org.eclipse.wst.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,\
-               *.jar,\
-               plugin.properties,\
-               servercore.jar,\
-               .options
-jars.compile.order = 
-src.includes = schema/,\
-               build.properties
-source.servercore.jar = servercore/
-output.servercore.jar = bin/
diff --git a/plugins/org.eclipse.wst.server.core/plugin.properties b/plugins/org.eclipse.wst.server.core/plugin.properties
deleted file mode 100644
index 220b2be..0000000
--- a/plugins/org.eclipse.wst.server.core/plugin.properties
+++ /dev/null
@@ -1,151 +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
-###############################################################################
-pluginName=Server Core
-providerName=IBM
-
-extensionPointServerStartup=Server Startup
-extensionPointModuleKinds=Module Types
-extensionPointRuntimeTypes=Runtime Types
-extensionPointRuntimeTargetHandler=Runtime Target Handler
-extensionPointRuntimeLocator=Runtime Locator
-extensionPointServerTypes=Server Types
-extensionPointServerConfigurationTypes=Server Configuration Types
-extensionPointServerLocator=Server Locator
-extensionPointPublishManager=Publish Manager
-extensionPointModuleFactories=Module Factories
-extensionPointModuleObjectAdapters=Module Object Adapters
-extensionPointLaunchableAdapters=Launchable Adapters
-extensionPointClients=Clients
-extensionPointServerTasks=Server Tasks
-extensionPointModuleTasks=Module Tasks
-extensionPointServerMonitors=Server Monitors
-
-# --------------- Tasks (progress monitors) ---------------
-
-# Creating default server and server configuration
-createServerProjectTask=Creating server project.
-createDefaultServerTask=Creating server.
-createDefaultServerConfigurationTask=Creating server configuration.
-
-# Modifying and searching for servers
-setServerConfigurationTask=Setting the configuration of {0} to {1}...
-removingServerConfigurationTask=Removing the configuration from {0}...
-getDefaultServerTask=Searching for a default server...
-getProjectServerInstanceTask=Locating a server...
-
-configurationUpdateOk=Server configuration updated successfully.
-serverUpdateOk=Server updated sucessfully.
-
-# General tasks
-copyingTask=Copying from {0} to {1}
-unZippingTask=Unzipping {0}
-expandingTask=Expanding {0}
-savingTask=Saving {0}
-deletingTask=Deleting {0}
-loadingTask=Loading {0}
-copyingTask=File copied successfully to {0}
-
-taskCancelled=Operation cancelled.
-taskPerforming=Performing Tasks
-taskPublishing=Publishing: {0}
-taskStarting=Starting {0}
-taskModifyModules=Adding and/or removing projects.
-
-publishingTask=Publishing to {0}...
-publishingStatus=Publishing status
-publishingStart=Connecting to server
-publishingStop=Disconnecting from server
-
-publishingPublishFolder=Creating folder {0}
-publishingPublishFile=Publishing {0}
-publishingDeleteFolder=Removing folder {0}
-publishingDeleteFile=Deleting {0}
-publishingProject=Publishing: {0}
-publishingConfiguration=Publishing configuration: {0}
-
-publishingCancelled=Publishing cancelled
-
-# --------------- Misc UI ---------------
-
-# Server launch configuration
-serverLaunchConfigurationType=Server
-
-# Server builder
-builderName=Server Builder
-
-# Server project nature
-serverProjectNatureTitle=Server Project
-
-# Error Messages
-errorUnconfiguredServer=Unable to run the server because it does not have a valid configuration.
-errorCloseEditor=The action could not be completed because there is an open editor. Close the {0} editor and try again.
-errorNull=Could not perform the action on a null object.
-errorLaunch=Cannot start the server.
-errorInvalidServer=The server is not valid.
-errorServerAlreadyRunning=Cannot start the server because it is already running.
-errorServerStartFailed=The server named {0} did not start correctly. Check the Console for error messages.
-errorPublishing=Could not publish to the server.
-errorNoConfiguration=The server has no configuration.
-errorPublishFailed=Errors occurred during publishing.
-errorRunOnServer=Running resource on server.
-errorRunOnServerFailed=Unable to run on server.
-errorLoading=Error loading from {0}.
-errorSaving=Could not save to {0}.
-errorMissingConfiguration=Server configuration is missing - See Task view
-errorMissingConfigurationTask=Server {0} is missing it's configuration.
-errorMissingProject=Project {0} is missing - See Task view
-errorMissingProjectTask=Server configuration {0} refers to a missing project {1}.
-errorCopyingFile=Error copying file to {0}: {1}
-errorModifyingConfiguration=Error modifying server configuration: {0}.
-errorModifyingServer=Error modifying server: {0}.
-errorCouldNotCreateServerProject=Could not create server project.
-errorCouldNotCreateServerProjectStatus=Could not create server project: {0}.
-errorNoDefaultServer=A default server could not be automatically created.
-errorNoDefaultServerParent=Could not find anything to deploy to the default server.
-errorDefaultServerInvalid=Could not deploy to the default server.
-errorModuleRestartFailed=Could not restart the module.
-
-errorConfigurationUpdate=Could not update the server configuration: {0}
-errorServerUpdate=Could not update the server: {0}
-
-# Info messages
-serverProjectCreated=Server project created successfully.
-infoNoPublishingNecessary=Publishing was not necessary.
-infoPublishSuccess=Published finished successfully.
-
-# Default server creation names
-# {0} will be replaced by a number if the given name is already being used
-defaultServerProjectName=Servers{0}
-defaultRuntimeName={0}
-defaultRuntimeName2={0} ({1})
-defaultServerName={0} @ {1}
-defaultServerName2={0} @ {1} ({2})
-defaultServerName3={0}
-defaultServerName4={0} ({1})
-defaultServerConfigurationName={0}
-defaultServerConfigurationName2={0} ({1})
-
-# Used when a name can't be found
-elementUnknownName=<unknown>
-defaultVendor=Basic
-defaultVersion=Basic
-defaultCategory=Basic
-moduleTypeUnknown=Unknown module
-
-# Publishers
-publisherFullName=Publish all
-publisherFullDescription=Publishes all resources to the server, regardless of whether they have changed. No resources are deleted from the server.
-publisherSmartName=Smart publish
-publisherSmartDescription=Intelligently publishes only modified resources to the server. Deletes all resources that no longer exist in the workspace.
-
-# null launchable
-nullLaunchableClient=Do nothing
-nullLaunchableClientDescription=Do not launch anything after starting the server.
diff --git a/plugins/org.eclipse.wst.server.core/plugin.xml b/plugins/org.eclipse.wst.server.core/plugin.xml
deleted file mode 100644
index 2a8b426..0000000
--- a/plugins/org.eclipse.wst.server.core/plugin.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.wst.server.core"
-  name="%pluginName"
-  version="3.0.0"
-  provider-name="%providerName"
-  class="org.eclipse.wst.server.core.internal.ServerPlugin">
-
-  <requires>
-    <import plugin="org.eclipse.core.runtime"/>
-    <import plugin="org.eclipse.core.resources"/>
-    <import plugin="org.eclipse.debug.core"/>
-  </requires>
-
-  <runtime>
-    <library name="servercore.jar">
-      <export name="*"/>
-      <packages prefixes="org.eclipse.wst.server.core"/>
-    </library>
-  </runtime>
-
-  <extension-point id="startup" name="%extensionPointServerStartup" schema="schema/startup.exsd"/>
-  <extension-point id="moduleKinds" name="%extensionPointModuleKinds" schema="schema/moduleKinds.exsd"/>
-  <extension-point id="runtimeTypes" name="%extensionPointRuntimeTypes" schema="schema/runtimeTypes.exsd"/>
-  <extension-point id="runtimeTargetHandlers" name="%extensionPointRuntimeTargetHandlers" schema="schema/runtimeTargetHandlers.exsd"/>
-  <extension-point id="runtimeLocators" name="%extensionPointRuntimeLocators" schema="schema/runtimeLocators.exsd"/>
-  <extension-point id="serverTypes" name="%extensionPointServerTypes" schema="schema/serverTypes.exsd"/>
-  <extension-point id="serverLocators" name="%extensionPointServerLocators" schema="schema/serverLocators.exsd"/>
-  <extension-point id="serverConfigurationTypes" name="%extensionPointServerConfigurationTypes" schema="schema/serverConfigurationTypes.exsd"/>
-  <extension-point id="publish" name="%extensionPointPublishManager" schema="schema/publishManager.exsd"/>
-  <extension-point id="moduleFactories" name="%extensionPointModuleFactories" schema="schema/moduleFactories.exsd"/>
-  <extension-point id="moduleObjectAdapters" name="%extensionPointModuleObjectAdapters" schema="schema/moduleObjectAdapters.exsd"/>
-  <extension-point id="launchableAdapters" name="%extensionPointLaunchableAdapters" schema="schema/launchableAdapters.exsd"/>
-  <extension-point id="clients" name="%extensionPointClients" schema="schema/clients.exsd"/>
-  <extension-point id="serverTasks" name="%extensionPointServerTasks" schema="schema/serverTasks.exsd"/>
-  <extension-point id="moduleTasks" name="%extensionPointModuleTasks" schema="schema/moduleTasks.exsd"/>
-  <extension-point id="serverMonitors" name="%extensionPointServerMonitors" schema="schema/serverMonitors.exsd"/>
-
-  <extension point="org.eclipse.core.resources.natures"
-     id="nature"
-     name="%serverProjectNatureTitle">
-     <runtime>
-        <run class="org.eclipse.wst.server.core.internal.ServerProjectNature">
-        </run>
-     </runtime>
-  </extension>
-
-  <extension point="org.eclipse.core.resources.builders"
-     id="builder"
-     name="%builderName">
-     <builder>
-        <run class="org.eclipse.wst.server.core.internal.ServerBuilder">
-        </run>
-     </builder>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.publish">
-     <publish
-           name="%publisherFullName"
-           description="%publisherFullDescription"
-           class="org.eclipse.wst.server.core.internal.FullPublisher"
-           id="org.eclipse.wst.server.core.publish.full">
-     </publish>
-     <publish
-           name="%publisherSmartName"
-           description="%publisherSmartDescription"
-           class="org.eclipse.wst.server.core.internal.SmartPublisher"
-           id="org.eclipse.wst.server.core.publish.smart">
-     </publish>
-  </extension>
-  
-  <extension point="org.eclipse.wst.server.core.moduleKinds">
-    <moduleKind
-       id="*"
-       name="%moduleTypeUnknown"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.moduleFactories">
-     <moduleFactory
-           projects="false"
-           class="org.eclipse.wst.server.core.util.MissingModuleFactoryDelegate"
-           id="org.eclipse.wst.server.core.missingModuleFactory">
-     </moduleFactory>
-  </extension>
-
-   <extension point="org.eclipse.wst.server.core.clients">
-     <client
-           id="org.eclipse.wst.server.core.client.null"
-           name="%nullLaunchableClient"
-           description="%nullLaunchableClientDescription"
-           class="org.eclipse.wst.server.core.util.NullLaunchableClient">
-     </client>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/schema/clients.exsd b/plugins/org.eclipse.wst.server.core/schema/clients.exsd
deleted file mode 100644
index 71277b1..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/clients.exsd
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="clients" name="Clients"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to launch a client for a specific type of resource that is being run on a server.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="client" 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="client">

-      <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 implements &lt;samp&gt;IClientDelegate&lt;/samp&gt;.
-Clieint instances of this type will delegate to instances of this class to launch.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the client

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this client

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a client extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.server.core.clients&quot;&gt;
-  &lt;client
-    id=&quot;com.example.clients&quot;
-    name=&quot;%clientName&quot;
-    description=&quot;%clientDescription&quot;
-    class=&quot;com.example.ExampleClient&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IClientDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
deleted file mode 100644
index 3e3eae3..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="launchableAdapters" name="Launchable Adapters"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to invoke code during the server core plugin startup. Use sparingly.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="launchableAdapter" 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="launchableAdapter">

-      <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 implements &lt;samp&gt;ILaunchableAdapterDelegate&lt;/samp&gt;.
-Launchable adapter instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a launchable adapter extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.launchableAdapters&quot;&gt;
-     &lt;launchableAdapter
-        id=&quot;com.example.launchableAdapter&quot;
-        class=&quot;com.example.ExampleLaunchableAdapterDelegate&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.ILaunchableAdapterDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
deleted file mode 100644
index d345cff..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="moduleFactories" name="Module Factories"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a factory for modules that can be used by servers.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="moduleFactory" 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="moduleFactory">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-         </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 implements &lt;samp&gt;IModuleFactoryDelegate&lt;/samp&gt;.
-Module factory instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="projects" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a module factory extension point:
-
-&lt;p&gt;
-&lt;pre&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IModuleFactoryDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleKinds.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleKinds.exsd
deleted file mode 100644
index c21f43c..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleKinds.exsd
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="moduleKinds" name="Module Kinds"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a new module type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="moduleKind" 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="moduleKind">

-      <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="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the module type

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a module type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.moduleTypes&quot;&gt;
-    &lt;moduleType
-       id=&quot;com.example&quot;
-       name=&quot;%moduleTypeName&quot;
-       description=&quot;%moduleTypeDescription&quot;/&gt;
-  &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleObjectAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleObjectAdapters.exsd
deleted file mode 100644
index c866b64..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleObjectAdapters.exsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="moduleObjectAdapters" name="Module Object Adapters"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to invoke code during the server core plugin startup. Use sparingly.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="moduleObjectAdapter" 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="moduleObjectAdapter">

-      <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 implements &lt;samp&gt;IModuleObjectAdapterDelegate&lt;/samp&gt;.
-Module object adapter instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a module object adapter extension point:
-
-&lt;p&gt;
-&lt;pre&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleTasks.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleTasks.exsd
deleted file mode 100644
index c7686cd..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleTasks.exsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="moduleTasks" name="Module Tasks"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a task that can/should be run on modules before server publishing, startup, etc.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="moduleTask" 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="moduleTask">

-      <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 implements &lt;samp&gt;IModuleTaskDelegate&lt;/samp&gt;.
-Module task instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of server type ids that this task may apply to. Used for memory &amp; performance reasons

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a module task extension point:
-
-&lt;p&gt;
-&lt;pre&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IModuleTaskDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/publishManager.exsd b/plugins/org.eclipse.wst.server.core/schema/publishManager.exsd
deleted file mode 100644
index aca4811..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/publishManager.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="publish" name="Publish"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide new publish managers.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="publish" 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="publish">

-      <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 implements &lt;samp&gt;IPublisher&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IPublishManagerDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the publisher

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of the publisher

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a publish extension point:
-
-&lt;p&gt;
-&lt;pre&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IPublishManagerDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeLocator.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeLocator.exsd
deleted file mode 100644
index aab223a..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeLocator.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="runtimeLocator" name="Runtime Locator"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to locate new runtimes on the local machine.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="runtimeLocator" 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="runtimeLocator">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the locator

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of the locator

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IRuntimeLocatorDelegate&lt;/samp&gt;.
-Runtime locator instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a runtime locator extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.runtimeLocators&quot;&gt;
-    &lt;runtimeLocator
-       id=&quot;com.example.locator&quot;
-       name=&quot;%runtimeLocatorName&quot;
-       description=&quot;%runtimeLocatorDescription&quot;
-       class=&quot;com.example.ExampleRuntimeLocator&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IRuntimeLocatorDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
deleted file mode 100644
index b70a429..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="runtimeTypes" name="Runtime Types"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a new runtime target handler. Runtime target handlers are called whenever a runtime target is added or removed from a project. They can be used to switch Java classpaths, setup default resources, etc.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="runtimeTargetHandler" 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="runtimeTargetHandler">

-      <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="runtimeTypeIds" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a comma separated list of runtime type ids that this handler may support. Used for memory &amp; performance reasons

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IRuntimeTargetHandlerDelegate&lt;/samp&gt;.
-Runtime target handler instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an integer order used to sort handlers relative to each other

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a runtime target handler extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.runtimeTargetHandlers&quot;&gt;
-     &lt;runtimeTargetHandler
-        id=&quot;com.example.runtimeTargetHandler&quot;
-        runtimeTypeIds=&quot;com.example.runtime, com.example2.*&quot;
-        class=&quot;com.example.ExampleRuntimeTargetHandler&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IRuntimeTargetHandlerDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
deleted file mode 100644
index 3b13299..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="runtimeTypes" name="Runtime Types"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a new runtime type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="runtimeType" 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="runtimeType">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the runtime type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of the runtime type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable vendor name

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable version number

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an id used to identify the vendor

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IRuntimeDelegate&lt;/samp&gt;.
-Runtime instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IRuntimeWorkingCopyDelegate&lt;/samp&gt;.
-Runtime instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an integer order specifying the relative importance of this runtime

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of the module types that this runtime supports

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of the module versions that this runtime supports

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a runtime type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.runtimeTypes&quot;&gt;
-    &lt;runtimeType
-       id=&quot;com.example.runtime&quot;
-       name=&quot;%runtimeTypeName&quot;
-       description=&quot;%runtimeTypeDescription&quot;
-       vendor=&quot;%runtimeTypeVendor&quot;
-       version=&quot;1.0&quot;
-       class=&quot;com.example.ExampleRuntimeDelegate&quot;
-       workingCopyClass=&quot;com.example.ExampleRuntimeWorkingCopyDelegate&quot;&gt;
-       &lt;moduleType
-         types=&quot;j2ee.web&quot;
-         versions=&quot;1.2, 1.3, 1.4&quot;/&gt;
-    &lt;/runtimeType&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IRuntimeDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/serverConfigurationTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverConfigurationTypes.exsd
deleted file mode 100644
index 5d014fc..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverConfigurationTypes.exsd
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="serverConfigurationTypes" name="Server Configuration Types"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a new server configuration type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="serverConfigurationType"/>

-         </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="serverConfigurationType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify this server configuration

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this server configuration type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IServerConfigurationDelegate&lt;/samp&gt;.
-Server configuration instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  true if the configuration requires it&apos;s own data in a folder

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IServerConfigurationWorkingCopyDelegate&lt;/samp&gt;.
-Server configuration instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an integer order specifying the relative importance of this server configuration type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of import extensions (e.g. &quot;xml&quot;, &quot;cfg&quot;) that this server configuration could be imported using

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server configuration type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.serverConfigurationTypes&quot;&gt;
-     &lt;serverConfigurationType
-       id=&quot;com.example.serverConfiguration&quot;
-       name=&quot;%serverConfigurationTypeName&quot;
-       description=&quot;%serverConfigurationTypeDescription&quot;
-       isFolder=&quot;true&quot;
-       class=&quot;com.example.ExampleServerConfigurationDelegate&quot;
-       workingCopyClass=&quot;com.example.ExampleServerConfigurationWorkingCopyDelegate&quot;&gt;
-     &lt;/serverConfigurationType&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IServerConfigurationDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/serverLocator.exsd b/plugins/org.eclipse.wst.server.core/schema/serverLocator.exsd
deleted file mode 100644
index c0b0a93..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverLocator.exsd
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="serverLocator" name="Server Locator"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to locate new servers on the local or remote machines.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="serverLocator" 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="serverLocator">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the locator

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of the locator

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IRuntimeLocatorDelegate&lt;/samp&gt;.
-Runtime locator instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  local and/or remote

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server locator extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.serverLocators&quot;&gt;
-    &lt;serverLocator
-       id=&quot;com.example.locator&quot;
-       name=&quot;%serverLocatorName&quot;
-       description=&quot;%serverLocatorDescription&quot;
-       class=&quot;com.example.ExampleServerLocator&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IServerLocatorDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd b/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
deleted file mode 100644
index f766cd5..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="serverMonitor" name="Server Monitor"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a new monitor for servers.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="monitor" 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="monitor">

-      <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="name" type="string">

-            <annotation>

-               <documentation>

-                  a translatable name used to identify this monitor

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this monitor

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IMonitor&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server monitor extension point:
-
-&lt;p&gt;
-&lt;pre&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IServerMonitorDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/serverTasks.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTasks.exsd
deleted file mode 100644
index 3a6009b..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverTasks.exsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="serverTasks" name="Server Tasks"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a task that can/should be run before server publishing, startup, etc.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="serverTask" 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="serverTask">

-      <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 implements &lt;samp&gt;IServerTaskDelegate&lt;/samp&gt;.
-Server task instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of server type ids that this task may apply to. Used for memory &amp; performance reasons

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server task extension point:
-
-&lt;p&gt;
-&lt;pre&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IServerTaskDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
deleted file mode 100644
index 057b0c8..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="serverTypes" name="Server Types"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide support for a new server type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="serverType"/>

-         </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="serverType">

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify this server type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this server type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IServerDelegate&lt;/samp&gt;.
-Server instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IServerWorkingCopyDelegate&lt;/samp&gt;.
-Server instances of this type will delegate to instances of this class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the id of the server configuration type that this server requires

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an integer order specifying the relative importance of this server type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the launch configuration id for the launch configuration that is able to start this server

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  local and/or remote

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  &quot;true&quot; if this server requires a runtime, &quot;false&quot; otherwise

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="monitorable" type="boolean">

-            <annotation>

-               <documentation>

-                  &quot;true&quot; if the class implements IMonitorableServer, and &quot;false&quot; otherwise

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the launch modes that this server supports

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  &quot;true&quot; if this server should not be creatable unless there is an existing runtime with the test environment flag set to true, &quot;false&quot; otherwise

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the intial state of the server, either &quot;started&quot;, or &quot;stopped&quot;. if this attribute is not specified, the server state will be &quot;unknown&quot;

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the state set of the server (changes menu options and UI). values are &quot;managed&quot;, &quot;attach&quot;, and &quot;publish&quot;

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.server.core.serverTypes&quot;&gt;
-     &lt;serverType
-       id=&quot;com.example.serverType&quot;
-       name=&quot;%serverTypeName&quot;
-       description=&quot;%serverTypeDescription&quot;
-       hosts=&quot;localhost, remote&quot;
-       runtime=&quot;true&quot;
-       monitorable=&quot;true&quot;
-       initialState=&quot;stopped&quot;
-       configurationTypeId=&quot;com.example.serverConfiguration&quot;
-       launchConfigId=&quot;com.example.launchConfigurationType&quot;
-       runtimeTypeId=&quot;com.example.runtime&quot;
-       class=&quot;com.example.ExampleServerDelegate&quot;
-       workingCopyClass=&quot;com.example.ExampleServerWorkingCopyDelegate&quot;&gt;
-     &lt;/serverType&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IServerDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/startup.exsd b/plugins/org.eclipse.wst.server.core/schema/startup.exsd
deleted file mode 100644
index 74c6f36..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/startup.exsd
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="startup" name="Startup"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to invoke code during the server core plugin startup. Use sparingly.

-      </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" use="required">

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;IStartup&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.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.server.core.startup&quot;&gt;
-  &lt;startup
-   id=&quot;com.example.startup&quot;
-   class=&quot;com.example.ExampleStartup&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 implements the interface &lt;b&gt;org.eclipse.wst.server.core.model.IStartup&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IClient.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IClient.java
deleted file mode 100644
index b4406cd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IClient.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-
-import org.eclipse.wst.server.core.model.IClientDelegate;
-import org.eclipse.wst.server.core.model.ILaunchable;
-/**
- * A launchable client is a client side application or test
- * harness that can be launched (run) against a resource
- * running on a server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IClient {
-	/**
-	 * Returns the id of the adapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Returns the label (name) of this client.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getName();
-
-	/**
-	 * Returns the description of this client.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns the delegate for this launchable client
-	 * 
-	 * @return org.eclipse.wst.server.core.model.ILaunchableClientDelegate
-	 */
-	public IClientDelegate getDelegate();
-
-	/**
-	 * Returns true if this launchable can be run by this client.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param launchable org.eclipse.wst.server.core.model.ILaunchable
-	 * @param launchMode String
-	 * @return boolean
-	 */
-	public boolean supports(IServer server, ILaunchable launchable, String launchMode);
-
-	/**
-	 * Launches the client.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param launchable org.eclipse.wst.server.core.model.ILaunchable
-	 * @param launchMode String
-	 * @param launch org.eclipse.debug.core.ILaunch
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus launch(IServer server, ILaunchable launchable, String launchMode, ILaunch launch);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElement.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElement.java
deleted file mode 100644
index e43316e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElement.java
+++ /dev/null
@@ -1,138 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-/**
- * Provides common methods for working with elements that are
- * modified via working copies. This interface provides the
- * getters; the setters are on {@link IElementWorkingCopy}.
- * <p>
- * [issue: Why are attributes exposed? The attribute ids and
- * values are passed to property change listeners. However,
- * they are not useful unless there is a spec'd correlation
- * between methods like getName and an attribute "name". The
- * constants are declared on Base, which is internal.]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @since 1.0
- */
-public interface IElement {
-	/**
-	 * Returns the displayable name for this element.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns the id of this element.
-	 * Each element (of a given type) has a distinct id, fixed for
-	 * its lifetime. 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();
-
-	/**
-	 * Deletes the persistent representation of this element.
-	 * <p>
-	 * [issue: This method is out of place. Elements do not
-	 * have a notion of being connected to an underlying file.]
-	 * </p>
-	 * 
-	 * @throws CoreException [missing]
-	 */
-	public void delete() throws CoreException;
-
-	/**
-	 * Returns whether this element is locked.
-	 * When an element is locked, the user cannot make changes to it.
-	 * <p>
-	 * [issue: It's odd to have this at the API level because
-	 * it has no force. Once would modify a locked element as
-	 * readily as an unlocked one, via a working copy.
-	 * This facility, which is unused, needs to be motivated
-	 * (or removed).]
-	 * </p>
-	 *
-	 * @return <code>true</code> if this element is locked,
-	 * and <code>false</code> otherwise
-	 */
-	public boolean isLocked();
-
-	/**
-	 * Returns true if this element is private (not shown in the UI).
-	 * 
-	 * @return boolean
-	 */
-	public boolean isPrivate();
-
-	/**
-	 * Returns true if this is a working copy.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Returns true if there are working copies that have not been saved or released.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isWorkingCopiesExist();
-	
-	/**
-	 * Returns true if there is a working copy that is dirty.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isAWorkingCopyDirty();
-
-	/**
-	 * Returns true if the plugin containing the delegate is loaded.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isDelegatePluginActivated();
-	
-	/**
-	 * Returns true if the delegate has been loaded.
-	 * 
-	 * @return
-	 */
-	public boolean isDelegateLoaded();
-
-	public int getAttribute(String attributeName, int defaultValue);
-
-	public boolean getAttribute(String attributeName, boolean defaultValue);
-	
-	public String getAttribute(String attributeName, String defaultValue);
-
-	public List getAttribute(String attributeName, List defaultValue);
-
-	public Map getAttribute(String attributeName, Map defaultValue);
-
-	public IStatus validateEdit(Object context);
-	
-	public int getTimestamp();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElementWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElementWorkingCopy.java
deleted file mode 100644
index a739f46..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElementWorkingCopy.java
+++ /dev/null
@@ -1,158 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.beans.PropertyChangeListener;
-import java.util.List;
-import java.util.Map;
-/**
- * Provides additional methods common to working copies of an element.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @since 1.0
- */
-public interface IElementWorkingCopy extends IElement {
-	
-	/**
-	 * Sets the value of the specified integer-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see IElement#getAttribute(String, int)
-	 */
-	public void setAttribute(String id, int value);
-
-	/**
-	 * Sets the value of the specified boolean-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see IElement#getAttribute(String, boolean)
-	 */
-	public void setAttribute(String id, boolean value);
-
-	/**
-	 * Sets the value of the specified string-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see IElement#getAttribute(String, String)
-	 */
-	public void setAttribute(String id, String value);
-
-	/**
-	 * Sets the value of the specified list-valued attribute of this
-	 * element.
-	 * <p>
-	 * [issue: Serialization/deserialization]
-	 * </p>
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see IElement#getAttribute(String, List)
-	 */
-	public void setAttribute(String id, List value);
-
-	/**
-	 * Sets the value of the specified map-valued attribute of this
-	 * element.
-	 * <p>
-	 * [issue: Serialization/deserialization]
-	 * </p>
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see IElement#getAttribute(String, Map)
-	 */
-	public void setAttribute(String id, Map value);
-
-	/**
-	 * Sets the displayable name for this element.
-	 * <p>
-	 * The name should be appropriate for the current locale.
-	 * </p>
-	 *
-	 * @param name a displayable name
-	 * @see IElement#getName()
-	 */
-	public void setName(String name);
-	
-	/**
-	 * Sets whether this element is locked.
-	 * When an element is locked, the user cannot make changes to it.
-	 * <p>
-	 * [issue: See issue on IElement.isLocked.]
-	 * </p>
-	 *
-	 * @param b <code>true</code> if this element is locked,
-	 * and <code>false</code> otherwise
-	 * @see IElement#isLocked()
-	 */
-	public void setLocked(boolean b);
-	
-	/**
-	 * Sets whether this element is private.
-	 * Generally speaking, elements marked private are internal ones
-	 * that should not be shown to users (because they won't know
-	 * anything about them).
-	 * 
-	 * @param b <code>true</code> if this element is private,
-	 * and <code>false</code> otherwise
-	 * @see IElement#isPrivate()
-	 */
-	public void setPrivate(boolean b);
-	
-	/**
-	 * Returns whether this working copy has unsaved changes.
-	 * <p>
-	 * [issue: It unfortunate that working copy creation and saving
-	 * are nowhere represented in the IElement and IElementWorkingCopy
-	 * (everything is on the particular subinterfaces).]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this working copy has unsaved
-	 * changes, and <code>false</code> otherwise
-	 */
-	public boolean isDirty();
-	
-	/**
-	 * Releases this working copy.
-	 * <p>
-	 * Element implementations retain internal references to
-	 * extant working copies. Calling this method drop that reference.
-	 * </p>
-	 */
-	public void release();
-
-	/**
-	 * Adds a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener);
-
-	/**
-	 * Removes a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener);
-	
-	/**
-	 * Fires a property change event.
-	 */
-	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchableAdapter.java
deleted file mode 100644
index c1a25dd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchableAdapter.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.model.*;
-/**
- * This interface, typically implemented by the server
- * code, converts from an IModuleObject to an
- * ILaunchable.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface ILaunchableAdapter {
-	/**
-	 * Returns the id of the adapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Returns the delegate for this launchable adapter.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.ILaunchableAdapterDelegate
-	 */
-	public ILaunchableAdapterDelegate getDelegate();
-
-	/**
-	 * Returns a launchable object from this module object.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param moduleObject org.eclipse.wst.server.core.model.IModuleObject
-	 * @param org.eclipse.wst.server.core.model.ILaunchable
-	 * @exception org.eclipse.core.runtime.CoreException
-	 */
-	public ILaunchable getLaunchable(IServer server, IModuleObject moduleObject) throws CoreException;
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleFactory.java
deleted file mode 100644
index afc934b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleFactory.java
+++ /dev/null
@@ -1,173 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleFactoryDelegate;
-import org.eclipse.wst.server.core.model.IModuleFactoryListener;
-/**
- * A factory for creating modules.
- * <p>
- * The server core framework supports
- * an open-ended set of module factories, which are contributed via
- * the <code>moduleFactories</code> extension point in the server core
- * plug-in. The global list of module factories is available via
- * {@link ServerCore#getModuleFactories()}. 
- * </p>
- * <p>
- * [issue: Module factories have no display name, suggesting that
- * they never need to be shown to users.]
- * </p>
- * <p>
- * [issue: Are module factories SPI-side objects, or do
- * normal clients need access to them?]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * [issue: It is notoriously difficult to place any kind of
- * useful order on objects that are contributed independently by
- * non-collaborating parties. The IOrdered mechanism is weak, and
- * can't really solve the problem. Issues of presentation are usually
- * best left to the UI, which can sort objects based on arbitrary
- * properties.]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IModuleFactory extends IOrdered {
-
-	/**
-	 * Returns the id of this module factory.
-	 * Each known module factory has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the module factory id
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the types of modules that the factory is capable of
-	 * producing.
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify.]
-	 * </p>
-	 * 
-	 * @return a list of module types (element type: {@link IModuleType})
-	 */
-	public List getModuleTypes();
-	
-	/**
-	 * Returns whether this module factory produces project modules.
-	 * <p>
-	 * [issue: This surfaces the "projects" attribute of the
-	 * moduleFactory element. What is the significance of this?
-	 * (There are no senders of this method.)]
-	 * </p>
-	 *
-	 * @return <code>true</code> if it can produce project modules,
-	 * and <code>false</code> if it cannot
-	 */
-	public boolean isProjectModuleFactory();
-
-	/**
-	 * Returns the delegate for this module factory.
-	 * The module factory delegate is a module-factory-specific object.
-	 * <p>
-	 * [issue: If module factories are SPI-side objects, then
-	 * exposing the delegate is probably fine. If module factories
-	 * are available to clients, you'll want to keep the delegate
-	 * out of the client's hands.]
-	 * </p>
-	 * 
-	 * @return the module factory delegate
-	 */
-	public IModuleFactoryDelegate getDelegate();
-
-	/**
-	 * Finds a module create by this factory with the given id.
-	 * <p>
-	 * [issue: Does this "create" a module with the given id?
-	 * That's what you'd expect of a factory. But a module has
-	 * a module type and module resources, neither of which are
-	 * in evidence. And since a module factory can create
-	 * several types of modules, that seems to rule this out
-	 * as "creating" a module. Is "discovering" a module the
-	 * correct interpretation?
-	 * The (abstract) ProjectModuleFactoryDelegate class does indeed
-	 * rip through all the projects in the workspace and ask which
-	 * ones hold valid modules.] 
-	 * </p>
-	 * 
-	 * @param id the module id
-	 * @return the module with the given id, or <code>null</code>
-	 * if none
-	 */
-	public IModule getModule(String id);
-
-	/**
-	 * Return all modules created by this factory.
-	 * <p>
-	 * Note: Implementations of this method might look through
-	 * projects in the workspace to find modules, or might return
-	 * modules from other sources.
-	 * </p>
-	 * <p>
-	 * [issue: What does "modules from other sources" mean?
-	 * All modules have to be in the workspace, right?]
-	 * </p>
-	 * <p>
-	 * [issue: Consistency: IServer.getModules returns IModule[] rather than List<IModule>.]
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify.]
-	 * </p>
-	 * 
-	 * @return a list of modules (element type: {@link IModule})
-	 */
-	public List getModules();
-
-	/**
-	 * Add a listener for modules that are added/removed from this
-	 * factory.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void addModuleFactoryListener(IModuleFactoryListener listener);
-	
-	/**
-	 * Add a listener for modules that are added/removed from this
-	 * factory.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void removeModuleFactoryListener(IModuleFactoryListener listener);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleKind.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleKind.java
deleted file mode 100644
index c15e6aa..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleKind.java
+++ /dev/null
@@ -1,61 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * Represents the kind of a module.
- * <p>
- * The server core framework supports an open-ended set of module kinds,
- * which are contributed via the <code>moduleKinds</code> extension point
- * in the server core plug-in. Module kind objects carry no state
- * (all information is read-only and is supplied by the module kind
- * declaration). The global list of known module kinds is available via
- * {@link ServerCore#getModuleKinds()}. 
- * </p>
- * <p>
- * [issue: It's confusing to have a type named IModuleType as well.
- * The terminology should be "module types", to make it consistent with
- * server types, etc. On that reading, this interface would be named
- * IModuleType, and the existing one something else (if still needed).]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * [issue: Equality/identify for module kinds?]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IModuleKind {
-	/**
-	 * Returns the id of this module kind.
-	 * Each known module kind has a distinct id.
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the module kind id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this module kind.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this module kind
-	 */
-	public String getName();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleObjectAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleObjectAdapter.java
deleted file mode 100644
index 732623a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleObjectAdapter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.wst.server.core.model.IModuleObject;
-import org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate;
-/**
- * A module object adapter converts from some view's model
- * object into a module object that is recognized by the
- * server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IModuleObjectAdapter {
-	/**
-	 * Returns the id of the adapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the (super) class name that this adapter can work with.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getObjectClassName();
-	
-	/**
-	 * Returns true if the plugin that loaded this class has been loaded.
-	 *
-	 * @return boolean
-	 */
-	public boolean isPluginActivated();	
-
-	/**
-	 * Returns the delegate for this module object adapter.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate
-	 */
-	public IModuleObjectAdapterDelegate getDelegate();
-
-	/**
-	 * Converts from a model object to an IModuleObject.
-	 * 
-	 * @param obj java.lang.Object
-	 * @return org.eclipse.wst.server.core.model.IModuleObject
-	 */
-	public IModuleObject getModuleObject(Object obj);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleTask.java
deleted file mode 100644
index 890210c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleTask.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.model.*;
-/**
- * A task for a module.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IModuleTask extends ITask, IModuleTaskDelegate, IOrdered {
-	/**
-	 * Returns the id of the adapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-	
-	/**
-	 * Return the type ids that may be supported.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getTypeIds();
-	
-	/**
-	 * Returns true if the given type (given by the id) can use this task. This
-	 * result is based on the result of the getTypeIds() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id);
-
-	/**
-	 * Lets the task know that it is about to be used. This method should
-	 * be used to clean out any previously cached information, or start to
-	 * create a new cache.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 */
-	public void init(IServer server, IServerConfiguration configuration, List parents, IModule module);
-
-	/**
-	 * Returns the status of this task.
-	 * 
-	 * @return byte
-	 */
-	public byte getTaskStatus();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java
deleted file mode 100644
index 8fdb73f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java
+++ /dev/null
@@ -1,76 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * Represents the type of a module.
- * <p>
- * [issue: This interface plays two roles. First, it is used
- * by the system to represent module type objects. Module
- * type objects are instances of the internal ModuleType class.
- * They get created for the "moduleType" elements of the
- * runtimeTypes and moduleFactories extension points.
- * The second role is that it is a superinterface of IModule,
- * the interface that represents module instances.
- * It would be clearer if it only played the former role.
- * IModule should instance have a getModuleType() method that
- * returns an IModuleType.]
- * </p>
- * <p>
- * [issue: It's confusing to have a type named IModuleKind as well.
- * The terminology should be "module types", to make it consistent with
- * server types, etc. On that reading, this interface would be named
- * IModuleType, and the existing one something else (if still needed).]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IModuleType {
-	
-	/**
-	 * Returns the module type id.
-	 * <p>
-	 * [issue: Are these strings "module kind ids"? I.e., the same as those returned by 
-	 * IModuleKind.getId()?]
-	 * </p>
-	 * <p>
-	 * [issue: Should be renamed getId (except that would clash
-	 * in its current role as superfinterface of IModule).]
-	 * </p>
-	 * 
-	 * @return the module type id
-	 */
-	public String getType();
-
-	/**
-	 * Returns the version (spec level), e.g., "1.0", "1.3.2".
-	 * <p>
-	 * [issue: This notion of a module type "version" appears here.
-	 * There is no counterpart elsewhere (and certainly not in
-	 * IModuleKind). The phrase "spec level" suggests something
-	 * a little more J2EE-centric (what would be the spec level for
-	 * a static html web module?) It feels like this should be folded
-	 * in to the module type/kind id.]
-	 * </p>
-	 * <p>
-	 * [issue: Spec format of version string?]
-	 * </p>
-	 * 
-	 * @return the version
-	 */
-	public String getVersion();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IMonitoredServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IMonitoredServerPort.java
deleted file mode 100644
index 3409ffe..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IMonitoredServerPort.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * An monitored port on a server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IMonitoredServerPort {
-	/**
-	 * Returns the server that it being monitored.
-	 * 
-	 * @return org.eclipse.wst.server.core.IServer
-	 */
-	public IServer getServer();
-
-	/**
-	 * Returns the server port.
-	 * 
-	 * @return org.eclipse.wst.server.model.IServerPort
-	 */
-	public IServerPort getServerPort();
-
-	/**
-	 * Return the port that is being used to monitor.
-	 * 
-	 * @return int
-	 */
-	public int getMonitorPort();
-
-	/**
-	 * Returns the content types that are being monitored, or null for all content.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getContentTypes();
-
-	/**
-	 * Returns true if the monitor is currently running/active.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isStarted();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IOrdered.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IOrdered.java
deleted file mode 100644
index fdf66e9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IOrdered.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * An object that has an absolute ordering, and can be ordered against other objects.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IOrdered {
-	/**
-	 * Returns the order (index/priority).
-	 * 
-	 * @return int
-	 */
-	public int getOrder();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java
deleted file mode 100644
index 94fc0ed..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.model.IProjectPropertiesListener;
-/**
- * This interface holds information on the properties of a given project.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IProjectProperties {
-	/**
-	 * Returns the preferred runtime server for the project. This method
-	 * returns null if the server was never chosen or does not currently exist. (if the
-	 * server is recreated or was in a closed project, etc. this method will return
-	 * the original value if it becomes available again)
-	 *
-	 * @return org.eclipse.wst.server.core.IServer
-	 */
-	public IServer getDefaultServer();
-
-	/**
-	 * Sets the preferred runtime server for the project. Set the server to
-	 * null to clear the setting. If there is a problem saving the file, a CoreException
-	 * will be thrown.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @throws org.eclipse.core.runtime.CoreException
-	 */
-	public void setDefaultServer(IServer server, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Returns the current runtime target for this project.
-	 * 
-	 * @return
-	 */
-	public IRuntime getRuntimeTarget();
-
-	/**
-	 * Sets the runtime target for the project.
-	 * 
-	 * @param target
-	 * @param monitor
-	 */
-	public void setRuntimeTarget(IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-
-	public void addProjectPropertiesListener(IProjectPropertiesListener listener);
-
-	public void removeProjectPropertiesListener(IProjectPropertiesListener listener);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishControl.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishControl.java
deleted file mode 100644
index 13c1b72..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishControl.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.resources.*;
-/**
- * The publish controller that caches and provides information
- * about the current publishing to the publisher.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IPublishControl {
-	/**
-	 * Returns the mapping of this file on the remote system. Returns
-	 * null if this file should not be copied to the remote server.
-	 *
-	 * @param resource org.eclipse.wst.server.core.publish.IModuleResource
-	 * @return org.eclipse.core.resources.IPath
-	 */
-	public IPath getMappedLocation(IModuleResource resource);
-
-	/**
-	 * Returns the root level remote resources on the remote system.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return java.util.List
-	 */
-	public IRemoteResource[] getRemoteResources();
-
-	/**
-	 * Returns true if there may be any files or folders within
-	 * this container that should be mapped to the remote system.
-	 * Returns false if files within this folder are never copied
-	 * to the remote system.
-	 *
-	 * @param folder org.eclipse.wst.server.core.publish.IModuleFolder
-	 * @return boolean
-	 */
-	public boolean shouldMapMembers(IModuleFolder folder);
-	
-	/**
-	 * Returns the timestamp of the remote resource on the remote
-	 * machine after it was last published.
-	 *
-	 * @param resource org.eclipse.wst.server.publish.IRemoteResource
-	 * @return long
-	 */
-	public long getPublishedTimestamp(IRemoteResource resource);
-
-	/**
-	 * Returns the timestamp that the resource was last published.
-	 *
-	 * @param resource org.eclipse.wst.server.publish.IModuleResource
-	 * @return long
-	 */
-	public long getPublishedTimestamp(IModuleResource resource);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishManager.java
deleted file mode 100644
index 6cdc90f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishManager.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.model.*;
-/**
- * Class that decides whether to publish or delete a given
- * resource on the remote system.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IPublishManager {
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Returns a description of this publisher.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns the name of this publisher.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName();
-
-	/**
-	 * Sets the publish control, used to obtain information about
-	 * the publishing.
-	 *
-	 * Sets the publish state, used to determine the timestamps
-	 * of the last publishing action.
-	 * 
-	 * Resolve which resources to publish or delete. To cancel publishing,
-	 * just cancel the progress monitor and return.
-	 *
-	 * @param control org.eclipse.wst.server.model.IPublishControl[]
-	 * @param module org.eclipse.wst.server.core.model.IModule[]
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void resolve(IPublishControl[] control, IModule[] module, IProgressMonitor monitor);
-
-	/**
-	 * Returns the list of remote resources to delete from the
-	 * remote system.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 */
-	public List getResourcesToDelete(IModule module);
-
-	/**
-	 * Returns the list of resources to publish to the remote
-	 * system.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 */
-	public List getResourcesToPublish(IModule module);
-	
-	/**
-	 * 
-	 */
-	public IPublishManagerDelegate getDelegate();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishStatus.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishStatus.java
deleted file mode 100644
index 321e1e9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishStatus.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * An IStatus that also contains a time and module. This
- * status is returned from the publishing operations.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IPublishStatus extends IStatus {
-	/**
-	 * Returns the time taken (in ms) for this publish action.
-	 * 
-	 * @return long
-	 */
-	public long getTime();
-
-	/**
-	 * Returns the module that was published.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IModule
-	 */
-	public IModule getModule();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IResourceManager.java
deleted file mode 100644
index afcc0b9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IResourceManager.java
+++ /dev/null
@@ -1,409 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.server.core.model.IModuleEventsListener;
-import org.eclipse.wst.server.core.model.IServerLifecycleEventHandler;
-import org.eclipse.wst.server.core.model.IServerResourceListener;
-/**
- * The resource manager handles the mappings between resources
- * and servers or configurations, and notifies of servers or configurations
- * being added, removed, or modified.
- * <p>
- * Servers and configurations may be a single resource, or they may
- * be a folder that contains a group of files. Folder resources may not
- * contain other servers or configurations (i.e., they cannot be nested).
- * </p>
- * <p>
- * Changes made to server element resources (e.g., an edit or deletion of a
- * file) are processed as a reload or deletion of the element. Note that saving
- * a folder-based server or configuration may result in a series of reload
- * events.
- * </p>
- * <p>
- * [issue: Not sure why "resource" is in the title. Runtimes
- * are not represented in the workspace. This grouping of things pertaining
- * to workspace resources is not particularly motivating to clients.]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @since 1.0
- */
-public interface IResourceManager {
-	/**
-	 * Adds a new server resource listener.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IServerResourceListener
-	 */
-	public void addResourceListener(IServerResourceListener listener);
-
-	/**
-	 * Removes a server resource listener.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IServerResourceListener
-	 */
-	public void removeResourceListener(IServerResourceListener listener);
-
-	/**
-	 * Returns the list of all known runtime instances.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of runtimes changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list changing under foot as runtime instances
-	 * come and go.]
-	 * </p>
-	 * <p>
-	 * [issue: Clarify whether the list may include working copies.]
-	 * </p>
-	 * 
-	 * @return a possibly-empty list of runtime instances (element type: {@link IRuntime})
-	 */
-	public List getRuntimes();
-	
-	/**
-	 * Returns the default runtime. Test API - do not use.
-	 * <p>
-	 * [issue: This is marked "Test API - do not use."]
-	 * </p>
-	 *
-	 * @return a runtime instance, or <code>null</code> if none
-	 * @see #setDefaultRuntime(IRuntime)
-	 */
-	public IRuntime getDefaultRuntime();
-	
-	/**
-	 * Sets the default runtime.
-	 * <p>
-	 * [issue: This is marked "Test API - do not use."]
-	 * </p>
-	 *
-	 * @param runtime a runtime instance, or <code>null</code>
-	 * @see #getDefaultRuntime()
-	 */
-	public void setDefaultRuntime(IRuntime runtime);
-	
-	/**
-	 * Returns the list of all known runtime instances of
-	 * the given runtime type. This convenience method filters the list of known
-	 * runtime ({@link #getRuntimes()}) for ones with a matching
-	 * runtime type ({@link IRuntime#getRuntimeType()}).
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of runtimes changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list changing under foot as runtime instances
-	 * come and go.]
-	 * </p>
-	 * <p>
-	 * [issue: Clarify whether the list may include working copies.]
-	 * </p>
-	 * <p>
-	 * [issue: Is this convenience method really necessary?
-	 * It's straightforward enough for a client to do.]
-	 * </p>
-	 * 
-	 * @param runtimeType the runtime type
-	 * @return a possibly-empty list of runtime instances (element type: {@link IRuntime})
-	 * of the given runtime type
-	 */
-	public List getRuntimes(IRuntimeType runtimeType);
-	
-	/**
-	 * Returns the runtime with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * runtimes ({@link #getRuntimes()}) for the one with a matching
-	 * runtime id ({@link IRuntime#getId()}).
-	 * <p>
-	 * [issue: It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findRuntime to make
-	 * it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param the runtime id, or <code>null</code>
-	 * @return the runtime instance, or <code>null</code> if 
-	 * id is <code>null</code> or there is no runtime
-	 * with the given id
-	 */
-	public IRuntime getRuntime(String id);
-
-	/**
-	 * Returns the list of all known server instances.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of servers changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list changing under foot as server instances
-	 * come and go.]
-	 * </p>
-	 * <p>
-	 * [issue: Clarify whether the list may include working copies.]
-	 * </p>
-	 * 
-	 * @return a possibly-empty list of server instances (element type: {@link IServer})
-	 */
-	public List getServers();
-
-	/**
-	 * Returns the server with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * servers ({@link #getServers()}) for the one with a matching
-	 * server id ({@link IServer#getId()}).
-	 * <p>
-	 * [issue: It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findServer to make
-	 * it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param the server id, or <code>null</code>
-	 * @return the server instance, or <code>null</code> if 
-	 * id is <code>null</code> or there is no server
-	 * with the given id
-	 */
-	public IServer getServer(String id);
-
-	/**
-	 * Returns the server that came from the given file, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * servers ({@link #getServers()}) for the one with a matching
-	 * location ({@link IServer#getFile()}).
-	 * <p>
-	 * [issue: Is this convenience method really necessary?
-	 * It's straightforward enough for a client to do.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findServer to make
-	 * it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param a server file
-	 * @return the server instance, or <code>null</code> if 
-	 * there is no server associated with the given file
-	 */
-	public IServer getServer(IFile file);
-	
-	/**
-	 * Returns the list of all known server instances of
-	 * the given server type. This convenience method filters the list of known
-	 * servers ({@link #getServers()}) for ones with a matching
-	 * server type ({@link IServer#getServerType()}).
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of servers changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list changing under foot as server instances
-	 * come and go.]
-	 * </p>
-	 * <p>
-	 * [issue: Clarify whether the list may include working copies.]
-	 * </p>
-	 * <p>
-	 * [issue: Is this convenience method really necessary?
-	 * It's straightforward enough for a client to do.]
-	 * </p>
-	 * 
-	 * @param serverType the server type
-	 * @return a possibly-empty list of server instances (element type: {@link IServer})
-	 * of the given server type
-	 */
-	public List getServers(IServerType serverType);
-
-	/**
-	 * Returns the list of all known server configuration instances.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of server configurations changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list changing under foot as server 
-	 * configuration instances come and go.]
-	 * </p>
-	 * <p>
-	 * [issue: Clarify whether the list may include working copies.]
-	 * </p>
-	 * 
-	 * @return a possibly-empty list of server configuration instances 
-	 * (element type: {@link IServerConfiguration})
-	 */
-	public List getServerConfigurations();
-	
-	/**
-	 * Returns the list of all known server configuration instances of
-	 * the given server configuration type. This convenience method filters
-	 * the list of known server configurations
-	 * ({@link #getServerConfigurations()}) for ones with a matching
-	 * server configuration type
-	 * ({@link IServerConfiguration#getServerConfigurationType()}).
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of server configurations changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list changing under foot as server 
-	 * configuration instances come and go.]
-	 * </p>
-	 * <p>
-	 * [issue: Clarify whether the list may include working copies.]
-	 * </p>
-	 * <p>
-	 * [issue: Is this convenience method really necessary?
-	 * It's straightforward enough for a client to do.]
-	 * </p>
-	 * 
-	 * @param configType the server configuration type
-	 * @return a possibly-empty list of server configuration instances
-	 * (element type: {@link IServer}) of the given server configuration type
-	 */
-	public List getServerConfigurations(IServerConfigurationType configType);
-
-	/**
-	 * Returns the server configuration with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * server configurations ({@link #getServerConfigurations()}) for the one
-	 * with a matching server configuration id
-	 * ({@link IServerConfiguration#getId()}).
-	 * <p>
-	 * [issue: It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findServerConfiguration to make
-	 * it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param the server configuration id, or <code>null</code>
-	 * @return the server configuration instance, or <code>null</code> if 
-	 * id is <code>null</code> or there is no server configuration
-	 * with the given id
-	 */
-	public IServerConfiguration getServerConfiguration(String id);
-
-	/**
-	 * Returns the server configuration that came from the given file, 
-	 * or <code>null</code> if none. This convenience method searches the list
-	 * of known server configurations ({@link #getServerConfigurations()}) for
-	 * the one with a matching location ({@link IServerConfiguration#getFile()}).
-	 * <p>
-	 * [issue: Is this convenience method really necessary?
-	 * It's straightforward enough for a client to do.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findServerConfiguration to make
-	 * it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param a server configuration file
-	 * @return the server configuration instance, or <code>null</code> if 
-	 * there is no server configuration associated with the given file
-	 */
-	public IServerConfiguration getServerConfiguration(IFile file);
-
-	/**
-	 * Adds a new module events listener.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IModuleEventsListener
-	 */
-	public void addModuleEventsListener(IModuleEventsListener listener);
-	
-	/**
-	 * Removes an existing module events listener.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IModuleEventsListener
-	 */
-	public void removeModuleEventsListener(IModuleEventsListener listener);
-
-	/**
-	 * Adds a new server lifecycle event handler with the given index. Handlers with
-	 * lower indexes are always called first.
-	 *
-	 * @param handler org.eclipse.wst.server.model.IServerLifecycleEventHandler
-	 */
-	public void addServerLifecycleEventHandler(int index, IServerLifecycleEventHandler handler);
-
-	/**
-	 * Removes an existing server lifecycle event handler.
-	 *
-	 * @param handler org.eclipse.wst.server.model.IServerLifecycleEventHandler
-	 */
-	public void removeServerLifecycleEventHandler(IServerLifecycleEventHandler handler);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java
deleted file mode 100644
index 6376cda..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java
+++ /dev/null
@@ -1,159 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.wst.server.core.model.IRuntimeDelegate;
-/**
- * Represents a runtime instance. Every runtime is an instance of a
- * particular, fixed runtime type.
- * <p>
- * Servers have a runtime. The server runtime corresponds to the
- * installed code base for the server. The main role played by the server
- * runtime is in identifying code libraries to compile or build against.
- * In the case of local servers, the server runtime may play a secondary role
- * of being used to launch the server for testing. Having the server runtimes
- * identified as an entity separate from the server itself facilitates sharing
- * server runtimes between several servers.
- * </p>
- * <p>
- * [issue: As mentioned in an issue on IRuntimeType, the term "runtime"
- * is misleading, given that the main reason is for build time classpath
- * contributions, not for actually running anything. "libraries" might be a
- * better choice.]
- * </p>
- * <p>
- * The resource manager maintains a global list of all known runtime instances
- * ({@link IResourceManager#getRuntimes()}).
- * </p>
- * <p>
- * [issue: Equality/identify for runtimes?]
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IRuntime extends IElement {
-	
-	/**
-	 * Returns the type of this runtime instance.
-	 * 
-	 * @return the runtime type
-	 */
-	public IRuntimeType getRuntimeType();
-
-	/**
-	 * Returns the delegate for this runtime.
-	 * The runtime delegate is a runtime-type-specific object.
-	 * By casting the runtime delegate to the type prescribed in
-	 * the API documentation for that particular runtime type, 
-	 * the client can access runtime-type-specific properties and
-	 * methods.
-	 * <p>
-	 * [issue: Exposing IRuntimeDelegate to clients of IRuntime
-	 * is confusing and dangerous. Instead, replace this
-	 * method with something like getRuntimeExtension() which
-	 * returns an IRuntimeExtension. IRuntimeExtension is an
-	 * "marker" interface that runtime providers would 
-	 * implement or extend if they want to expose additional
-	 * API for their runtime type. That way IRuntimeDelegate
-	 * can be kept entirely on the SPI side, out of view from 
-	 * clients.]
-	 * </p>
-	 * <p>
-	 * [issue: runtimeTypes schema, class attribute is optional.
-	 * This suggests that a server need not provide a delegate class.
-	 * This seems implausible. I've spec'd this method as delegate optional.]
-	 * </p>
-	 * 
-	 * @return the runtime delegate, or <code>null</code> if none
-	 */
-	public IRuntimeDelegate getDelegate();
-
-	/**
-	 * Returns a runtime working copy for modifying this runtime instance.
-	 * If this instance is already a working copy, it is returned.
-	 * If this instance is not a working copy, a new runtime working copy
-	 * is created with the same id and attributes.
-	 * Clients are responsible for saving or releasing the working copy when
-	 * they are done with it.
-	 * <p>
-	 * The runtime working copy is related to this runtime instance
-	 * in the following ways:
-	 * <pre>
-	 * this.getWorkingCopy().getId() == this.getId()
-	 * this.getWorkingCopy().getOriginal() == this
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * [issue: IRuntimeWorkingCopy extends IRuntime. 
-	 * Runtime.getWorkingCopy() create a new working copy;
-	 * RuntimeWorkingCopy.getWorkingCopy() returns this.
-	 * This may be convenient in code that is ignorant of
-	 * whether they are dealing with a working copy or not.
-	 * However, it is hard for clients to manage working copies
-	 * with this design.
-	 * This method should be renamed "createWorkingCopy"
-	 * or "newWorkingCopy" to make it clear to clients that it
-	 * creates a new object, even for working copies.]
-	 * </p>
-	 * 
-	 * @return a new working copy
-	 */
-	public IRuntimeWorkingCopy getWorkingCopy();
-	
-	/**
-	 * Returns the location of this runtime.
-	 * <p>
-	 * [issue: Explain what this "location" is.]
-	 * </p>
-	 * 
-	 * @return the location of this runtime, or <code>null</code> if none
-	 */
-	public IPath getLocation();
-	
-	/**
-	 * Returns whether this runtime can be used as a test environment.
-	 * <p>
-	 * [issue: How does one explain what a "test environment" is?
-	 * How does this property of runtime square with 
-	 * IServerType.isTestEnvironment(), a *type-generic*
-	 * property of a server type?]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this runtime can be use as a
-	 * test environment, and <code>false</code> if it cannot
-	 */
-	public boolean isTestEnvironment();
-	
-	/**
-	 * Validates this runtime instance.
-	 * <p>
-	 * [issue: Need to explain what could be wrong with a runtime.]
-	 * </p>
-	 * <p>
-	 * [issue: Would it make more sense to validate working copies
-	 * before prior to save?]
-	 * </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.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLocator.java
deleted file mode 100644
index d9ea656..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLocator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IRuntimeLocator {
-	/**
-	 * 
-	 * @return
-	 */
-	public String getId();
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getName();
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getDescription();
-
-	public void searchForRuntimes(IRuntimeLocatorListener listener, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java
deleted file mode 100644
index 7083b72..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.model.IRuntimeTargetHandlerDelegate;
-/**
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IRuntimeTargetHandler extends IOrdered {
-	/**
-	 * 
-	 * @return
-	 */
-	public String getId();
-
-	public boolean supportsRuntimeType(IRuntimeType runtimeType);
-
-	public IRuntimeTargetHandlerDelegate getDelegate();
-
-	public void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-	
-	public void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
deleted file mode 100644
index c281d45..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
+++ /dev/null
@@ -1,182 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents a (server) runtime type from which runtime instances can be
- * created.
- * <p>
- * The server core framework supports
- * an open-ended set of runtime types, which are contributed via
- * the <code>runtimeTypes</code> extension point in the server core
- * plug-in. Runtime type objects carry no state (all information is
- * read-only and is supplied by the server runtime type declaration).
- * The global list of known runtime types is available via
- * {@link ServerCore#getRuntimeTypes()}.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * [issue: The term "runtime" is misleading, given that the main
- * reason is for build time classpath contributions, not for actually
- * running anything. "libraries" might be a better choice.]
- * </p>
- * <p>
- * [issue: What value do runtimes add?
- * It's main role is for setting up the Java build classpath
- * for projects holding modules that must be Java compiled.
- * If the notion of module is to transcend the vagaries of particular
- * types of server, and, indeed, be published to multiple servers
- * simultaneously, then matters of build classpath had better not
- * be tied to the particular servers involved.]
- * </p>
- * <p>
- * [issue: It is notoriously difficult to place any kind of
- * useful order on objects that are contributed independently by
- * non-collaborating parties. The IOrdered mechanism is weak, and
- * can't really solve the problem. Issues of presentation are usually
- * best left to the UI, which can sort objects based on arbitrary
- * properties.]
- * </p>
- * <p>
- * [issue: Equality/identify for runtime types? Are IRuntimeType
- * instances guaranteed to be canonical (client can use ==),
- * or is it possible for there to be non-identical IRuntimeType
- * objects in play that both represent the same runtime type?
- * The latter is the more common; type should spec equals.]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IRuntimeType extends IOrdered {
-
-	/**
-	 * Returns the id of this runtime type.
-	 * Each known server runtime type has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the runtime type id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this runtime type.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this runtime type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the displayable description for this runtime type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this runtime type
-	 */
-	public String getDescription();
-	
-	/**
-	 * Returns the displayable vendor name for this runtime type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 * <p>
-	 * [issue: "vendor" attribute is optional. What is expected return
-	 * when omitted? Should be empty string.]
-	 * </p>
-	 *
-	 * @return a displayable vendor name for this runtime type
-	 */
-	public String getVendor();
-	
-	/**
-	 * Returns the displayable version name for this runtime type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 * <p>
-	 * [issue: "versionId" attribute is optional. What is expected return
-	 * when omitted? Should be empty string.]
-	 * </p>
-	 * </p>
-	 *
-	 * @return a displayable version name for this runtime type
-	 */
-	public String getVersion();
-
-	/**
-	 * Returns the list of module types that this runtime type 
-	 * can support.
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list chaning under foot if a new plug-in
-	 * is installed that happens to define a module kind (a scenario that
-	 * Eclipse should support).]
-	 * </p>
-	 * 
-	 * @return the list of module types (element type: {@link IModuleType})
-	 */
-	public List getModuleTypes();
-	
-	/**
-	 * Returns whether this runtime type can be instantiated.
-	 * <p>
-	 * [issue: It's unclear what this method is for.
-	 * The implementation checks whether the "class"
-	 * and "workingCopyClass" attributes (both optional) were specified.
-	 * What would be the point of a runtime type that didn't
-	 * have both of these attributes and could not be "created"?]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of runtime can be
-	 * instantiated, and <code>false</code> if it cannot
-	 * @see #createRuntime(String)
-	 */
-	public boolean canCreate();
-
-	/**
-	 * Creates a working copy instance of this runtime type.
-	 * After setting various properties of the working copy,
-	 * the client should call {@link IRuntimeWorkingCopy#save(IProgressMonitor)}
-	 * to bring the runtime instance into existence.
-	 * <p>
-	 * [issue: This method is declared as throwing CoreException.
-	 * From a clients's point of view, what are the circumstances that
-	 * cause this operation to fail?]
-	 * </p>
-	 * 
-	 * @param id the id to assign to the runtime instance; a generated
-	 * id is used if id is <code>null</code> or an empty string
-	 * @return a new runtime working copy with the given id
-	 * @throws CoreException [missing]
-	 */
-	public IRuntimeWorkingCopy createRuntime(String id) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java
deleted file mode 100644
index 7a0f8db..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,151 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
-/**
- * A working copy runtime object used for formulating changes
- * to a runtime instance ({@link IRuntime}).
- * <p>
- * [issue: The default value of location and test environment
- * should be specified here (or in IServerType.createRuntime).
- * If the initial value is unsuitable for actual use, then
- * save needs to deal with the case where the client forgets
- * to initialize this property.]
- * </p>
- * <p>
- * [issue: There can be other runtime-type-specific properties.
- * The default values for these need to be specified somewhere
- * too (probably in the API subclass of IRuntimeWorkingCopyDelegate).]
- * </p>
- * <p>
- * [issue: IElementWorkingCopy and IElement support an open-ended set
- * of attribute-value pairs. What is relationship between these
- * attributes and (a) the get/setXXX methods found on this interface,
- * and (b) get/setXXX methods provided by specific server types?
- * Is it the case that these attribute-values pairs are the only
- * information about a runtime instance that can be preserved
- * between workbench sessions? That is, any information recorded
- * just in instance fields of an IRuntimeDelegate implementation
- * will be lost when the session ends.]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IRuntimeWorkingCopy extends IRuntime, IElementWorkingCopy {	
-
-	/**
-	 * Returns the runtime instance that this working copy is
-	 * associated with.
-	 * <p>
-	 * For a runtime working copy created by a call to
-	 * {@link IRuntime#getWorkingCopy()},
-	 * <code>this.getOriginal()</code> returns the original
-	 * runtime object. For a runtime working copy just created by
-	 * a call to {@link IRuntimeType#createRuntime(String)},
-	 * <code>this.getOriginal()</code> returns <code>null</code>.
-	 * </p>
-	 * 
-	 * @return the associated runtime instance, or <code>null</code> if none
-	 */
-	public IRuntime getOriginal();
-	
-	/**
-	 * Returns the delegate for this runtime working copy.
-	 * The runtime working copy delegate is a
-	 * runtime-type-specific object. By casting the runtime working copy
-	 * delegate to the type prescribed in the API documentation for that
-	 * particular runtime working copy type, the client can access
-	 * runtime-type-specific properties and methods.
-	 * <p>
-	 * [issue: Exposing IRuntimeWorkingCopyDelegate to clients
-	 * of IRuntimeWorkingCopy is same problem as exposing
-	 * IRuntimeDelegate to clients of IRuntime. The suggested fix 
-	 * is to replace this method with something like
-	 * getRuntimeWorkingCopyExtension() which
-	 * returns an IRuntimeWorkingCopyExtension.]
-	 * </p>
-	 * <p>
-	 * [issue: runtimeTypes schema, workingCopyClass attribute is optional.
-	 * This suggests that a runtime need not provide a working copy
-	 * delegate class. Like the class attribute, this seems implausible.
-	 * I've spec'd this method as if working copy delegate is mandatory.]
-	 * </p>
-	 * 
-	 * @return the delegate for the runtime working copy
-	 */
-	public IRuntimeWorkingCopyDelegate getWorkingCopyDelegate();
-	
-	/**
-	 * Sets the location of this runtime.
-	 * <p>
-	 * [issue: Explain what this "location" is.]
-	 * </p>
-	 * 
-	 * @param path the location of this runtime, or <code>null</code> if none
-	 * @see IRuntime#getLocation()
-	 */
-	public void setLocation(IPath path);
-	
-	/**
-	 * Commits the changes made in this working copy. If there is
-	 * no extant runtime instance with a matching id and runtime
-	 * type, this will create a runtime instance with attributes
-	 * taken from this working copy. If there an existing runtime
-	 * instance with a matching id and runtime type, this will
-	 * change the runtime instance accordingly.
-	 * <p>
-	 * [issue: What is relationship to 
-	 * this.getOriginal() and the IRuntime returned by this.save()?
-	 * The answer should be: they're the same runtime, for an
-	 * appropriate notion of "same". As currently implemented, they
-	 * are different IRuntime instances but have the same runtime
-	 * id and same runtime types. Client that are hanging on to
-	 * the old runtime instance will not see the changes. 
-	 * If IRuntime were some kind of handle object as elsewhere in 
-	 * Eclipse Platform, this kind of change could be done much
-	 * more smoothly.]
-	 * </p>
-	 * <p>
-	 * [issue: What if this object has already been saved
-	 * or released?]
-	 * </p>
-	 * <p>
-	 * [issue: What is lifecycle for IRuntimeWorkingCopyDelegate
-	 * associated with this working copy?]
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new runtime instance
-	 * @throws CoreException [missing]
-	 */
-	public IRuntime save(IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Sets whether this runtime can be used as a test environment.
-	 * 
-	 * @param b <code>true</code> if this runtime can be use as a
-	 * test environment, and <code>false</code> if it cannot
-	 * @see IRuntime#isTestEnvironment()
-	 */
-	public void setTestEnvironment(boolean b);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
deleted file mode 100644
index b7ab5e7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
+++ /dev/null
@@ -1,946 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleEvent;
-import org.eclipse.wst.server.core.model.IModuleFactoryEvent;
-import org.eclipse.wst.server.core.model.IPublishListener;
-import org.eclipse.wst.server.core.model.IPublisher;
-import org.eclipse.wst.server.core.model.IServerDelegate;
-import org.eclipse.wst.server.core.model.IServerListener;
-/**
- * Represents a server instance. Every server is an instance of a
- * particular, fixed server type.
- * <p>
- * Not surprisingly, the notion of <b>server</b> is central in the web tools
- * server infrastructure. In this context, understand that a server is
- * a web server of some ilk. It could be a simple web server lacking Java
- * support, or an J2EE based server, or perhaps even some kind of database
- * server. A more exact definition is not required for the purposes of this API.
- * From a tool-centric point of view, a server
- * is something that the developer is writing "content" for.
- * The unit of content is termed a module.
- * In a sense, the server exists, but lacks useful content. The
- * development task is to provide that content. The content can include
- * anything from simple, static HTML web pages to complex, highly dynamic
- * web applications.
- * In the course of writing and debugging this content,
- * the developer will want to test their content on a web server, to see how it
- * gets served up. For this they will need to launch a server process running on
- * some host machine (often the local host on which the IDE is running), or
- * attach to a server that's already running on a remote (or local) host. 
- * The newly developed content sitting in the developer's workspace needs to
- * end up in a location and format that the running server can use for its
- * serving purposes.
- * </p>
- * <p>
- * In this picture, an <code>IServer</code> object is a proxy for the real web
- * server. Through this proxy, a client can configure the server, and start,
- * stop, and restart it.
- * </p>
- * <p>
- * The resource manager maintains a global list of all known server instances
- * ({@link IResourceManager#getServers()}).
- * </p>
- * <p>
- * [rough notes:
- * Server has a state.
- * Server can be started, stopped, and restarted.
- * To modify server attributes, get a working copy, modify it, and then save it
- * to commit the changes.
- * Server attributes. Serialization.
- * Chained working copies for runtime, server configuration.
- * Server has a set of root modules.
- * Modules have state wrt a server.
- * Restarting modules.
- * ]
- * </p>
- * <p>
- * [issue: The information actually stored in the (.server) file is:
- * server id and name, server type id, runtime id, server configuration id,
- * and test-environment. It's unclear what's gained by storing this
- * information in a workspace file. Is it so that this information
- * can be shared between users via a repository? Or is it just so that
- * there would be something to open in the resource navigator view?]
- * </p>
- * <p>
- * [issue: Equality/identify for servers?]
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IServer extends IElement {
-	
-	/**
-	 * File extension (value "server") for serialized representation of
-	 * server instances.
-	 * <p>
-	 * [issue: What is relationship between this file extension and
-	 * the file passed to IServerType.create(...) or returned by
-	 * IServer.getFile()? That is, are server files expected to end
-	 * in ".server", or is this just a default? If the former
-	 * (as I suspect), then IServerType.create needs to say so,
-	 * and the implementation should enforce the restriction.]
-	 * </p>
-	 */
-	public static final String FILE_EXTENSION = "server";
-	
-	/**
-	 * Server id attribute (value "server-id") of launch configurations.
-	 * This attribute is used to tag a launch configuration with the
-	 * id of the corresponding server.
-	 * <p>
-	 * [issue: This feels like an implementation detail. If it is to
-	 * remain API, need to explain how a client uses this attribute.]
-	 * </p>
-	 * @see ILaunchConfiguration
-	 */
-	public static final String ATTR_SERVER_ID = "server-id";
-
-	/**
-	 * Server state constant (value 0) indicating that the
-	 * server is in an unknown state.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_UNKNOWN = 0;
-
-	/**
-	 * Server state constant (value 1) indicating that the
-	 * server is starting, but not yet ready to serve content.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_STARTING = 1;
-
-	/**
-	 * Server state constant (value 2) indicating that the
-	 * server is ready to serve content.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_STARTED = 2;
-
-	/**
-	 * Server state constant (value 3) indicating that the
-	 * server is started in debug mode and is ready to serve content.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * <p>
-	 * [issue: SERVER_STARTED_DEBUG and SERVER_STARTED_PROFILE
-	 * could be folded into SERVER_STARTED is there were 
-	 * IServer.getMode() for querying what mode the server is running in.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_STARTED_DEBUG = 3;
-	
-	/**
-	 * Server state constant (value 4) indicating that the
-	 * server is started in profiling mode and is ready to serve content.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * <p>
-	 * [issue: SERVER_STARTED_DEBUG and SERVER_STARTED_PROFILE
-	 * could be folded into SERVER_STARTED is there were 
-	 * IServer.getMode() for querying what mode the server is running in.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_STARTED_PROFILE = 4;
-
-	/**
-	 * Server state constant (value 5) indicating that the
-	 * server is shutting down.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_STOPPING = 5;
-
-	/**
-	 * Server state constant (value 6) indicating that the
-	 * server is stopped.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_STOPPED = 6;
-
-	/**
-	 * Server state constant (value 7) indicating that the
-	 * server does not support getting the server state.
-	 * <p>
-	 * [issue: Given SERVER_UNKNOWN, is this state really
-	 * necessary?]
-	 * </p>
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerState()
-	 */
-	public static final byte SERVER_UNSUPPORTED = 7;
-
-
-	/**
-	 * Module state constant (value 0) indicating that the
-	 * module is in an unknown state.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getModuleState(IModule)
-	 */
-	public static final byte MODULE_STATE_UNKNOWN = 0;
-
-	/**
-	 * Module state constant (value 1) indicating that the
-	 * module is starting up, but not yet ready to serve its content.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getModuleState(IModule)
-	 */
-	public static final byte MODULE_STATE_STARTING = 1;
-
-	/**
-	 * Module state constant (value 2) indicating that the
-	 * module is ready to serve its content.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getModuleState(IModule)
-	 */
-	public static final byte MODULE_STATE_STARTED = 2;
-
-	/**
-	 * Module state constant (value 3) indicating that the
-	 * module is shutting down.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getModuleState(IModule)
-	 */
-	public static final byte MODULE_STATE_STOPPING = 3;
-
-	/**
-	 * Module state constant (value 4) indicating that the
-	 * module is stopped.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getModuleState(IModule)
-	 */
-	public static final byte MODULE_STATE_STOPPED = 4;
-
-
-	// --- Sync State Constants ---
-	// (returned from the isXxxInSnyc() methods)
-
-	// the state of the server's contents are unknown
-	public static final byte SYNC_STATE_UNKNOWN = 0;
-
-	// the local contents exactly match the server's contents
-	public static final byte SYNC_STATE_IN_SYNC = 1;
-
-	// the local contents do not match the server's contents
-	public static final byte SYNC_STATE_DIRTY = 2;
-	
-	/**
-	 * Returns the current state of this server.
-	 * <p>
-	 * Note that this operation is guaranteed to be fast
-	 * (it does not actually communicate with any actual
-	 * server).
-	 * </p>
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 *
-	 * @return one of the server state (<code>SERVER_XXX</code>)
-	 * constants declared on {@link IServer}
-	 */
-	public byte getServerState();
-	
-	/**
-	 * Returns the host for the running server.
-	 * The format of the host conforms to RFC 2732.
-	 * <p>
-	 * [issue: Consider renaming to "getHost" to bring in line
-	 * with terminology used in java.net.URL. The host name can be
-	 * either a host name or octets.]
-	 * </p>
-	 * 
-	 * @return a host string conforming to RFC 2732
-	 * @see java.net.URL.getHost()
-	 */
-	public String getHostname();
-	
-	/**
-	 * Returns the file where this server instance is serialized.
-	 * 
-	 * @return the file in the workspace where the server instance
-	 * is serialized, or <code>null</code> if the information is
-	 * instead to be persisted with the workspace but not with any
-	 * particular workspace resource
-	 */
-	public IFile getFile();
-	
-	/**
-	 * Returns the runtime associated with this server.
-	 * <p>
-	 * Note: The runtime of a server working copy may or may not
-	 * be a working copy. For a server instance that is not a
-	 * working copy, the runtime instance is not a working copy
-	 * either.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * runtimeTypeId is a mandatory attribute. It seems odd
-	 * then to have server runtime instance being an
-	 * optional property of server instance. What does it mean
-	 * for a server to not have a runtime?]
-	 * </p>
-	 * 
-	 * @return the runtime, or <code>null</code> if none
-	 */
-	public IRuntime getRuntime();
-	
-	/**
-	 * Returns the type of this server.
-	 * 
-	 * @return the server type
-	 */
-	public IServerType getServerType();
-	
-	/**
-	 * Returns the server configuration associated with this server.
-	 * <p>
-	 * Note: The server configuration of a server working copy may
-	 * or may not be a working copy. For a server instance that is
-	 * not a working copy, the server configuration instance is not
-	 * a working copy either.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * configurationTypeId is an optional attribute. If a server type
-	 * has no server configuration type, then it seems reasonable to 
-	 * expect this method to return null for all instances of that server
-	 * type. But what about a server type that explicitly specifies
-	 * a server configuration type. Does that mean that all server
-	 * instances of that server type must have a server configuration
-	 * instance of that server configuration type, and that this method
-	 * never returns null in those cases?]
-	 * </p>
-	 * 
-	 * @return the server configuration, or <code>null</code> if none
-	 */
-	public IServerConfiguration getServerConfiguration();
-	
-	/**
-	 * Returns the server delegate for this server.
-	 * The server delegate is a server-type-specific object.
-	 * By casting the server delegate to the type prescribed in
-	 * the API documentation for that particular server type, 
-	 * the client can access server-type-specific properties and
-	 * methods.
-	 * <p>
-	 * [issue: Exposing IServerDelegate to clients of IServer
-	 * is confusing and dangerous. Instead, replace this
-	 * method with something like getServerExtension() which
-	 * returns an IServerExtension. IServerExtension is an
-	 * "marker" interface that server providers would 
-	 * implement or extend if they want to expose additional
-	 * API for their server type. That way IServerDelegate
-	 * can be kept entirely on the SPI side, out of view from 
-	 * clients.]
-	 * </p>
-	 * <p>
-	 * [issue: serverTypes schema, class attribute is optional.
-	 * This suggests that a server need not provide a delegate class.
-	 * This seems implausible. I've spec'd this method 
-	 * as if delegate is mandatory.]
-	 * </p>
-	 * 
-	 * @return the server delegate
-	 */
-	public IServerDelegate getDelegate();
-	
-	/**
-	 * Returns a server working copy for modifying this server instance.
-	 * If this instance is already a working copy, it is returned.
-	 * If this instance is not a working copy, a new server working copy
-	 * is created with the same id and attributes.
-	 * Clients are responsible for saving or releasing the working copy when
-	 * they are done with it.
-	 * <p>
-	 * The server working copy is related to this server instance
-	 * in the following ways:
-	 * <pre>
-	 * this.getWorkingCopy().getId() == this.getId()
-	 * this.getWorkingCopy().getFile() == this.getFile()
-	 * this.getWorkingCopy().getOriginal() == this
-	 * this.getWorkingCopy().getRuntime() == this.getRuntime()
-	 * this.getWorkingCopy().getServerConfiguration() == this.getServerConfiguration()
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * [issue: IServerWorkingCopy extends IServer. 
-	 * Server.getWorkingCopy() create a new working copy;
-	 * ServerWorkingCopy.getWorkingCopy() returns this.
-	 * This may be convenient in code that is ignorant of
-	 * whether they are dealing with a working copy or not.
-	 * However, it is hard for clients to manage working copies
-	 * with this design.
-	 * This method should be renamed "createWorkingCopy"
-	 * or "newWorkingCopy" to make it clear to clients that it
-	 * creates a new object, even for working copies.]
-	 * </p>
-	 * 
-	 * @return a new working copy
-	 */
-	public IServerWorkingCopy getWorkingCopy();
-	
-	/**
-	 * Returns whether the given server configuration can be used with
-	 * this server.
-	 * <p>
-	 * [issue: This seems to be just a convenience method. Given that it's 
-	 * straightforward enought for a client to compare 
-	 * this.getServerType().getServerConfiguration()
-	 * to configuration.getServerConfigurationType(),
-	 * it's not clear that there is a great need for this method.]
-	 * </p>
-	 * <p>
-	 * [issue: It does not make sense to allow a null configuration.]
-	 * </p>
-	 * 
-	 * Returns true if this is a configuration that is
-	 * applicable to (can be used with) this server.
-	 *
-	 * @param configuration the server configuration
-	 * @return <code>true</code> if this server supports the given server
-	 * configuration, and <code>false/code> otherwise
-	 */
-	public boolean isSupportedConfiguration(IServerConfiguration configuration);
-
-	/**
-	 * Returns the configuration's sync state.
-	 *
-	 * @return byte
-	 */
-	public byte getConfigurationSyncState();
-
-	/**
-	 * Returns a list of the projects that have not been published
-	 * since the last modification. (i.e. the projects that are
-	 * out of sync with the server.
-	 *
-	 * @return java.util.List
-	 */
-	public List getUnpublishedModules();
-
-	/**
-	 * Adds the given server state listener to this server.
-	 * Once registered, a listener starts receiving notification of 
-	 * state changes to this server. The listener continues to receive
-	 * notifications until it is removed.
-	 * <p>
-	 * [issue: Duplicate server listeners should be ignored.]
-	 * </p>
-	 *
-	 * @param listener the server listener
-	 * @see #removeServerListener(IServerListener)
-	 */
-	public void addServerListener(IServerListener listener);
-	
-	/**
-	 * Removes the given server state listener from this server. Has no
-	 * effect if the listener is not registered.
-	 * 
-	 * @param listener the listener
-	 * @see #addServerListener(IServerListener)
-	 */
-	public void removeServerListener(IServerListener listener);
-
-	/**
-	 * Adds a publish listener to this server.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IPublishListener
-	 */
-	public void addPublishListener(IPublishListener listener);
-	
-	/**
-	 * Removes a publish listener from this server.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IPublishListener
-	 */
-	public void removePublishListener(IPublishListener listener);
-	
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be published to.
-	 *
-	 * @return <code>true</code> if this server can be published to,
-	 * and <code>false</code> otherwise
-	 */
-	public boolean canPublish();
-	
-	/**
-	 * Returns true if the server may have any projects or it's
-	 * configuration out of sync.
-	 *
-	 * @return boolean
-	 */
-	public boolean shouldPublish();
-	
-	/**
-	 * Returns the publisher that can be used to publish the
-	 * given module to this server.
-	 * <p>
-	 * [issue: It is unclear why the IPublisher is being exposed
-	 * here at all. A normal client would call
-	 * IServer.publish to instigate a publish operation; they would
-	 * not be involved with anything finer-grained. Even the package
-	 * suggests that IPublisher is something that should only be 
-	 * relevant on the SPI side.]
-	 * </p>
-	 * <p>
-	 * [issue: Explain the role of the parents parameter.]
-	 * </p>
-	 *
-	 * @param parents the parent modules (element type: <code>IModule</code>)
-	 * @param module the module
-	 * @return the publisher that handles the given module, or
-	 * <code>null</code> if the module cannot be published to
-	 * this server
-	 */
-	public IPublisher getPublisher(List parents, IModule module);
-
-	/**
-	 * Publishes all associated modules to this server using
-	 * the default publish manager.
-	 * <p>
-	 * [issue: The Server implementation of this method currently reads
-	 * ServerCore.getPublishManager(ServerPreferences.DEFAULT_PUBLISH_MANAGER).
-	 * This means that there is a fixed default (the smart publish manager).
-	 * I think it should instead read
-	 * ServerCore.getPublishManager(ServerPreferences.getDefaultPublishManager())
-	 * which allows the default publish manager to be configured via 
-	 * a preference.]
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return status indicating what (if anything) went wrong
-	 */
-	public IStatus publish(IProgressMonitor monitor);
-	
-	/**
-	 * Publishes all associated modules to this server using
-	 * the given publish manager.
-	 * 
-	 * @param publishManager the publish manager that is to coordinate
-	 * this publishing operation
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return status indicating what (if anything) went wrong
-	 */
-	public IStatus publish(IPublishManager publishManager, IProgressMonitor monitor);
-	
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be started in the given mode.
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 * one of the mode constants defined by
-	 * {@link org.eclipse.debug.core.ILaunchManager}
-	 * @return <code>true</code> if this server can be started
-	 * in the given mode, and <code>false</code> if it is either
-	 * not ready to be started or if it does not support the given
-	 * mode
-	 */
-	public boolean canStart(String launchMode);
-	
-	public ILaunch getExistingLaunch();
-	
-	/**
-	 * Return the launch configuration for this server. If one does not exist, it
-	 * will be created if "create" is true, and otherwise will return null.
-	 * 
-	 * @param create
-	 * @return
-	 * @throws CoreException
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(boolean create) throws CoreException;
-
-	public void setLaunchDefaults(ILaunchConfigurationWorkingCopy workingCopy);
-
-	/**
-	 * Asynchronously starts this server in the given launch mode.
-	 * Returns the debug launch object that can be used in a debug
-	 * session.
-	 * <p>
-	 * [issue: This method should specify what it does if
-	 * canStart(launchMode) returns false.]
-	 * </p>
-	 * <p>
-	 * [issue: There is no way to communicate failure to the
-	 * client for the async portion of this operation. Given that
-	 * this operation can go awry, there probably should be a mechanism
-	 * that allows failing asynch operations to be diagnosed.]
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 * one of the mode constants defined by
-	 * {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a debug launch object
-	 * @exception CoreException if an error occurs while trying to start the server
-	 */
-	public ILaunch start(String launchMode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Starts this server in the given launch mode and waits until the server
-	 * has finished starting.
-	 * <p>
-	 * This convenience method uses {@link #start(String, IProgressMonitor)}
-	 * to start the server, and an internal thread and listener to detect
-	 * when the server has finished starting.
-	 * </p>
-	 * <p>
-	 * [issue: Is there are particular reason why this method
-	 * does not return the ILaunch that was used?]
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 * one of the mode constants defined by
-	 * {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @exception CoreException if an error occurs while trying to start the server
-	 */
-	public void synchronousStart(String launchMode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be restarted in the given mode. Note that only servers
-	 * that are currently running can be restarted.
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 * one of the mode constants defined by
-	 * {@link org.eclipse.debug.core.ILaunchManager}
-	 * @return <code>true</code> if this server can be restarted
-	 * in the given mode, and <code>false</code> if it is either
-	 * not ready to be restarted or if it does not support the given
-	 * mode
-	 */
-	public boolean canRestart(String mode);
-	
-	/**
-	 * Returns whether this server is out of sync and needs to be
-	 * restarted.
-	 * <p>
-	 * [issue: Need to explain what is it that can get out of
-	 * "out of sync" here, and how this can happen.]
-	 * </p>
-	 * <p>
-	 * [issue: Rather than have an unspecified result when the
-	 * server is not running, this method should be spec'd to
-	 * return false whenever canRestart() returns false.]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this server is out of sync and needs to be
-	 * restarted, and <code>false</code> otherwise (e.g., if the contents have
-	 * not been modified and the server process is still in sync); the
-	 * result is unspecified if the server is not currently running
-	 */
-	public boolean isRestartNeeded();
-
-	/**
-	 * Asynchronously restarts this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canRestart()}
-	 * returns <code>false</code>.
-	 * <p>
-	 * [issue: Lack of symmetry. Why is there no synchronousRestart? start and
-	 * stop both have synchronous equivalents.]
-	 * </p>
-	 * <p>
-	 * [issue: There is no way to communicate failure to the
-	 * client. Given that this operation can go awry, there probably
-	 * should be a mechanism that allows failing asynch operations
-	 * to be diagnosed.]
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 * one of the mode constants defined by
-	 * {@link org.eclipse.debug.core.ILaunchManager}
-	 */
-	public void restart(String mode);
-
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be stopped.
-	 * <p>
-	 * [issue: Are there servers (or server types) that cannot be
-	 * stopped? For instance, a server running on a remote host that 
-	 * can be attached to, a published to, but neither started or
-	 * stopped via this API. Or are we only talking about whether
-	 * it is inconvenient to stop at this time?]
-	 * </p>
-	 *
-	 * @return <code>true</code> if this server can be stopped,
-	 * and <code>false</code> otherwise
-	 */
-	public boolean canStop();
-
-	/**
-	 * Asynchronously stops this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canStop()}
-	 * returns <code>false</code>.
-	 * <p>
-	 * [issue: There is no way to communicate failure to the
-	 * client. Given that this operation can go awry, there probably
-	 * should be a mechanism that allows failing asynch operations
-	 * to be diagnosed.]
-	 * </p>
-	 */
-	public void stop();
-
-	/**
-	 * Stops this server and waits until the server has completely stopped.
-	 * <p>
-	 * This convenience method uses {@link #stop()}
-	 * to stop the server, and an internal thread and listener to detect
-	 * when the server has complied.
-	 * </p>
-	 */
-	public void synchronousStop();
-
-	/**
-	 * Terminates the server process(es). This method should only be
-	 * used as a last resort after the stop() method fails to work.
-	 * The server should return from this method quickly and
-	 * use the server listener to notify shutdown progress.
-	 * It MUST terminate the server completely and return it to
-	 * the stopped state.
-	 * <p>
-	 * [issue: Since IServer already has stop(), it's hard to explain
-	 * in what way this method is truely different. Given that stop()
-	 * did not do the trick, why would terminate() have better luck.]
-	 * </p>
-	 */
-	public void terminate();
-
-	/**
-	 * Restarts the given module and waits until it has finished restarting.
-	 * <p>
-	 * [issue: Lack of symmetry. Why is there no moduleRestart? start, restart,
-	 * and stop all have assynchronous equivalents.]
-	 * </p>
-	 * <p>
-	 * [issue: It should probably be spec'd to throw an exception error if the
-	 * given module is not associated with the server.]
-	 * </p>
-	 * <p>
-	 * [issue: This method should be renamed ""synchronousRestartModule".
-	 * This would bring it into line with IServerDelegate.restartModule.]
-	 * </p>
-	 * <p>
-	 * [issue: If the module was just published to the server
-	 * and had never been started, would is be ok to "start"
-	 * the module using this method?]
-	 * </p>
-	 * 
-	 * @param module the module to be restarted
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @exception CoreException if an error occurs while trying to restart the module
-	 */
-	public void synchronousModuleRestart(IModule module, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Returns a temporary directory that the requestor can use
-	 * throughout it's lifecycle. This is primary to be used by
-	 * servers for working directories, server specific
-	 * files, etc.
-	 *
-	 * <p>As long as the same key is used to call this method on
-	 * each use of the workbench, this method directory will return
-	 * the same directory. If the directory is not requested over a
-	 * period of time, the directory may be deleted and a new one
-	 * will be assigned on the next request. For this reason, a
-	 * server should request the temp directory on startup
-	 * if it wants to store files there. In all cases, the server
-	 * should have a backup plan to refill the directory
-	 * in case it has been deleted since last use.</p>
-	 *
-	 * @param serverResource org.eclipse.wst.server.core.model.IServerResource
-	 * @return org.eclipse.core.runtime.IPath
-	 */
-	public IPath getTempDirectory();
-	
-	public void updateConfiguration();
-
-	/**
-	 * Returns whether the specified module modifications could be made to this
-	 * server at this time.
-	 * <p>
-	 * This method may decide based on the type of module
-	 * or refuse simply due to reaching a maximum number of
-	 * modules or other criteria.
-	 * </p>
-	 * <p>
-	 * [issue: This seems odd to have a pre-flight method.
-	 * I should expect that the client can propose making
-	 * any set of module changes they desire (via a server
-	 * working copy). If the server doesn't like it, the operation
-	 * should fail.]
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return <code>true</code> if the proposed modifications
-	 * look feasible, and <code>false</code> otherwise
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove);
-
-	/**
-	 * Returns the list of modules that are associated with
-	 * this server.
-	 * <p>
-	 * [issue: Clarify that these are root modules, not ones parented
-	 * by some other module.]
-	 * </p>
-	 *
-	 * @return a possibly-empty list of modules
-	 */
-	public IModule[] getModules();
-	
-	/**
-	 * Returns the current state of the given module on this server.
-	 * Returns <code>MODULE_STATE_UNKNOWN</code> if the module
-	 * is not among the ones associated with this server.
-	 * </p>
-	 * <p>
-	 * [issue: This operation gets forwarded to the delegate.
-	 * It's unclear whether this operations is guaranteed to be fast
-	 * or whether it could involve communication with any actual
-	 * server. If it is not fast, the method should take a progress
-	 * monitor.]
-	 * </p>
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * <p>
-	 * [issue: The SERVER_XXX and MODULE_STATE_XXX constants
-	 * should be combined into a single set: {unknown, starting, started,
-	 * stopping, stopped}.]
-	 * </p>
-	 *
-	 * @param module the module
-	 * @return one of the module state (<code>MODULE_STATE_XXX</code>)
-	 * constants declared on {@link IServer}
-	 */
-	public byte getModuleState(IModule module);
-	
-	/**
-	 * Returns the child module(s) of this module. If this
-	 * module contains other modules, it should list those
-	 * modules. If not, it should return an empty list.
-	 *
-	 * <p>This method should only return the direct children.
-	 * To obtain the full module tree, this method may be
-	 * recursively called on the children.</p>
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 */
-	public List getChildModules(IModule module);
-
-	/**
-	 * Returns the parent module(s) of this module. When
-	 * determining if a given project can run on a server
-	 * configuration, this method will be used to find the
-	 * actual module(s) that may be run on the server. For
-	 * instance, a Web module may return a list of Ear
-	 * modules that it is contained in if the server only
-	 * supports configuring Ear modules.
-	 *
-	 * <p>If the module type is not supported, this method
-	 * may return null. If the type is normally supported but there
-	 * is a configuration problem or missing parent, etc., this
-	 * method may fire a CoreException that may then be presented
-	 * to the user.</p>
-	 *
-	 * <p>If it does return valid parent(s), this method should
-	 * always return the topmost parent module(s), even if
-	 * there are a few levels (a heirarchy) of modules.</p>
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 * @throws org.eclipse.core.runtime.CoreException
-	 */
-	public List getParentModules(IModule module) throws CoreException;
-
-	/**
-	 * Method called when changes to the module or module factories
-	 * within this configuration occur. Return any necessary commands to repair
-	 * or modify the server configuration in response to these changes.
-	 * 
-	 * @param org.eclipse.wst.server.core.model.IModuleFactoryEvent[]
-	 * @param org.eclipse.wst.server.core.model.IModuleEvent[]
-	 * @return org.eclipse.wst.server.core.model.ITask[]
-	 */
-	public ITask[] getRepairCommands(IModuleFactoryEvent[] factoryEvent, IModuleEvent[] moduleEvent);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfiguration.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfiguration.java
deleted file mode 100644
index 3aa585e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfiguration.java
+++ /dev/null
@@ -1,196 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IServerConfigurationDelegate;
-/**
- * Represents a server configuration instance. Every server configuration is an
- * instance of a particular, fixed server configuration type.
- * <p>
- * Servers have an optional server configuration. The server configuration is
- * information used to configure a running server. Simple types of servers
- * might not require any configuration, whereas full-featured web server have
- * an extensive set of parameters for adjusting the server's behavior. Even
- * though server configuration information usually takes the form of one or
- * more files, configuration information is treated separately from actual
- * content. Actual web content can be deployed on different servers without
- * change, whereas server configuration information is usually highly
- * dependent on the particulars of the server. Having the server configuration
- * identified as an entity separate from the server itself facilitates
- * switching an existing server between configurations, and sharing server
- * configurations between several servers of the same type (e.g., a local test
- * server and a remote server running on another host). * </p>
- * <p>
- * The resource manager maintains a global list of all known server 
- * configuration instances ({@link IResourceManager#getServerConfigurations()}).
- * </p>
- * <p>
- * [issue: The information actually stored in the (.config) file is:
- * server configuration id and name, and server configuration type id.
- * It's unclear what's gained by storing this
- * information in a workspace file. Is it so that this information
- * can be shared between users via a repository? Or is it just so that
- * there would be something to open in the resource navigator view?]
- * </p>
- * <p>
- * [issue: What is the role of the data files in the configuration
- * data folder? Where do they come from? Are they created by the
- * client (UI), or do they get created automatically?]
- * </p>
- * <p>
- * [issue: Are data files ever changed as a direct and immediate
- * result of a change to a working copy? Changing any of the data
- * files prior to the save() request would be problematic since
- * these files are shared by the original. The only way it could
- * work is to the data files to be updated only when a working copy
- * is saved.]
- * </p>
- * <p>
- * [issue: Equality/identify for server configurations?]
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IServerConfiguration extends IElement {
-	
-	/**
-	 * File extension (value "config") for serialized representation of
-	 * server configuration instances.
-	 * <p>
-	 * [issue: What is relationship between this file extension and
-	 * the file passed to IServerConfigurationType.createServerConfiguration(...)
-	 * and importFromPath/Runtime or returned by IServerConfiguration.getFile()?
-	 * That is, are server files configuration expected to end
-	 * in ".config", or is this just a default? If the former
-	 * (as I suspect), then IServerConfigurationType operations needs to say so,
-	 * and the implementation should enforce the restriction.]
-	 * </p>
-	 */
-	public static final String FILE_EXTENSION = "config";
-
-	/**
-	 * Returns the type of this server configuration.
-	 * 
-	 * @return the server configuration type
-	 */
-	public IServerConfigurationType getServerConfigurationType();
-	
-	/**
-	 * Returns the file where this server configuration instance is serialized.
-	 * 
-	 * @return the file in the workspace where the server configuration instance
-	 * is serialized, or <code>null</code> if the information is
-	 * instead to be persisted with the workspace but not with any
-	 * particular workspace resource
-	 */
-	public IFile getFile();
-	
-	/**
-	 * Returns the delegate for this server configuration.
-	 * The delegate is a server-configuration-type-specific object.
-	 * By casting the server configuration delegate to the type prescribed in
-	 * the API documentation for that particular server configuration type, 
-	 * the client can access server-configuration-type-specific properties and
-	 * methods.
-	 * <p>
-	 * [issue: Exposing IServerConfigurationDelegate to clients of IServer
-	 * is confusing and dangerous. Instead, replace this
-	 * method with something like getServerConfigurationExtension() which
-	 * returns an IServerConfigurationExtension. IServerConfigurationExtension is an
-	 * "marker" interface that server configuration providers would 
-	 * implement or extend if they want to expose additional
-	 * API for their server configuration type. That way
-	 * IServerConfigurationDelegate can be kept entirely on the SPI side, out
-	 * of view from clients.]
-	 * </p>
-	 * <p>
-	 * [issue: serverConfigurationTypes schema, class attribute is optional.
-	 * This suggests that a server need not provide a delegate class.
-	 * This seems implausible. I've spec'd this method 
-	 * as if delegate is mandatory.]
-	 * </p>
-	 * 
-	 * @return the server configuration delegate
-	 */
-	public IServerConfigurationDelegate getDelegate();
-	
-	/**
-	 * Returns a working copy for modifying this server configuration instance.
-	 * If this instance is already a working copy, it is returned.
-	 * If this instance is not a working copy, a new server configuration
-	 * working copy is created with the same id and attributes.
-	 * Clients are responsible for saving or releasing the working copy when
-	 * they are done with it.
-	 * <p>
-	 * The server configuration working copy is related to this server 
-	 * configuration instance in the following ways:
-	 * <pre>
-	 * this.getWorkingCopy().getId() == this.getId()
-	 * this.getWorkingCopy().getFile() == this.getFile()
-	 * this.getWorkingCopy().getOriginal() == this
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * [issue: IServerConfigurationWorkingCopy extends IServerConfiguration. 
-	 * ServerConfiguration.getWorkingCopy() create a new working copy;
-	 * ServerConfigurationWorkingCopy.getWorkingCopy() returns this.
-	 * This may be convenient in code that is ignorant of
-	 * whether they are dealing with a working copy or not.
-	 * However, it is hard for clients to manage working copies
-	 * with this design.
-	 * This method should be renamed "createWorkingCopy"
-	 * or "newWorkingCopy" to make it clear to clients that it
-	 * creates a new object, even for working copies.]
-	 * </p>
-	 * 
-	 * @return a new working copy
-	 */
-	public IServerConfigurationWorkingCopy getWorkingCopy();
-	
-	/**
-	 * Returns the handle of a workspace folder where this server
-	 * configuration's files are stored. Returns <code>null</code>
-	 * if the folder is outside the workspace (in which case use
-	 * {@link #getConfigurationDataPath()} to get the file system
-	 * path).
-	 * <p>
-	 * When a configuration instance is serialized in a workspace
-	 * file, the accompanying data files are stored in a
-	 * sibling folder with a derivative name. If the configuration file
-	 * is named "MyConfig.config", the sibling folder that holds the data
-	 * files would be named "MyConfig-data".
-	 * </p>
-	 * 
-	 * @return a workspace folder, or <code>null</code>
-	 * if the data folder is not in the workspace
-	 */
-	public IFolder getConfigurationDataFolder();
-	
-	/**
-	 * Returns the path to a non-workspace folder where this server
-	 * configuration's files are stored. Returns <code>null</code>
-	 * if the folder is inside the workspace (in which case use
-	 * {@link #getConfigurationDataFolder()} to get the folder's handle).
-	 * 
-	 * @return a folder not in the workspace, or <code>null</code>
-	 * if the data folder is in the workspace
-	 */
-	public IPath getConfigurationDataPath();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfigurationType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfigurationType.java
deleted file mode 100644
index af957e9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfigurationType.java
+++ /dev/null
@@ -1,212 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents a server configuration type from which server configuration 
- * instances ({@link IServerConfiguration}) can be created.
- * <p>
- * The server core framework supports
- * an open-ended set of server configuration types, which are contributed via
- * the <code>serverConfigurationTypes</code> extension point in the server core
- * plug-in. Server configuration type objects carry no state (all information is
- * read-only and is supplied by the server configuration type declaration).
- * The global list of known server configuration types is available via
- * {@link ServerCore#getServerConfigurationTypes()}. 
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * [issue: It is notoriously difficult to place any kind of
- * useful order on objects that are contributed independently by
- * non-collaborating parties. The IOrdered mechanism is weak, and
- * can't really solve the problem. Issues of presentation are usually
- * best left to the UI, which can sort objects based on arbitrary
- * properties.]
- * </p>
- * <p>
- * [issue: Equality/identify for server types? Are IServerConfigurationType
- * instances guaranteed to be canonical (client can use ==),
- * or is it possible for there to be non-identical IServerConfigurationType
- * objects in play that both represent the same server configuration type?
- * The latter is the more common; type should spec equals.]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IServerConfigurationType extends IOrdered {
-
-	/**
-	 * Returns the id of this server configuration type.
-	 * Each known server configuration type has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the server configuration type id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this server configuration type.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this server configuration type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the displayable description for this server configuration type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this server configuration type
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns the extensions to filter when importing the server
-	 * resource. If these extensions are given, the resource is
-	 * assumed to be a file. If null is returned, the import will
-	 * look for folders instead.
-	 * <p>
-	 * [issue: Explain how these are used.]
-	 * </p>
-	 * <p>
-	 * [issue: Seems like a very UI-centric API, useful only
-	 * in conjuction with importFromPath(...).]
-	 * </p>
-	 *
-	 * @return java.lang.String[]
-	 */
-	public String[] getImportFilterExtensions();
-
-	/**
-	 * Returns whether this type of server configuration requires
-	 * requires it's own data in a folder in the workspace.
-	 * <p>
-	 * [issue: What does it mean when isFolder returns false?]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server configuration
-	 * needs a folder, and <code>false</code> if it does not
-	 */
-	public boolean isFolder();
-
-	/**
-	 * Creates a working copy instance of this server configuration type.
-	 * After setting various properties of the working copy,
-	 * the client should call
-	 * {@link IServerConfigurationWorkingCopy#save(IProgressMonitor)}
-	 * to bring the server configuration instance into existence.
-	 * <p>
-	 * [issue: Since this method just creates a working copy,
-	 * it's not clear the operation is long-running and in need
-	 * of a progress monitor.]
-	 * </p>
-	 * <p>
-	 * [issue: This method is declared as throwing CoreException.
-	 * From a clients's point of view, what are the circumstances that
-	 * cause this operation to fail?]
-	 * </p>
-	 * 
-	 * @param id the id to assign to the server configuration instance;
-	 * a generated id is used if id is <code>null</code> or an empty string
-	 * @param file the file in the workspace where the server configuration
-	 * instance is to be serialized, or <code>null</code> if the information is
-	 * instead to be persisted with the workspace but not with any
-	 * particular workspace resource
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server configuration working copy with the given id
-	 * @throws CoreException [missing]
-	 */
-	public IServerConfigurationWorkingCopy createServerConfiguration(String id, IFile file, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Creates a working copy instance of this server configuration type,
-	 * by importing from the given local file system path (outside the workspace).
-	 * After setting additional various properties of the working copy,
-	 * the client should call
-	 * {@link IServerConfigurationWorkingCopy#save(IProgressMonitor)}
-	 * to bring the server configuration instance into existence.
-	 * <p>
-	 * [issue: What this does is type-dependent. Perhaps these
-	 * methods should instead be type-dependent API on 
-	 * IServerConfigurationWorkingCopy(Delegate).]
-	 * </p>
-	 * <p>
-	 * [issue: This method is declared as throwing CoreException.
-	 * From a clients's point of view, what are the circumstances that
-	 * cause this operation to fail?]
-	 * </p>
-	 * 
-	 * @param id the id to assign to the server configuration instance;
-	 * a generated id is used if id is <code>null</code> or an empty string
-	 * @param file the file in the workspace where the server configuration
-	 * instance is to be serialized, or <code>null</code> if the information is
-	 * instead to be persisted with the workspace but not with any
-	 * particular workspace resource
-	 * @param path a local file system path
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server configuration working copy with the given id
-	 * @throws CoreException [missing]
-	 */
-	public IServerConfigurationWorkingCopy importFromPath(String id, IFile file, IPath path, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Creates a working copy instance of this server configuration type,
-	 * by importing from the given runtime instance.
-	 * After setting additional various properties of the working copy,
-	 * the client should call
-	 * {@link IServerConfigurationWorkingCopy#save(IProgressMonitor)}
-	 * to bring the server configuration instance into existence.
-	 * <p>
-	 * [issue: A server runtime is primarily for building against.
-	 * How is it that it can cough up a server configuration?]
-	 * </p>
-	 * <p>
-	 * [issue: What this does is type-dependent. Perhaps these
-	 * methods should instead be type-dependent API on 
-	 * IServerConfigurationWorkingCopy(Delegate).]
-	 * </p>
-	 * <p>
-	 * [issue: This method is declared as throwing CoreException.
-	 * From a clients's point of view, what are the circumstances that
-	 * cause this operation to fail?]
-	 * </p>
-	 * 
-	 * @param id the id to assign to the server configuration instance;
-	 * a generated id is used if id is <code>null</code> or an empty string
-	 * @param file the file in the workspace where the server configuration
-	 * instance is to be serialized, or <code>null</code> if the information is
-	 * instead to be persisted with the workspace but not with any
-	 * particular workspace resource
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server configuration working copy with the given id
-	 * @throws CoreException [missing]
-	 */
-	public IServerConfigurationWorkingCopy importFromRuntime(String id, IFile file, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfigurationWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfigurationWorkingCopy.java
deleted file mode 100644
index 0036633..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,126 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.model.IServerConfigurationWorkingCopyDelegate;
-/**
- * A working copy server object used for formulating changes
- * to a server configuration instance
- * ({@link org.eclipse.wst.server.core.IServerConfiguration}).
- * <p>
- * [issue: There can be other server-configuration-type-specific properties.
- * The default values for these need to be specified somewhere
- * too (probably in the API subclass of IServerConfigurationWorkingCopyDelegate).]
- * </p>
- * <p>
- * [issue: IElementWorkingCopy and IElement support an open-ended set
- * of attribute-value pairs. What is relationship between these
- * attributes and (a) the get/setXXX methods found on this interface,
- * and (b) get/setXXX methods provided by specific server types?
- * Is it the case that these attribute-values pairs are the only
- * information about a server instance that can be preserved
- * between workbench sessions? That is, any information recorded
- * just in instance fields of an IServerConfigurationDelegate implementation
- * will be lost when the session ends.]
- * </p>
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IServerConfigurationWorkingCopy extends IServerConfiguration, IElementWorkingCopy {
-	
-	/**
-	 * Returns the server configuration instance that this working copy is
-	 * associated with.
-	 * <p>
-	 * For a server configuration working copy created by a call to
-	 * {@link IServerConfiguration#getWorkingCopy()},
-	 * <code>this.getOriginal()</code> returns the original
-	 * server configuration object. For a server configuration working copy
-	 * just created by a call to
-	 * {@link IServerConfigurationType#createServerConfiguration(String, IFile, IProgressMonitor)},
-	 * <code>this.getOriginal()</code> returns <code>null</code>.
-	 * </p>
-	 * 
-	 * @return the associated server configuration instance, or <code>null</code> if none
-	 */
-	public IServerConfiguration getOriginal();
-	
-	/**
-	 * Returns the delegate for this server configuration working copy.
-	 * The server configuration working copy delegate is a
-	 * server-configuration-type-specific object. By casting the server
-	 * configuration working copy delegate to the type prescribed in the API
-	 * documentation for that particular server configuration working copy type,
-	 * the client can access server-configuration-type-specific properties and
-	 * methods.
-	 * <p>
-	 * [issue: Exposing IServerConfigurationWorkingCopyDelegate to clients
-	 * of IServerConfigurationWorkingCopy is same problem as exposing
-	 * IServerConfigurationDelegate to clients of IServerConfiguration.
-	 * The suggested fix is to replace this method with something like
-	 * getServerConfigurationWorkingCopyExtension() which
-	 * returns an IServerConfigurationWorkingCopyExtension.]
-	 * </p>
-	 * <p>
-	 * [issue: serverConfigurationTypes schema, workingCopyClass attribute is
-	 * optional. This suggests that a server configuration need not provide a
-	 * working copy delegate class. Like the class attribute, this seems
-	 * implausible. I've spec'd this method as if working copy delegate is
-	 * mandatory.]
-	 * </p>
-	 * 
-	 * @return the delegate for the server configuration working copy
-	 */
-	public IServerConfigurationWorkingCopyDelegate getWorkingCopyDelegate();
-	
-	/**
-	 * Commits the changes made in this working copy. If there is
-	 * no extant server configuration instance with a matching id and
-	 * server configuration type, this will create a server configuration
-	 * instance with attributes taken from this working copy.
-	 * If there an existing server configuration instance with a matching id
-	 * and server configuration type, this will change the server configuration
-	 * instance accordingly.
-	 * <p>
-	 * [issue: What is relationship to 
-	 * this.getOriginal() and the IServerConfiguration returned by this.save()?
-	 * The answer should be: they're the same server configuration, for an
-	 * appropriate notion of "same". As currently implemented, they
-	 * are different IServerConfiguration instances but have the same
-	 * ids and types. Client that are hanging on to the old server configuration
-	 * instance will not see the changes. 
-	 * If IServerConfiguration were some kind of handle object as elsewhere in 
-	 * Eclipse Platform, this kind of change could be done much
-	 * more smoothly.]
-	 * </p>
-	 * <p>
-	 * [issue: What if this object has already been saved
-	 * or released?]
-	 * </p>
-	 * <p>
-	 * [issue: What is lifecycle for IServerConfigurationWorkingCopyDelegate
-	 * associated with this working copy?]
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server configuration instance
-	 * @throws CoreException [missing]
-	 */
-	public IServerConfiguration save(IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLaunchConfig.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLaunchConfig.java
deleted file mode 100644
index 58b63f4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLaunchConfig.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-/**
- * 
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerLaunchConfig {
-	public void setDefaults(ILaunchConfigurationWorkingCopy workingCopy, IServer server);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleEvent.java
deleted file mode 100644
index 6fbe387..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.wst.server.core.model.IModuleEvent;
-import org.eclipse.wst.server.core.model.IModuleFactoryEvent;
-/**
- * A server lifecycle event. This even is fired whenever changes to modules
- * within the workspace require changes (fixes) to the given server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerLifecycleEvent {
-	public IServer getServer();
-
-	public IModuleFactoryEvent[] getModuleFactoryEvents();
-
-	public IModuleEvent[] getModuleEvents();
-	
-	public ITask[] getTasks();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerMonitor.java
deleted file mode 100644
index 2964afd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerMonitor.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * An interface to a TCP/IP monitor.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerMonitor {
-	/**
-	 * Returns the id of the monitor.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Returns the label (name) of this monitor.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getName();
-
-	/**
-	 * Returns the description of this monitor.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getDescription();
-
-	/**
-	 * Start monitoring the given port, and return the port number to
-	 * tunnel requests through. The monitorPort is the new port to use, or
-	 * -1 to pick a random port.
-	 * 
-	 * @param port
-	 * @return
-	 */
-	public int startMonitoring(IServer server, IServerPort port, int monitorPort) throws CoreException;
-
-	/**
-	 * Stop monitoring the given port.
-	 * 
-	 * @param port
-	 */
-	public void stopMonitoring(IServer server, IServerPort port);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerMonitorManager.java
deleted file mode 100644
index f24cfed..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerMonitorManager.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerMonitorManager {
-	/**
-	 * Returns the monitor that is currently being used.
-	 *  
-	 * @return
-	 */
-	public IServerMonitor getCurrentServerMonitor();
-	
-	/**
-	 * Switch to use a different server monitor. All existing monitors will be
-	 * removed from the current monitor and added to the new monitor.
-	 * 
-	 * @param newMonitor
-	 * @throws CoreException
-	 */
-	public void setServerMonitor(IServerMonitor newMonitor) throws CoreException;
-
-	/**
-	 * Returns the list of ports that are currently being monitored. The elements in the
-	 * array are of type IMonitoredServerPorts.
-	 *
-	 * @return
-	 */
-	public List getMonitoredPorts(IServer server);
-
-	/**
-	 * Starts monitoring the given port, and returns the new port # to use that will
-	 * route to the monitored port.
-	 * 
-	 * @param server
-	 * @param port
-	 * @param monitorPort - the new port number to use for monitoring, or -1 to pick a new port
-	 * @param content
-	 * @return monitor port number
-	 */
-	public IMonitoredServerPort createMonitor(IServer server, IServerPort port, int monitorPort, String[] content);
-
-	/**
-	 * Stop monitoring the given port. Throws a CoreException if there was a problem
-	 * stopping the monitoring
-	 *
-	 * @param port
-	 */
-	public void removeMonitor(IMonitoredServerPort msp);
-
-	/**
-	 * Start the monitor. If the msp port is -1, it will be updated to the port that is actually in use.
-	 * 
-	 * @param port
-	 * @throws CoreException
-	 */
-	public void startMonitor(IMonitoredServerPort msp) throws CoreException;
-
-	/**
-	 * Stop monitoring.
-	 * 
-	 * @param port
-	 */
-	public void stopMonitor(IMonitoredServerPort port);
-
-	/**
-	 * Returns the monitored port to use when making requests to the given server, port number,
-	 * and content. Returns the existing port number if the port is not being monitored.
-	 * 
-	 * @param server
-	 * @param port
-	 * @param content
-	 * @return the monitored port number
-	 */
-	public int getMonitoredPort(IServer server, int port, String contentType);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerPreferences.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerPreferences.java
deleted file mode 100644
index bfe1d1b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerPreferences.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * Helper class that stores preference information for server core.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerPreferences {
-	public static final byte REPAIR_NEVER = 0;
-	public static final byte REPAIR_PROMPT = 1;
-	public static final byte REPAIR_ALWAYS = 2;
-
-	/**
-	 * Returns whether servers will be automatically restarted when
-	 * required.
-	 *
-	 * @return boolean
-	 */
-	public boolean isAutoRestarting();
-
-	/**
-	 * Returns whether servers will be automatically restarted when
-	 * required.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultAutoRestarting();
-
-	/**
-	 * Set whether servers will be automatically restarted when
-	 * they need a restart.
-	 *
-	 * @param boolean
-	 */
-	public void setAutoRestarting(boolean b);
-
-	/**
-	 * Returns whether automatic publishing should occur before
-	 * starting a server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isAutoPublishing();
-	
-	/**
-	 * Returns whether automatic publishing should occur before
-	 * starting a server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultAutoPublishing();
-
-	/**
-	 * Set whether publishing should happen before the server starts.
-	 *
-	 * @param boolean
-	 */
-	public void setAutoPublishing(boolean b);
-
-	/**
-	 * Returns whether servers and configurations should be created in the
-	 * workspace (as opposed to in metadata).
-	 *
-	 * @return boolean
-	 */
-	public boolean isCreateResourcesInWorkspace();
-
-	/**
-	 * Returns whether servers and configurations should be created in the
-	 * workspace (as opposed to in metadata) by default.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultCreateResourcesInWorkspace();
-
-	/**
-	 * Set whether servers and configurations should be created in the
-	 * workspace (as opposed to in metadata).
-	 *
-	 * @param boolean
-	 */
-	public void setCreateResourcesInWorkspace(boolean b);
-
-	/**
-	 * Returns the default publish manager preference.
-	 *
-	 * @return String
-	 */
-	public String getDefaultPublishManager();
-
-	/**
-	 * Returns the publish manager preference.
-	 *
-	 * @return String
-	 */
-	public String getPublishManager();
-
-	/**
-	 * Sets the publish manager preference.
-	 *
-	 * @param String
-	 */
-	public void setPublishManager(String id);
-
-	/**
-	 * Returns whether changes to modules should be automatically fixed
-	 * in the server configurations. Returns one of the REPAIR_* constants.
-	 *
-	 * @return byte
-	 */
-	public byte getModuleRepairStatus();
-
-	/**
-	 * Returns the default module fix state. Returns one of the
-	 * REPAIR_* constants.
-	 *
-	 * @return byte
-	 */
-	public byte getDefaultModuleRepairStatus();
-
-	/**
-	 * Sets whether changes to modules should be automatically fixed
-	 * in the server configurations. Use one of the REPAIR_* constants.
-	 *
-	 * @return byte
-	 */
-	public void setModuleRepairStatus(byte b);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerProject.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerProject.java
deleted file mode 100644
index 2c61014..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerProject.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-import org.eclipse.core.resources.IProject;
-/**
- * A server project.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerProject {
-	// server project nature id
-	public static final String NATURE_ID = ServerCore.PLUGIN_ID + ".nature";
-
-	/**
-	 * Returns a list of available folders within the server project. These are
-	 * all the folders within the project, except those that are already part of
-	 * a server configuration.
-	 */ 
-	public List getAvailableFolders();
-
-	/**
-	 * Returns the project that this nature is associated with.
-	 *
-	 * @return org.eclipse.core.resources.IProject
-	 */
-	public IProject getProject();
-
-	/**
-	 * Returns the server configurations that are located in
-	 * this project.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerConfigurations();
-
-	/**
-	 * Returns the servers that are located in this project.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServers();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerState.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerState.java
deleted file mode 100644
index 64cf946..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerState.java
+++ /dev/null
@@ -1,74 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * Interface providing privileged access for setting the state of 
- * a server instance.
- * <p>
- * Objects of this type are passed to IServerDelegate.initialize.
- * </p>
- * <p>
- * [issue: This is pure SPI. Should be in org.eclipse.wst.server.core.model package.]
- * </p>
- * <p>
- * [issue: This API is vulnerable to abuse. Any client with an IServer
- * can cast it to an IServerState and call these methods. A more secure
- * way to achieve the same thing is to have IServerState provide an extra
- * getServer() method rather than extend IServer. That way, casting an
- * IServer is not an option.]
- * </p>
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @see org.eclipse.wst.server.core.model.IServerDelegate#initialize(IServerState)
- * @since 1.0
- */
-public interface IServerState extends IServer {
-	
-	/**
-	 * Sets the current state of this server.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 *
-	 * @param state one of the server state (<code>SERVER_XXX</code>)
-	 * constants declared on {@link IServer}
-	 * @see IServer#getServerState()
-	 */
-	public void setServerState(byte state);
-
-	/**
-	 * Sets the server restart state.
-	 *
-	 * @param state boolean
-	 */
-	public void setRestartNeeded(boolean state);
-
-	/**
-	 * Sets the configuration sync state.
-	 *
-	 * @param state byte
-	 */
-	public void setConfigurationSyncState(byte state);
-
-	/**
-	 * Hook to fire an event when a module state changes.
-	 * 
-	 * @param module
-	 * @param state
-	 */
-	public void updateModuleState(IModule module);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerTask.java
deleted file mode 100644
index f3ef9f4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerTask.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.model.*;
-/**
- * A task for a server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerTask extends ITask, IServerTaskDelegate, IOrdered {
-	/**
-	 * Returns the id of the adapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-	
-	/**
-	 * Return the type ids that may be supported.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getTypeIds();
-	
-	/**
-	 * Returns true if the given type (given by the id) can use this task. This
-	 * result is based on the result of the getTypeIds() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id);
-
-	/**
-	 * Lets the task know that it is about to be used. This method should
-	 * be used to clean out any previously cached information, or start to
-	 * create a new cache.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 * @param parents java.util.List[]
-	 * @param modules org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public void init(IServer server, IServerConfiguration configuration, List[] parents, IModule[] modules);
-
-	/**
-	 * Returns the status of this task.
-	 * 
-	 * @return byte
-	 */
-	public byte getTaskStatus();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
deleted file mode 100644
index 9c4d4b6..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
+++ /dev/null
@@ -1,443 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents a server type from which server instances can be created.
- * <p>
- * The server core framework supports
- * an open-ended set of server types, which are contributed via
- * the <code>serverTypes</code> extension point in the server core
- * plug-in. Server type objects carry no state (all information is
- * read-only and is supplied by the server type declaration).
- * The global list of known server types is available via
- * {@link ServerCore#getServerTypes()}. 
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * [issue: It is notoriously difficult to place any kind of
- * useful order on objects that are contributed independently by
- * non-collaborating parties. The IOrdered mechanism is weak, and
- * can't really solve the problem. Issues of presentation are usually
- * best left to the UI, which can sort objects based on arbitrary
- * properties.]
- * </p>
- * <p>
- * [issue: Equality/identify for server types? Are IServerType
- * instances guaranteed to be canonical (client can use ==),
- * or is it possible for there to be non-identical IServerType
- * objects in play that both represent the same server type?
- * The latter is the more common; type should spec equals.]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IServerType extends IOrdered {
-	
-	/**
-	 * Constant (value 0) indicating that a type of server that can be
-	 * directly started and stopped.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerStateSet()
-	 */
-	public static final byte SERVER_STATE_SET_MANAGED = 0;
-	
-	/**
-	 * Constant (value 1) indicating that a type of server that can be
-	 * attached to, typically for debugging.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerStateSet()
-	 */
-	public static final byte SERVER_STATE_SET_ATTACHED = 1;
-	
-	/**
-	 * Constant (value 2) indicating that a type of server that
-	 * can only be used for publishing.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * 
-	 * @see #getServerStateSet()
-	 */
-	public static final byte SERVER_STATE_SET_PUBLISHED = 2;
-
-	/**
-	 * Returns the id of this server type.
-	 * Each known server type has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the server type id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this server type.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this server type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the displayable description for this server type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this server type
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns the type of server runtime that this type
-	 * of server requires.
-	 * <p>
-	 * [issue: "runtimeTypeId" is mandatory according the
-	 * serverTypes schema. This suggests that all types
-	 * of servers have a server runtime. But there is also
-	 * a boolean "runtime" attribute indicating whether the
-	 * server requires a runtime. I supect that server type
-	 * has an optional server runtime, in which case you
-	 * can make "runtimeTypeId" optional and dispense with
-	 * "runtime".]
-	 * </p>
-	 * <p>
-	 * [issue: Does it really make sense for
-	 * runtimeTypes and serverTypes be separate extension
-	 * points? Would it not be sufficient to have the party declaring
-	 * the server type also declare the server runtime type?
-	 * Having runtimeType as a separate extension point
-	 * only makes sense if it would be possible in principle to 
-	 * declare a server runtime type that could actually be
-	 * used on serveral server types. If server runtimes
-	 * always end up being server-type specific, it would be better
-	 * to combine them.]
-	 * </p>
-	 * <p>
-	 * [issue: What should happen when a server type mentions
-	 * the id of a server runtime type that is not known
-	 * to the system?]
-	 * </p>
-	 * 
-	 * @return a server runtime type
-	 */
-	public IRuntimeType getRuntimeType();
-	
-	/**
-	 * Returns whether this type of server requires a server
-	 * runtime.
-	 * <p>
-	 * [issue: See issues on getRuntimeType(). I suspect this
-	 * method is unnecessary, and that 
-	 * this.getRuntimeType() != null will do.]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server requires
-	 * a server runtime, and <code>false</code> if it does not
-	 * @see #getRuntimeType()
-	 */
-	public boolean hasRuntime();
-	
-	/**
-	 * Returns whether this type of server supports the given launch mode.
-	 * <p>
-	 * [issue: It also seems odd that this is part of the server type
-	 * declaration. This means that any server type has to commit
-	 * so early on which modes it supports.]
-	 * </p>
-	 * <p>
-	 * [issue: Because the spec for this method piggy-backs off the
-	 * debug API, this method is vulnerable to any expansion that may
-	 * happen there. For instance, a 3rd mode (PROFILE_MODE) was added in 3.0.
-	 * As spec'd, clients can reasonably expect to launch servers
-	 * in this mode as well. It may also make sense for the server
-	 * core to define its own notion of legal modes.]
-	 * </p>
-	 * 
-	 * @param launchMode a mode in which a server can be launched,
-	 * one of the mode constants defined by
-	 * {@link org.eclipse.debug.core.ILaunchManager}
-	 * @return whether this type of server supports the given mode
-	 */
-	public boolean supportsLaunchMode(String launchMode);
-
-	/**
-	 * Returns the server state set that should for instances of this server type.
-	 * If the state set is {@link #SERVER_STATE_SET_MANAGED}, this is
-	 * a runnable server that may be directly started and stopped 
-	 * (i.e., it should be represented as starting, started in debug mode,
-	 * etc.) If the state set is {@link #SERVER_STATE_SET_ATTACHED}, this is a
-	 * server that can be attached to, typically for debugging purposes
-	 * (i.e., it should be represented as attaching, attached for
-	 * debugging, etc.).
-	 * If the state set is {@link #SERVER_STATE_SET_PUBLISHED}, this is a
-	 * server that only be published to (i.e., it should be represented as
-	 * not having states).
-	 * <p>
-	 * [issue: The notion of a "server state set" is a little abstruce.
-	 * It feels like the main thing to capture in the server type
-	 * is that there are 3 different styles of servers, and this
-	 * has a bearing on how you control them. That would suggest
-	 * there will be different rules for operating on them, and
-	 * that they might cycle through different sets of states.
-	 *  ]
-	 * </p>
-	 * <p>
-	 * [issue: It also seems odd that this is part of the server type
-	 * declaration. This means that any server type has to commit
-	 * so early on which one it is.]
-	 * </p>
-	 * <p>
-	 * [issue: byte is rarely used in Java. Always use int instead.]
-	 * </p>
-	 *
-	 * @return one of {@link #SERVER_STATE_SET_MANAGED},
-	 * {@link #SERVER_STATE_SET_ATTACHED}, or
-	 * {@link #SERVER_STATE_SET_PUBLISHED}
-	 */
-	public byte getServerStateSet();
-
-	/**
-	 * Returns the type of server configuration that this type
-	 * of server requires.
-	 * <p>
-	 * [issue: configurationTypeId is optional according the
-	 * serverTypes schema. This suggests that some types
-	 * of servers do not take a server configuration.
-	 * Is this correct?
-	 * ]
-	 * </p>
-	 * <p>
-	 * [issue: Does it really make sense for
-	 * serverConfigurationTypes and serverTypes be separate extension
-	 * points? Would it not be sufficient to have the party declaring
-	 * the server type also declare the server configuration type?
-	 * Having serverConfigurationType as a separate extension point
-	 * only makes sense if it would be possible in principle to 
-	 * declare a server configuration type that could actually be
-	 * used on serveral server types. If server configurations
-	 * always end up being server-type specific, it would be better
-	 * to combine them.]
-	 * </p>
-	 * <p>
-	 * [issue: What should happen when a server type mentions
-	 * the id of a server configuration type that is not known
-	 * to the system?]
-	 * </p>
-	 * 
-	 * @return a server configuration type, or <code>null</code>
-	 * if this server does not require any 
-	 */
-	public IServerConfigurationType getServerConfigurationType();
-
-	/**
-	 * Returns whether this type of server requires a server
-	 * configuration.
-	 * <p>
-	 * [issue: It's not clear how this method differs from 
-	 * this.getServerConfigurationType() != null]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server requires
-	 * a server configuration, and <code>false</code> if it does not
-	 * @see #getServerConfigurationType()
-	 */
-	public boolean hasServerConfiguration();
-
-	/**
-	 * Returns whether this type of server can run on the local host.
-	 * <p>
-	 * [issue: What is the significance of a server type supporting
-	 * local or remote host? Can a server type support both local and
-	 * remote hosts? What about supporting neither?]
-	 * </p>
-	 * <p>
-	 * [issue: Should be renamed "supportsLocalHost" (capital "H").]
-	 * </p>
-	 * <p>
-	 * [issue: Again, it seems odd to me that this is something
-	 * hard-wired to a server type.]
-	 * </p>
-	 * <p>
-	 * [issue: hosts is optional according the serverTypes schema.
-	 * The schema suggests that "local" and "remote" are the legal values.
-	 * The implementation is quite different; it looks to see if
-	 * the value contains either "localhost" or "127.0.0.1". The schema spec
-	 * be tightened up and the implementation brought into line.]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server can run on
-	 * the local host, and <code>false</code> if it cannot
-	 */
-	public boolean supportsLocalhost();
-
-	/**
-	 * Returns whether this type of server can run on a remote host.
-	 * <p>
-	 * [issue: What is the significance of a server type supporting
-	 * local or remote host? Can a server type support both local and
-	 * remote hosts? What about supporting neither?]
-	 * </p>
-	 * <p>
-	 * [issue: Should be renamed "supportsRemoteHost" (no "s").]
-	 * </p>
-	 * <p>
-	 * [issue: Again, it seems odd to me that this is something
-	 * hard-wired to a server type.]
-	 * </p>
-	 * <p>
-	 * [issue: hosts is optional according the serverTypes schema.
-	 * The schema suggests that "local" and "remote" are the legal values.
-	 * The implementation is quite different; it looks to see if
-	 * the value contains "remote" as a substring. The schema spec
-	 * be tightened up and the implementation brought into line.]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server can run on
-	 * a remote host, and <code>false</code> if it cannot
-	 */
-	public boolean supportsRemoteHosts();
-
-	/**
-	 * Returns whether this type of server can be monitored.
-	 * <p>
-	 * For instances of server types that can be monitored, 
-	 * the corresponding server delegate implements
-	 * {@link org.eclipse.wst.server.core.model.IMonitorableServer}.
-	 * </p>
-	 * <p>
-	 * [issue: Again, it seems odd to me that this is something
-	 * hard-wired to a server type. Without loss of generality,
-	 * the notion of "monitorable" need only show up at the
-	 * server instance level. All that would be required
-	 * would be to have the server delegate implement
-	 * IMonitorableServer.]
-	 * </p>
-	 * <p>
-	 * [issue: It's not clear how much of this is a client concern.
-	 * If it is a client concern, care should be taken to do
-	 * it in such a way that the server delegate does not need to be
-	 * exposed to ordinary clients.]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server can be monitored,
-	 * and <code>false</code> if it cannot
-	 */
-	public boolean isMonitorable();
-
-	/**
-	 * Returns whether this type of server can be used as a
-	 * test environment.
-	 * <p>
-	 * [issue: How does one explain what a "test environment" is?
-	 * How does this property of server types square with 
-	 * IRuntime.isTestEnvironment(), an *instance-specific*
-	 * property of a server runtime (it's not on IRuntimeType)?]
-	 * </p>
-	 * <p>
-	 * [issue: The old spec read:
-	 * "Returns true if the "testEnvironment" attribute is set. If true, this
-	 * server can only be created when there is an existing runtime that has
-	 * the property "testEnvironment" set to true."
-	 * ]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server can be use as a
-	 * test environment, and <code>false</code> if it cannot
-	 */
-	public boolean isTestEnvironment();
-
-	/**
-	 * Creates an working copy instance of this server type.
-	 * After setting various properties of the working copy,
-	 * the client should call {@link IServerWorkingCopy#save(IProgressMonitor)}
-	 * to bring the server instance into existence.
-	 * <p>
-	 * [issue: Why is a runtime passed in? 
-	 * IServerWorkingCopy.setRuntime(runtime) could be called on
-	 * the result to accomplish the same thing.]
-	 * </p>
-	 * <p>
-	 * [issue: The implementation of this method never creates a server
-	 * config working copy, whereas the other one does!?]
-	 * Consider combining the method with the other.]
-	 * </p>
-	 * <p>
-	 * [issue: This method is declared as throwing CoreException.
-	 * From a clients's point of view, what are the circumstances that
-	 * cause this operation to fail?]
-	 * </p>
-	 * 
-	 * @param id the id to assign to the server instance; a generated
-	 * id is used if id is <code>null</code> or an empty string
-	 * @param file the file in the workspace where the server instance
-	 * is to be serialized, or <code>null</code> if the information is
-	 * instead to be persisted with the workspace but not with any
-	 * particular workspace resource
-	 * @param runtime the runtime to associate with the server instance,
-	 * or <code>null</code> if none
-	 * @return a new server working copy with the given id
-	 * @throws CoreException [missing]
-	 */
-	public IServerWorkingCopy createServer(String id, IFile file, IRuntime runtime) throws CoreException;
-	
-	/**
-	 * Creates a working copy instance of this server type.
-	 * After setting various properties of the working copy,
-	 * the client should call {@link IServerWorkingCopy#save(IProgressMonitor)}
-	 * to bring the server instance into existence.
-	 * <p>
-	 * [issue: Since this method just creates a working copy,
-	 * it's not clear the operation is long-running and in need
-	 * of a progress monitor.]
-	 * </p>
-	 * <p>
-	 * [issue: The implementation of this method creates a server
-	 * config working copy, whereas the other one does not!?
-	 * Consider combining the method with the other.]
-	 * </p>
-	 * <p>
-	 * [issue: This method is declared as throwing CoreException.
-	 * From a clients's point of view, what are the circumstances that
-	 * cause this operation to fail?]
-	 * </p>
-	 * 
-	 * @param id the id to assign to the server instance; a generated
-	 * id is used if id is <code>null</code> or an empty string
-	 * @param file the file in the workspace where the server instance
-	 * is to be serialized, or <code>null</code> if the information is
-	 * instead to be persisted with the workspace but not with any
-	 * particular workspace resource
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server working copy with the given id
-	 * @throws CoreException [missing]
-	 */
-	public IServerWorkingCopy createServer(String id, IFile file, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java
deleted file mode 100644
index c75fda5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java
+++ /dev/null
@@ -1,291 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IServerWorkingCopyDelegate;
-/**
- * A working copy server object used for formulating changes
- * to a server instance ({@link IServer}).
- * <p>
- * [issue: The default value of host name should be specified
- * here (or in IServerType.createServer). If the initial value is null (or
- * something simularly unsuitable for actual use), then IServer.getHostname
- * needs to be spec'd to allow null return, and save needs to deal with the
- * case where the client forgets to initialize this property.]
- * </p>
- * <p>
- * [issue: The default value of runtime should be specified
- * here (or in IServerType.createServer). If the initial value is null (or
- * something simularly unsuitable for actual use), then IServer.getRuntime
- * needs to be spec'd to allow null return (it does), and save needs to deal
- * with the case where the client forgets to initialize this property.]
- * </p>
- * <p>
- * [issue: The default value of server configuration should be specified
- * here (or in IServerType.createServer). If the initial value is null (or
- * something simularly unsuitable for actual use), then
- * IServer.getServerConfiguration needs to be spec'd to allow null return
- * (it does), and save needs to deal with the case where the client forgets
- * to initialize this property.]
- * </p>
- * <p>
- * [issue: There can be other server-type-specific properties.
- * The default values for these need to be specified somewhere
- * too (probably in the API subclass of IServerWorkingCopyDelegate).]
- * </p>
- * <p>
- * [issue: IElementWorkingCopy and IElement support an open-ended set
- * of attribute-value pairs. What is relationship between these
- * attributes and (a) the get/setXXX methods found on this interface,
- * and (b) get/setXXX methods provided by specific server types?
- * Is it the case that these attribute-values pairs are the only
- * information about a server instance that can be preserved
- * between workbench sessions? That is, any information recorded
- * just in instance fields of an IServerDelegate implementation
- * will be lost when the session ends.]
- * </p>
- * <p>
- * [issue: It seems strange that IServerWorkingCopy extends IServer, which
- * has all sorts of method for starting and stopping the server, none of
- * which are relevant to working copies. It should be changed so
- * that IServerWorkingCopy does not extend IServer. This will requires
- * copying getters from IServer to IServerWorkingCopy to make it
- * self-sufficient: getHostname, getServerConfiguration, getRuntime, getId,
- * getFile, getServerType, etc.]
- * </p>
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IServerWorkingCopy extends IServer, IElementWorkingCopy {
-	
-	/**
-	 * Sets the server configuration associated with this server working copy.
-	 * <p>
-	 * Note: The server configuration of a server working copy may
-	 * or may not be a working copy.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * configurationTypeId is an optional attribute. What happens if the
-	 * server configuration passed is null but the server must have a
-	 * server configuration? What happens of the server configuration
-	 * has the wrong type? Do the errors get detected and reported now, or
-	 * upon save()?]
-	 * </p>
-	 * 
-	 * @param configuration the server configuration, or <code>null</code> if none
-	 */
-	public void setServerConfiguration(IServerConfiguration configuration);
-	
-	/**
-	 * Returns the server instance that this working copy is
-	 * associated with.
-	 * <p>
-	 * For a server working copy created by a call to
-	 * {@link IServer#getWorkingCopy()},
-	 * <code>this.getOriginal()</code> returns the original
-	 * server object. For a server working copy just created by
-	 * a call to {@link IServerType#createServer(String, IFile, IProgressMonitor)},
-	 * <code>this.getOriginal()</code> returns <code>null</code>.
-	 * </p>
-	 * 
-	 * @return the associated server instance, or <code>null</code> if none
-	 */
-	public IServer getOriginal();
-	
-	/**
-	 * Returns the delegate for this server working copy.
-	 * The server working copy delegate is a
-	 * server-type-specific object. By casting the server working copy
-	 * delegate to the type prescribed in the API documentation for that
-	 * particular server working copy type, the client can access
-	 * server-type-specific properties and methods.
-	 * <p>
-	 * [issue: Exposing IServerWorkingCopyDelegate to clients
-	 * of IServerWorkingCopy is same problem as exposing
-	 * IServerDelegate to clients of IServer. The suggested fix 
-	 * is to replace this method with something like
-	 * getServerWorkingCopyExtension() which
-	 * returns an IServerWorkingCopyExtension.]
-	 * </p>
-	 * <p>
-	 * [issue: serverTypes schema, workingCopyClass attribute is optional.
-	 * This suggests that a server need not provide a working copy
-	 * delegate class. Like the class attribute, this seems implausible.
-	 * I've spec'd this method as if working copy delegate is mandatory.]
-	 * </p>
-	 * 
-	 * @return the delegate for the server working copy
-	 */
-	public IServerWorkingCopyDelegate getWorkingCopyDelegate();
-
-	/**
-	 * Commits the changes made in this working copy. If there is
-	 * no extant server instance with a matching id and server
-	 * type, this will create a server instance with attributes
-	 * taken from this working copy. If there an existing server
-	 * instance with a matching id and server type, this will
-	 * change the server instance accordingly.
-	 * <p>
-	 * [issue: What is relationship to 
-	 * this.getOriginal() and the IServer returned by this.save()?
-	 * The answer should be: they're the same server, for an
-	 * appropriate notion of "same". As currently implemented, they
-	 * are different IServer instances but have the same server
-	 * id and same server types. Clienst that are hanging on to
-	 * the old server instance will not see the changes. 
-	 * If IServer were some kind of handle object as elsewhere in 
-	 * Eclipse Platform, this kind of change could be done much
-	 * more smoothly.]
-	 * </p>
-	 * <p>
-	 * [issue: What if this object has already been saved
-	 * or released?]
-	 * </p>
-	 * <p>
-	 * [issue: What is lifecycle for IServerWorkingCopyDelegate
-	 * associated with this working copy?]
-	 * </p>
-	 * <p>
-	 * [issue: Since it does not make sense to commit a server
-	 * working copy without first committing any associated
-	 * runtime and server config working copies, the semantics
-	 * of saveAll should be part and parcel of the
-	 * normal save, and the saveAll method eliminated.]
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server instance
-	 * @throws CoreException [missing]
-	 */
-	public IServer save(IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Commits the changes made in this server working copy after
-	 * first committing any associated server configuration or
-	 * server runtime working copies.
-	 * <p>
-	 * This convenience method is equivalent to:
-	 * <pre>
-	 * IRuntime rt = this.getRuntime();
-	 * if (rt != null && rt.isWorkingCopy()) {
-	 *    ((IRuntimeWorkingCopy) rt).save(monitor);
-	 * }
-	 * IServerConfiguration cf = this.getServerConfiguration();
-	 * if (cf != null && cf.isWorkingCopy()) {
-	 *    ((IServerConfigurationWorkingCopy) cf).save(monitor);
-	 * }
-	 * return save(monitor);
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * [issue: Since it does not make sense to commit a server
-	 * working copy without first committing any associated
-	 * runtime and server config working copies, the semantics
-	 * of this operation should be part and parcel of the
-	 * normal save, and the saveAll method eliminated.]
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server instance
-	 * @throws CoreException [missing]
-	 */
-	public IServer saveAll(IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Sets the runtime associated with this server working copy.
-	 * <p>
-	 * Note: The runtime of a server working copy may
-	 * or may not be a working copy.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * runtimeTypeId is a mandatory attribute. But IServer.getRuntime()
-	 * is allowed to return null, suggesting that it is optional for instances.
-	 * What happens if the runtime passed is null but the server must
-	 * have a runtime? What happens if the runtime has the wrong
-	 * type? Do the errors get detected and reported now, or upon save()?]
-	 * </p>
-	 * 
-	 * @param runtime the runtime, or <code>null</code> if none
-	 */
-	public void setRuntime(IRuntime runtime);
-
-	/**
-	 * Changes the host for the running server.
-	 * The format of the host must conform to RFC 2732.
-	 * <p>
-	 * [issue: Consider renaming to "setHost" to bring in line
-	 * with terminology used in java.net.URL. The host name can be
-	 * either a host name or octets.]
-	 * </p>
-	 * <p>
-	 * [issue: This is a questionable operation if there is a running
-	 * server associated with the original. When a host name
-	 * change is committed, the server instance loses contact with
-	 * the running server because of the host name change.]
-	 * </p>
-	 * 
-	 * @param host a host string conforming to RFC 2732
-	 * @see IServer#getHostname()
-	 * @see java.net.URL.getHost()
-	 */
-	public void setHostname(String host);
-
-	/**
-	 * Modifies the list of modules associated with the server.
-	 * The modules included in the <code>add</code> list
-	 * must exist in the workspace and must not already be associated
-	 * with the server.
-	 * The modules included in the <code>remove</code> list
-	 * must be associated with the server, but may or may not exist
-	 * in the workspace.
-	 * <p>
-	 * [issue: How do formulate what it means
-	 * to say "the module must exist in the workspace"?]
-	 * </p>
-	 * <p>
-	 * [issue: The spec should be more lax. Attempting to add
-	 * a module that's already include should be quietly ignore;
-	 * ditto removing a module that's not on this list. This
-	 * simplifies the handling of various other wacko cases 
-	 * such as duplication within and between the add and remove
-	 * lists.]
-	 * </p>
-	 * <p>
-	 * [issue: The spec had also said: "...canModifyModules()
-	 * should have returned true. The configuration must assume
-	 * any default settings and add the module without any UI."]
-	 * </p>
-	 * <p>
-	 * [issue: What error checking should be performed by this
-	 * operation, and what needs to be performed by save() if
-	 * the client tries to commit these hypothetisized changes?]
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException [missing]
-	 */
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ITask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ITask.java
deleted file mode 100644
index 73c1843..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ITask.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface ITask {
-	/**
-	 * Returns the label for this command.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName();
-
-	/**
-	 * Returns a description of this command.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getDescription();
-
-	public ITaskModel getTaskModel();
-
-	public void setTaskModel(ITaskModel taskModel);
-
-	public boolean canExecute();
-
-	public void execute(IProgressMonitor monitor) throws CoreException;
-
-	public boolean canUndo();
-	
-	public void undo();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ITaskModel.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ITaskModel.java
deleted file mode 100644
index 695cf81..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ITaskModel.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface ITaskModel {
-	public static final String TASK_RUNTIME = "runtime";
-	public static final String TASK_SERVER = "server";
-	public static final String TASK_SERVER_CONFIGURATION = "server-configuration";
-	
-	public static final String TASK_MODULE_PARENTS = "module-parents";
-	public static final String TASK_MODULES = "modules";
-	
-	public static final String TASK_LAUNCH_MODE = "launch-mode";
-
-	public Object getObject(String id);
-	
-	public void putObject(String id, Object obj);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
deleted file mode 100644
index e5128a7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
+++ /dev/null
@@ -1,1175 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.internal.*;
-/**
- * Main class for server core API.
- * <p>
- * This class provides references for servers and server configurations.
- * These references can be saved as tool or server-data and can be
- * used to return the original resource if it still exists. These
- * references are not OS-specific and can be used in a team environment.
- * </p>
- * <p>
- * This class provides all its functionality through static members.
- * It is not intended to be subclassed or instantiated.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public class ServerCore {
-	/**
-	 // server core plugin id
-	 * <p>
-	 * [issue: Plug-in ids should not be exposed as client API
-	 * unless there is a good reason to do so. Client code generally
-	 * don't care about the plug-in structure. Same is usually true
-	 * for service providers.]
-	 * </p>
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.core";
-
-	// cached copy of all server startups
-	private static List startups;
-
-	// cached copy of all module factories
-	private static List moduleFactories;
-
-	// cached copy of all module object adapters
-	private static List moduleObjectAdapters;
-
-	// cached copy of all launchable adapters
-	private static List launchableAdapters;
-
-	// cached copy of all launchable clients
-	private static List launchableClients;
-	
-	// cached copy of all module tasks
-	private static List moduleTasks;
-	
-	// cached copy of all server tasks
-	private static List serverTasks;
-	
-	//	cached copy of all module kinds
-	private static List moduleKinds;
-	
-	//	cached copy of all runtime types
-	private static List runtimeTypes;
-	
-	//	cached copy of all runtime target handlers
-	private static List runtimeTargetHandlers;
-	
-	//	cached copy of all runtime locators
-	private static List runtimeLocators;
-
-	//	cached copy of all server and configuration types
-	private static List serverTypes;
-	private static List serverConfigurationTypes;
-	
-	//	cached copy of all monitors
-	private static List monitors;
-
-	// cached copy of the server publisher classes
-	// keyed from String id to IPublishManager
-	private static Map publishManagers;
-
-	static {
-		executeStartups();
-	}
-
-	/**
-	 * ServerCore constructor comment.
-	 */
-	private ServerCore() {
-		super();
-	}
-
-	/**
-	 * Returns a map of all publishManagers, keyed by String id.
-	 *
-	 * @return java.util.Map
-	 */
-	public static Map getPublishManagers() {
-		if (publishManagers == null)
-			loadPublishManagers();
-		return publishManagers;
-	}
-
-	/**
-	 * Returns the publish manager with the given id.
-	 *
-	 * @return org.eclipse.wst.server.core.IPublishManager
-	 */
-	public static IPublishManager getPublishManager(String id) {
-		if (publishManagers == null)
-			loadPublishManagers();
-			
-		try {
-			return (IPublishManager) publishManagers.get(id);
-		} catch (Exception e) {
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the resource manager.
-	 *
-	 * @return org.eclipse.wst.server.core.IResourceManager
-	 */
-	public static IResourceManager getResourceManager() {
-		return ResourceManager.getInstance();
-	}
-	
-	/**
-	 * Returns the server monitor manager.
-	 *
-	 * @return org.eclipse.wst.server.core.IServerMonitorManager
-	 */
-	public static IServerMonitorManager getServerMonitorManager() {
-		return ServerMonitorManager.getInstance();
-	}
-
-	/**
-	 * Returns the preference information for the server core plugin.
-	 *
-	 * @return org.eclipse.wst.server.core.IServerPreferences
-	 */
-	public static IServerPreferences getServerPreferences() {
-		return ServerPreferences.getServerPreferences();
-	}
-	
-	/**
-	 * Returns the preference information for the project.
-	 *
-	 * @return org.eclipse.wst.server.core.IServerProjectPreferences
-	 */
-	public static IProjectProperties getProjectProperties(IProject project) {
-		return new ProjectProperties(project);
-	}
-	
-	/**
-	 * Returns a List of all startups.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getStartups() {
-		if (startups == null)
-			loadStartups();
-		return startups;
-	}
-	
-	/**
-	 * Returns the list of all known module kinds.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of module kinds changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The terminology should be "module types",
-	 * to make it consistent with server types, etc.]
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list chaning under foot if a new plug-in
-	 * is installed that happens to define a module kind (a scenario that
-	 * Eclipse should support).]
-	 * </p>
-	 * 
-	 * @return the list of module kinds (element type: {@link IModuleKind})
-	 */
-	public static List getModuleKinds() {
-		if (moduleKinds == null)
-			loadModuleKinds();
-		return moduleKinds;
-	}
-	
-	/**
-	 * Returns the module kind with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * module kinds ({@link #getModuleKinds()}) for the one a matching
-	 * module kind id ({@link IModuleKind#getId()}).
-	 * <p>
-	 * [issue: The terminology should be "module types",
-	 * to make it consistent with server types, etc.]
-	 * </p>
-	 * <p>
-	 * [issue: It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findModuleKind 
-	 * (findModuleType) to make it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param the module kind id, or <code>null</code>
-	 * @return the module kind, or <code>null</code> if 
-	 * id is <code>null</code> or there is no module kind
-	 * with the given id
-	 */
-	public static IModuleKind getModuleKind(String id) {
-		if (id == null)
-			return null;
-
-		if (moduleKinds == null)
-			loadModuleKinds();
-		
-		Iterator iterator = moduleKinds.iterator();
-		while (iterator.hasNext()) {
-			IModuleKind moduleType = (IModuleKind) iterator.next();
-			if (id.equals(moduleType.getId()))
-				return moduleType;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the list of all known runtime types.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of runtime types changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list chaning under foot if a new plug-in
-	 * is installed that happens to define a runtime type (a scenario that
-	 * Eclipse should support).]
-	 * </p>
-	 * @return the list of runtime types (element type: {@link IRuntimeType})
-	 */
-	public static List getRuntimeTypes() {
-		if (runtimeTypes == null)
-			loadRuntimeTypes();
-		return runtimeTypes;
-	}
-	
-	/**
-	 * Returns the runtime type with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * runtime types ({@link #getRuntimeTypes()}) for the one with a matching
-	 * runtime type id ({@link IRuntimeType#getId()}).
-	 * <p>
-	 * [issue: Same issue as with IServerType.
-	 * It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findRuntimeType to make
-	 * it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param the runtime type id, or <code>null</code>
-	 * @return the runtime type, or <code>null</code> if 
-	 * id is <code>null</code> or there is no runtime type
-	 * with the given id
-	 */
-	public static IRuntimeType getRuntimeType(String id) {
-		if (id == null)
-			return null;
-
-		if (runtimeTypes == null)
-			loadRuntimeTypes();
-		
-		Iterator iterator = runtimeTypes.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeType runtimeType = (IRuntimeType) iterator.next();
-			if (id.equals(runtimeType.getId()))
-				return runtimeType;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns a List of all runtime locators.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getRuntimeLocators() {
-		if (runtimeLocators == null)
-			loadRuntimeLocators();
-		return runtimeLocators;
-	}
-	
-	/**
-	 * Returns a List of all runtime target handlers.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getRuntimeTargetHandlers() {
-		if (runtimeTargetHandlers == null)
-			loadRuntimeTargetHandlers();
-		return runtimeTargetHandlers;
-	}
-	
-	/**
-	 * Returns the runtime target handler with the given id.
-	 *
-	 * @return org.eclipse.wst.server.core.IRuntimeTargetHandler
-	 */
-	public static IRuntimeTargetHandler getRuntimeTargetHandler(String id) {
-		if (id == null)
-			return null;
-
-		if (runtimeTargetHandlers == null)
-			loadRuntimeTargetHandlers();
-		
-		Iterator iterator = runtimeTargetHandlers.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeTargetHandler runtimeTargetListener = (IRuntimeTargetHandler) iterator.next();
-			if (id.equals(runtimeTargetListener.getId()))
-				return runtimeTargetListener;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the list of all known server types.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of server types changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list chaning under foot if a new plug-in
-	 * is installed that happens to define a server type (a scenario that
-	 * Eclipse should support).]
-	 * </p>
-	 * @return the list of server types (element type: {@link IServerType})
-	 */
-	public static List getServerTypes() {
-		if (serverTypes == null)
-			loadServerTypes();
-		return serverTypes;
-	}
-	
-	/**
-	 * Returns the server type with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * server types ({@link #getServerTypes()}) for the one with a matching
-	 * server type id ({@link IServerType#getId()}).
-	 * <p>
-	 * [issue: It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findServerType to make
-	 * it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param the server type id, or <code>null</code>
-	 * @return the server type, or <code>null</code> if 
-	 * id is <code>null</code> or there is no server type
-	 * with the given id
-	 */
-	public static IServerType getServerType(String id) {
-		if (id == null)
-			return null;
-
-		if (serverTypes == null)
-			loadServerTypes();
-		
-		Iterator iterator = serverTypes.iterator();
-		while (iterator.hasNext()) {
-			IServerType serverType = (IServerType) iterator.next();
-			if (id.equals(serverType.getId()))
-				return serverType;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the list of all known server configuration types.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of server configuration types changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: Same issue as with IServerType.
-	 * The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list chaning under foot if a new plug-in
-	 * is installed that happens to define a server configuration type (a scenario that
-	 * Eclipse should support).]
-	 * </p>
-	 * @return the list of server configuration types
-	 * (element type: {@link IServerConfigurationType})
-	 */
-	public static List getServerConfigurationTypes() {
-		if (serverConfigurationTypes == null)
-			loadServerConfigurationTypes();
-		return serverConfigurationTypes;
-	}
-	
-	/**
-	 * Returns the server configuration type with the given id, 
-	 * or <code>null</code> if none. This convenience method searches
-	 * the list of known server configuration types
-	 * ({@link #getServerConfigurationTypes()}) for the one a matching
-	 * server id ({@link IServerConfigurationType#getId()}).
-	 * <p>
-	 * [issue: Same issue as with IServerType.
-	 * It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findServerConfigurationType
-	 * to make it clear that it is searching.]
-	 * </p>
-	 *
-	 * @param the server configuration type id, or <code>null</code>
-	 * @return the server configuration type, or <code>null</code> if 
-	 * id is <code>null</code> or there is no server configuration type
-	 * with the given id
-	 */
-	public static IServerConfigurationType getServerConfigurationType(String id) {
-		if (id == null)
-			return null;
-
-		if (serverConfigurationTypes == null)
-			loadServerConfigurationTypes();
-		
-		Iterator iterator = serverConfigurationTypes.iterator();
-		while (iterator.hasNext()) {
-			IServerConfigurationType serverConfigurationType = (IServerConfigurationType) iterator.next();
-			if (id.equals(serverConfigurationType.getId()))
-				return serverConfigurationType;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the list of all known module module factories.
-	 * <p>
-	 * Clients must not modify the list that is returned.
-	 * If the set of module factories changes, the affect on
-	 * the returned list is unspecified.
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify. But if you don't copy, you still
-	 * have the problem of the list chaning under foot if a new plug-in
-	 * is installed that happens to define a module factory (a scenario that
-	 * Eclipse should support).]
-	 * </p>
-	 * <p>
-	 * [issue: Are module factories SPI-side objects or do
-	 * normal clients need access to them? If they are only SPI,
-	 * this method should be moved to the SPI package.]
-	 * </p>
-	 * 
-	 * @return the list of module factories (element type: {@link IModuleFactory})
-	 */
-	public static List getModuleFactories() {
-		if (moduleFactories == null)
-			loadModuleFactories();
-		return moduleFactories;
-	}
-	
-	/**
-	 * Returns the module factory with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * module factories ({@link #getModuleFactories()}) for the one a matching
-	 * module factory id ({@link IModuleFactory#getId()}).
-	 * <p>
-	 * [issue: It does not really make sense for a key parameter
-	 * like id to be null. 
-	 * Null id should be spec'd as illegal, 
-	 * and the implementation should immediately throw an unspecified 
-	 * RuntimeException if null is passed.]
-	 * </p>
-	 * <p>
-	 * [issue: Consider renaming this method findModuleFactory
-	 * to make it clear that it is searching.]
-	 * </p>
-	 * <p>
-	 * [issue: Are module factories SPI-side objects or do
-	 * normal clients need access to them? If they are only SPI,
-	 * this method should be moved to the SPI package.]
-	 * </p>
-	 *
-	 * @param the module factory id, or <code>null</code>
-	 * @return the module factory, or <code>null</code> if 
-	 * id is <code>null</code> or there is no module factory
-	 * with the given id
-	 */
-	public static IModuleFactory getModuleFactory(String id) {
-		if (id == null)
-			return null;
-
-		if (moduleFactories == null)
-			loadModuleFactories();
-		
-		Iterator iterator = moduleFactories.iterator();
-		while (iterator.hasNext()) {
-			IModuleFactory factory = (IModuleFactory) iterator.next();
-			if (id.equals(factory.getId()))
-				return factory;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns a List of all module object adapters.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getModuleObjectAdapters() {
-		if (moduleObjectAdapters == null)
-			loadModuleObjectAdapters();
-		return moduleObjectAdapters;
-	}
-	
-	/**
-	 * Returns a List of all launchable adapters.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getLaunchableAdapters() {
-		if (launchableAdapters == null)
-			loadLaunchableAdapters();
-		return launchableAdapters;
-	}
-	
-	/**
-	 * Returns a List of all launchable clients.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getLaunchableClients() {
-		if (launchableClients == null)
-			loadLaunchableClients();
-		return launchableClients;
-	}
-	
-	/**
-	 * Returns a List of all module tasks.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getModuleTasks() {
-		if (moduleTasks == null)
-			loadModuleTasks();
-		return moduleTasks;
-	}
-	
-	/**
-	 * Returns a List of all server tasks.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerTasks() {
-		if (serverTasks == null)
-			loadServerTasks();
-		return serverTasks;
-	}
-	
-	/**
-	 * Returns a List of all server monitors.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerMonitors() {
-		if (monitors == null)
-			loadServerMonitors();
-		return monitors;
-	}
-
-	/**
-	 * Returns a list of all open server projects (IServerProjects)
-	 * in the workbench.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerNatures() {
-		try {
-			IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	
-			List list = new ArrayList();
-			int size = projects.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					if (projects[i].isOpen() && projects[i].hasNature(IServerProject.NATURE_ID))
-						list.add(projects[i].getNature(IServerProject.NATURE_ID));
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error adding server nature", e);
-				}
-			}
-	
-			return list;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting server natures", e);
-			return new ArrayList();
-		}
-	}
-
-	/**
-	 * Returns a list of all server projects (IProjects) in
-	 * the workbench.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerProjects() {
-		try {
-			IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	
-			List list = new ArrayList();
-			int size = projects.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					if (projects[i].hasNature(IServerProject.NATURE_ID))
-						list.add(projects[i]);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error adding server nature project", e);
-				}
-			}
-
-			return list;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting server nature projects", e);
-			return new ArrayList();
-		}
-	}
-	
-	/**
-	 * Add the given nature to the project.
-	 *
-	 * @param monitor
-	 * @param project org.eclipse.core.resources.IProject
-	 */
-	private static boolean addNature(IProject project, String natureId, IProgressMonitor monitor) {
-		if (project == null)
-			return false;
-
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-
-			// make sure the project is open
-			if (!project.isOpen()) {
-				monitor.beginTask(ServerPlugin.getResource("%createServerProjectTask"), 2000);
-				project.open(ProgressUtil.getSubMonitorFor(monitor, 1000));
-			} else
-				monitor.beginTask(ServerPlugin.getResource("%createServerProjectTask"), 1000);
-		
-			// get the current natures
-			IProjectDescription desc = project.getDescription();
-			String[] natureIds = desc.getNatureIds();
-			if (natureIds == null)
-				natureIds = new String[0];
-	
-			// check that the nature isn't already there..
-			int size = natureIds.length;
-			for (int i = 0; i < size; i++) {
-				if (natureId.equals(natureIds[i]))
-					return true;
-			}
-	
-			// otherwise, add the new nature
-			String[] newNatureIds = new String[size + 1];
-			System.arraycopy(natureIds, 0, newNatureIds, 0, size);
-			newNatureIds[size] = natureId;
-			desc.setNatureIds(newNatureIds);
-	
-			project.setDescription(desc, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			return true;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not add nature to " + project.getName(), e);
-			return false;
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/**
-	 * Creates a new server project with the given name. If path is
-	 * null, it will be created in the default location.
-	 *
-	 * @param name java.lang.String
-	 * @param path org.eclipse.core.resource.IPath
-	 * @param monitor
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public static IStatus createServerProject(String name, IPath path, IProgressMonitor monitor) {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(ServerPlugin.getResource("%createServerProjectTask"), 3000);
-
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IProject project = workspace.getRoot().getProject(name);
-	
-			// get a project descriptor
-			IProjectDescription description = workspace.newProjectDescription(name);
-			description.setLocation(path);
-	
-			project.create(description, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			if (monitor.isCanceled())
-				return null;
-			project.open(ProgressUtil.getSubMonitorFor(monitor, 1000));
-			if (monitor.isCanceled())
-				return null;
-
-			// add the server project nature
-			addNature(project, IServerProject.NATURE_ID, ProgressUtil.getSubMonitorFor(monitor, 1000));
-	
-			if (monitor.isCanceled())
-				return null;
-	
-			return new Status(IStatus.OK, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%serverProjectCreated"), null);
-		} catch (CoreException ce) {
-			Trace.trace(Trace.SEVERE, "Could not create server project named " + name, ce);
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorCouldNotCreateServerProjectStatus", ce.getMessage()), ce);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not create server project (2) named " + name, e);
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorCouldNotCreateServerProject"), e);
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	private static void executeStartups() {
-		try {
-			Iterator iterator = getStartups().iterator();
-			while (iterator.hasNext()) {
-				IStartup startup = (IStartup) iterator.next();
-				try {
-					startup.startup();
-				} catch (Exception ex) {
-					Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error with startup", e);
-		}
-	}
-
-	/**
-	 * Load the server startups.
-	 */
-	private static synchronized void loadStartups() {
-		if (startups != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .startup extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "startup");
-
-		int size = cf.length;
-		startups = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				IStartup startup = (IStartup) cf[i].createExecutableExtension("class");
-				startups.add(startup);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded startup: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load startup: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .startup extension point -<-");
-	}
-	
-	/**
-	 * Load the module kinds.
-	 */
-	private static synchronized void loadModuleKinds() {
-		if (moduleKinds != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleKinds extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "moduleKinds");
-
-		int size = cf.length;
-		moduleKinds = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				ModuleKind moduleKind = new ModuleKind(cf[i]);
-				moduleKinds.add(moduleKind);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded moduleKind: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load moduleKind: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleKinds extension point -<-");
-	}
-
-	/**
-	 * Load the runtime types.
-	 */
-	private static synchronized void loadRuntimeTypes() {
-		if (runtimeTypes != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .runtimeTypes extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "runtimeTypes");
-
-		int size = cf.length;
-		runtimeTypes = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				RuntimeType runtimeType = new RuntimeType(cf[i]);
-				runtimeTypes.add(runtimeType);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded runtimeType: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load runtimeType: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		ServerUtil.sortOrderedList(runtimeTypes);
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .runtimeTypes extension point -<-");
-	}
-	
-	/**
-	 * Load the runtime locators.
-	 */
-	private static synchronized void loadRuntimeLocators() {
-		if (runtimeLocators != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .runtimeLocators extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "runtimeLocators");
-
-		int size = cf.length;
-		runtimeLocators = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				RuntimeLocator runtimeLocator = new RuntimeLocator(cf[i]);
-				runtimeLocators.add(runtimeLocator);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded runtimeLocator: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load runtimeLocator: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .runtimeLocators extension point -<-");
-	}
-	
-	/**
-	 * Load the runtime target listeners.
-	 */
-	private static synchronized void loadRuntimeTargetHandlers() {
-		if (runtimeTargetHandlers != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .runtimeTargetHandlers extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "runtimeTargetHandlers");
-
-		int size = cf.length;
-		runtimeTargetHandlers = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				RuntimeTargetHandler runtimeTargetListener = new RuntimeTargetHandler(cf[i]);
-				runtimeTargetHandlers.add(runtimeTargetListener);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded runtimeTargetHandler: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load runtimeTargetHandler: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		ServerUtil.sortOrderedList(runtimeTargetHandlers);
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .runtimeTargetHandlers extension point -<-");
-	}
-
-	/**
-	 * Load the server types.
-	 */
-	private static synchronized void loadServerTypes() {
-		if (serverTypes != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverTypes extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "serverTypes");
-
-		int size = cf.length;
-		serverTypes = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				ServerType serverType = new ServerType(cf[i]);
-				serverTypes.add(serverType);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded serverType: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverType: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		ServerUtil.sortOrderedList(serverTypes);
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverTypes extension point -<-");
-	}
-
-	/**
-	 * Load the server configuration types.
-	 */
-	private static synchronized void loadServerConfigurationTypes() {
-		if (serverConfigurationTypes != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverConfigurationTypes extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "serverConfigurationTypes");
-
-		int size = cf.length;
-		serverConfigurationTypes = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				ServerConfigurationType serverConfigurationType = new ServerConfigurationType(cf[i]);
-				serverConfigurationTypes.add(serverConfigurationType);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded serverConfigurationType: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverConfigurationType: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		ServerUtil.sortOrderedList(serverConfigurationTypes);
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverConfigurationTypes extension point -<-");
-	}
-
-	/**
-	 * Load the publish manager extension point.
-	 */
-	private static synchronized void loadPublishManagers() {
-		if (publishManagers != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .publish extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "publish");
-
-		int size = cf.length;
-		publishManagers = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				String id = cf[i].getAttribute("id");
-				IPublishManager publisher = new PublishManager(cf[i]);
-				publishManagers.put(id, publisher);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded publish manager: " + id);
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load publish manager: " + cf[i].getAttribute("class"), t);
-			}
-		}
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .publisher extension point -<-");
-	}
-
-	/**
-	 * Load the module factories extension point.
-	 */
-	private static synchronized void loadModuleFactories() {
-		if (moduleFactories != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleFactories extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "moduleFactories");
-
-		int size = cf.length;
-		moduleFactories = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				moduleFactories.add(new ModuleFactory(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded moduleFactories: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load moduleFactories: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		ServerUtil.sortOrderedList(moduleFactories);
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleFactories extension point -<-");
-	}
-
-	/**
-	 * Load the module object adapters extension point.
-	 */
-	private static synchronized void loadModuleObjectAdapters() {
-		if (moduleObjectAdapters != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleObjectAdapters extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "moduleObjectAdapters");
-
-		int size = cf.length;
-		moduleObjectAdapters = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				moduleObjectAdapters.add(new ModuleObjectAdapter(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded moduleObjectAdapter: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load moduleObjectAdapter: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleObjectAdapters extension point -<-");
-	}
-	
-	/**
-	 * Load the launchable adapters extension point.
-	 */
-	private static synchronized void loadLaunchableAdapters() {
-		if (launchableAdapters != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .launchableAdapters extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "launchableAdapters");
-
-		int size = cf.length;
-		launchableAdapters = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				launchableAdapters.add(new LaunchableAdapter(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded launchableAdapter: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load launchableAdapter: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .launchableAdapters extension point -<-");
-	}
-
-	/**
-	 * Load the launchable client extension point.
-	 */
-	private static synchronized void loadLaunchableClients() {
-		if (launchableClients != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .clients extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "clients");
-
-		int size = cf.length;
-		launchableClients = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				launchableClients.add(new Client(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded clients: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load clients: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .clients extension point -<-");
-	}
-	
-	/**
-	 * Load the module task extension point.
-	 */
-	private static synchronized void loadModuleTasks() {
-		if (moduleTasks != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleTasks extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "moduleTasks");
-
-		int size = cf.length;
-		moduleTasks = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				moduleTasks.add(new ModuleTask(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded moduleTask: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load moduleTask: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		ServerUtil.sortOrderedList(moduleTasks);
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleTasks extension point -<-");
-	}
-
-	/**
-	 * Load the server task extension point.
-	 */
-	private static synchronized void loadServerTasks() {
-		if (serverTasks != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverTasks extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "serverTasks");
-
-		int size = cf.length;
-		serverTasks = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				serverTasks.add(new ServerTask(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded serverTask: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverTask: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		ServerUtil.sortOrderedList(serverTasks);
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverTasks extension point -<-");
-	}
-
-	/**
-	 * Load the server monitor extension point.
-	 */
-	private static synchronized void loadServerMonitors() {
-		if (monitors != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverMonitors extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerCore.PLUGIN_ID, "serverMonitors");
-
-		int size = cf.length;
-		monitors = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				monitors.add(new ServerMonitor(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded serverMonitor: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverMonitor: " + cf[i].getAttribute("id"), t);
-			}
-		}
-	
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverMonitors extension point -<-");
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
deleted file mode 100644
index 479c954..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
+++ /dev/null
@@ -1,1035 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchManager;
-
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.model.*;
-/**
- * Server utility methods.
- */
-public class ServerUtil {
-	/**
-	 * Static class - cannot create an instance.
-	 */
-	private ServerUtil() { }
-
-	/**
-	 * Returns true if the given configuration currently contains
-	 * the given object.
-	 *
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return boolean
-	 */
-	public static boolean containsModule(IServer server, IModule module) {
-		if (server == null)
-			return false;
-		Trace.trace(Trace.FINEST, "containsModule() " + server + " " + module);
-		try {
-			Iterator iterator = getAllContainedModules(server).iterator();
-			while (iterator.hasNext()) {
-				IModule module2 = (IModule) iterator.next();
-				Trace.trace(Trace.FINEST, "module: " + module2 + " " + module.equals(module2));
-				if (module.equals(module2))
-					return true;
-			}
-		} catch (Throwable t) { }
-		return false;
-	}
-
-	/**
-	 * Returns all projects contained by the server. This included the
-	 * projects that are in the configuration, as well as their
-	 * children, and their children...
-	 *
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 * @return java.util.List
-	 */
-	public static List getAllContainedModules(IServer server) {
-		//Trace.trace("> getAllContainedModules: " + getName(configuration));
-		List modules = new ArrayList();
-		if (server == null)
-			return modules;
-
-		// get all of the directly contained projects
-		IModule[] deploys = server.getModules();
-		if (deploys == null || deploys.length == 0)
-			return modules;
-
-		int size = deploys.length;
-		for (int i = 0; i < size; i++) {
-			if (deploys[i] != null && !modules.contains(deploys[i]))
-				modules.add(deploys[i]);
-		}
-
-		//Trace.trace("  getAllContainedModules: root level done");
-
-		// get all of the module's children
-		int count = 0;
-		while (count < modules.size()) {
-			IModule module = (IModule) modules.get(count);
-			try {
-				List childProjects = server.getChildModules(module);
-				if (childProjects != null) {
-					Iterator iterator = childProjects.iterator();
-					while (iterator.hasNext()) {
-						IModule child = (IModule) iterator.next();
-						if (child != null && !modules.contains(child))
-							modules.add(child);
-					}
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error getting child modules for: " + module.getName(), e);
-			}
-			count ++;
-		}
-
-		//Trace.trace("< getAllContainedModules");
-
-		return modules;
-	}
-
-	/**
-	 * Returns a list of all servers that this module is configured on.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 */
-	public static IServer[] getServersByModule(IModule module) {
-		if (module == null)
-			return new IServer[0];
-
-		// do it the slow way - go through all servers and
-		// see if this module is configured in it
-		List list = new ArrayList();
-		List servers = ServerCore.getResourceManager().getServers();
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (containsModule(server, module))
-				list.add(server);
-		}
-		
-		IServer[] allServers = new IServer[list.size()];
-		list.toArray(allServers);
-		return allServers;
-	}
-	
-	/**
-	 * Returns a list of all servers that this module is configured on.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 */
-	public static IServer[] getServersBySupportedModule(IModule module) {
-		if (module == null)
-			return new IServer[0];
-
-		// do it the slow way - go through all servers and
-		// see if this module is configured in it
-		List list = new ArrayList();
-		List servers = ServerCore.getResourceManager().getServers();
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (isSupportedModule(server.getServerType(), module))
-				list.add(server);
-		}
-		
-		IServer[] allServers = new IServer[list.size()];
-		list.toArray(allServers);
-		return allServers;
-	}
-
-	/**
-	 * Returns a list of configurations that are supported by this
-	 * server.
-	 *
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @return java.util.List
-	 */
-	public static List getSupportedServerConfigurations(IServer server) {
-		if (server == null)
-			return new ArrayList();
-	
-		List list = new ArrayList();
-	
-		List configs = ServerCore.getResourceManager().getServerConfigurations();
-		Iterator iterator = configs.iterator();
-		while (iterator.hasNext()) {
-			IServerConfiguration configuration = (IServerConfiguration) iterator.next();
-			//Trace.trace("Is supported configuration: " + getName(server) + " " + getName(configuration) + " " + server.isSupportedConfiguration(configuration));
-			if (server.isSupportedConfiguration(configuration))
-				list.add(configuration);
-		}
-		return list;
-	}
-
-	/**
-	 * Returns true if the given project is a server project.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	public static boolean isServerProject(IProject project) {
-		try {
-			return project.hasNature(IServerProject.NATURE_ID);
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	/**
-	 * Returns the project modules attached to a project.
-	 */
-	public static IProjectModule getModuleProject(IProject project) {
-		if (project == null)
-			return null;
-
-		Iterator iterator = getModules(null, null, true).iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (module != null && module instanceof IProjectModule) {
-				IProjectModule moduleProject = (IProjectModule) module;
-				if (project.equals(moduleProject.getProject()))
-					return moduleProject;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the project modules attached to a project.
-	 */
-	public static List getModuleProjects(IProject project) {
-		if (project == null)
-			return null;
-
-		List list = new ArrayList();
-		Iterator iterator = getModules(null, null, true).iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (module != null && module instanceof IProjectModule) {
-				IProjectModule moduleProject = (IProjectModule) module;
-				if (project.equals(moduleProject.getProject()))
-					list.add(moduleProject);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Returns a module from the given factoryId and memento.
-	 * 
-	 * @param java.lang.String factoryId
-	 * @param java.lang.String memento
-	 * @return org.eclipse.wst.server.core.model.IModule
-	 */
-	public static IModule getModule(String factoryId, String memento) {
-		Iterator iterator = ServerCore.getModuleFactories().iterator();
-		while (iterator.hasNext()) {
-			IModuleFactory factory = (IModuleFactory) iterator.next();
-			if (factory.getId().equals(factoryId)) {
-				IModule module = factory.getModule(memento);
-				if (module != null) {
-					return module;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns true if the given class name s is a superclass or interface of
-	 * the class obj.
-	 * 
-	 * @param c java.lang.Class
-	 * @param s java.lang.String
-	 * @return boolean
-	 */
-	protected static boolean isEnabled(Class c, String s) {
-		if (s == null || s.length() == 0)
-			return true;
-
-		while (c != null && c != Object.class) {
-			if (s.equals(c.getName()))
-				return true;
-			Class[] inf = c.getInterfaces();
-			if (inf != null) {
-				int size = inf.length;
-				for (int i = 0; i < size; i++) {
-					if (s.equals(inf[i].getName()))
-						return true;
-				}
-			}
-			c = c.getSuperclass();
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns a module for the given object that may be launchable on
-	 * a server using the Run on Server option. Throws an exception if it
-	 * can't determine the object without possible plugin loading.
-	 * 
-	 * @param obj java.lang.Object
-	 * @return IModule
-	 * @throws java.lang.Exception
-	 */
-	public static IModule getModule(Object obj, boolean initialized) throws Exception {
-		if (obj == null)
-			return null;
-		Trace.trace(Trace.FINEST, "ServerUtil.getModule()");
-		Iterator iterator = ServerCore.getModuleObjectAdapters().iterator();
-		while (iterator.hasNext()) {
-			IModuleObjectAdapter adapter = (IModuleObjectAdapter) iterator.next();
-			
-			if (isEnabled(obj.getClass(), adapter.getObjectClassName())) {
-				if (!initialized) {
-					Trace.trace(Trace.FINEST, "getModule(): " + obj.getClass() + " " + adapter.getObjectClassName());
-					throw new Exception();
-				}
-				IModuleObject moduleObject = adapter.getModuleObject(obj);
-				if (moduleObject != null)
-					return moduleObject.getModule();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns a list of the launchable clients for the given object.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getModuleObjects(Object obj) {
-		List list = new ArrayList();
-		Trace.trace(Trace.FINEST, "ServerUtil.getModuleObjects()");
-		Iterator iterator = ServerCore.getModuleObjectAdapters().iterator();
-		while (iterator.hasNext()) {
-			IModuleObjectAdapter adapter = (IModuleObjectAdapter) iterator.next();
-			if (isEnabled(obj.getClass(), adapter.getObjectClassName())) {
-				IModuleObject moduleObject = adapter.getModuleObject(obj);
-				Trace.trace(Trace.FINEST, "moduleObject: " + moduleObject);
-				if (moduleObject != null)
-					list.add(moduleObject);
-			}
-		}
-		return list;
-	}
-	
-	/**
-	 * Returns the first launchable object for the given server and module
-	 * object.
-	 * 
-	 * @param server
-	 * @param moduleObject
-	 * @return ILaunchable
-	 */
-	public static ILaunchable getLaunchable(IServer server, IModuleObject moduleObject) {
-		Iterator iterator = ServerCore.getLaunchableAdapters().iterator();
-		while (iterator.hasNext()) {
-			ILaunchableAdapter adapter = (ILaunchableAdapter) iterator.next();
-			try {
-				ILaunchable launchable = adapter.getLaunchable(server, moduleObject);
-				Trace.trace(Trace.FINEST, "adapter= " + adapter + ", launchable= " + launchable);
-				if (launchable != null)
-					return launchable;
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error in launchable adapter", e);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the launchable clients for the given server and launchable
-	 * object.
-	 *
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param moduleObject org.eclipse.wst.server.core.model.IModuleObject
-	 * @param launchMode String
-	 * @return java.util.List
-	 */
-	public static List getLaunchableClients(IServer server, ILaunchable launchable, String launchMode) {
-		ArrayList list = new ArrayList();
-		Iterator iterator = ServerCore.getLaunchableClients().iterator();
-		while (iterator.hasNext()) {
-			IClient client = (IClient) iterator.next();
-			Trace.trace(Trace.FINEST, "client= " + client);
-			if (client.supports(server, launchable, launchMode)) {
-				list.add(client);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Returns the first launchable object for the given server and module
-	 * object.
-	 * 
-	 * @param server
-	 * @param moduleObject
-	 * @return ILaunchable
-	 */
-	public static ILaunchable getLaunchable(IServer server, List moduleObjects) {
-		Iterator iterator = moduleObjects.iterator();
-		while (iterator.hasNext()) {
-			IModuleObject moduleObject = (IModuleObject) iterator.next();
-			ILaunchable launchable = getLaunchable(server, moduleObject);
-			if (launchable != null)
-				return launchable;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the factory that created the given server resource.
-	 * 
-	 * @param org.eclipse.wst.server.core.model.IServerResource
-	 * @return org.eclipse.wst.server.core.IServerResourceFactory
-	 */
-/*	public static IServerResourceFactory getServerResourceFactory(IServerResource resource) {
-		if (resource == null)
-			return null;
-		String id = resource.getFactoryId();
-		return ServerCore.getCreationManager().getServerResourceFactory(id);
-	}*/
-	
-	/**
-	 * Returns the factory that created the given module.
-	 *
-	 * @param org.eclipse.wst.server.core.model.IModule
-	 * @return org.eclipse.wst.server.core.IModuleFactory
-	 */
-	public static IModuleFactory getModuleFactory(IModule module) {
-		String id = module.getFactoryId();
-		if (id == null)
-			return null;
-
-		Iterator iterator = ServerCore.getModuleFactories().iterator();
-		while (iterator.hasNext()) {
-			IModuleFactory factory = (IModuleFactory) iterator.next();
-			if (id.equals(factory.getId()))
-				return factory;
-		}
-		return null;
-	}
-
-	/**
-	 * Return all the available modules from all factories whose
-	 * type includes the given id.
-	 * 
-	 * @param type java.lang.String
-	 * @param onlyProjectModules boolean
-	 * @return java.util.List
-	 */
-	public static List getModules(String type, String version, boolean onlyProjectModules) {
-		List list = new ArrayList();
-
-		Iterator iterator = ServerCore.getModuleFactories().iterator();
-		while (iterator.hasNext()) {
-			IModuleFactory factory = (IModuleFactory) iterator.next();
-			//if (!(onlyProjectModules && factory.isProjectModuleFactory())) {
-			if (isSupportedModule(factory.getModuleTypes(), type, version)) {
-					List modules = factory.getModules();
-					if (modules != null && !modules.isEmpty()) {
-						list.addAll(modules);
-					}
-				}
-			//}
-		}
-		return list;
-	}
-	
-	public static boolean isSupportedModule(IServerType serverType, IModuleType moduleType) {
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		return isSupportedModule(runtimeType.getModuleTypes(), moduleType.getType(), moduleType.getVersion());
-	}
-	
-	public static boolean isSupportedModule(List moduleTypes, String type, String version) {
-		Iterator iterator = moduleTypes.iterator();
-		while (iterator.hasNext()) {
-			IModuleType mt = (IModuleType) iterator.next();
-			if (isSupportedModule(mt, type, version))
-				return true;
-		}
-		return false;
-	}
-	
-	public static boolean isSupportedModule(IModuleType moduleType, String type, String version) {
-		String type2 = moduleType.getType();
-		if (matches(type, type2)) {
-			String version2 = moduleType.getVersion();
-			if (matches(version, version2))
-				return true;
-		}
-		return false;
-	}
-
-	protected static boolean matches(String a, String b) {
-		if (a == null || b == null || "*".equals(a) || "*".equals(b) || a.startsWith(b) || b.startsWith(a))
-			return true;
-		return false;
-	}
-	
-	/**
-	 * Return all the available modules from all factories.
-	 * 
-	 * @return java.util.List
-	 */
-	public static List getModules() {
-		List list = new ArrayList();
-		
-		Iterator iterator = ServerCore.getModuleFactories().iterator();
-		while (iterator.hasNext()) {
-			IModuleFactory factory = (IModuleFactory) iterator.next();
-			List modules = factory.getModules();
-			if (modules != null) {
-				Iterator iterator2 = modules.iterator();
-				while (iterator2.hasNext()) {
-					IModule module = (IModule) iterator2.next();
-					if (!list.contains(module))
-						list.add(module);
-				}
-			}
-		}
-		return list;
-	}
-	
-	/**
-	 * Adds or removes modules from a server. Will search for the first parent module
-	 * of each module and add it to the server instead. This method will handle multiple
-	 * modules having the same parent (the parent will only be added once), but may not
-	 * handle the case where the same module or parent is being both added and removed.
-	 * 
-	 * @param server
-	 * @param add
-	 * @param remove
-	 * @param monitor
-	 * @throws CoreException
-	 */
-	public static void modifyModules(IServerWorkingCopy server, IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		if (add == null)
-			add = new IModule[0];
-		if (remove == null)
-			remove = new IModule[0];
-		
-		int size = add.length;
-		List addParentModules = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			boolean found = false;
-			try {
-				List parents = server.getParentModules(add[i]);
-				if (parents != null) {
-					found = true;
-					if (parents.size() > 0) {				
-						Object parent = parents.get(0);
-						found = true;
-						if (!addParentModules.contains(parent))
-							addParentModules.add(parent);
-					}
-				} 
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not find parent module", e);
-			}
-			
-			if (!found)
-				addParentModules.add(add[i]);
-		}
-		
-		size = remove.length;
-		List removeParentModules = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			boolean found = false;
-			try {
-				List parents = server.getParentModules(remove[i]);
-				if (parents != null) {
-					found = true;
-					if (parents.size() > 0) {				
-						Object parent = parents.get(0);
-						found = true;
-						if (!removeParentModules.contains(parent))
-							removeParentModules.add(parent);
-					}
-				} 
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not find parent module 2", e);
-			}
-			
-			if (!found)
-				removeParentModules.add(remove[i]);
-		}
-		
-		IModule[] add2 = new IModule[addParentModules.size()];
-		addParentModules.toArray(add2);
-		IModule[] remove2 = new IModule[removeParentModules.size()];
-		removeParentModules.toArray(remove2);
-		
-		server.modifyModules(add2, remove2, monitor);
-	}
-
-	/**
-	 * Returns true if the given server is already started in the given
-	 * mode, or could be (re)started in the start mode.
-	 * 
-	 * @param server org.eclipse.wst.server.core.IServer
-	 * @param launchMode java.lang.String
-	 * @return boolean
-	 */
-	public static boolean isCompatibleWithLaunchMode(IServer server, String launchMode) {
-		if (server == null)
-			return false;
-
-		byte state = server.getServerState();
-		if ((state == IServer.SERVER_STARTED && launchMode.equals(ILaunchManager.RUN_MODE)) ||
-			(state == IServer.SERVER_STARTED_DEBUG && launchMode.equals(ILaunchManager.DEBUG_MODE)) ||
-			(state == IServer.SERVER_STARTED_PROFILE && launchMode.equals(ILaunchManager.PROFILE_MODE)))
-			return true;
-		if (server.getServerType().supportsLaunchMode(launchMode))
-			return true;
-		return false;
-	}
-
-	/**
-	 * Filters the servers to those that are already started in the given launchMode
-	 * or can be (re)started in the given launchMode.
-	 * 
-	 * @param server org.eclipse.wst.server.core.IServer[]
-	 * @param launchMode java.lang.String
-	 * @return org.eclipse.wst.server.core.IServer[]
-	 */
-	public static IServer[] filterServersByLaunchMode(IServer[] servers, String launchMode) {
-		if (servers == null || servers.length == 0)
-			return servers;
-		
-		int size = servers.length;
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			if (isCompatibleWithLaunchMode(servers[i], launchMode))
-				list.add(servers[i]);
-		}
-		IServer[] temp = new IServer[list.size()];
-		list.toArray(temp);
-		return temp;
-	}
-	
-	/**
-	 * Visit all the modules in the server configuration.
-	 */
-	public static void visit(IServer server, IModuleVisitor visitor) {
-		if (server == null)
-			return;
-		
-		IModule[] modules = server.getModules();
-		if (modules != null) { 
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				if (!visitModule(server, new ArrayList(), modules[i], visitor))
-					return;
-			}
-		}
-	}
-
-	/**
-	 * Returns true to keep visiting, and false to stop.
-	 */
-	private static boolean visitModule(IServer server, List parents, IModule module, IModuleVisitor visitor) {
-		if (server == null || module == null || parents == null)
-			return true;
-		
-		if (!visitor.visit(parents, module))
-			return false;
-		
-		List children = server.getChildModules(module);
-		if (children != null) {
-			Iterator iterator = children.iterator();
-			while (iterator.hasNext()) {
-				IModule module2 = (IModule) iterator.next();
-				
-				List parents2 = new ArrayList(parents.size() + 1);
-				parents2.addAll(parents);
-				parents2.add(module);
-				
-				if (!visitModule(server, parents2, module2, visitor))
-					return false;
-			}
-		}
-			
-		return true;
-	}
-
-	public static boolean isNameInUse(IRuntime runtime) {
-		Iterator iterator = ServerCore.getResourceManager().getRuntimes().iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime2 = (IRuntime) iterator.next();
-			if (!runtime.equals(runtime2) && runtime.getName().equals(runtime2.getName())) {
-				if (!runtime.isWorkingCopy() || !runtime2.equals(((IRuntimeWorkingCopy)runtime).getOriginal()))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	public static void setRuntimeDefaultName(IRuntimeWorkingCopy wc) {
-		String typeName = wc.getRuntimeType().getName();
-		
-		String name = ServerPlugin.getResource("%defaultRuntimeName", new String[] {typeName});
-		int i = 2;
-		while (isNameInUse(name)) {
-			name = ServerPlugin.getResource("%defaultRuntimeName2", new String[] {typeName, i + ""});
-			i++;
-		}
-		wc.setName(name);
-	}
-
-	public static void setServerDefaultName(IServerWorkingCopy wc) {
-		String typeName = wc.getServerType().getName();
-		String host = wc.getHostname();
-		
-		String name = ServerPlugin.getResource("%defaultServerName", new String[] {typeName, host});
-		int i = 2;
-		while (isNameInUse(name)) {
-			name = ServerPlugin.getResource("%defaultServerName2", new String[] {typeName, host, i + ""});
-			i++;
-		}
-		wc.setName(name);
-	}
-
-	public static void setServerConfigurationDefaultName(IServerConfigurationWorkingCopy wc) {
-		String typeName = wc.getServerConfigurationType().getName();
-		
-		String name = ServerPlugin.getResource("%defaultServerConfigurationName", new String[] {typeName});
-		int i = 2;
-		while (isNameInUse(name)) {
-			name = ServerPlugin.getResource("%defaultServerConfigurationName2", new String[] {typeName, i + ""});
-			i++;
-		}
-		wc.setName(name);
-	}
-	
-	public static IProject getDefaultServerProject() {
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		if (projects != null) {
-			int size = projects.length;
-			for (int i = 0; i < size; i++) {
-				if (ServerUtil.isServerProject(projects[i]))
-					return projects[i];
-			}
-		}
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(findUnusedServerProjectName());
-	}
-
-	private static boolean isValidFilename(String name) {
-		IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE);
-		if (status != null && !status.isOK())
-			return false;
-		
-		status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FOLDER);
-		if (status != null && !status.isOK())
-			return false;
-		
-		return true;
-	}
-
-	private static String getValidFileName(String name) {
-		if (isValidFilename(name))
-			return name;
-	
-		// remove invalid characters
-		String[] s = new String[] {".", "\\", "/", "?", ":", "*", "\"", "|", "<", ">"};
-		int ind = 0;
-		while (ind < s.length) {
-			int index = name.indexOf(s[ind]);
-			while (index >= 0) {
-				name = name.substring(0, index) + name.substring(index+1);
-				index = name.indexOf(s[ind]);
-			}
-			ind++;
-		}
-		return name;
-	}
-
-	public static IFile getUnusedServerFile(IProject project, IServerType type) {
-		String typeName = getValidFileName(type.getName());
-		String name = ServerPlugin.getResource("%defaultServerName3", new String[] {typeName})+ "."  + IServer.FILE_EXTENSION;
-		int i = 2;
-		while (isFileNameInUse(project, name)) {
-			name = ServerPlugin.getResource("%defaultServerName4", new String[] {typeName, i + ""}) + "."  + IServer.FILE_EXTENSION;
-			i++;
-		}
-		return project.getFile(name);
-	}
-
-	public static IFile getUnusedServerConfigurationFile(IProject project, IServerConfigurationType type) {
-		String typeName = getValidFileName(type.getName());
-		String name = ServerPlugin.getResource("%defaultServerConfigurationName", new String[] {typeName}) + "."  + IServerConfiguration.FILE_EXTENSION;
-		int i = 2;
-		while (isFileNameInUse(project, name)) {
-			name = ServerPlugin.getResource("%defaultServerConfigurationName2", new String[] {typeName, i + ""}) + "."  + IServerConfiguration.FILE_EXTENSION;
-			i++;
-		}
-		return project.getFile(name);
-	}
-
-	/**
-	 * Returns true if an element exists with the given name.
-	 *
-	 * @param name java.lang.String
-	 * @return boolean
-	 */
-	private static boolean isNameInUse(String name) {
-		if (name == null)
-			return true;
-	
-		IResourceManager rm = ServerCore.getResourceManager();
-		List list = new ArrayList();
-		list.addAll(rm.getRuntimes());
-		list.addAll(rm.getServers());
-		list.addAll(rm.getServerConfigurations());
-
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IElement element = (IElement) iterator.next();
-			if (name.equalsIgnoreCase(element.getName()))
-				return true;
-		}
-
-		return false;
-	}
-	
-	/**
-	 * Returns true if an element exists with the given name.
-	 *
-	 * @param name java.lang.String
-	 * @return boolean
-	 */
-	private static boolean isFileNameInUse(IProject project, String name) {
-		if (name == null || project == null)
-			return false;
-		
-		if (project.getFile(name).exists())
-			return true;
-		if (project.getFolder(name).exists())
-			return true;
-	
-		return false;
-	}
-
-	/**
-	 * Finds an unused project name to use as a server project.
-	 * 
-	 * @return java.lang.String
-	 */
-	private static String findUnusedServerProjectName() {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		String name = ServerPlugin.getResource("%defaultServerProjectName", "");
-		int count = 1;
-		while (root.getProject(name).exists()) {
-			name = ServerPlugin.getResource("%defaultServerProjectName", ++count + "");
-		}
-		return name;
-	}
-	
-	/**
-	 * Sort the given list of IOrdered items into indexed order. This method
-	 * modifies the original list, but returns the value for convenience.
-	 *
-	 * @param list java.util.List
-	 * @return java.util.List
-	 */
-	public static List sortOrderedList(List list) {
-		if (list == null)
-			return null;
-
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				IOrdered a = (IOrdered) list.get(i);
-				IOrdered b = (IOrdered) list.get(j);
-				if (a.getOrder() > b.getOrder()) {
-					Object temp = a;
-					list.set(i, b);
-					list.set(j, temp);
-				}
-			}
-		}
-		return list;
-	}
-	
-	/**
-	 * Sort the given list of IOrdered items into reverse indexed order. This method
-	 * modifies the original list, but returns the value for convenience.
-	 *
-	 * @param list java.util.List
-	 * @return java.util.List
-	 */
-	public static List sortOrderedListReverse(List list) {
-		if (list == null)
-			return null;
-
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				IOrdered a = (IOrdered) list.get(i);
-				IOrdered b = (IOrdered) list.get(j);
-				if (a.getOrder() < b.getOrder()) {
-					Object temp = a;
-					list.set(i, b);
-					list.set(j, temp);
-				}
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Return a list of all runtime targets that match the given type and version.
-	 * If type or version is null, it matches all of that type or version.
-	 * 
-	 * @param type
-	 * @param version
-	 * @return 
-	 */
-	public static List getRuntimes(String type, String version) {
-		List list = new ArrayList();
-		Iterator iterator = ServerCore.getResourceManager().getRuntimes().iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null && isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-				list.add(runtime);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Return a list of all runtime types that match the given type and version.
-	 * If type or version is null, it matches all of that type or version.
-	 * 
-	 * @param type
-	 * @param version
-	 * @return 
-	 */
-	public static List getRuntimeTypes(String type, String version) {
-		List list = new ArrayList();
-		Iterator iterator = ServerCore.getRuntimeTypes().iterator();
-		while (iterator.hasNext()) {
-			IRuntimeType runtimeType = (IRuntimeType) iterator.next();
-			if (isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-				list.add(runtimeType);
-			}
-		}
-		return list;
-	}
-	
-	/**
-	 * Return a list of all runtime types that match the given type, version,
-	 * and partial runtime type id. If type, version, or runtimeTypeId is null,
-	 * it matches all of that type or version.
-	 * 
-	 * @param type
-	 * @param version
-	 * @return 
-	 */
-	public static List getRuntimeTypes(String type, String version, String runtimeTypeId) {
-		List list = new ArrayList();
-		Iterator iterator = ServerCore.getRuntimeTypes().iterator();
-		while (iterator.hasNext()) {
-			IRuntimeType runtimeType = (IRuntimeType) iterator.next();
-			if (isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-				if (runtimeTypeId == null || runtimeType.getId().startsWith(runtimeTypeId))
-					list.add(runtimeType);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Returns a list of all servers that this deployable is not currently
-	 * configured on, but could be added to. If includeErrors is true, this
-	 * method return servers where the parent deployable may throw errors. For
-	 * instance, this deployable may be the wrong spec level.
-	 *
-	 * @param module com.ibm.etools.server.core.model.IModule
-	 * @return com.ibm.etools.server.core.model.IServer[]
-	 */
-	public static IServer[] getAvailableServersForModule(IModule module, boolean includeErrors) {
-		if (module == null)
-			return new IServer[0];
-
-		// do it the slow way - go through all servers and
-		// see if this deployable is not configured in it
-		// but could be added
-		List list = new ArrayList();
-		List servers = ServerCore.getResourceManager().getServers();
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (!containsModule(server, module)) {
-				try {
-					List parents = server.getParentModules(module);
-					if (parents != null && !parents.isEmpty()) {
-						Iterator iterator2 = parents.iterator();
-						boolean found = false;
-						while (!found && iterator2.hasNext()) {
-							IModule parent = (IModule) iterator2.next();
-							IStatus status = server.canModifyModules(new IModule[] { parent }, new IModule[0]);
-							if (status == null || status.isOK()){
-								list.add(server);
-								found = true;
-							}
-						}
-					}
-				} catch (Exception se) {
-					if (includeErrors)
-						list.add(server);
-				}
-			}
-		}
-		
-		// make sure that the preferred server is the first one
-		/*IServer server = ServerCore.getServerPreferences().getDeployableServerPreference(deployable);
-		if (server != null && list.contains(server) && list.indexOf(server) != 0) {
-			list.remove(server);
-			list.add(0, server);
-		}*/
-
-		IServer[] allServers = new IServer[list.size()];
-		list.toArray(allServers);
-		return allServers;
-	}
-	
-	public static boolean isDefaultAvailable(IServerType serverType, IModuleType moduleType) {
-		if (!isSupportedModule(serverType, moduleType))
-			return false;
-	
-		// remote servers won't automatically work (i.e. without hostname)
-		if (!serverType.supportsLocalhost())
-			return false;
-		
-		// if it needs a runtime, check if there is one
-		if (serverType.hasRuntime()) {
-			if (ServerCore.getResourceManager().getRuntimes(serverType.getRuntimeType()).isEmpty())
-				return false;
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/AbstractPublisher.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/AbstractPublisher.java
deleted file mode 100644
index cf741b7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/AbstractPublisher.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.resources.*;
-/**
- * Abstract class for publishing support.
- */
-public abstract class AbstractPublisher implements IPublishManagerDelegate {
-	protected Map deleteMap;
-	protected Map publishMap;
-
-	protected List delete;
-	protected List publish;
-	protected IModule module;
-
-	protected Map resourceMap;
-
-	protected IPublishControl control;
-	
-	private static final List EMPTY_LIST = new ArrayList(0);
-
-	/**
-	 * AbstractPublisher constructor comment.
-	 */
-	public AbstractPublisher() {
-		super();
-	}
-	
-	/**
-	 * 
-	 */
-	protected void deleteResources(IRemoteResource remote, List delete2, List visited, IProgressMonitor monitor) {
-		if (remote == null)
-			return;
-	
-		/*if (!visited.contains(resource)) {
-			delete.add(resource);
-		}*/
-		IModuleResource resource = null;
-		try {
-			resource = (IModuleResource) resourceMap.get(remote.getPath());
-		} catch (Exception e) {
-			//Trace.trace("Error in abstract publisher", e);
-		}
-	
-		if (shouldDelete(resource, null, remote, IRemoteResource.TIMESTAMP_UNKNOWN, control.getPublishedTimestamp(remote))) {
-			delete2.add(remote);
-		}
-	
-		if (remote instanceof IRemoteFolder) {
-			IRemoteFolder folder = (IRemoteFolder) remote;
-			Iterator iterator = folder.getContents().iterator();
-			while (iterator.hasNext()) {
-				IRemoteResource sub = (IRemoteResource) iterator.next();
-				deleteResources(sub, delete2, visited, monitor);
-			}
-		}
-	}
-	
-	protected IRemoteResource findRemoteResource(IRemoteFolder folder, IPath path) {
-		Iterator iterator = folder.getContents().iterator();
-		while (iterator.hasNext()) {
-			IRemoteResource remote = (IRemoteResource) iterator.next();
-			if (path.equals(remote.getPath()))
-				return remote;
-			if (remote instanceof IRemoteFolder) {
-				IRemoteFolder folder2 = (IRemoteFolder) remote;
-				IPath folderPath = folder2.getPath();
-				if (folderPath.isPrefixOf(path)) {
-					IRemoteResource rem = findRemoteResource(folder2, path);
-					if (rem != null)
-						return rem;
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected IRemoteResource findRemoteResource(IPath path) {
-		if (path == null)
-			return null;
-	
-		IRemoteResource[] resources = control.getRemoteResources();
-		int size = resources.length;
-		for (int i = 0; i < size; i++) {
-			IRemoteResource remote = resources[i];
-			
-			if (path.equals(remote.getPath()))
-				return remote;
-			if (remote instanceof IRemoteFolder) {
-				IRemoteFolder folder2 = (IRemoteFolder) remote;
-				IPath folderPath = folder2.getPath();
-				if (folderPath.isPrefixOf(path)) {
-					IRemoteResource rem = findRemoteResource(folder2, path);
-					if (rem != null)
-						return rem;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the list of remote resources to delete from the
-	 * remote machine.
-	 *
-	 * @return java.util.List
-	 */
-	public List getResourcesToDelete(IModule module2) {
-		try {
-			return (List) deleteMap.get(module2);
-		} catch (Exception e) {
-			return EMPTY_LIST;
-		}
-	}
-	
-	/**
-	 * Returns the list of resources to publish to the
-	 * remote machine.
-	 *
-	 * @return java.util.List
-	 */
-	public List getResourcesToPublish(IModule module2) {
-		try {
-			return (List) publishMap.get(module2);
-		} catch (Exception e) {
-			return EMPTY_LIST;
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	protected void publishResources(IModuleResource resource, List publish2, List visited, IProgressMonitor monitor) {
-		if (resource == null)
-			return;
-	
-		IPath path = control.getMappedLocation(resource);
-		resourceMap.put(path, resource);
-	
-		if (path != null) {
-			IRemoteResource remote = findRemoteResource(path);
-			if (!(resource instanceof IModuleFolder && remote != null)) { // don't republish directories that already exist
-				if (shouldPublish(resource, path, remote, control.getPublishedTimestamp(resource), control.getPublishedTimestamp(remote))) {
-					publish2.add(resource);
-				}
-			}
-		}
-	
-		if (resource instanceof IModuleFolder) {
-			IModuleFolder cont = (IModuleFolder) resource;
-			if (control.shouldMapMembers(cont)) {
-				try {
-					IModuleResource[] sub = cont.members();
-					if (sub != null) {
-						int size = sub.length;
-						for (int i = 0; i < size; i++)
-							publishResources(sub[i], publish2, visited, monitor);
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error in abstract publisher", e);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Sets the publish control, used to obtain information about
-	 * the publishing.
-	 *
-	 * Sets the publish state, used to determine the timestamps
-	 * of the last publishing action.
-	 * 
-	 * Resolve which resources to publish or delete.
-	 *
-	 * @param controls org.eclipse.wst.server.model.IPublishControl[]
-	 * @param modules org.eclipse.wst.server.core.model.IModule[]
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void resolve(IPublishControl[] controls, IModule[] modules, IProgressMonitor monitor) {
-		int size = controls.length;
-		Trace.trace(Trace.FINEST, "Abstract publisher starting " + size);
-		
-		deleteMap = new HashMap(size);
-		publishMap = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "Resolving: " + modules[i]);
-			this.control = controls[i];
-			this.module = modules[i];
-			
-			delete = new ArrayList();
-			publish = new ArrayList();
-
-			resourceMap = new HashMap();
-
-			resolveModule(monitor);
-			
-			Trace.trace(Trace.FINEST, "Deleting " + delete.size() + " resources");
-			Trace.trace(Trace.FINEST, "Publishing " + publish.size() + " resources");
-			deleteMap.put(modules[i], delete);
-			publishMap.put(modules[i], publish);
-		}
-	}
-	
-	/**
-	 * Resolve which resources to publish or delete. Both setXxx()
-	 * methods will have been called before this method.
-	 */
-	protected void resolveModule(IProgressMonitor monitor) {
-		List visited = new ArrayList();
-	
-		// first, decide which files to publish
-		Trace.trace(Trace.FINEST, "Resolving publish for " + module);
-		try {
-			publish = new ArrayList();
-			IModuleResource[] resources = module.members();
-			if (resources != null) {
-				int size = resources.length;
-				for (int i = 0; i < size; i++)
-					publishResources(resources[i], publish, visited, monitor);
-			}
-			sortPublishList(publish);
-		} catch (Exception e) {
-		}
-	
-		// next, choose which files to delete
-		Trace.trace(Trace.FINEST, "Resolving delete for " + module);
-		delete = new ArrayList();
-		IRemoteResource[] resources = control.getRemoteResources();
-		if (resources != null) {
-			int size = resources.length;
-			for (int i = 0; i < size; i++) {
-				IRemoteResource remote = resources[i];
-				deleteResources(remote, delete, visited, monitor);
-			}
-		}
-		sortDeletionList(delete);
-	}
-
-	/**
-	 * Returns true if the remote resource should be deleted, and false
-	 * if it should be left on the server.
-	 *
-	 * @return boolean
-	 * @param option int
-	 */
-	public abstract boolean shouldDelete(IModuleResource resource, IPath path, IRemoteResource remote, long resourceTimestamp, long remoteTimestamp);
-
-	/**
-	 * Returns true if the resource should be published, and false
-	 * if it should be left on the server.
-	 *
-	 * @return boolean
-	 * @param option int
-	 */
-	public abstract boolean shouldPublish(IModuleResource resource, IPath path, IRemoteResource remote, long resourceTimestamp, long remoteTimestamp);
-
-	/**
-	 * Sorts the deletions so that directories are last and
-	 * appear in "reverse depth order".
-	 */
-	public static void sortDeletionList(List list) {
-		if (list == null)
-			return;
-	
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				Object a = list.get(i);
-				Object b = list.get(j);
-	
-				boolean swap = false;
-				if (a instanceof IRemoteFolder && !(b instanceof IRemoteFolder))
-					swap = true;
-				else if (a instanceof IRemoteFolder && b instanceof IRemoteFolder) {
-					IRemoteFolder rfa = (IRemoteFolder) a;
-					IRemoteFolder rfb = (IRemoteFolder) b;
-					if (rfa.getPath().isPrefixOf(rfb.getPath()))
-						swap = true;
-				}
-	
-				if (swap) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Sorts the publishes so that directories are first and are
-	 * in "depth order". (subdirectories appear after their parents)
-	 */
-	public static void sortPublishList(List list) {
-		if (list == null)
-			return;
-	
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				Object a = list.get(i);
-				Object b = list.get(j);
-	
-				boolean swap = false;
-				if (!(a instanceof IModuleFolder) && b instanceof IModuleFolder)
-					swap = true;
-				else if (a instanceof IModuleFolder && b instanceof IModuleFolder) {
-					IModuleFolder ca = (IModuleFolder) a;
-					IModuleFolder cb = (IModuleFolder) b;
-					if (cb.getPath().isPrefixOf(ca.getPath()))
-						swap = true;
-				}
-	
-				if (swap) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
deleted file mode 100644
index c2744f3..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.wst.server.core.IElementWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * 
- */
-public abstract class Base {
-	protected static final String PROP_LOCKED = "locked";
-	protected static final String PROP_PRIVATE = "private";
-	protected static final String PROP_NAME = "name";
-	protected static final String PROP_ID = "id";
-
-	protected Map map = new HashMap();
-	
-	protected List workingCopies;
-	
-	// file loaded from, or null if it is saved in metadata
-	protected IFile file;
-	
-	public Base(IFile file) {
-		this.file = file;
-	}
-
-	public Base(IFile file, String id) {
-		this.file = file;
-		//this.map = map;
-		map.put(PROP_ID, id);
-	}
-
-	public int getTimestamp() {
-		return getAttribute("timestamp", -1);
-	}
-
-	public IFile getFile() {
-		return file;
-	}
-
-	public String getAttribute(String attributeName, String defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return (String) obj;
-		} catch (Exception e) { }
-		return defaultValue;
-	}
-
-	public int getAttribute(String attributeName, int defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return Integer.parseInt((String) obj);
-		} catch (Exception e) { }
-		return defaultValue;
-	}
-
-	public boolean getAttribute(String attributeName, boolean defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return Boolean.valueOf((String) obj).booleanValue();
-		} catch (Exception e) { }
-		return defaultValue;
-	}
-	
-	public List getAttribute(String attributeName, List defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			List list = (List) obj;
-			if (list != null)
-				return list;
-		} catch (Exception e) { }
-		return defaultValue;
-	}
-	
-	public Map getAttribute(String attributeName, Map defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			Map map2 = (Map) obj;
-			if (map2 != null)
-				return map2;
-		} catch (Exception e) { }
-		return defaultValue;
-	}
-
-	public String getId() {
-		return getAttribute(PROP_ID, "");
-	}
-
-	public String getName() {
-		return getAttribute(PROP_NAME, "");
-	}
-
-	public boolean isLocked() {
-		return getAttribute(PROP_LOCKED, false);
-	}
-
-	public boolean isPrivate() {
-		return getAttribute(PROP_PRIVATE, false);
-	}
-	
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-	protected abstract String getXMLRoot();
-	
-	protected void save(IMemento memento) {
-		//IMemento child = memento.createChild("properties");
-		IMemento child = memento;
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			Object obj = map.get(key);
-			if (obj instanceof String)
-				child.putString(key, (String) obj);
-			else if (obj instanceof Integer) {
-				Integer in = (Integer) obj;
-				child.putInteger(key, in.intValue());
-			} else if (obj instanceof Boolean) {
-				Boolean bool = (Boolean) obj;
-				child.putBoolean(key, bool.booleanValue());
-			} else if (obj instanceof List) {
-				List list = (List) obj;
-				saveList(child, key, list);
-			} else if (obj instanceof Map) {
-				Map vMap = (Map) obj;
-				//FIXME: ASSUMPTION MAP STORES STRINGS ONLY
-				saveMap(child,key,vMap);
-				
-			}
-		}
-		saveState(child);
-	}
-	protected void saveMap(IMemento memento, String key, Map map2) {
-		IMemento child = memento.createChild("map");
-		child.putString("key", key);
-		Iterator iterator = map2.keySet().iterator();
-		while (iterator.hasNext()) {
-			String s = (String) iterator.next();
-			child.putString(s,(String)map2.get(s));
-		}
-	}
-	
-	protected void saveList(IMemento memento, String key, List list) {
-		IMemento child = memento.createChild("list");
-		child.putString("key", key);
-		int i = 1;
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			String s = (String) iterator.next();
-			child.putString(s + (i++), s);
-		}
-	}
-
-	protected void saveToFile(IProgressMonitor monitor) throws CoreException {
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot(getXMLRoot());
-			save(memento);
-
-			InputStream in = memento.getInputStream();
-			if (file.exists())
-				file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 1000));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save " + getXMLRoot(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorSaving", getFile().toString()), e));
-		}
-	}
-	
-	protected void doSave(IProgressMonitor monitor) throws CoreException {
-		if (file != null)
-			saveToFile(monitor);
-		else
-			saveToMetadata(monitor);
-		ResourceManager.getInstance().resolveServers();
-	}
-	
-	protected void saveToMetadata(IProgressMonitor monitor) {
-		// do nothing
-	}
-	
-	protected abstract void saveState(IMemento memento);
-
-	protected void load(IMemento memento) {
-		map = new HashMap();
-		
-		Iterator iterator = memento.getNames().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			map.put(key, memento.getString(key));
-		}
-		IMemento[] children = memento.getChildren("list");
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				loadList(children[i]);
-			}
-		}
-		IMemento[] maps = memento.getChildren("map");
-		if (maps != null) {
-			for (int i = 0; i <maps.length ; i++) {
-				loadMap(maps[i]);
-			}
-		}
-		
-		loadState(memento);
-	}
-
-	
-	protected void loadMap(IMemento memento) {
-		String key = memento.getString("key");
-		Map vMap = new HashMap();
-		List keys = memento.getNames();
-		Iterator iterator = keys.iterator();
-		while(iterator.hasNext())
-		{
-			String s = (String)iterator.next();
-			String v = memento.getString(s);
-			vMap.put(s,v);
-		}
-		map.put(key, vMap);
-	}
-	
-	
-	protected void loadList(IMemento memento) {
-		String key = memento.getString("key");
-		List list = new ArrayList();
-		int i = 1;
-		String key2 = memento.getString("value" + (i++));
-		while (key2 != null) {
-			list.add(key2);
-			key2 = memento.getString("value" + (i++));
-		}
-		map.put(key, list);
-	}
-	
-	protected abstract void loadState(IMemento memento);
-	
-	protected void resolve() {
-		// do nothing
-	}
-	
-	public void delete() throws CoreException {
-		if (file != null)
-			file.delete(true, true, new NullProgressMonitor());
-		else
-			deleteFromMetadata();
-	}
-
-	protected void deleteFromMetadata() {
-		// do nothing
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Base))
-			return false;
-		
-		Base base = (Base) obj;
-		if (getId() == null)
-			return false;
-		return getId().equals(base.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected void loadFromFile(IProgressMonitor monitor) throws CoreException {
-		InputStream in = null;
-		try {
-			in = file.getContents();
-			IMemento memento = XMLMemento.loadMemento(in);
-			load(memento);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from file" + e.getMessage(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLoading", getFile().toString()), e));
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) { }
-		}
-	}
-	
-	protected void loadFromMemento(IMemento memento, IProgressMonitor monitor) {
-		load(memento);
-	}
-	
-	/**
-	 * 
-	 */
-	protected void loadFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		FileInputStream fin = null;
-		try {
-			fin = new FileInputStream(path.toFile());
-			IMemento memento = XMLMemento.loadMemento(fin);
-			load(memento);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from path: " + e.getMessage(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLoading", path.toString()), e));
-		} finally {
-			try {
-				fin.close();
-			} catch (Exception e) {}
-		}
-	}
-	
-	public boolean isWorkingCopiesExist() {
-		return (workingCopies != null && workingCopies.size() > 0);
-	}
-
-	public boolean isAWorkingCopyDirty() {
-		if (workingCopies == null)
-			return false;
-
-		Iterator iterator = workingCopies.iterator();
-		while (iterator.hasNext()) {
-			IElementWorkingCopy wc = (IElementWorkingCopy) iterator.next();
-			if (wc.isDirty())
-				return true;
-		}
-		return false;
-	}
-	
-	protected void addWorkingCopy(IElementWorkingCopy wc) {
-		if (workingCopies == null)
-			workingCopies = new ArrayList(2);
-		workingCopies.add(wc);
-	}
-
-	protected void release(IElementWorkingCopy wc) {
-		if (workingCopies != null)
-			workingCopies.remove(wc);
-	}
-	
-	public IStatus validateEdit(Object context) {
-		if (file == null)
-			return null;
-	
-		return file.getWorkspace().validateEdit(new IFile[] { file }, context);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
deleted file mode 100644
index 606c729..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-
-import org.eclipse.wst.server.core.IClient;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IClientDelegate;
-import org.eclipse.wst.server.core.model.ILaunchable;
-/**
- * 
- */
-public class Client implements IClient {
-	private IConfigurationElement element;
-	private IClientDelegate delegate;
-
-	/**
-	 * LaunchableClient constructor comment.
-	 */
-	public Client(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this LaunchableClient.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IPublishManager#getDescription()
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-
-	/*
-	 * @see IPublishManager#getLabel()
-	 */
-	public String getName() {
-		String label = element.getAttribute("name");
-		if (label == null)
-			return "n/a";
-		return label;
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IClientDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IClientDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean supports(IServer server, ILaunchable launchable, String launchMode) {
-		try {
-			return getDelegate().supports(server, launchable, launchMode);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return false;
-		}
-	}
-
-	/**
-	 * Opens or executes on the launchable.
-	 */
-	public IStatus launch(IServer server, ILaunchable launchable, String launchMode, ILaunch launch) {
-		try {
-			return getDelegate().launch(server, launchable, launchMode, launch);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return null;
-	}
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "LaunchableClient[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/FullPublisher.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/FullPublisher.java
deleted file mode 100644
index b4744ff..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/FullPublisher.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.resources.*;
-/**
- * PublishManager that publishes everything and deletes nothing.
- */
-public class FullPublisher extends AbstractPublisher {
-	/**
-	 * FullPublisher constructor comment.
-	 */
-	public FullPublisher() {
-		super();
-	}
-
-	/**
-	 * Returns true if the remote resource should be deleted, and false
-	 * if it should be left on the server.
-	 *
-	 * @return boolean
-	 * @param option int
-	 */
-	public boolean shouldDelete(IModuleResource resource, IPath path, IRemoteResource remote, long resourceTimestamp, long remoteTimestamp) {
-		return false;
-	}
-
-	/**
-	 * Returns true if the resource should be published, and false
-	 * if it should be left on the server.
-	 *
-	 * @return boolean
-	 * @param option int
-	 */
-	public boolean shouldPublish(IModuleResource resource, IPath path, IRemoteResource remote, long resourceTimestamp, long remoteTimestamp) {
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java
deleted file mode 100644
index 3d6f8fb..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.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>
- *
- * @see IPersistableElement
- * @see IElementFactory
- */
-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);
-	
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java
deleted file mode 100644
index 63e39c7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.ILaunchableAdapter;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public class LaunchableAdapter implements ILaunchableAdapter {
-	private IConfigurationElement element;
-	private ILaunchableAdapterDelegate delegate;
-
-	/**
-	 * LaunchableAdapter constructor comment.
-	 */
-	public LaunchableAdapter(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this LaunchableAdapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public ILaunchableAdapterDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (ILaunchableAdapterDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * 
-	 */
-	public ILaunchable getLaunchable(IServer server, IModuleObject object) {
-		try {
-			return getDelegate().getLaunchable(server, object);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return null;
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "LaunchableAdapter[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
deleted file mode 100644
index 468f767..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.IModuleFactory;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleFactoryDelegate;
-import org.eclipse.wst.server.core.model.IModuleFactoryListener;
-/**
- * 
- */
-public class ModuleFactory implements IModuleFactory {
-	private IConfigurationElement element;
-	private IModuleFactoryDelegate delegate;
-	private List moduleTypes;
-
-	/**
-	 * ModuleFactory constructor comment.
-	 */
-	public ModuleFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the index (ordering) of this task.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			return Integer.parseInt(element.getAttribute("index"));
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	/**
-	 * 
-	 * @return
-	 */
-	public List getModuleTypes() {
-		if (moduleTypes == null)
-			moduleTypes = ServerPlugin.getModuleTypes(element.getChildren("moduleType"));
-
-		return moduleTypes;
-	}
-	
-	/**
-	 * Returns true if this modules factory produces project modules.
-	 *
-	 * @return boolean
-	 */
-	public boolean isProjectModuleFactory() {
-		return "true".equalsIgnoreCase(element.getAttribute("projects"));
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IModuleFactoryDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IModuleFactoryDelegate) element.createExecutableExtension("class");
-				ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-				rm.addModuleFactoryListener(delegate);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Gets a module from a memento.
-	 * 
-	 * @param memento java.lang.String
-	 * @return org.eclipse.wst.server.core.model.IModule
-	 */
-	public IModule getModule(String memento) {
-		try {
-			return getDelegate().getModule(memento);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return null;
-		}
-	}
-	
-	/**
-	 * Return all modules that are available to be added
-	 * to servers. This method might look through projects
-	 * to find modules or may return modules from
-	 * other sources.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public List getModules() {
-		try {
-			return getDelegate().getModules();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return null;
-		}
-	}
-	
-	/**
-	 * Add a listener for modules that are added/removed from this
-	 * factory.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void addModuleFactoryListener(IModuleFactoryListener listener) {
-		try {
-			getDelegate().addModuleFactoryListener(listener);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * Add a listener for modules that are added/removed from this
-	 * factory.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void removeModuleFactoryListener(IModuleFactoryListener listener) {
-		try {
-			getDelegate().removeModuleFactoryListener(listener);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ModuleFactory[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java
deleted file mode 100644
index 344d58b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.IModuleKind;
-/**
- * 
- */
-public class ModuleKind implements IModuleKind {
-	protected String id;
-	protected String name;
-	
-	public ModuleKind(IConfigurationElement ce) {
-		super();
-		this.id = ce.getAttribute("id");
-		this.name = ce.getAttribute("name");
-	}
-	
-	public ModuleKind(String id, String name) {
-		super();
-		this.id = id;
-		this.name = name;
-	}
-	
-	public String getId() {
-		return id;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public String toString() {
-		return "ModuleType2[" + id + ", " + name + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleObjectAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleObjectAdapter.java
deleted file mode 100644
index 0fb1798..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleObjectAdapter.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.wst.server.core.IModuleObjectAdapter;
-import org.eclipse.wst.server.core.model.IModuleObject;
-import org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate;
-/**
- * 
- */
-public class ModuleObjectAdapter implements IModuleObjectAdapter {
-	private IConfigurationElement element;
-	private IModuleObjectAdapterDelegate delegate;
-
-	/**
-	 * ModuleObjectAdapter constructor comment.
-	 */
-	public ModuleObjectAdapter(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this ModuleObjectAdapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the (super) class name that this adapter can work with.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getObjectClassName() {
-		return element.getAttribute("objectClass");
-	}
-	
-	/**
-	 * Returns true if the plugin that loaded this class has been loaded.
-	 *
-	 * @return boolean
-	 */
-	public boolean isPluginActivated() {
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		return Platform.getBundle(pluginId).getState() == Bundle.ACTIVE;
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IModuleObjectAdapterDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IModuleObjectAdapterDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Converts from a model object to an IModuleObject.
-	 */
-	public IModuleObject getModuleObject(Object obj) {
-		try {
-			return getDelegate().getModuleObject(obj);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate (" + obj + ") " + toString() + ": " + e.getMessage());
-			return null;
-		}
-	}
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ModuleObjectAdapter[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleTask.java
deleted file mode 100644
index a98d0ca..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleTask.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public class ModuleTask implements IModuleTask {
-	private IConfigurationElement element;
-	private IModuleTaskDelegate delegate;
-	protected ITaskModel model;
-
-	/**
-	 * ModuleTask constructor comment.
-	 */
-	public ModuleTask(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this task.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IPublishManager#getDescription()
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-
-	/*
-	 * @see IPublishManager#getLabel()
-	 */
-	public String getName() {
-		String label = element.getAttribute("name");
-		if (label == null)
-			return "n/a";
-		return label;
-	}
-	
-	/**
-	 * Returns the index (ordering) of this task.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			return Integer.parseInt(element.getAttribute("index"));
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	public ITaskModel getTaskModel() {
-		return model;
-	}
-	
-	public void setTaskModel(ITaskModel taskModel) {
-		this.model = taskModel;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#canExecute()
-	 */
-	public boolean canExecute() {
-		return true;
-	}
-	
-	public boolean canUndo() {
-		return false;
-	}
-	
-	public void undo() { }
-	
-	/**
-	 * Return the type ids that may be supported.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns true if the given type (given by the id) can use this task. This
-	 * result is based on the result of the getTypeIds() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return true;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IModuleTaskDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IModuleTaskDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Lets the task know that it is about to be used. This method should
-	 * be used to clean out any previously cached information, or start to
-	 * create a new cache.
-	 */
-	public void init(IServer server, IServerConfiguration configuration, List parents, IModule module) {
-		try {
-			Trace.trace(Trace.FINEST, "Task.init " + this);
-			getDelegate().init(server, configuration, parents, module);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * Returns the status of this task.
-	 * 
-	 * @return byte
-	 */
-	public byte getTaskStatus() {
-		try {
-			Trace.trace(Trace.FINEST, "Task.getTaskStatus " + this);
-			return getDelegate().getTaskStatus();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return 0;
-		}
-	}
-
-	/**
-	 * Perform the task.
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		try {
-			Trace.trace(Trace.FINEST, "Task.execute " + this);
-			getDelegate().execute(monitor);
-		} catch (CoreException ce) {
-			Trace.trace(Trace.FINER, "Task error " + toString(), ce);
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ModuleTask[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
deleted file mode 100644
index ebc55df..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.wst.server.core.IModuleType;
-/**
- * 
- */
-public class ModuleType implements IModuleType {
-	protected String type;
-	protected String version;
-	
-	public ModuleType(String type, String version) {
-		super();
-		this.type = type;
-		this.version = version;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public String toString() {
-		return "ModuleType[" + type + ", " + version + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
deleted file mode 100644
index ea5b921..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IProjectPropertiesListener;
-/**
- * Helper class that stores preference information for the server tools.
- */
-public class ProjectProperties implements IProjectProperties {
-	private static final String PROJECT_PREFERENCE_FILE = ".runtime";
-	
-	protected IProject project;
-	
-	protected String serverId;
-	protected String runtimeId;
-	
-	// project properties listeners
-	protected transient List listeners;
-
-	/**
-	 * ProjectProperties constructor comment.
-	 */
-	public ProjectProperties(IProject project) {
-		super();
-		this.project = project;
-	}
-
-	
-	/**
-	 * Load the preferences.
-	 */
-	private void loadPreferences() {
-		Trace.trace(Trace.FINEST, "Loading project preferences: " + project);
-		
-		InputStream in = null;
-		try {
-			IMemento memento = null;
-			if (!project.exists() || !project.isOpen())
-				return;
-			IFile file = project.getFile(PROJECT_PREFERENCE_FILE);
-			if (file != null && file.exists()) {
-				in = file.getContents();
-				memento = XMLMemento.loadMemento(in);
-			}
-			
-			if (memento == null)
-				return;
-			
-			serverId = memento.getString("server-id");
-			runtimeId = memento.getString("runtime-id");
-		} catch (Exception e) {
-			Trace.trace("Could not load preferences: " + e.getMessage());
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) { }
-		}
-	}
-	
-	private void savePreferences(IProgressMonitor monitor) throws CoreException {
-		if (project.exists() && project.isOpen()) {
-			IFile file = project.getFile(PROJECT_PREFERENCE_FILE);
-			
-			if (file.exists() && file.isReadOnly()) {
-				IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] { file }, null);
-				if (status.getSeverity() == IStatus.ERROR)
-					// didn't work or not under source control
-					throw new CoreException(status);
-			}
-			
-			InputStream in = null;
-			try {
-				XMLMemento memento = XMLMemento.createWriteRoot("runtime");
-
-				if (runtimeId != null)
-					memento.putString("runtime-id", runtimeId);
-				if (serverId != null)
-					memento.putString("server-id", serverId);
-				in = memento.getInputStream();
-				
-				if (file.exists())
-					file.setContents(in, true, true, monitor);
-				else
-					file.create(in, true, monitor);
-			} catch (Exception e) {
-				throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, "", e));
-			} finally {
-				try {
-					in.close();
-				} catch (Exception e) { }
-			}
-			return;
-		}
-	}
-
-	/**
-	 * Returns the preferred runtime server for the project. This method
-	 * returns null if the server was never chosen or does not currently exist. (if the
-	 * server is recreated or was in a closed project, etc. this method will return
-	 * the original value if it becomes available again)
-	 *
-	 * @return server org.eclipse.wst.server.core.model.IServer
-	 */
-	public IServer getDefaultServer() {
-		loadPreferences();
-
-		IServer server = ServerCore.getResourceManager().getServer(serverId);
-		/*if (server != null && ServerUtil.containsModule(server, module))
-			return server;
-		else
-			return null;*/
-		return server;
-	}
-
-	/**
-	 * Sets the preferred runtime server for the project.
-	 *
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public void setDefaultServer(IServer server, IProgressMonitor monitor) throws CoreException {
-		loadPreferences();
-		if (server == null)
-			serverId = null;
-		else
-			serverId = server.getId();
-		savePreferences(monitor);
-		fireDefaultServerChanged(server);
-	}
-	
-	protected String getRuntimeTargetId() {
-		loadPreferences();
-		return runtimeId;
-	}
-	
-	protected void setRuntimeTargetId(String newRuntimeId, IProgressMonitor monitor) throws CoreException {
-		loadPreferences();
-		runtimeId = newRuntimeId;
-		savePreferences(monitor);
-	}
-
-	/**
-	 * Returns the current runtime target type for the given project.
-	 * 
-	 * @return
-	 */
-	public IRuntime getRuntimeTarget() {
-		loadPreferences();
-		return ServerCore.getResourceManager().getRuntime(runtimeId);
-	}
-
-	/**
-	 * Sets the runtime target for the project.
-	 * 
-	 * @param target
-	 * @param monitor
-	 */
-	public void setRuntimeTarget(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		loadPreferences();
-		IRuntime oldRuntime = ServerCore.getResourceManager().getRuntime(runtimeId);
-		setRuntimeTarget(oldRuntime, runtime, true, monitor);
-	}
-
-	public void setRuntimeTarget(IRuntime oldRuntime, IRuntime newRuntime, boolean save, IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.RUNTIME_TARGET, "setRuntimeTarget : " + oldRuntime + " -> " + newRuntime);
-		
-		// remove old target
-		if (oldRuntime != null) {
-			IRuntimeType runtimeType = oldRuntime.getRuntimeType();
-			Iterator iterator = ServerCore.getRuntimeTargetHandlers().iterator();
-			while (iterator.hasNext()) {
-				IRuntimeTargetHandler handler = (IRuntimeTargetHandler) iterator.next();
-				long time = System.currentTimeMillis();
-				boolean supports = handler.supportsRuntimeType(runtimeType);
-				Trace.trace(Trace.RUNTIME_TARGET, "  < " + handler + " " + supports);
-				if (supports)
-					handler.removeRuntimeTarget(project, oldRuntime, monitor);
-				Trace.trace(Trace.PERFORMANCE, "Runtime target: <" + (System.currentTimeMillis() - time) + "> " + handler.getId());
-			}
-		}
-		
-		// add new target
-		if (newRuntime != null) {
-			runtimeId = newRuntime.getId();
-			if (save)
-				savePreferences(monitor);
-			IRuntimeType runtimeType = newRuntime.getRuntimeType();
-			Iterator iterator = ServerCore.getRuntimeTargetHandlers().iterator();
-			while (iterator.hasNext()) {
-				IRuntimeTargetHandler handler = (IRuntimeTargetHandler) iterator.next();
-				long time = System.currentTimeMillis();
-				boolean supports = handler.supportsRuntimeType(runtimeType);
-				Trace.trace(Trace.RUNTIME_TARGET, "  > " + handler + " " + supports);
-				if (supports)
-					handler.setRuntimeTarget(project, newRuntime, monitor);
-				Trace.trace(Trace.PERFORMANCE, "Runtime target: <" + (System.currentTimeMillis() - time) + "> " + handler.getId());
-			}
-		} else {
-			runtimeId = null;
-			if (save)
-				savePreferences(monitor);
-		}
-		
-		fireRuntimeTargetChanged(newRuntime);
-		Trace.trace(Trace.RUNTIME_TARGET, "setRuntimeTarget <");
-	}
-
-	public void addProjectPropertiesListener(IProjectPropertiesListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding project properties listener " + listener + " to " + this);
-		
-		if (listeners == null)
-			listeners = new ArrayList();
-		listeners.add(listener);
-	}
-
-	public void removeProjectPropertiesListener(IProjectPropertiesListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing project properties listener " + listener + " from " + this);
-		
-		if (listeners != null)
-			listeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a event because the default server changed.
-	 *
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	private void fireDefaultServerChanged(IServer server) {
-		Trace.trace(Trace.LISTENERS, "->- Firing defaultServerChanged event: " + server + " ->-");
-	
-		if (listeners == null || listeners.isEmpty())
-			return;
-	
-		int size = listeners.size();
-		IProjectPropertiesListener[] ppl = new IProjectPropertiesListener[size];
-		listeners.toArray(ppl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing defaultServerChanged event to " + ppl[i]);
-			try {
-				ppl[i].defaultServerChanged(project, server);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing defaultServerChanged event to " + ppl[i], e);
-			}
-		}
-	
-		Trace.trace(Trace.LISTENERS, "-<- Done firing defaultServerChanged event -<-");
-	}
-	
-	/**
-	 * Fire a event because the runtime target changed.
-	 *
-	 * @param server org.eclipse.wst.server.core.IRuntime
-	 */
-	private void fireRuntimeTargetChanged(IRuntime runtime) {
-		Trace.trace(Trace.LISTENERS, "->- Firing runtimeTargetChanged event: " + runtime + " ->-");
-	
-		if (listeners == null || listeners.isEmpty())
-			return;
-	
-		int size = listeners.size();
-		IProjectPropertiesListener[] ppl = new IProjectPropertiesListener[size];
-		listeners.toArray(ppl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing runtimeTargetChanged event to " + ppl[i]);
-			try {
-				ppl[i].runtimeTargetChanged(project, runtime);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing runtimeTargetChanged event to " + ppl[i], e);
-			}
-		}
-	
-		Trace.trace(Trace.LISTENERS, "-<- Done firing runtimeTargetChanged event -<-");
-	}
-	
-	public String toString() {
-		return "ProjectProperties[" + project + ", " + serverId + ", " + runtimeId + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishControl.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishControl.java
deleted file mode 100644
index 3c54c0a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishControl.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IPublisher;
-import org.eclipse.wst.server.core.resources.*;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Publish controller.
- */
-public class PublishControl implements IPublishControl {
-	public String memento;
-	public String parents;
-	public boolean isDirty = true;
-	public List resourceInfo = new ArrayList();
-
-	public class ResourcePublishInfo {
-		IPath localPath;
-		long localTimestamp;
-		IPath remotePath;
-		long remoteTimestamp;
-
-		public boolean equals(Object obj) {
-			if (!(obj instanceof ResourcePublishInfo))
-				return false;
-
-			// return true if local or remote paths are equal
-			ResourcePublishInfo rpi = (ResourcePublishInfo) obj;
-			if (localPath == null && rpi.localPath == null)
-				return true;
-			else if (localPath != null && localPath.equals(rpi.localPath))
-				return true;
-			else if (remotePath != null && rpi.remotePath == null)
-				return true;
-			else if (remotePath != null && remotePath.equals(rpi.remotePath))
-				return true;
-			else
-				return false;
-		}
-	}
-	
-	protected transient IPublisher publisher;
-	protected transient IRemoteResource[] remoteResources;
-
-	/**
-	 * PublishControl constructor comment.
-	 */
-	public PublishControl(String parents, String memento) {
-		super();
-
-		this.parents = parents;
-		this.memento = memento;
-	}
-	
-	/**
-	 * PublishControl constructor comment.
-	 */
-	public PublishControl(IMemento memento) {
-		super();
-		
-		load(memento);
-	}
-	
-	public void setPublisher(IPublisher publisher) {
-		this.publisher = publisher;
-	}
-	
-	public String getMemento() {
-		return memento;
-	}
-	
-	public String getParentsRef() {
-		return parents;
-	}
-
-	/**
-	 * 
-	 */
-	protected void fillRemoteResourceCache(IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(ServerPlugin.getResource("%caching"), 1000);
-		
-		if (publisher != null)
-			remoteResources = publisher.getRemoteResources(ProgressUtil.getSubMonitorFor(monitor, 1000));
-	
-		monitor.done();
-	}
-
-	/**
-	 * Returns the mapping of this file on the remote system. Returns
-	 * null if this file should not be copied to the remote server.
-	 *
-	 * @param resource org.eclipse.wst.server.core.publish.IModuleResource
-	 * @return org.eclipse.core.resources.IPath
-	 */
-	public IPath getMappedLocation(IModuleResource resource) {
-		if (publisher == null)
-			return null;
-		return publisher.getMappedLocation(resource);
-	}
-
-	/**
-	 * Returns the root level remote resources on the remote system.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return java.util.List
-	 */
-	public IRemoteResource[] getRemoteResources() {
-		return remoteResources;
-	}
-
-	/**
-	 * Returns true if there may be any files or folders within
-	 * this container that should be mapped to the remote system.
-	 * Returns false if files within this folder are never copied
-	 * to the remote system.
-	 *
-	 * @param folder org.eclipse.wst.server.core.publish.IModuleFolder
-	 * @return boolean
-	 */
-	public boolean shouldMapMembers(IModuleFolder folder) {
-		if (publisher == null)
-			return false;
-		return publisher.shouldMapMembers(folder);
-	}
-	
-	/**
-	 * Returns the timestamp of the remote resource on the remote
-	 * machine after it was last published.
-	 *
-	 * @param resource org.eclipse.wst.server.publish.IRemoteResource
-	 * @return long
-	 */
-	public long getPublishedTimestamp(IRemoteResource resource) {
-		if (resource == null)
-			return IRemoteResource.TIMESTAMP_UNKNOWN;
-	
-		IPath remotePath = resource.getPath();
-		if (remotePath == null)
-			return IRemoteResource.TIMESTAMP_UNKNOWN;
-	
-		Iterator iterator = resourceInfo.iterator();
-		while (iterator.hasNext()) {
-			ResourcePublishInfo rpi = (ResourcePublishInfo) iterator.next();
-			if (remotePath.equals(rpi.remotePath))
-				return rpi.remoteTimestamp;
-		}
-	
-		return IRemoteResource.TIMESTAMP_UNKNOWN;
-	}
-
-	/**
-	 * Returns the timestamp that the resource was last published.
-	 *
-	 * @param resource org.eclipse.wst.server.publish.IModuleResource
-	 * @return long
-	 */
-	public long getPublishedTimestamp(IModuleResource resource) {
-		if (resource == null)
-			return IRemoteResource.TIMESTAMP_UNKNOWN;
-	
-		IPath resourcePath = resource.getPath();
-		if (resourcePath == null)
-			return IRemoteResource.TIMESTAMP_UNKNOWN;
-	
-		Iterator iterator = resourceInfo.iterator();
-		while (iterator.hasNext()) {
-			ResourcePublishInfo rpi = (ResourcePublishInfo) iterator.next();
-			if (resourcePath.equals(rpi.localPath))
-				return rpi.localTimestamp;
-		}
-	
-		return IRemoteResource.TIMESTAMP_UNKNOWN;
-	}
-	
-	/**
-	 * Returns true if the project is dirty.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDirty() {
-		return isDirty;
-	}
-	
-	/**
-	 * Sets the dirty flag.
-	 *
-	 * @param boolean
-	 */
-	public void setDirty(boolean b) {
-		isDirty = b;
-	}
-	
-	/**
-	 * 
-	 */
-	protected void load(IMemento memento2) {
-		Trace.trace(Trace.FINEST, "Loading publish control for: " + memento2);
-	
-		try {
-			memento = memento2.getString("memento");
-			parents = memento2.getString("parents");
-			/*String temp = projectChild[i].getString("dirty");
-			if ("true".equals(temp))
-				ppi.isDirty = true;
-			else
-				ppi.isDirty = false;*/
-	
-			IMemento[] resourceChild = memento2.getChildren("resource");
-			int size2 = resourceChild.length;
-			resourceInfo = new ArrayList(size2 + 5);
-			for (int j = 0; j < size2; j++) {
-				ResourcePublishInfo rpi = new ResourcePublishInfo();
-				String temp = resourceChild[j].getString("localPath");
-				if (temp != null && temp.length() > 1)
-					rpi.localPath = new Path(temp);
-				temp = resourceChild[j].getString("remotePath");
-				if (temp != null && temp.length() > 1)
-					rpi.remotePath = new Path(temp);
-				temp = resourceChild[j].getString("localTimestamp");
-				if (temp != null && temp.length() > 1)
-					rpi.localTimestamp = Long.parseLong(temp);
-				temp = resourceChild[j].getString("remoteTimestamp");
-				if (temp != null && temp.length() > 1)
-					rpi.remoteTimestamp = Long.parseLong(temp);
-				resourceInfo.add(rpi);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load publish control information: " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	protected void save(IMemento memento2) {
-		try {
-			memento2.putString("memento", memento);
-			memento2.putString("parents", parents);
-			/*if (ppi.isDirty)
-				project.putString("dirty", "true");
-			else
-				project.putString("dirty", "false");*/
-	
-			Iterator ite = resourceInfo.iterator();
-			while (ite.hasNext()) {
-				ResourcePublishInfo rpi = (ResourcePublishInfo) ite.next();
-				IMemento resource = memento2.createChild("resource");
-	
-				if (rpi.localPath != null) {
-					resource.putString("localPath", rpi.localPath.toString());
-					resource.putString("localTimestamp", new Long(rpi.localTimestamp).toString());
-				}
-				if (rpi.remotePath != null) {
-					resource.putString("remotePath", rpi.remotePath.toString());
-					resource.putString("remoteTimestamp", new Long(rpi.remoteTimestamp).toString());
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save publish control info", e);
-		}
-	}
-	
-	protected IRemoteResource findRemoteResource(IRemoteFolder folder, IPath path) {
-		Iterator iterator = folder.getContents().iterator();
-		while (iterator.hasNext()) {
-			IRemoteResource remote = (IRemoteResource) iterator.next();
-			if (path.equals(remote.getPath()))
-				return remote;
-			if (remote instanceof IRemoteFolder) {
-				IRemoteFolder folder2 = (IRemoteFolder) remote;
-				IPath folderPath = folder2.getPath();
-				if (folderPath.isPrefixOf(path)) {
-					IRemoteResource rem = findRemoteResource(folder2, path);
-					if (rem != null)
-						return rem;
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected IRemoteResource findRemoteResource(IRemoteResource[] resources, IPath path) {
-		if (resources == null || path == null)
-			return null;
-	
-		int size = resources.length;
-		for (int i = 0; i < size; i++) {
-			IRemoteResource remote = resources[i];
-			
-			if (path.equals(remote.getPath()))
-				return remote;
-			if (remote instanceof IRemoteFolder) {
-				IRemoteFolder folder2 = (IRemoteFolder) remote;
-				IPath folderPath = folder2.getPath();
-				if (folderPath.isPrefixOf(path)) {
-					IRemoteResource rem = findRemoteResource(folder2, path);
-					if (rem != null)
-						return rem;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Verify the files were published and update info.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @param publisher org.eclipse.wst.server.core.model.IDeployTargetPublisher
-	 * @param verifyList java.util.List
-	 */
-	protected void verify(List verifyList, List deleteList, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "Verifying resource state info");
-		try {
-			IRemoteResource[] resources = publisher.getRemoteResources(monitor);
-	
-			Iterator iterator = verifyList.iterator();
-			while (iterator.hasNext()) {
-				IModuleResource resource = (IModuleResource) iterator.next();
-	
-				ResourcePublishInfo rpi = new ResourcePublishInfo();
-				rpi.localPath = resource.getPath();
-				rpi.localTimestamp = resource.getTimestamp();
-	
-				IPath path = publisher.getMappedLocation(resource);
-				IRemoteResource remote = findRemoteResource(resources, path);
-				Trace.trace(Trace.FINEST, "Verifying resource: " + resource + " " + remote);
-				if (remote != null) {
-					rpi.remotePath = remote.getPath();
-					rpi.remoteTimestamp = remote.getTimestamp();
-				}
-	
-				// remove any previous entry for this resource
-				if (resourceInfo.contains(rpi))
-					resourceInfo.remove(rpi);
-
-				// add new one
-				resourceInfo.add(rpi);
-			}
-	
-			iterator = deleteList.iterator();
-			while (iterator.hasNext()) {
-				IRemoteResource remote = (IRemoteResource) iterator.next();
-				ResourcePublishInfo rpi = new ResourcePublishInfo();
-				rpi.remotePath = remote.getPath();
-				resourceInfo.remove(rpi);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error verifying resource state info", e);
-		}
-	}
-	
-	public String toString() {
-		return "PublishControl [" + memento + " " + isDirty + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
deleted file mode 100644
index 84e8a54..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-import java.io.File;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * Helper to obtain and store the global publish information.
- * (what files were published and when) Delegates to PublishState
- * for all server specific publishing information.
- */
-public class PublishInfo {
-	protected static PublishInfo instance;
-
-	protected static final String PUBLISH_DIR = "publish";
-
-	// map of server refs to IPaths
-	protected Map servers;
-
-	// map of control ref to PublishControl
-	protected Map publishControls;
-
-	// list of serverRefs that have been loaded
-	protected List loadedServers;
-
-	/**
-	 * PublishInfo constructor comment.
-	 */
-	private PublishInfo() {
-		super();
-	
-		servers = new HashMap();
-		loadedServers = new ArrayList();
-		publishControls = new HashMap();
-		load();
-	}
-
-	/**
-	 * Return the publish info.
-	 * 
-	 * @return org.eclipse.wst.server.core.internal.PublishInfo
-	 */
-	public static PublishInfo getPublishInfo() {
-		if (instance == null)
-			instance = new PublishInfo();
-		return instance;
-	}
-
-	protected String getPublishControlRef(IServer server, List parents, IModule module) {
-		StringBuffer sb = new StringBuffer();
-		sb.append(server.getId());
-		
-		if (parents != null) {
-			Iterator iterator = parents.iterator();
-			while (iterator.hasNext()) {
-				IModule parent = (IModule) iterator.next();
-				sb.append("#");
-				sb.append(parent.getId());
-			}
-		}
-		
-		sb.append("#");
-		sb.append(module.getId());
-		return sb.toString();
-	}
-	
-	protected String getPublishControlRef(String serverId, String parentsRef, String memento) {
-		StringBuffer sb = new StringBuffer();
-		sb.append(serverId);
-		
-		if (parentsRef != null && parentsRef.length() > 0) {
-			sb.append("#");
-			sb.append(parentsRef);
-		}
-		
-		sb.append("#");
-		sb.append(memento);
-		return sb.toString();
-	}
-	
-	protected String getParentsMemento(List parents) {
-		StringBuffer sb = new StringBuffer();
-		boolean first = true;
-		
-		if (parents != null) {
-			Iterator iterator = parents.iterator();
-			while (iterator.hasNext()) {
-				IModule parent = (IModule) iterator.next();
-				if (!first)
-					sb.append("#");
-				else
-					first = false;
-				sb.append(parent.getId());
-			}
-		}
-		
-		return sb.toString();
-	}
-	
-	/**
-	 * Return the publish state.
-	 * 
-	 * @return org.eclipse.wst.server.core.internal.PublishState
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public PublishControl getPublishControl(IServer server, List parents, IModule module) {
-		String controlRef = getPublishControlRef(server, parents, module);
-		
-		// have we tried loading yet?
-		String serverId = server.getId();
-		if (servers.containsKey(serverId)) {
-			if (!loadedServers.contains(serverId)) {
-				loadServerPublishControls(serverId);
-				loadedServers.add(serverId);
-			} else {
-				// already loaded
-			}
-		} else {
-			// first time server is being used
-			IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR);
-			File file = new File(path.toOSString());
-			if (!file.exists())
-				file.mkdir();
-	
-			file = null;
-			int i = 0;
-			while (file == null || file.exists()) {
-				path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append("data" + i + ".xml");
-				if (servers.get(path) == null)
-					file = new File(path.toOSString());
-				i++;
-			}
-			
-			servers.put(serverId, path);
-			loadedServers.add(serverId);
-			save();
-		}
-
-		// check if it now exists
-		if (publishControls.containsKey(controlRef)) {
-			PublishControl control = (PublishControl) publishControls.get(controlRef);
-			if (control != null)
-				return control;
-		}
-	
-		// have to create a new one
-		PublishControl control = new PublishControl(getParentsMemento(parents), module.getId());
-		publishControls.put(controlRef, control);
-		return control;
-	}
-
-	/**
-	 * 
-	 */
-	protected void load() {
-		Trace.trace(Trace.FINEST, "Loading publish info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString();
-	
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-	
-			IMemento[] serverChild = memento.getChildren("server");
-			int size = serverChild.length;
-			servers = new HashMap(size + 2);
-	
-			for (int i = 0; i < size; i++) {
-				String id = serverChild[i].getString("id");
-				String path = serverChild[i].getString("path");
-	
-				servers.put(id, new Path(path));
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load global publish info: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void save() {
-		String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString();
-	
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("publish-info");
-	
-			Iterator iterator = servers.keySet().iterator();
-			while (iterator.hasNext()) {
-				String serverId = (String) iterator.next();
-				IPath path = (IPath) servers.get(serverId);
-	
-				IMemento server = memento.createChild("server");
-				server.putString("id", serverId);
-				server.putString("path", path.toString());
-			}
-	
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save global publish info", e);
-		}
-	}
-	
-	public void save(IServer server) {
-		saveServerPublishControls(server.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected void loadServerPublishControls(String serverRef) {
-		IPath path = (IPath) servers.get(serverRef);
-		String filename = path.toOSString();
-		Trace.trace(Trace.FINEST, "Loading publish controls from " + filename);
-
-		try {
-			IMemento memento2 = XMLMemento.loadMemento(filename);
-			IMemento[] children = memento2.getChildren("module");
-	
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				PublishControl control = new PublishControl(children[i]);
-				publishControls.put(getPublishControlRef(serverRef, control.getParentsRef(), control.getMemento()), control);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load publish control information: " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	protected void saveServerPublishControls(String serverRef) {
-		if (!servers.containsKey(serverRef))
-			return;
-
-		IPath path = (IPath) servers.get(serverRef);
-		String filename = path.toOSString();
-		Trace.trace(Trace.FINEST, "Saving publish controls to " + filename);
-	
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("server");
-
-			Iterator iterator = publishControls.keySet().iterator();
-			while (iterator.hasNext()) {
-				String controlRef = (String) iterator.next();
-				if (controlRef.startsWith(serverRef + "#")) {
-					PublishControl control = (PublishControl) publishControls.get(controlRef);
-					IMemento child = memento.createChild("module");
-					control.save(child);
-				}
-			}
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save publish control information", e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishManager.java
deleted file mode 100644
index b18548f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishManager.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.IPublishControl;
-import org.eclipse.wst.server.core.IPublishManager;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IPublishManagerDelegate;
-/**
- *
- */
-public class PublishManager implements IPublishManager {
-	private IConfigurationElement element;
-	private IPublishManagerDelegate delegate;
-
-	/**
-	 * PublishManager constructor comment.
-	 */
-	public PublishManager(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this publish manager.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IPublishManager#getDescription()
-	 */
-	public String getDescription() {
-		String s = element.getAttribute("description");
-		if (s == null || s.length() == 0)
-			return "?";
-		return s;
-	}
-
-	/*
-	 * @see IPublishManager#getLabel()
-	 */
-	public String getName() {
-		String s = element.getAttribute("name");
-		if (s == null || s.length() == 0)
-			return "?";
-		return s;
-	}
-
-	/*
-	 * @see IPublishManager#getResourcesToDelete(IModule)
-	 */
-	public List getResourcesToDelete(IModule module) {
-		return getDelegate().getResourcesToDelete(module);
-	}
-
-	/*
-	 * @see IPublishManager#getResourcesToPublish(IModule)
-	 */
-	public List getResourcesToPublish(IModule module) {
-		return getDelegate().getResourcesToPublish(module);
-	}
-
-	/*
-	 * @see IPublishManager#resolve()
-	 */
-	public void resolve(IPublishControl[] control, IModule[] module, IProgressMonitor monitor) {
-		getDelegate().resolve(control, module, monitor);
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IPublishManagerDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IPublishManagerDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace("Could not create publisher", e);
-			}
-		}
-		return delegate;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishStatus.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishStatus.java
deleted file mode 100644
index 2fa1be4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishStatus.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.wst.server.core.IPublishStatus;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * IStatus used during publishing. It contains the project
- * or configuration that was published as extra information.
- */
-public class PublishStatus implements IPublishStatus {
-	// Unique identifier of plug-in.
-	private String pluginId;
-
-	// Message, localized to the current locale.
-	private String message;
-
-	private List children;
-
-	private long time;
-	
-	private IModule module;
-	
-	private Throwable throwable;
-	
-	/**
-	 * PublishStatus constructor comment.
-	 */
-	public PublishStatus(String pluginId, String message, IModule module) {
-		super();
-		this.pluginId = pluginId;
-		this.message = message;
-		this.module = module;
-	}
-	
-	/**
-	 * PublishStatus constructor comment.
-	 */
-	public PublishStatus(String pluginId, String message, IModule module, Throwable throwable) {
-		this(pluginId, message, module);
-		this.throwable = throwable;
-	}
-
-	/**
-	 * 
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public void addChild(IStatus status) {
-		getChildList().add(status);
-	}
-
-	/**
-	 * 
-	 * @return java.util.List
-	 */
-	protected List getChildList() {
-		if (children == null)
-			children = new ArrayList();
-		return children;
-	}
-
-	/**
-	 * Returns a list of status object immediately contained in this
-	 * multi-status, or an empty list if this is not a multi-status.
-	 *
-	 * @return an array of status objects
-	 * @see #isMultiStatus
-	 */
-	public IStatus[] getChildren() {
-		int size = getChildList().size();
-		IStatus[] status = new IStatus[size];
-		getChildList().toArray(status);
-		return status;
-	}
-
-	/**
-	 * Returns the plug-in-specific status code describing the outcome.
-	 *
-	 * @return plug-in-specific status code
-	 */
-	public int getCode() {
-		return 0;
-	}
-
-	/**
-	 * Returns the relevant low-level exception, or <code>null</code> if none. 
-	 * For example, when an operation fails because of a network communications
-	 * failure, this might return the <code>java.io.IOException</code>
-	 * describing the exact nature of that failure.
-	 *
-	 * @return the relevant low-level exception, or <code>null</code> if none
-	 */
-	public Throwable getException() {
-		return throwable;
-	}
-
-	/**
-	 * Returns the message describing the outcome.
-	 * The message is localized to the current locale.
-	 *
-	 * @return a localized message
-	 */
-	public String getMessage() {
-		return message;
-	}
-
-	/**
-	 * Returns the unique identifier of the plug-in associated with this status
-	 * (this is the plug-in that defines the meaning of the status code).
-	 *
-	 * @return the unique identifier of the relevant plug-in
-	 */
-	public String getPlugin() {
-		return pluginId;
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.core.resources.IProject
-	 */
-	public IModule getModule() {
-		return module;
-	}
-	
-	/**
-	 * Returns the severity. The severities are as follows (in
-	 * descending order):
-	 * <ul>
-	 * <li><code>ERROR</code> - a serious error (most severe)</li>
-	 * <li><code>WARNING</code> - a warning (less severe)</li>
-	 * <li><code>INFO</code> - an informational ("fyi") message (least severe)</li>
-	 * <li><code>OK</code> - everything is just fine</li>
-	 * </ul>
-	 * <p>
-	 * The severity of a multi-status is defined to be the maximum
-	 * severity of any of its children, or <code>OK</code> if it has
-	 * no children.
-	 * </p>
-	 *
-	 * @return the severity: one of <code>OK</code>,
-	 *   <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
-	 * @see #matches
-	 */
-	public int getSeverity() {
-		int sev = IStatus.OK;
-	
-		Iterator iterator = getChildList().iterator();
-		while (iterator.hasNext()) {
-			IStatus status = (IStatus) iterator.next();
-			sev = Math.max(sev, status.getSeverity());
-		}
-		return sev;
-	}
-
-	/**
-	 * 
-	 * @return long
-	 */
-	public long getTime() {
-		return time;
-	}
-
-	/**
-	 * Returns whether this status is a multi-status.
-	 * A multi-status describes the outcome of an operation
-	 * involving multiple operands.
-	 * <p>
-	 * The severity of a multi-status is derived from the severities
-	 * of its children; a multi-status with no children is
-	 * <code>OK</code> by definition.
-	 * A multi-status carries a plug-in identifier, a status code,
-	 * a message, and an optional exception. Clients may treat
-	 * multi-status objects in a multi-status unaware way.
-	 * </p>
-	 *
-	 * @return <code>true</code> for a multi-status, 
-	 *    <code>false</code> otherwise
-	 * @see #getChildren
-	 */
-	public boolean isMultiStatus() {
-		return true;
-	}
-
-	/**
-	 * Returns whether this status indicates everything is okay
-	 * (neither info, warning, nor error).
-	 *
-	 * @return <code>true</code> if this status has severity
-	 *    <code>OK</code>, and <code>false</code> otherwise
-	 */
-	public boolean isOK() {
-		return (getSeverity() == IStatus.OK);
-	}
-
-	/**
-	 * Returns whether the severity of this status matches the given
-	 * specification.
-	 *
-	 * @param severityMask a mask formed by bitwise or'ing severity mask
-	 *    constants (<code>ERROR</code>, <code>WARNING</code>,
-	 *    <code>INFO</code>)
-	 * @return <code>true</code> if there is at least one match, 
-	 *    <code>false</code> if there are no matches
-	 * @see #getSeverity
-	 * @see #ERROR
-	 * @see #WARNING
-	 * @see #INFO
-	 */
-	public boolean matches(int severityMask) {
-		return (getSeverity() & severityMask) != 0;
-	}
-
-	/**
-	 * 
-	 * @param time long
-	 */
-	public void setTime(long time) {
-		this.time = time;
-	}
-
-	public String toString() {
-		return "PublishStatus [" + getSeverity() + " " + getCode() + " " + getMessage() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishStatusItem.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishStatusItem.java
deleted file mode 100644
index a3446e7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishStatusItem.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IStatus;
-/**
- * IStatus used as child of a PublishStatus. It is just a
- * wrapper around another IStatus, used to give information
- * about the contained IStatus.
- */
-public class PublishStatusItem implements IStatus {
-	// Unique identifier of plug-in.
-	private String pluginId;
-
-	// Message, localized to the current locale.
-	private String message;
-
-	private IStatus child;
-
-	/**
-	 * PublishStatus constructor comment.
-	 */
-	public PublishStatusItem(String pluginId, String message, IStatus child) {
-		super();
-		this.pluginId = pluginId;
-		this.message = message;
-		this.child = child;
-	}
-
-	/**
-	 * Returns a list of status object immediately contained in this
-	 * multi-status, or an empty list if this is not a multi-status.
-	 *
-	 * @return an array of status objects
-	 * @see #isMultiStatus
-	 */
-	public IStatus[] getChildren() {
-		if (child == null)
-			return new IStatus[0];
-		return new IStatus[] { child };
-	}
-
-	/**
-	 * Returns the plug-in-specific status code describing the outcome.
-	 *
-	 * @return plug-in-specific status code
-	 */
-	public int getCode() {
-		return 0;
-	}
-
-	/**
-	 * Returns the relevant low-level exception, or <code>null</code> if none. 
-	 * For example, when an operation fails because of a network communications
-	 * failure, this might return the <code>java.io.IOException</code>
-	 * describing the exact nature of that failure.
-	 *
-	 * @return the relevant low-level exception, or <code>null</code> if none
-	 */
-	public Throwable getException() {
-		return null;
-	}
-
-	/**
-	 * Returns the message describing the outcome.
-	 * The message is localized to the current locale.
-	 *
-	 * @return a localized message
-	 */
-	public String getMessage() {
-		return message;
-	}
-
-	/**
-	 * Returns the unique identifier of the plug-in associated with this status
-	 * (this is the plug-in that defines the meaning of the status code).
-	 *
-	 * @return the unique identifier of the relevant plug-in
-	 */
-	public String getPlugin() {
-		return pluginId;
-	}
-
-	/**
-	 * Returns the severity. The severities are as follows (in
-	 * descending order):
-	 * <ul>
-	 * <li><code>ERROR</code> - a serious error (most severe)</li>
-	 * <li><code>WARNING</code> - a warning (less severe)</li>
-	 * <li><code>INFO</code> - an informational ("fyi") message (least severe)</li>
-	 * <li><code>OK</code> - everything is just fine</li>
-	 * </ul>
-	 * <p>
-	 * The severity of a multi-status is defined to be the maximum
-	 * severity of any of its children, or <code>OK</code> if it has
-	 * no children.
-	 * </p>
-	 *
-	 * @return the severity: one of <code>OK</code>,
-	 *   <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
-	 * @see #matches
-	 */
-	public int getSeverity() {
-		if (child == null)
-			return IStatus.OK;
-		return child.getSeverity();
-	}
-
-	/**
-	 * Returns whether this status is a multi-status.
-	 * A multi-status describes the outcome of an operation
-	 * involving multiple operands.
-	 * <p>
-	 * The severity of a multi-status is derived from the severities
-	 * of its children; a multi-status with no children is
-	 * <code>OK</code> by definition.
-	 * A multi-status carries a plug-in identifier, a status code,
-	 * a message, and an optional exception. Clients may treat
-	 * multi-status objects in a multi-status unaware way.
-	 * </p>
-	 *
-	 * @return <code>true</code> for a multi-status, 
-	 *    <code>false</code> otherwise
-	 * @see #getChildren
-	 */
-	public boolean isMultiStatus() {
-		return true;
-	}
-
-	/**
-	 * Returns whether this status indicates everything is okay
-	 * (neither info, warning, nor error).
-	 *
-	 * @return <code>true</code> if this status has severity
-	 *    <code>OK</code>, and <code>false</code> otherwise
-	 */
-	public boolean isOK() {
-		return (getSeverity() == IStatus.OK);
-	}
-
-	/**
-	 * Returns whether the severity of this status matches the given
-	 * specification.
-	 *
-	 * @param severityMask a mask formed by bitwise or'ing severity mask
-	 *    constants (<code>ERROR</code>, <code>WARNING</code>,
-	 *    <code>INFO</code>)
-	 * @return <code>true</code> if there is at least one match, 
-	 *    <code>false</code> if there are no matches
-	 * @see #getSeverity
-	 * @see #ERROR
-	 * @see #WARNING
-	 * @see #INFO
-	 */
-	public boolean matches(int severityMask) {
-		return (getSeverity() & severityMask) != 0;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
deleted file mode 100644
index 1145a5f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
+++ /dev/null
@@ -1,1459 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.resources.*;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * ResourceManager handles the mappings between resources
- * and servers or server configurations, and creates
- * notification of servers or server configurations
- * being added and removed.
- *
- * <p>Servers and server configurations may be a single
- * resource, or they may be a folder that contains a group
- * of files. Folder-resource may not contain other servers
- * or configurations.</p>
- */
-public class ResourceManager implements IResourceManager {
-	private static final String SERVER_DATA_FILE = "servers.xml";
-	private static final String SERVER_CONFIGURATION_DATA_FILE = "configurations.xml";
-
-	private static ResourceManager instance;
-
-	// currently active runtimes, servers, and server configurations
-	protected List runtimes;
-	protected List servers;
-	protected List configurations;
-	protected IRuntime defaultRuntime;
-
-	// server resource change listeners
-	protected transient List listeners;
-
-	// resource change listeners
-	private IResourceChangeListener modelResourceChangeListener;
-	private IResourceChangeListener publishResourceChangeListener;
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-	
-	// module factory listener
-	private IModuleFactoryListener moduleFactoryListener;
-	protected List moduleFactoryEvents = new ArrayList(5);
-	
-	// module listener
-	protected IModuleListener moduleListener;
-	protected List moduleEvents = new ArrayList(5);
-	
-	// module events listeners
-	protected transient List moduleEventListeners;
-
-	/**
-	 * Resource listener - tracks changes on server resources so that
-	 * we can reload/drop server instances and configurations that
-	 * may change outside of our control.
-	 * Listens for two types of changes:
-	 * 1. Servers or configurations being added or removed
-	 *    from their respective folders. (in the future, including
-	 *    the addition or removal of a full server project, which
-	 *    we currently can't listen for because there is no nature
-	 *    attached to the project at this point - OTI defect)
-	 * 2. Projects being deleted.
-	 */
-	public class ServerModelResourceChangeListener implements IResourceChangeListener {
-		/**
-		 * Create a new ServerModelResourceChangeListener.
-		 */
-		public ServerModelResourceChangeListener() {
-			super();
-		}
-
-		/**
-		 * Listen for projects being added or removed and act accordingly.
-		 *
-		 * @param event org.eclipse.core.resources.IResourceChangeEvent
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta delta = event.getDelta();
-			if (delta == null)
-				return;
-	
-			Trace.trace(Trace.RESOURCES, "->- ServerModelResourceManager responding to resource change: " + event.getType() + " ->-");
-			IResourceDelta[] children = delta.getAffectedChildren();
-			if (children != null) {
-				int size = children.length;
-				for (int i = 0; i < size; i++) {
-					IResource resource = children[i].getResource();
-					if (resource != null && resource instanceof IProject) {
-						projectChanged((IProject) resource, children[i]);
-					}
-				}
-			}
-	
-			Trace.trace(Trace.RESOURCES, "-<- Done ServerModelResourceManager responding to resource change -<-");
-		}
-	
-		/**
-		 * React to a change within a possible server project.
-		 *
-		 * @param delta org.eclipse.core.resources.IResourceDelta
-		 */
-		protected void projectChanged(IProject project, IResourceDelta delta) {
-			try {
-				if (project.exists() && !project.hasNature(IServerProject.NATURE_ID)) {
-					Trace.trace(Trace.RESOURCES, "Not a server project: " + project.getName());
-					return;
-				}
-			} catch (CoreException e) {
-				Trace.trace(Trace.SEVERE, "Could not verify project nature: " + project.getName() + " - " + e.getMessage());
-			}
-			
-			if (!project.exists()) {
-				Iterator iterator = ServerProjectNature.serverProjects.iterator();
-				boolean found = false;
-				while (iterator.hasNext()) {
-					IProject serverProject = (IProject) iterator.next();
-					if (serverProject.equals(project))
-						found = true;
-				}
-				if (!found)
-					return;
-			}
-
-			IResourceDelta[] children = delta.getAffectedChildren();
-	
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				IResourceDelta child = children[i];
-
-				// look for servers and server configurations
-				try {
-					child.accept(new IResourceDeltaVisitor() {
-						public boolean visit(IResourceDelta delta2) {
-							return handleResourceDelta(delta2);
-						}
-					});
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error responding to resource change", e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Publish resource listener
-	 */
-	public class PublishResourceChangeListener implements IResourceChangeListener {
-		/**
-		 * Create a new PublishResourceChangeListener.
-		 */
-		public PublishResourceChangeListener() {
-			super();
-		}
-
-		/**
-		 * Listen for projects being added or removed and act accordingly.
-		 *
-		 * @param event org.eclipse.core.resources.IResourceChangeEvent
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta delta = event.getDelta();
-			if (delta == null)
-				return;
-		
-			Trace.trace(Trace.FINEST, "->- PublishResourceManager responding to resource change: " + event.getType() + " ->-");
-			// search for changes to any project using a visitor
-			try {
-				delta.accept(new IResourceDeltaVisitor() {
-					public boolean visit(IResourceDelta visitorDelta) {
-						IResource resource = visitorDelta.getResource();
-
-						// only respond to project changes
-						if (resource != null && resource instanceof IProject) {
-							publishHandleProjectChange(visitorDelta);
-							return false;
-						}
-						return true;
-					}
-				});
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error responding to resource change", e);
-			}
-			Trace.trace(Trace.FINEST, "-<- Done PublishResourceManager responding to resource change -<-");
-		}
-	}
-	
-	public class ModuleFactoryListener implements IModuleFactoryListener {
-		public void moduleFactoryChanged(IModuleFactoryEvent event) {
-			Trace.trace(Trace.FINEST, "Module factory changed: " + event.getFactoryId());
-			moduleFactoryEvents.add(event);
-
-			// add new listeners
-			IModule[] modules = event.getAddedModules();
-			if (modules != null) {
-				int size = modules.length;
-				for (int i = 0; i < size; i++) {
-					Trace.trace(Trace.FINEST, "Adding module listener to: " + modules[i]);
-					modules[i].addModuleListener(moduleListener);
-				}
-			}
-			
-			// remove old listeners
-			modules = event.getRemovedModules();
-			if (modules != null) {
-				int size = modules.length;
-				for (int i = 0; i < size; i++) {
-					Trace.trace(Trace.FINEST, "Removing module listener from: " + modules[i]);
-					modules[i].removeModuleListener(moduleListener);
-				}
-			}
-		}
-	}
-
-	public class ModuleListener implements IModuleListener {
-		public void moduleChanged(IModuleEvent event) {
-			Trace.trace(Trace.FINEST, "Module changed: " + event);
-			if (!moduleEvents.contains(event))
-				moduleEvents.add(event);
-		}
-	}
-	
-	protected List moduleServerEventHandlers;
-	protected List moduleServerEventHandlerIndexes;
-	
-	class ModuleServerEvent implements IServerLifecycleEvent {
-		IServer server;
-		IModuleFactoryEvent[] factoryEvents;
-		IModuleEvent[] events;
-		ITask[] tasks;
-
-		public IServer getServer() {
-			return server;
-		}
-
-		public IModuleFactoryEvent[] getModuleFactoryEvents() {
-			return factoryEvents;
-		}
-
-		public IModuleEvent[] getModuleEvents() {
-			return events;
-		}
-
-		public ITask[] getTasks() {
-			return tasks;
-		}
-	}
-
-	/**
-	 * Cannot directly create a ResourceManager. Use
-	 * ServersCore.getResourceManager().
-	 */
-	private ResourceManager() {
-		super();
-		instance = this;
-		
-		init();
-	}
-
-	protected void init() {
-		servers = new ArrayList();
-		configurations = new ArrayList();
-		loadRuntimesList();
-		loadServersList();
-		loadServerConfigurationsList();
-		
-		pcl = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				if (ignorePreferenceChanges)
-					return;
-				String property = event.getProperty();
-				if (property.equals("runtimes")) {
-					loadRuntimesList();
-					saveRuntimesList();
-				}
-			}
-		};
-		
-		ServerPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
-		
-		resolveServers();
-
-		// keep track of future changes to the file system
-		modelResourceChangeListener = new ServerModelResourceChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(modelResourceChangeListener, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
-	
-		// add listener for future changes
-		publishResourceChangeListener = new PublishResourceChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(publishResourceChangeListener, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE);
-	
-		/*configurationListener = new IServerConfigurationListener() {
-			public void childProjectChange(IServerConfiguration configuration) {
-				handleConfigurationChildProjectsChange(configuration);
-			}
-		};*/
-		
-		Trace.trace(Trace.FINER, "Loading workspace servers and server configurations");
-		ServerCore.getServerNatures();
-		
-		moduleFactoryListener = new ModuleFactoryListener();
-		moduleListener = new ModuleListener();
-		
-		addResourceListener(ServerListener.getInstance());
-	}
-	
-	public static ResourceManager getInstance() {
-		if (instance == null)
-			new ResourceManager();
-
-		return instance;
-	}
-	
-	public static void shutdown() {
-		if (instance == null)
-			return;
-		
-		try {
-			instance.shutdownImpl();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error during shutdown", e);
-		}
-	}
-	
-	protected void shutdownImpl() {
-		// stop all running servers
-		// REMOVING FEATURE - can't be supported since we can't reload downstream plugins
-		// during shutdown. Individual downstream plugins should contain their own similar
-		// code to stop the servers.
-		/*Iterator iterator = getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			try {
-				if (server.getServerState() != IServer.SERVER_STOPPED) {
-					IServerDelegate delegate = server.getDelegate();
-					if (delegate instanceof IStartableServer && ((IStartableServer)delegate).isTerminateOnShutdown())
-						((IStartableServer) delegate).terminate();
-				}
-			} catch (Exception e) { }
-		}*/
-
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		if (workspace != null) {
-			workspace.removeResourceChangeListener(modelResourceChangeListener);
-			workspace.removeResourceChangeListener(publishResourceChangeListener);
-		}
-		
-		ServerPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl);
-		
-		removeResourceListener(ServerListener.getInstance());
-	}
-
-	/**
-	 * Adds a new server resource listener.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IServerResourceListener
-	 */
-	public void addResourceListener(IServerResourceListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
-	
-		if (listeners == null)
-			listeners = new ArrayList();
-		listeners.add(listener);
-	}
-	
-	/**
-	 * Deregister an existing runtime.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 */
-	protected void deregisterRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-
-		Trace.trace(Trace.RESOURCES, "Deregistering runtime: " + runtime.getName());
-
-		((Runtime)runtime).dispose();
-		fireServerResourceRemoved(runtime);
-		runtimes.remove(runtime);
-	}
-
-	/**
-	 * Deregister an existing server resource.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 */
-	protected void deregisterServer(IServer server) {
-		if (server == null)
-			return;
-
-		Trace.trace(Trace.RESOURCES, "Deregistering server: " + server.getName());
-
-		// terminate server if it is being deleted!
-		byte state = server.getServerState();
-		if (state != IServer.SERVER_STOPPED && state != IServer.SERVER_STOPPING &&
-				state != IServer.SERVER_UNKNOWN) {
-			IServerDelegate delegate = server.getDelegate();
-			if (delegate instanceof IStartableServer) {
-				((IStartableServer) delegate).terminate();
-			}
-		}
-		
-		((Server) server).deleteLaunchConfigurations();
-		ServerPlugin.getInstance().removeTempDirectory(server.getId(), new NullProgressMonitor());
-
-		((Server)server).dispose();
-		fireServerResourceRemoved(server);
-		servers.remove(server);
-	}
-
-	/**
-	 * Deregister an existing server resource.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 */
-	protected void deregisterServerConfiguration(IServerConfiguration configuration) {
-		if (configuration == null)
-			return;
-	
-		Trace.trace(Trace.RESOURCES, "Deregistering server configuration: " + configuration.getName());
-
-		((ServerConfiguration)configuration).dispose();
-		resolveServers();
-		fireServerResourceRemoved(configuration);
-		configurations.remove(configuration);
-	}
-
-	/**
-	 * Fire a event because a new element has been added.
-	 *
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	private void fireServerResourceAdded(final IElement element) {
-		Trace.trace(Trace.LISTENERS, "->- Firing serverResourceAdded event: " + element.getName() + " ->-");
-		
-		if (listeners == null || listeners.isEmpty())
-			return;
-	
-		int size = listeners.size();
-		IServerResourceListener[] srl = new IServerResourceListener[size];
-		listeners.toArray(srl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing serverResourceAdded event to " + srl[i]);
-			try {
-				if (element instanceof IRuntime)
-					srl[i].runtimeAdded((IRuntime) element);
-				else if (element instanceof IServer)
-					srl[i].serverAdded((IServer) element);
-				else
-					srl[i].serverConfigurationAdded((IServerConfiguration) element);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing serverResourceAdded event to " + srl[i], e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing serverResourceAdded event -<-");
-	}
-
-	/**
-	 * Fire a event because a resource has been changed.
-	 *
-	 * @param resource org.eclipse.wst.server.core.model.IServerResource
-	 */
-	private void fireServerResourceChanged(final IElement element) {
-		Trace.trace(Trace.LISTENERS, "->- Firing serverResourceChanged event: " + element.getName() + " ->-");
-	
-		if (listeners == null || listeners.isEmpty())
-			return;
-	
-		int size = listeners.size();
-		IServerResourceListener[] srl = new IServerResourceListener[size];
-		listeners.toArray(srl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing serverResourceChanged event to " + srl[i]);
-			try {
-				if (element instanceof IRuntime)
-					srl[i].runtimeChanged((IRuntime) element);
-				else if (element instanceof IServer)
-					srl[i].serverChanged((IServer) element);
-				else
-					srl[i].serverConfigurationChanged((IServerConfiguration) element);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing serverResourceChanged event to " + srl[i], e);
-			}
-		}
-	
-		Trace.trace(Trace.LISTENERS, "-<- Done firing serverResourceChanged event -<-");
-	}
-
-	/**
-	 * Fire a event because a resource has been removed. Note
-	 * that although the physical resource no longer exists,
-	 * the element will remain in the resource manager until
-	 * after this event is fired.
-	 *
-	 * @param info org.eclipse.wst.server.core.model.IServerResource
-	 */
-	private void fireServerResourceRemoved(final IElement element) {
-		Trace.trace(Trace.LISTENERS, "->- Firing serverResourceRemoved event: " + element.getName() + " ->-");
-	
-		if (listeners == null || listeners.isEmpty())
-			return;
-	
-		int size = listeners.size();
-		IServerResourceListener[] srl = new IServerResourceListener[size];
-		listeners.toArray(srl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing serverResourceRemoved event to " + srl[i]);
-			try {
-				if (element instanceof IRuntime)
-					srl[i].runtimeRemoved((IRuntime) element);
-				else if (element instanceof IServer)
-					srl[i].serverRemoved((IServer) element);
-				else
-					srl[i].serverConfigurationRemoved((IServerConfiguration) element);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing serverResourceRemoved event to " + srl[i], e);
-			}
-		}
-	
-		Trace.trace(Trace.LISTENERS, "-<- Done firing serverResourceRemoved event -<-");
-	}
-
-	/**
-	 * Returns the server configuration that came from the
-	 * given resource.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @return org.eclipse.wst.server.core.model.IServerConfiguration
-	 */
-	public IServerConfiguration getServerConfiguration(IFile file) {
-		if (file == null)
-			return null;
-		
-		Iterator iterator = configurations.iterator();
-		while (iterator.hasNext()) {
-			IServerConfiguration config = (IServerConfiguration) iterator.next();
-			if (file.equals(config.getFile()))
-				return config;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns a list of all currently active server configurations.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerConfigurations() {
-		List list = new ArrayList(configurations);
-		return ServerPlugin.sortServerResourceList(list);
-	}
-	
-	/**
-	 * Returns a list of all servers configs.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerConfigurations(IServerConfigurationType configType) {
-		List list = new ArrayList();
-		Iterator iterator = configurations.iterator();
-		while (iterator.hasNext()) {
-			IServerConfiguration config = (IServerConfiguration) iterator.next();
-			if (config.getServerConfigurationType().equals(configType))
-				list.add(config);
-		}
-		return list;
-	}
-	
-	/**
-	 * Returns a list of all servers.
-	 *
-	 * @return java.util.List
-	 */
-	public IServerConfiguration getServerConfiguration(String id) {
-		if (id == null)
-			return null;
-	
-		Iterator iterator = configurations.iterator();
-		while (iterator.hasNext()) {
-			IServerConfiguration config = (IServerConfiguration) iterator.next();
-			if (id.equals(config.getId()))
-				return config;
-		}
-		return null;
-	}
-	
-	protected void saveRuntimesList() {
-		try {
-			ignorePreferenceChanges = true;
-			XMLMemento memento = XMLMemento.createWriteRoot("runtimes");
-			
-			if (defaultRuntime != null) {
-				int ind = runtimes.indexOf(defaultRuntime);
-				if (ind >= 0)
-					memento.putString("default", ind + "");
-			}
-
-			Iterator iterator = runtimes.iterator();
-			while (iterator.hasNext()) {
-				Runtime runtime = (Runtime) iterator.next();
-
-				IMemento child = memento.createChild("runtime");
-				runtime.save(child);
-			}
-
-			String xmlString = memento.saveToString();
-			Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
-			prefs.setValue("runtimes", xmlString);
-			ServerPlugin.getInstance().savePluginPreferences();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save runtimes", e);
-		}
-		ignorePreferenceChanges = false;
-	}
-	
-	protected void saveServersList() {
-		String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_DATA_FILE).toOSString();
-		
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("servers");
-
-			Iterator iterator = servers.iterator();
-			while (iterator.hasNext()) {
-				Server server = (Server) iterator.next();
-
-				IMemento child = memento.createChild("server");
-				server.save(child);
-			}
-
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save servers", e);
-		}
-	}
-	
-	protected void saveServerConfigurationsList() {
-		String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_CONFIGURATION_DATA_FILE).toOSString();
-		
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("server-configurations");
-
-			Iterator iterator = configurations.iterator();
-			while (iterator.hasNext()) {
-				ServerConfiguration config = (ServerConfiguration) iterator.next();
-
-				IMemento child = memento.createChild("configuration");
-				config.save(child);
-			}
-
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save server configurations", e);
-		}
-	}
-	
-	protected void loadRuntimesList() {
-		Trace.trace(Trace.FINEST, "Loading runtime info");
-		Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("runtimes");
-		
-		runtimes = new ArrayList();
-		if (xmlString != null && xmlString.length() > 0) {
-			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes());
-				IMemento memento = XMLMemento.loadMemento(in);
-		
-				IMemento[] children = memento.getChildren("runtime");
-				int size = children.length;
-				
-				for (int i = 0; i < size; i++) {
-					Runtime runtime = new Runtime(null);
-					runtime.loadFromMemento(children[i], new NullProgressMonitor());
-					runtimes.add(runtime);
-				}
-				
-				String s = memento.getString("default");
-				try {
-					int ind = Integer.parseInt(s);
-					defaultRuntime = (IRuntime) runtimes.get(ind);
-				} catch (Exception ex) { }
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load runtimes: " + e.getMessage());
-			}
-		}
-	}
-	
-	protected void loadServersList() {
-		Trace.trace(Trace.FINEST, "Loading server info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_DATA_FILE).toOSString();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("server");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				Server server = new Server(null);
-				server.loadFromMemento(children[i], new NullProgressMonitor());
-				servers.add(server);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
-		}
-	}
-	
-	protected void loadServerConfigurationsList() {
-		Trace.trace(Trace.FINEST, "Loading server configuration info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_CONFIGURATION_DATA_FILE).toOSString();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("configuration");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				ServerConfiguration config = new ServerConfiguration(null);
-				config.loadFromMemento(children[i], new NullProgressMonitor());
-				configurations.add(config);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load server configurations: " + e.getMessage());
-		}
-	}
-	
-	protected void addRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-		if (!runtimes.contains(runtime))
-			registerRuntime(runtime);
-		else
-			fireServerResourceChanged(runtime);
-		saveRuntimesList();
-		resolveServers();
-		RuntimeWorkingCopy.rebuildRuntime(runtime, true);
-	}
-
-	protected void removeRuntime(IRuntime runtime) {
-		if (runtimes.contains(runtime)) {
-			deregisterRuntime(runtime);
-			saveRuntimesList();
-			resolveServers();
-			RuntimeWorkingCopy.rebuildRuntime(runtime, false);
-		}
-	}
-
-	protected void addServer(IServer server) {
-		if (!servers.contains(server))
-			registerServer(server);
-		else
-			fireServerResourceChanged(server);
-		saveServersList();
-		resolveServers();
-	}
-
-	protected void removeServer(IServer server) {
-		if (servers.contains(server)) {
-			deregisterServer(server);
-			saveServersList();
-			resolveServers();
-		}
-	}
-
-	protected void addServerConfiguration(IServerConfiguration config) {
-		if (!configurations.contains(config))
-			registerServerConfiguration(config);
-		else
-			fireServerResourceChanged(config);
-		saveServerConfigurationsList();
-		resolveServers();
-	}
-
-	protected void removeServerConfiguration(IServerConfiguration config) {
-		if (configurations.contains(config)) {
-			deregisterServerConfiguration(config);
-			saveServerConfigurationsList();
-			resolveServers();
-		}
-	}
-
-	/**
-	 * Returns a list of all runtimes.
-	 *
-	 * @return java.util.List
-	 */
-	public List getRuntimes() {
-		List list = new ArrayList(runtimes);
-		
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				IRuntime a = (IRuntime) list.get(i);
-				IRuntime b = (IRuntime) list.get(j);
-				if (a.getRuntimeType() != null && b.getRuntimeType() != null &&
-						a.getRuntimeType().getOrder() < b.getRuntimeType().getOrder()) {
-					Object temp = a;
-					list.set(i, b);
-					list.set(j, temp);
-				}
-			}
-		}
-		
-		if (defaultRuntime != null) {
-			list.remove(defaultRuntime);
-			list.add(0, defaultRuntime);
-		}
-		
-		return list;
-	}
-	
-	/**
-	 * Returns the runtimes with the given runtime type.
-	 *
-	 * @return java.util.List
-	 */
-	public List getRuntimes(IRuntimeType runtimeType) {
-		List list = new ArrayList();
-		Iterator iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			if (runtime.getRuntimeType() != null && runtime.getRuntimeType().equals(runtimeType))
-				list.add(runtime);
-		}
-		return list;
-	}
-	
-	/**
-	 * Returns the runtime with the given id.
-	 *
-	 * @return IRuntime
-	 */
-	public IRuntime getRuntime(String id) {
-		Iterator iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			if (runtime.getId().equals(id))
-				return runtime;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the default runtime. Test API - do not use.
-	 *
-	 * @return java.util.List
-	 */
-	public IRuntime getDefaultRuntime() {
-		return defaultRuntime;
-	}
-	
-	/**
-	 * Sets the default runtime. Test API - do not use.
-	 *
-	 * @return java.util.List
-	 */
-	public void setDefaultRuntime(IRuntime runtime) {
-		defaultRuntime = runtime;
-		saveRuntimesList();
-	}
-
-	protected void resolveServers() {
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			Server server = (Server) iterator.next();
-			server.resolve();
-		}
-	}
-
-	/**
-	 * Returns the server that came from the
-	 * given resource.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @return org.eclipse.wst.server.core.model.IServer
-	 */
-	public IServer getServer(IFile file) {
-		if (file == null)
-			return null;
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			Server server = (Server) iterator.next();
-			if (file.equals(server.getFile()))
-				return server;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns a list of all servers.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServers() {
-		List list = new ArrayList(servers);
-		return ServerPlugin.sortServerResourceList(list);
-	}
-
-	/**
-	 * Returns a list of all servers.
-	 *
-	 * @return java.util.List
-	 */
-	public IServer getServer(String id) {
-		if (id == null)
-			return null;
-	
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			Server server = (Server) iterator.next();
-			if (id.equals(server.getId()))
-				return server;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns a list of all servers.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServers(IServerType serverType) {
-		List list = new ArrayList();
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (server.getServerType().equals(serverType))
-				list.add(server);
-		}
-		return list;
-	}
-
-	/**
-	 * Handle a change to the child projects of this configuration.
-	 *
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 */
-	protected void handleConfigurationChildProjectsChange(IServerConfiguration configuration) {
-		/*String configRef = ServerCore.getServerConfigurationRef(configuration);
-		if (configRef == null || configRef.length() == 0)
-			return;
-	
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer2 server = (IServer2) iterator.next();
-			if (server.getServerConfiguration().equals(configuration)) {
-				ServerControl control = (ServerControl) ServerCore.getServerControl(server);
-				control.handleConfigurationChildProjectChange(configuration);
-			}
-		}*/
-	}
-
-	/**
-	 * Returns true if the resource change was handled.
-	 *
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 * @return boolean
-	 */
-	protected boolean handleResourceDelta(IResourceDelta delta) {
-		int kind = delta.getKind();
-		IResource resource2 = delta.getResource();
-	
-		// ignore markers
-		if (kind == IResourceDelta.CHANGED && (delta.getFlags() & IResourceDelta.MARKERS) != 0)
-			return false;
-	
-		Trace.trace(Trace.RESOURCES, "Resource changed: " + resource2 + " " + kind);
-		
-		if (resource2 instanceof IFile) {
-			IFile file = (IFile) resource2;
-			IProgressMonitor monitor = new NullProgressMonitor();
-			if (kind == IResourceDelta.ADDED) {
-				handleNewFile(file, monitor);
-			} else if (kind == IResourceDelta.REMOVED) {
-				handleRemovedFile(file);
-			} else
-				handleChangedFile(file, monitor);
-			monitor.done();
-			return false;
-		}
-		return true;
-	
-		/*IProgressMonitor monitor = new NullProgressMonitor();
-		List list = getResourceParentList(resource2);
-		monitor.beginTask("", list.size() * 1000);
-	
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IResource resource = (IResource) iterator.next();
-			if (!visited.contains(resource.getFullPath())) {
-				visited.add(resource.getFullPath());
-				if (kind == IResourceDelta.REMOVED) {
-					boolean b = handleRemovedFile(resource);
-					if (b) {
-						if (resource instanceof IContainer)
-							removeServerResourcesBelow((IContainer) resource);
-						return false;
-					} else
-						return true;
-				} else if (kind == IResourceDelta.ADDED) {
-					return !handleNewServerResource(resource, monitor);
-				} else {
-					boolean b = handleChangedServerResource(resource, monitor);
-					if (!b) {
-						handleRemovedFile(resource);
-					}
-					return true;
-				}
-			}
-		}
-
-		monitor.done();
-		Trace.trace(Trace.RESOURCES, "Ignored resource change: " + resource2);
-		return true;*/
-	}
-	
-	protected IServer loadServer(IFile file, IProgressMonitor monitor) throws CoreException {
-		Server server = new Server(file);
-		server.loadFromFile(monitor);
-		return server;
-	}
-	
-	protected IServerConfiguration loadServerConfiguration(IFile file, IProgressMonitor monitor) throws CoreException {
-		ServerConfiguration config = new ServerConfiguration(file);
-		config.loadFromFile(monitor);
-		return config;
-	}
-	
-	/**
-	 * Tries to load a new server resource from the given resource.
-	 * Returns true if the load and register were successful.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @return boolean
-	 */
-	protected boolean handleNewFile(IFile file, IProgressMonitor monitor) {
-		Trace.trace(Trace.RESOURCES, "handleNewFile: " + file);
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask("", 2000);
-		
-		// try loading a server
-		if (file.getFileExtension().equals(IServer.FILE_EXTENSION)) {
-			try {
-				IServer server = loadServer(file, ProgressUtil.getSubMonitorFor(monitor, 1000));
-				if (server != null) {
-					registerServer(server);
-					monitor.done();
-					return true;
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error loading server", e);
-			}
-		} else if (file.getFileExtension().equals(IServerConfiguration.FILE_EXTENSION)) {
-	
-			// try loading a server configuration
-			try {
-				IServerConfiguration config = loadServerConfiguration(file, ProgressUtil.getSubMonitorFor(monitor, 1000));
-				if (config != null) {
-					registerServerConfiguration(config);
-					monitor.done();
-					return true;
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error loading configuration", e);
-			}
-		}
-	
-		monitor.done();
-		return false;
-	}
-
-	/**
-	 * Tries to handle a resource change. Returns true if the reload
-	 * was successful.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @return boolean
-	 */
-	protected boolean handleChangedFile(IFile file, IProgressMonitor monitor) {
-		Trace.trace(Trace.RESOURCES, "handleChangedFile: " + file);
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask("", 1000);
-		boolean found = false;
-	
-		IServer server = getServer(file);
-		if (server != null) {
-			found = true;
-			try {
-				Trace.trace(Trace.RESOURCES, "Reloading server: " + server);
-				((Server) server).loadFromFile(monitor);
-				fireServerResourceChanged(server);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file + ": " + e.getMessage());
-				deregisterServer(server);
-			}
-		}
-		
-		IServerConfiguration configuration = getServerConfiguration(file);
-		if (configuration != null) {
-			found = true;
-			try {
-				Trace.trace(Trace.RESOURCES, "Reloading configuration: " + configuration);
-				((ServerConfiguration) configuration).loadFromFile(monitor);
-				fireServerResourceChanged(configuration);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error reloading configuration " + configuration.getName() + " from " + file + ": " + e.getMessage());
-				deregisterServerConfiguration(configuration);
-			}
-
-			// find any running servers that contain this configuration
-			// notify the servers with this configuration
-			Iterator iterator = getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server2 = (IServer) iterator.next();
-				if (server2.getServerConfiguration().equals(configuration))
-					server2.updateConfiguration();
-			}
-			fireServerResourceChanged(configuration);
-		}
-
-		Trace.trace(Trace.RESOURCES, "No server resource found at: " + file);
-	
-		monitor.done();
-		return found;
-	}
-
-	/**
-	 * Tries to remove a current resource. Returns true if the
-	 * deregistering was successful.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @return boolean
-	 */
-	protected boolean handleRemovedFile(IFile file) {
-		Trace.trace(Trace.RESOURCES, "handleRemovedServerResource: " + file);
-	
-		IServer server = getServer(file);
-		if (server != null) {
-			deregisterServer(server);
-			return true;
-		}
-		IServerConfiguration config = getServerConfiguration(file);
-		if (config != null) {
-			deregisterServerConfiguration(config);
-			return true;
-		}
-	
-		Trace.trace(Trace.RESOURCES, "No server resource found at: " + file);
-		return false;
-	}
-
-	/**
-	 * A project has changed. If this is an add or remove, check
-	 * to see if it is part of a current server configuration.
-	 *
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 */
-	protected void publishHandleProjectChange(IResourceDelta delta) {
-		Trace.trace(Trace.FINEST, "> publishHandleProjectChange " + delta.getResource());
-		IProject project = (IProject) delta.getResource();
-		
-		if (project == null)
-			return;
-		
-		if (isDeltaOnlyMarkers(delta))
-			return;
-
-		final IProjectModule moduleProject = ServerUtil.getModuleProject(project);
-		if (moduleProject == null)
-			return;
-		
-		Trace.trace(Trace.FINEST, "- publishHandleProjectChange");
-
-		Iterator iterator = getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (server.isDelegateLoaded())
-				((Server) server).handleModuleProjectChange(delta, new IProjectModule[] { moduleProject });
-		}
-		Trace.trace(Trace.FINEST, "< publishHandleProjectChange");
-	}
-	
-	protected boolean isDeltaOnlyMarkers(IResourceDelta delta) {
-		class Temp {
-			boolean b = true;
-		}
-		final Temp t = new Temp();
-		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta2) throws CoreException {
-					if (!t.b)
-						return false;
-					int flags = delta2.getFlags();
-					if (flags != 0 && flags != IResourceDelta.MARKERS) {
-						t.b = false;
-						return false;
-					}
-					return true;
-				}
-			});
-		} catch (Exception e) { }
-		return t.b;
-	}
-	
-	/**
-	 * Registers a new runtime.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void registerRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-	
-		Trace.trace(Trace.RESOURCES, "Registering runtime: " + runtime.getName());
-	
-		runtimes.add(runtime);
-		fireServerResourceAdded(runtime);
-	}
-	
-	/**
-	 * Registers a new server.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void registerServer(IServer server) {
-		if (server == null)
-			return;
-	
-		Trace.trace(Trace.RESOURCES, "Registering server: " + server.getName());
-	
-		servers.add(server);
-		fireServerResourceAdded(server);
-	}
-
-	/**
-	 * Registers a new server configuration resource.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void registerServerConfiguration(IServerConfiguration config) {
-		if (config == null)
-			return;
-	
-		Trace.trace(Trace.RESOURCES, "Registering server configuration: " + config.getName());
-	
-		configurations.add(config);
-		resolveServers();
-		fireServerResourceAdded(config);
-	}
-
-	/**
-	 * Removes an existing server resource listener.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IServerResourceListener
-	 */
-	public void removeResourceListener(IServerResourceListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing server resource listener " + listener + " from " + this);
-	
-		if (listeners != null)
-			listeners.remove(listener);
-	}
-
-	/**
-	 *
-	 */
-	protected void addModuleFactoryListener(IModuleFactoryDelegate delegate) {
-		if (delegate == null)
-			return;
-	
-		Trace.trace(Trace.LISTENERS, "Adding module factory listener to: " + delegate);
-		delegate.addModuleFactoryListener(moduleFactoryListener);
-		
-		List modules = delegate.getModules();
-		if (modules != null) {
-			Iterator iterator = modules.iterator();
-			while (iterator.hasNext()) {
-				IModule module = (IModule) iterator.next();
-				Trace.trace(Trace.LISTENERS, "Adding module listener to: " + module);
-				module.addModuleListener(moduleListener);
-			}
-		}
-	}
-	
-	/**
-	 * Adds a new module events listener.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleEventsListener
-	 */
-	public void addModuleEventsListener(IModuleEventsListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding moduleEvents listener " + listener + " to " + this);
-	
-		if (moduleEventListeners == null)
-			moduleEventListeners = new ArrayList();
-		moduleEventListeners.add(listener);
-	}
-	
-	/**
-	 * Removes an existing module events listener.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleEventsListener
-	 */
-	public void removeModuleEventsListener(IModuleEventsListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing moduleEvents listener " + listener + " to " + this);
-	
-		if (moduleEventListeners != null)
-			moduleEventListeners.remove(listener);
-	}
-	
-	/**
-	 * Module events have momentarily stopped firing and should be
-	 * handled appropriately.
-	 */
-	public void syncModuleEvents() {
-		if (moduleEvents.isEmpty() && moduleFactoryEvents.isEmpty())
-			return;
-
-		Trace.trace(Trace.LISTENERS, "->- Firing moduleEvents " + moduleEvents.size() + " " + moduleFactoryEvents.size());
-		Iterator iterator = moduleEvents.iterator();
-		while (iterator.hasNext()) {
-			IModuleEvent event = (IModuleEvent) iterator.next();
-			Trace.trace(Trace.LISTENERS, "  1> " + event);
-		}
-		iterator = moduleFactoryEvents.iterator();
-		while (iterator.hasNext()) {
-			IModuleFactoryEvent event = (IModuleFactoryEvent) iterator.next();
-			Trace.trace(Trace.LISTENERS, "  2> " + event);
-		}
-
-		IModuleEvent[] events = new IModuleEvent[moduleEvents.size()];
-		moduleEvents.toArray(events);
-		
-		IModuleFactoryEvent[] factoryEvents = new IModuleFactoryEvent[moduleFactoryEvents.size()];
-		moduleFactoryEvents.toArray(factoryEvents);
-		
-		if (moduleEventListeners != null) {
-			iterator = moduleEventListeners.iterator();
-			while (iterator.hasNext()) {
-				IModuleEventsListener listener = (IModuleEventsListener) iterator.next();
-				try {
-					Trace.trace(Trace.LISTENERS, "  Firing moduleEvents to " + listener);
-					listener.moduleEvents(factoryEvents, events);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "  Error firing moduleEvents to " + listener);
-				}
-			}
-		}
-		
-		// fire module server events
-		fireModuleServerEvent(factoryEvents, events);
-		
-		// clear cache
-		moduleEvents = new ArrayList(5);
-		moduleFactoryEvents = new ArrayList(5);
-		
-		Trace.trace(Trace.LISTENERS, "-<- Firing moduleEvents " + moduleEvents.size() + " " + moduleFactoryEvents.size());
-	}
-
-	protected void fireModuleServerEvent(IModuleFactoryEvent[] factoryEvents, IModuleEvent[] events) {
-		if (moduleServerEventHandlers == null)
-			return;
-		
-		List list = new ArrayList();
-
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			
-			if (server.isDelegateLoaded()) {
-				// make sure it is reloaded
-				try {
-					if (server.getFile() != null)
-						server.getFile().refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
-				} catch (Exception e) { }
-	
-				ITask[] tasks = server.getRepairCommands(factoryEvents, events);
-				if (tasks != null && tasks.length > 0) {
-					ModuleServerEvent mse = new ModuleServerEvent();
-					mse.server = server;
-					mse.tasks = tasks;
-					mse.factoryEvents = factoryEvents; 
-					mse.events = events;
-					list.add(mse);
-				}
-			}
-		}
-		
-		if (list.isEmpty())
-			return;
-		
-		ModuleServerEvent[] msEvents = new ModuleServerEvent[list.size()];
-		list.toArray(msEvents);
-	
-		iterator = moduleServerEventHandlers.iterator();
-		while (iterator.hasNext()) {
-			IServerLifecycleEventHandler handler = (IServerLifecycleEventHandler) iterator.next();
-			try {
-				boolean[] result = null;
-				Trace.trace(Trace.LISTENERS, "  Firing moduleServerEvents to " + handler);
-				result = handler.handleModuleServerEvents(msEvents);
-				if (result != null && result.length == msEvents.length) {
-					List list2 = new ArrayList();
-					int size = result.length;
-					for (int i = 0; i < size; i++) {
-						if (!result[i])
-							list2.add(msEvents[i]);
-					}
-					msEvents = new ModuleServerEvent[list2.size()];
-					list2.toArray(msEvents);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing moduleServerEvents to " + handler);
-			}
-		}
-	}
-	
-	public void addServerLifecycleEventHandler(int index, IServerLifecycleEventHandler handler) {
-		if (moduleServerEventHandlers == null) {
-			moduleServerEventHandlers = new ArrayList();
-			moduleServerEventHandlerIndexes = new ArrayList();
-		}
-		
-		int ind = 0;
-		int size = moduleServerEventHandlers.size();
-		while (ind < size && ((Integer) moduleServerEventHandlerIndexes.get(ind)).intValue() < index) {
-			ind++;
-		}
-		
-		moduleServerEventHandlers.add(ind, handler);
-		moduleServerEventHandlerIndexes.add(ind, new Integer(index));
-	}
-
-	public void removeServerLifecycleEventHandler(IServerLifecycleEventHandler handler) {
-		if (moduleServerEventHandlers == null)
-			return;
-		
-		int ind = moduleServerEventHandlers.indexOf(handler);
-		if (ind >= 0) {
-			moduleServerEventHandlers.remove(ind);
-			moduleServerEventHandlerIndexes.remove(ind);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
deleted file mode 100644
index e66db34..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IRuntimeDelegate;
-import org.osgi.framework.Bundle;
-/**
- * 
- */
-public class Runtime extends Base implements IRuntime {
-	protected static final String PROP_RUNTIME_TYPE_ID = "runtime-type-id";
-	protected static final String PROP_LOCATION = "location";
-	protected static final String PROP_TEST_ENVIRONMENT = "test-environment";
-
-	protected IRuntimeType runtimeType;
-	protected IRuntimeDelegate delegate;
-
-	public Runtime(IFile file) {
-		super(file);
-	}
-
-	public Runtime(IFile file, String id, IRuntimeType runtimeType) {
-		super(file, id);
-		this.runtimeType = runtimeType;
-		map.put(PROP_NAME, runtimeType.getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IRuntime#getRuntimeType()
-	 */
-	public IRuntimeType getRuntimeType() {
-		return runtimeType;
-	}
-
-	/**
-	 * Return the validation status of the runtime.
-	 * 
-	 * @return
-	 */
-	public IStatus validate() {
-		try {
-			return getDelegate().validate();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate validate() " + toString(), e);
-			return null;
-		}
-	}
-
-	public IRuntimeDelegate getDelegate() {
-		if (delegate != null)
-			return delegate;
-		
-		synchronized (this) {
-			if (delegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					RuntimeType runtimeType2 = (RuntimeType) runtimeType;
-					delegate = (IRuntimeDelegate) runtimeType2.getElement().createExecutableExtension("class");
-					delegate.initialize(this);
-					Trace.trace(Trace.PERFORMANCE, "Runtime.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId());
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-				}
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Returns true if the delegate has been loaded.
-	 * 
-	 * @return
-	 */
-	public boolean isDelegateLoaded() {
-		return delegate != null;
-	}
-	
-	public void dispose() {
-		if (delegate != null)
-			delegate.dispose();
-	}
-	
-	public IRuntimeWorkingCopy getWorkingCopy() {
-		IRuntimeWorkingCopy wc = new RuntimeWorkingCopy(this); 
-		addWorkingCopy(wc);
-		return wc;
-	}
-	
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-	public boolean isDelegatePluginActivated() {
-		IConfigurationElement element = ((RuntimeType) runtimeType).getElement();
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		return Platform.getBundle(pluginId).getState() == Bundle.ACTIVE;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IRuntime#getLocation()
-	 */
-	public IPath getLocation() {
-		String temp = getAttribute(PROP_LOCATION, (String)null);
-		if (temp == null)
-			return null;
-		return new Path(temp);
-	}
-	
-	protected void deleteFromMetadata() {
-		ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-		rm.removeRuntime(this);
-	}
-
-	protected void saveToMetadata(IProgressMonitor monitor) {
-		super.saveToMetadata(monitor);
-		ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-		rm.addRuntime(this);
-	}
-
-	protected String getXMLRoot() {
-		return "runtime";
-	}
-	
-	public boolean isTestEnvironment() {
-		return getAttribute(PROP_TEST_ENVIRONMENT, false);
-	}
-
-	protected void setInternal(RuntimeWorkingCopy wc) {
-		map = wc.map;
-		runtimeType = wc.runtimeType;
-		file = wc.file;
-		delegate = wc.delegate;
-		
-		int timestamp = wc.getTimestamp();
-		map.put("timestamp", Integer.toString(timestamp+1));
-	}
-
-	protected void loadState(IMemento memento) {
-		String runtimeTypeId = memento.getString(PROP_RUNTIME_TYPE_ID);
-		runtimeType = ServerCore.getRuntimeType(runtimeTypeId);
-	}
-
-	protected void saveState(IMemento memento) {
-		if (runtimeType != null)
-			memento.putString(PROP_RUNTIME_TYPE_ID, runtimeType.getId());
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Runtime))
-			return false;
-		
-		Runtime runtime = (Runtime) obj;
-		return runtime.getId().equals(getId());
-	}
-	
-	public String toString() {
-		return "Runtime[" + getId() + ", " + getName() + ", " + getLocation() + ", " + getRuntimeType() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
deleted file mode 100644
index 31fba8d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntimeLocator;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorDelegate;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorListener;
-/**
- * 
- */
-public class RuntimeLocator implements IRuntimeLocator {
-	private IConfigurationElement element;
-	private IRuntimeLocatorDelegate delegate;
-
-	public RuntimeLocator(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-	
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	protected IRuntimeLocatorDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IRuntimeLocatorDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * 
-	 */
-	public void searchForRuntimes(IRuntimeLocatorListener found, IProgressMonitor monitor) {
-		try {
-			getDelegate().searchForRuntimes(found, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-
-	public String toString() {
-		return "RuntimeLocator[" + getId() + ", " + getName() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeTargetHandler.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeTargetHandler.java
deleted file mode 100644
index 8809d2d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeTargetHandler.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IRuntimeTargetHandlerDelegate;
-/**
- * 
- */
-public class RuntimeTargetHandler implements IRuntimeTargetHandler {
-	private IConfigurationElement element;
-	private IRuntimeTargetHandlerDelegate delegate;
-
-	public RuntimeTargetHandler(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-
-	public String[] getRuntimeTypeIds() {
-		try {
-			List list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			Trace.trace("Could not parse runtime type ids: " + element);
-			return null;
-		}
-	}
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the getServerResources() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsRuntimeType(IRuntimeType runtimeType) {
-		if (runtimeType == null)
-			return false;
-		String id = runtimeType.getId();
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getRuntimeTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IRuntimeTargetHandlerDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IRuntimeTargetHandlerDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * 
-	 */
-	public void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) {
-		try {
-			getDelegate().setRuntimeTarget(project, runtime, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	public void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) {
-		try {
-			getDelegate().removeRuntimeTarget(project, runtime, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-
-	public String toString() {
-		return "RuntimeTargetListener[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
deleted file mode 100644
index 29d7d8c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.server.core.*;
-/**
- * 
- */
-public class RuntimeType implements IRuntimeType {
-	private IConfigurationElement element;
-	private List moduleTypes;
-
-	public RuntimeType(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	public String getVendor() {
-		String vendor = element.getAttribute("vendor");
-		if (vendor == null)
-			return ServerPlugin.getResource("%defaultVendor");
-		return vendor;
-	}
-	
-	public String getVersion() {
-		String version = element.getAttribute("version");
-		if (version == null)
-			return ServerPlugin.getResource("%defaultVersion");
-		return version;
-	}
-	
-	/**
-	 * 
-	 * @return
-	 */
-	public List getModuleTypes() {
-		if (moduleTypes == null)
-			moduleTypes = ServerPlugin.getModuleTypes(element.getChildren("moduleType"));
-
-		return moduleTypes;
-	}
-	
-	public boolean canCreate() {
-		String a = element.getAttribute("class");
-		String b = element.getAttribute("workingCopyClass");
-		return a != null && b != null && a.length() > 0 && b.length() > 0;
-	}
-
-	public IRuntimeWorkingCopy createRuntime(String id) {
-		RuntimeWorkingCopy rwc = new RuntimeWorkingCopy(null, id, this);
-		rwc.setDefaults();
-		return rwc;
-	}
-
-	public String toString() {
-		return "RuntimeType[" + getId() + ", " + getName() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
deleted file mode 100644
index adb7fe2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.beans.PropertyChangeListener;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IRuntimeDelegate;
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-
-/**
- * 
- */
-public class RuntimeWorkingCopy extends Runtime implements IRuntimeWorkingCopy {
-	protected String PROP_ID_SET = "id-set";
-	protected Runtime runtime;
-	protected WorkingCopyHelper wch;
-	
-	protected IRuntimeWorkingCopyDelegate workingCopyDelegate;
-	
-	// from existing runtime
-	public RuntimeWorkingCopy(Runtime runtime) {
-		super(runtime.getFile());
-		this.runtime = runtime;
-		
-		runtimeType = runtime.getRuntimeType();
-		
-		map = new HashMap(runtime.map);
-		wch = new WorkingCopyHelper(this);
-	}
-	
-	// new runtime
-	public RuntimeWorkingCopy(IFile file, String id, IRuntimeType runtimeType) {
-		super(file, id, runtimeType);
-		wch = new WorkingCopyHelper(this);
-		wch.setDirty(true);
-		
-		if (id == null || id.length() == 0) {
-			id = ServerPlugin.generateId();
-			map.put(PROP_ID, id);
-		} else
-			setAttribute(PROP_ID_SET, true);
-		
-		// throw CoreException if the id already exists
-	}
-
-	public boolean isWorkingCopy() {
-		return true;
-	}
-
-	public IRuntimeWorkingCopy getWorkingCopy() {
-		return this;
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		wch.setAttribute(attributeName, value);
-	}
-	
-	public void setAttribute(String attributeName, String value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, List value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, Map value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setName(String name) {
-		wch.setName(name);
-		boolean set = getAttribute(PROP_ID_SET, false);
-		if (runtime == null && !set)
-			setAttribute("id", name);
-	}
-
-	public void setTestEnvironment(boolean b) {
-		setAttribute(PROP_TEST_ENVIRONMENT, b);
-	}
-
-	public boolean isDirty() {
-		return wch.isDirty();
-	}
-
-	public void release() {
-		wch.release();
-		dispose();
-		if (runtime != null)
-			runtime.release(this);
-	}
-	
-	public IRuntime getOriginal() {
-		return runtime;
-	}
-
-	public void setLocked(boolean b) {
-		wch.setLocked(b);
-	}
-
-	public void setPrivate(boolean b) {
-		wch.setPrivate(b);
-	}
-	
-	public void setLocation(IPath path) {
-		if (path == null)
-			setAttribute(PROP_LOCATION, (String)null);
-		else
-			setAttribute(PROP_LOCATION, path.toString());
-	}
-
-	public IRuntime save(IProgressMonitor monitor) {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.subTask(ServerPlugin.getResource("%savingTask", getName()));
-		if (wch.isReleased())
-			return null;
-		IRuntime origRuntime = runtime;
-		if (runtime == null)
-			runtime = new Runtime(file);
-		
-		String oldId = getId();
-		String name = getName();
-		boolean set = getAttribute(PROP_ID_SET, false);
-		if (!oldId.equals(name) && !set) {
-			setAttribute("id", name);
-		} else
-			oldId = null;
-		
-		getWorkingCopyDelegate().handleSave(IRuntimeWorkingCopyDelegate.PRE_SAVE, monitor);
-		runtime.setInternal(this);
-		runtime.saveToMetadata(monitor);
-		wch.setDirty(false);
-		release();
-		getWorkingCopyDelegate().handleSave(IRuntimeWorkingCopyDelegate.POST_SAVE, monitor);
-		
-		if (oldId != null)
-			updateRuntimeReferences(oldId, name, origRuntime);
-		
-		return runtime;
-	}
-
-	protected void updateRuntimeReferences(final String oldId, final String newId, final IRuntime origRuntime) {
-		class UpdateRuntimeReferencesJob extends Job {
-			public UpdateRuntimeReferencesJob() {
-				super(ServerPlugin.getResource("%savingTask", newId));
-			}
-
-			public IStatus run(IProgressMonitor monitor) {
-				// fix .runtime files
-				IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-				if (projects != null) {
-					int size = projects.length;
-					for (int i = 0; i < size; i++) {
-						ProjectProperties props = (ProjectProperties) ServerCore.getProjectProperties(projects[i]);
-						if (oldId.equals(props.getRuntimeTargetId())) {
-							try {
-								props.setRuntimeTargetId(newId, monitor);
-							} catch (Exception e) { }
-						}
-					}
-				}
-				
-				// save servers
-				if (runtime != null) {
-					ResourceManager rm = ResourceManager.getInstance();
-					Iterator iterator = rm.getServers().iterator();
-					while (iterator.hasNext()) {
-						Server server = (Server) iterator.next();
-						if (oldId.equals(server.getRuntimeId()) && !server.isAWorkingCopyDirty()) {
-							try {
-								ServerWorkingCopy wc = (ServerWorkingCopy) server.getWorkingCopy();
-								wc.setRuntimeId(newId);
-								wc.save(monitor);
-							} catch (Exception e) { }
-						}
-					}
-				}
-				
-				return new Status(IStatus.OK, ServerCore.PLUGIN_ID, 0, "", null);
-			}
-		}
-		UpdateRuntimeReferencesJob job = new UpdateRuntimeReferencesJob();
-		job.schedule();
-	}
-	
-	/**
-	 * Rebuild any projects that are targetted to this runtime.
-	 * 
-	 * @param id
-	 */
-	protected static void rebuildRuntime(final IRuntime runtime, final boolean add) {
-		if (runtime == null)
-			return;
-
-		class RebuildRuntimeReferencesJob extends Job {
-			public RebuildRuntimeReferencesJob() {
-				super(ServerPlugin.getResource("%taskPerforming"));
-			}
-
-			public IStatus run(IProgressMonitor monitor) {
-				String id = runtime.getId();
-				
-				IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-				if (projects != null) {
-					int size = projects.length;
-					for (int i = 0; i < size; i++) {
-						ProjectProperties props = (ProjectProperties) ServerCore.getProjectProperties(projects[i]);
-						if (id.equals(props.getRuntimeTargetId())) {
-							try {
-								if (add)
-									props.setRuntimeTarget(null, runtime, false, monitor);
-								else
-									props.setRuntimeTarget(runtime, null, false, monitor);
-								projects[i].build(IncrementalProjectBuilder.FULL_BUILD, monitor);
-							} catch (Exception e) {
-								e.printStackTrace();
-							}
-						}
-					}
-				}
-				
-				return new Status(IStatus.OK, ServerCore.PLUGIN_ID, 0, "", null);
-			}
-		}
-		RebuildRuntimeReferencesJob job = new RebuildRuntimeReferencesJob();
-		job.schedule();
-	}
-
-	public IRuntimeDelegate getDelegate() {
-		return getWorkingCopyDelegate();
-	}
-
-	public IRuntimeWorkingCopyDelegate getWorkingCopyDelegate() {
-		if (workingCopyDelegate != null)
-			return workingCopyDelegate;
-		
-		synchronized (this) {
-			if (workingCopyDelegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					RuntimeType runtimeType2 = (RuntimeType) runtimeType;
-					workingCopyDelegate = (IRuntimeWorkingCopyDelegate) runtimeType2.getElement().createExecutableExtension("workingCopyClass");
-					workingCopyDelegate.initialize((IRuntime) this);
-					workingCopyDelegate.initialize(this);
-					Trace.trace(Trace.PERFORMANCE, "RuntimeWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId());
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-				}
-			}
-		}
-		return workingCopyDelegate;
-	}
-	
-	public void dispose() {
-		super.dispose();
-		if (workingCopyDelegate != null)
-			workingCopyDelegate.dispose();
-	}
-
-	/**
-	 * Add a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		wch.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		wch.removePropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Fire a property change event.
-	 */
-	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		wch.firePropertyChangeEvent(propertyName, oldValue, newValue);
-	}
-	
-	public void setDefaults() {
-		try {
-			getWorkingCopyDelegate().setDefaults();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate setDefaults() " + toString(), e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
deleted file mode 100644
index 9e5686e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ /dev/null
@@ -1,1791 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.*;
-import org.eclipse.debug.core.*;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.resources.*;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.ServerAdapter;
-/**
- * 
- */
-public class Server extends Base implements IServer, IServerState {
-	protected static final List EMPTY_LIST = new ArrayList(0);
-	
-	protected static final String PROP_HOSTNAME = "hostname";
-	protected static final String SERVER_ID = "server-id";
-	protected static final String RUNTIME_ID = "runtime-id";
-	protected static final String CONFIGURATION_ID = "configuration-id";
-
-	protected IServerType serverType;
-	protected IServerDelegate delegate;
-
-	protected IRuntime runtime;
-	protected IServerConfiguration configuration;
-	protected byte serverState = SERVER_UNKNOWN;
-
-	// the configuration sync state
-	protected byte configurationSyncState;
-
-/*	private static final String[] stateStrings = new String[] {
-		"unknown", "starting", "started", "started_debug",
-		"stopping", "stopped", "started_unsupported", "started_profile"
-	};*/
-	
-	// the current restart value
-	protected boolean restartNeeded;
-	
-	//protected String lastMode = ILaunchManager.DEBUG_MODE;
-
-	// publish listeners
-	protected transient List publishListeners;
-	
-	// server listeners
-	protected transient List serverListeners;
-	
-	class ServerTaskInfo implements IOrdered {
-		IServerTask task;
-		List[] parents;
-		IModule[] modules;
-		
-		public int getOrder() {
-			return task.getOrder();
-		}
-		
-		public String toString() {
-			return task.getName();
-		}
-	}
-
-	class ModuleTaskInfo implements IOrdered {
-		IModuleTask task;
-		List parents;
-		IModule module;
-	
-		public int getOrder() {
-			return task.getOrder();
-		}
-		
-		public String toString() {
-			return task.getName();
-		}
-	}
-
-	// working copy, loaded resource
-	public Server(IFile file) {
-		super(file);
-		map.put(PROP_HOSTNAME, "localhost");
-	}
-
-	// creation (working copy)
-	public Server(String id, IFile file, IRuntime runtime, IServerType serverType) {
-		super(file, id);
-		this.runtime = runtime;
-		this.serverType = serverType;
-		map.put("server-type-id", serverType.getId());
-		map.put(PROP_HOSTNAME, "localhost");
-		if (runtime != null && runtime.getRuntimeType() != null) {
-			String name = runtime.getRuntimeType().getName();
-			map.put(PROP_NAME, name);
-		}
-		serverState = ((ServerType)serverType).getInitialState();
-	}
-	
-	public IServerType getServerType() {
-		return serverType;
-	}
-	
-	public IServerWorkingCopy getWorkingCopy() {
-		IServerWorkingCopy wc = new ServerWorkingCopy(this); 
-		addWorkingCopy(wc);
-		return wc;
-	}
-
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-	protected void deleteFromMetadata() {
-		ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-		rm.removeServer(this);
-	}
-	
-	protected void saveToMetadata(IProgressMonitor monitor) {
-		super.saveToMetadata(monitor);
-		ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-		rm.addServer(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.wtp.server.core.IServer2#getRuntime()
-	 */
-	public IRuntime getRuntime() {
-		return runtime;
-	}
-
-	protected String getRuntimeId() {
-		return getAttribute(RUNTIME_ID, (String) null);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.wtp.server.core.IServer2#getServerConfiguration()
-	 */
-	public IServerConfiguration getServerConfiguration() {
-		return configuration;
-	}
-
-	public IServerDelegate getDelegate() {
-		if (delegate != null)
-			return delegate;
-		
-		if (serverType != null) {
-			synchronized (this) {
-				if (delegate == null) {
-					try {
-						long time = System.currentTimeMillis();
-						IConfigurationElement element = ((ServerType) serverType).getElement();
-						delegate = (IServerDelegate) element.createExecutableExtension("class");
-						delegate.initialize(this);
-						Trace.trace(Trace.PERFORMANCE, "Server.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-					}
-				}
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Returns true if the delegate has been loaded.
-	 * 
-	 * @return
-	 */
-	public boolean isDelegateLoaded() {
-		return delegate != null;
-	}
-	
-	public void dispose() {
-		if (delegate != null)
-			delegate.dispose();
-	}
-	
-	public boolean isDelegatePluginActivated() {
-		IConfigurationElement element = ((ServerType) serverType).getElement();
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		return Platform.getBundle(pluginId).getState() == Bundle.ACTIVE;
-	}
-	
-	/**
-	 * Returns true if this is a configuration that is
-	 * applicable to (can be used with) this server.
-	 *
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 * @return boolean
-	 */
-	public boolean isSupportedConfiguration(IServerConfiguration configuration2) {
-		if (!getServerType().hasServerConfiguration() || configuration2 == null)
-			return false;
-		return getServerType().getServerConfigurationType().equals(configuration2.getServerConfigurationType());
-	}
-
-	public String getHostname() {
-		return getAttribute(PROP_HOSTNAME, "localhost");
-	}
-
-	/**
-	 * Returns the current state of the server. (see SERVER_XXX constants)
-	 *
-	 * @return byte
-	 */
-	public byte getServerState() {
-		return serverState;
-	}
-
-	public void setServerState(byte state) {
-		if (state == serverState)
-			return;
-
-		this.serverState = state;
-		fireServerStateChangeEvent();
-	}
-	
-	/**
-	 * Add a listener to this server.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IServerListener
-	 */
-	public void addServerListener(IServerListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding server listener " + listener + " to " + this);
-	
-		if (serverListeners == null)
-			serverListeners = new ArrayList();
-		serverListeners.add(listener);
-	}
-	
-	/**
-	 * Remove a listener from this server.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IServerListener
-	 */
-	public void removeServerListener(IServerListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing server listener " + listener + " from " + this);
-	
-		if (serverListeners != null)
-			serverListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a server listener configuration sync state change event.
-	 */
-	protected void fireConfigurationSyncStateChangeEvent() {
-		Trace.trace(Trace.LISTENERS, "->- Firing server configuration change event: " + getName() + " ->-");
-	
-		if (serverListeners == null || serverListeners.isEmpty())
-			return;
-	
-		int size = serverListeners.size();
-		IServerListener[] sil = new IServerListener[size];
-		serverListeners.toArray(sil);
-	
-		for (int i = 0; i < size; i++) {
-			try {
-				Trace.trace(Trace.LISTENERS, "  Firing server configuration change event to: " + sil[i]);
-				sil[i].configurationSyncStateChange(this);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing server configuration change event", e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing server configuration change event -<-");
-	}
-	
-	/**
-	 * Fire a server listener restart state change event.
-	 */
-	protected void fireRestartStateChangeEvent() {
-		Trace.trace(Trace.LISTENERS, "->- Firing server restart change event: " + getName() + " ->-");
-	
-		if (serverListeners == null || serverListeners.isEmpty())
-			return;
-	
-		int size = serverListeners.size();
-		IServerListener[] sil = new IServerListener[size];
-		serverListeners.toArray(sil);
-	
-		for (int i = 0; i < size; i++) {
-			try {
-				Trace.trace(Trace.LISTENERS, "  Firing server restart change event to: " + sil[i]);
-				sil[i].restartStateChange(this);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing server restart change event", e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing server restart change event -<-");
-	}
-	
-	/**
-	 * Fire a server listener state change event.
-	 */
-	protected void fireServerStateChangeEvent() {
-		Trace.trace(Trace.LISTENERS, "->- Firing server state change event: " + getName() + ", " + getServerState() + " ->-");
-	
-		if (serverListeners == null || serverListeners.isEmpty())
-			return;
-	
-		int size = serverListeners.size();
-		IServerListener[] sil = new IServerListener[size];
-		serverListeners.toArray(sil);
-	
-		for (int i = 0; i < size; i++) {
-			try {
-				Trace.trace(Trace.LISTENERS, "  Firing server state change event to: " + sil[i]);
-				sil[i].serverStateChange(this);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing server state change event", e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing server state change event -<-");
-	}
-	
-	/**
-	 * Fire a server listener module change event.
-	 */
-	protected void fireServerModuleChangeEvent() {
-		Trace.trace(Trace.LISTENERS, "->- Firing server module change event: " + getName() + ", " + getServerState() + " ->-");
-		
-		if (serverListeners == null || serverListeners.isEmpty())
-			return;
-		
-		int size = serverListeners.size();
-		IServerListener[] sil = new IServerListener[size];
-		serverListeners.toArray(sil);
-		
-		for (int i = 0; i < size; i++) {
-			try {
-				Trace.trace(Trace.LISTENERS, "  Firing server module change event to: " + sil[i]);
-				sil[i].modulesChanged(this);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing server module change event", e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing server module change event -<-");
-	}
-	
-	/**
-	 * Fire a server listener module state change event.
-	 */
-	protected void fireServerModuleStateChangeEvent(IModule module) {
-		Trace.trace(Trace.LISTENERS, "->- Firing server module state change event: " + getName() + ", " + getServerState() + " ->-");
-		
-		if (serverListeners == null || serverListeners.isEmpty())
-			return;
-		
-		int size = serverListeners.size();
-		IServerListener[] sil = new IServerListener[size];
-		serverListeners.toArray(sil);
-		
-		for (int i = 0; i < size; i++) {
-			try {
-				Trace.trace(Trace.LISTENERS, "  Firing server module state change event to: " + sil[i]);
-				sil[i].moduleStateChange(this, module);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing server module state change event", e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing server module state change event -<-");
-	}
-
-	public void updateModuleState(IModule module) {
-		fireServerModuleStateChangeEvent(module);
-	}
-	
-	protected void handleModuleProjectChange(final IResourceDelta delta, final IProjectModule[] moduleProjects) {
-		//Trace.trace(Trace.FINEST, "> handleDeployableProjectChange() " + server + " " + delta + " " + moduleProjects);
-		final int size = moduleProjects.length;
-		final IModuleResourceDelta[] deployableDelta = new IModuleResourceDelta[size];
-		
-		IModuleVisitor visitor = new IModuleVisitor() {
-			public boolean visit(List parents, IModule module) {
-				if (!(module instanceof IProjectModule))
-					return true;
-				
-				IPublisher publisher = getPublisher(parents, module);
-				if (publisher == null)
-					return true;
-
-				for (int i = 0; i < size; i++) {
-					if (moduleProjects[i].equals(module)) {
-						if (deployableDelta[i] == null)
-							deployableDelta[i] = moduleProjects[i].getModuleResourceDelta(delta);
-						
-						if (deployableDelta[i] != null) {
-							// TODO updateDeployable(module, deployableDelta[i]);
-
-							PublishControl control = PublishInfo.getPublishInfo().getPublishControl(Server.this, parents, module);
-							if (control.isDirty())
-								return true;
-		
-							control.setDirty(true);
-							firePublishStateChange(parents, module);
-						}
-						return true;
-					}
-				}
-				return true;
-			}
-		};
-
-		ServerUtil.visit(this, visitor);
-		//Trace.trace(Trace.FINEST, "< handleDeployableProjectChange()");
-	}
-	
-	/**
-	 * Returns the configuration's sync state.
-	 *
-	 * @return byte
-	 */
-	public byte getConfigurationSyncState() {
-		return configurationSyncState;
-	}
-	
-	/**
-	 * Sets the configuration sync state.
-	 *
-	 * @param state byte
-	 */
-	public void setConfigurationSyncState(byte state) {
-		if (state == configurationSyncState)
-			return;
-		configurationSyncState = state;
-		fireConfigurationSyncStateChangeEvent();
-	}
-	
-	/**
-	 * Adds a publish listener to this server.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IPublishListener
-	 */
-	public void addPublishListener(IPublishListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding publish listener " + listener + " to " + this);
-
-		if (publishListeners == null)
-			publishListeners = new ArrayList();
-		publishListeners.add(listener);
-	}
-	
-	/**
-	 * Removes a publish listener from this server.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IPublishListener
-	 */
-	public void removePublishListener(IPublishListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing publish listener " + listener + " from " + this);
-
-		if (publishListeners != null)
-			publishListeners.remove(listener);
-	}
-
-	/**
-	 * Fire a publish start event.
-	 *
-	 * @param 
-	 */
-	private void firePublishStarting(List[] parents, IModule[] targets) {
-		Trace.trace(Trace.FINEST, "->- Firing publish starting event: " + targets + " ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing publish starting event to " + srl[i]);
-			try {
-				srl[i].publishStarting(this, parents, targets);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing publish starting event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing publish starting event -<-");
-	}
-	
-	/**
-	 * Fire a publish start event.
-	 *
-	 * @param 
-	 */
-	private void firePublishStarted(IPublishStatus status) {
-		Trace.trace(Trace.FINEST, "->- Firing publish started event: " + status + " ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing publish started event to " + srl[i]);
-			try {
-				srl[i].publishStarted(this, status);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing publish started event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing publish started event -<-");
-	}
-	
-	/**
-	 * Fire a publish target event.
-	 *
-	 * @param 
-	 */
-	private void fireModulePublishStarting(List parents, IModule module) {
-		Trace.trace(Trace.FINEST, "->- Firing module starting event: " + module + " ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing module starting event to " + srl[i]);
-			try {
-				srl[i].moduleStarting(this, parents, module);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing module starting event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing module starting event -<-");
-	}
-	
-	/**
-	 * Fire a publish target event.
-	 *
-	 * @param 
-	 */
-	private void fireModulePublishFinished(List parents, IModule module, IPublishStatus status) {
-		Trace.trace(Trace.FINEST, "->- Firing module finished event: " + module + " " + status + " ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing module finished event to " + srl[i]);
-			try {
-				srl[i].moduleFinished(this, parents, module, status);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing module finished event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing module finished event -<-");
-	}
-	
-	/**
-	 * Fire a publish stop event.
-	 *
-	 * @param 
-	 */
-	private void firePublishFinished(IPublishStatus status) {
-		Trace.trace(Trace.FINEST, "->- Firing publishing finished event: " + status + " ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing publishing finished event to " + srl[i]);
-			try {
-				srl[i].publishFinished(this, status);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing publishing finished event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing publishing finished event -<-");
-	}
-
-	/**
-	 * Fire a publish state change event.
-	 *
-	 * @param 
-	 */
-	protected void firePublishStateChange(List parents, IModule module) {
-		Trace.trace(Trace.FINEST, "->- Firing publish state change event: " + module + " ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing publish state change event to " + srl[i]);
-			try {
-				srl[i].moduleStateChange(this, parents, module);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing publish state change event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing publish state change event -<-");
-	}
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be published to.
-	 *
-	 * @return boolean
-	 */
-	public boolean canPublish() {
-		// can't publish if the server is starting or stopping
-		byte state = getServerState();
-		if (state == SERVER_STARTING ||
-			state == SERVER_STOPPING)
-			return false;
-	
-		// can't publish if there is no configuration
-		if (getServerType() == null || getServerType().hasServerConfiguration() && configuration == null)
-			return false;
-	
-		// return true if the configuration can be published
-		if (getConfigurationSyncState() != SYNC_STATE_IN_SYNC)
-			return true;
-
-		// return true if any modules can be published
-		class Temp {
-			boolean found = false;
-		}
-		final Temp temp = new Temp();
-	
-		IModuleVisitor visitor = new IModuleVisitor() {
-			public boolean visit(List parents, IModule module) {
-				if (getPublisher(parents, module) != null) {
-					temp.found = true;
-					return false;
-				}
-				return true;
-			}
-		};
-		ServerUtil.visit(this, visitor);
-		
-		return temp.found;
-	}
-	
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be published to.
-	 *
-	 * @return boolean
-	 */
-	public boolean shouldPublish() {
-		if (!canPublish())
-			return false;
-	
-		if (getConfigurationSyncState() != SYNC_STATE_IN_SYNC)
-			return true;
-	
-		if (!getUnpublishedModules().isEmpty())
-			return true;
-	
-		return false;
-	}
-	
-
-	/**
-	 * Returns a list of the projects that have not been published
-	 * since the last modification. (i.e. the projects that are
-	 * out of sync with the server.
-	 *
-	 * @return java.util.List
-	 */
-	public List getUnpublishedModules() {
-		final List modules = new ArrayList();
-		
-		if (configuration == null)
-			return modules;
-		
-		IModuleVisitor visitor = new IModuleVisitor() {
-			public boolean visit(List parents, IModule module) {
-				IPublisher publisher = getPublisher(parents, module);
-				if (publisher != null && !modules.contains(module)) {
-					PublishControl control = PublishInfo.getPublishInfo().getPublishControl(Server.this, parents, module);
-					if (control.isDirty)
-						modules.add(module);
-				}
-				return true;
-			}
-		};
-		ServerUtil.visit(this, visitor);
-		
-		Trace.trace(Trace.FINEST, "Unpublished modules: " + modules);
-		
-		return modules;
-	}
-	
-	public IPublisher getPublisher(List parents, IModule module) {
-		try {
-			return getDelegate().getPublisher(parents, module);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getPublisher() " + toString(), e);
-		}
-		return null;
-	}
-	
-	/**
-	 * Publish to the server using the given progress monitor.
-	 * This method will use the smart publisher which has no UI.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclispe.core.runtime.IStatus
-	 */
-	public IStatus publish(IProgressMonitor monitor) {
-		return publish(ServerCore.getPublishManager(ServerPreferences.DEFAULT_PUBLISH_MANAGER), monitor);
-	}
-
-	/**
-	 * Publish to the server using the given publisher and progress
-	 * monitor. The result of the publish operation is returned as
-	 * an IStatus.
-	 *
-	 * <p>This method will not present any UI unless 1) The publisher
-	 * requires UI, or 2) There is already a publish listener on this
-	 * server control which will respond to publish events by updating
-	 * a UI.</p>
-	 *
-	 * @param publisher org.eclipse.wst.server.core.model.IPublishManager
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclispe.core.runtime.IStatus
-	 */
-	public IStatus publish(IPublishManager publishManager, IProgressMonitor monitor) {
-		if (getServerType() == null)
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorPublishing"), null);
-
-		// check what is out of sync and publish
-		if (getServerType().hasServerConfiguration() && configuration == null)
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorNoConfiguration"), null);
-	
-		Trace.trace(Trace.FINEST, "-->-- Publishing to server: " + toString() + " -->--");
-
-		final List parentList = new ArrayList();
-		final List moduleList = new ArrayList();
-		final List taskParentList = new ArrayList();
-		final List taskModuleList = new ArrayList();
-		
-		IModuleVisitor visitor = new IModuleVisitor() {
-			public boolean visit(List parents, IModule module) {
-				taskParentList.add(parents);
-				taskModuleList.add(module);
-				IPublisher publisher = getPublisher(parents, module);
-				if (publisher != null) {
-					if (parents != null)
-						parentList.add(parents);
-					else
-						parentList.add(EMPTY_LIST);
-					moduleList.add(module);
-				}
-				return true;
-			}
-		};
-
-		ServerUtil.visit(this, visitor);
-		
-		// get arrays without the server configuration
-		List[] taskParents = new List[taskParentList.size()];
-		taskParentList.toArray(taskParents);
-		IModule[] taskModules = new IModule[taskModuleList.size()];
-		taskModuleList.toArray(taskModules);
-
-		// get arrays with the server configuration
-		List[] parents = new List[parentList.size()];
-		parentList.toArray(parents);
-		IModule[] modules = new IModule[moduleList.size()];
-		moduleList.toArray(modules);
-
-		int size = 2000 + 3500 * parentList.size();
-		
-		// find tasks
-		List tasks = getTasks(taskParents, taskModules);
-		size += tasks.size() * 500;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(ServerPlugin.getResource("%publishingTask", toString()), size);
-
-		MultiStatus multi = new MultiStatus(ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%publishingStatus"), null);
-		
-		// perform tasks
-		IStatus taskStatus = performTasks(tasks, monitor);
-		if (taskStatus != null)
-			multi.add(taskStatus);
-
-		// start publishing
-		Trace.trace(Trace.FINEST, "Opening connection to the remote server");
-		boolean connectionOpen = false;
-		try {
-			if (!monitor.isCanceled()) {
-				firePublishStarting(parents, modules);
-				long time = System.currentTimeMillis();
-				PublishStatus ps = new PublishStatus(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingStart"), null);
-				IStatus status = getDelegate().publishStart(ProgressUtil.getSubMonitorFor(monitor, 1000));
-				ps.setTime(System.currentTimeMillis() - time);
-				ps.addChild(status);
-				firePublishStarted(ps);
-				multi.add(ps);
-				if (status.getSeverity() != IStatus.ERROR)
-					connectionOpen = true;
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error starting publish to " + toString(), e);
-			connectionOpen = true; // possibly open
-		}
-		
-		// publish the configuration
-		try {
-			if (connectionOpen && !monitor.isCanceled() && serverType.hasServerConfiguration()) {
-				delegate.publishConfiguration(ProgressUtil.getSubMonitorFor(monitor, 1000));
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error publishing configuration to " + toString(), e);
-		}
-		
-		// remove old modules
-	
-		// publish modules
-		if (connectionOpen && !monitor.isCanceled()) {
-			publishModules(publishManager, parents, modules, multi, monitor);
-		}
-		
-		// end the publishing
-		if (connectionOpen) {
-			Trace.trace(Trace.FINEST, "Closing connection with the remote server");
-			try {
-				PublishStatus ps = new PublishStatus(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingStop"), null);
-				IStatus status = delegate.publishStop(ProgressUtil.getSubMonitorFor(monitor, 500));
-				ps.addChild(status);
-				multi.add(ps);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error stopping publish to " + toString(), e);
-			}
-		}
-	
-		if (monitor.isCanceled()) {
-			IStatus status = new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%publishingCancelled"), null);
-			multi.add(status);
-		}
-
-		PublishStatus ps = new PublishStatus(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingStop"), null);
-		ps.addChild(multi);
-		firePublishFinished(ps);
-		
-		PublishInfo.getPublishInfo().save(this);
-
-		monitor.done();
-
-		Trace.trace(Trace.FINEST, "--<-- Done publishing --<--");
-		return multi;
-	}
-
-	/**
-	 * Publish a single module.
-	 */
-	protected IStatus publishModule(List parents, IModule module, IPublisher publisher, IPublishManager publishManager, PublishControl control, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "Publishing module: " + module + " " + publisher);
-		
-		monitor.beginTask(ServerPlugin.getResource("%publishingProject", module.getName()), 1000);
-		
-		fireModulePublishStarting(parents, module);
-		long time = System.currentTimeMillis();
-	
-		PublishStatus multi = new PublishStatus(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingProject", module.getName()), module);
-	
-		// delete
-		List verifyDeleteList = new ArrayList();
-		try {
-			List deleteList = publishManager.getResourcesToDelete(module);
-			Trace.trace(Trace.FINEST, "Deleting: " + module + " " + deleteList);
-			if (deleteList != null) {
-				Trace.trace(Trace.FINEST, "Deleting remote resources:");
-				IRemoteResource[] remote = new IRemoteResource[deleteList.size()];
-				deleteList.toArray(remote);
-				IStatus[] status = publisher.delete(remote, ProgressUtil.getSubMonitorFor(monitor, 300));
-				int size = remote.length;
-				if (status.length < size) {
-					Trace.trace(Trace.WARNING, "Publish results missing: " + status.length + "/" + size);
-					size = status.length;
-				} 
-				for (int i = 0; i < size; i++) {
-					Trace.trace(Trace.FINEST, "  " + remote[i]);
-					PublishStatusItem publishStatusItem = null;
-					if (remote[i] instanceof IRemoteFolder)
-						publishStatusItem = new PublishStatusItem(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingDeleteFolder", remote[i].getPath().toString()), status[i]);
-					else
-						publishStatusItem = new PublishStatusItem(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingDeleteFile", remote[i].getPath().toString()), status[i]);
-					multi.addChild(publishStatusItem);
-					if (status[i] == null || status[i].getSeverity() != IStatus.ERROR)
-						verifyDeleteList.add(remote[i]);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not delete from server", e);
-		}
-		
-		// publish
-		List verifyList = new ArrayList();
-		try {
-			List publishList = publishManager.getResourcesToPublish(module);
-			Trace.trace(Trace.FINEST, "Publishing: " + module + " " + publishList);
-			if (publishList != null) {
-				Trace.trace(Trace.FINEST, "Publishing resources:");
-				IModuleResource[] resource = new IModuleResource[publishList.size()];
-				publishList.toArray(resource);
-				IStatus[] status = publisher.publish(resource, ProgressUtil.getSubMonitorFor(monitor, 600));
-				int size = resource.length;
-				if (status == null)
-					size = 0;
-				else if (status.length < size)
-					size = status.length;
-				for (int i = 0; i < size; i++) {
-					Trace.trace(Trace.FINEST, "  " + resource[i]);
-					PublishStatusItem publishStatusItem = null;
-					if (resource[i] instanceof IModuleFolder)
-						publishStatusItem = new PublishStatusItem(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingPublishFolder", resource[i].getPath().toString()), status[i]);
-					else
-						publishStatusItem = new PublishStatusItem(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%publishingPublishFile", resource[i].getPath().toString()), status[i]);
-					multi.addChild(publishStatusItem);
-					if (status[i] == null || status[i].getSeverity() != IStatus.ERROR)
-						verifyList.add(resource[i]);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not publish to server", e);
-		}
-		
-		// update state info
-		control.verify(verifyList, verifyDeleteList, ProgressUtil.getSubMonitorFor(monitor, 100));
-		control.setDirty(false);
-
-		multi.setTime(System.currentTimeMillis() - time);
-		fireModulePublishFinished(parents, module, multi);
-		
-		monitor.done();
-		
-		Trace.trace(Trace.FINEST, "Done publishing: " + module);
-		return multi;
-	}
-	
-	/**
-	 * Publishes the given modules. Returns true if the publishing
-	 * should continue, or false if publishing has failed or is cancelled.
-	 * 
-	 * Uses 500 ticks plus 3500 ticks per module
-	 */
-	protected void publishModules(final IPublishManager publishManager, List[] parents, IModule[] modules, MultiStatus multi, IProgressMonitor monitor) {
-		if (parents == null)
-			return;
-
-		int size = parents.length;
-		if (size == 0)
-			return;
-
-		PublishControl[] controls = new PublishControl[size];
-		IPublisher[] publishers = new IPublisher[size];
-
-		// fill publish control cache
-		Trace.trace(Trace.FINEST, "Filling remote resource cache");
-		for (int i = 0; i < size; i++) {
-			publishers[i] = delegate.getPublisher(parents[i], modules[i]);
-			controls[i] = PublishInfo.getPublishInfo().getPublishControl(this, parents[i], modules[i]);
-			controls[i].setPublisher(publishers[i]);
-			try {
-				controls[i].fillRemoteResourceCache(ProgressUtil.getSubMonitorFor(monitor, 500));
-			} catch (Exception e) { }
-		}
-	
-		if (modules != null && modules.length > 0) {
-			Trace.trace(Trace.FINEST, "Using publish manager: " + publishManager.getName());
-	
-			publishManager.resolve(controls, modules, ProgressUtil.getSubMonitorFor(monitor, 500));
-			Trace.trace(Trace.FINEST, "Done resolving");
-		}
-		
-		if (monitor.isCanceled())
-			return;
-
-		// publish modules
-		for (int i = 0; i < size; i++) {
-			IStatus status = publishModule(parents[i], modules[i], publishers[i], publishManager, controls[i], ProgressUtil.getSubMonitorFor(monitor, 3000));
-			multi.add(status);
-		}
-	}
-
-	protected List getTasks(List[] parents, IModule[] modules) {
-		List tasks = new ArrayList();
-		
-		Iterator iterator = ServerCore.getServerTasks().iterator();
-		while (iterator.hasNext()) {
-			IServerTask task = (IServerTask) iterator.next();
-			task.init(this, configuration, parents, modules);
-			byte status = task.getTaskStatus();
-			if (status == IServerTaskDelegate.TASK_MANDATORY) {
-				ServerTaskInfo info = new ServerTaskInfo();
-				info.task = task;
-				info.parents = parents;
-				info.modules = modules;
-				tasks.add(info);
-			}
-		}
-		
-		int size = parents.length;
-		for (int i = 0; i < size; i++) {
-			iterator = ServerCore.getModuleTasks().iterator();
-			while (iterator.hasNext()) {
-				IModuleTask task = (IModuleTask) iterator.next();
-				task.init(this, configuration, parents[i], modules[i]);
-				byte status = task.getTaskStatus();
-				if (status == IModuleTaskDelegate.TASK_MANDATORY) {
-					ModuleTaskInfo info = new ModuleTaskInfo();
-					info.task = task;
-					info.parents = parents[i];
-					info.module = modules[i];
-					tasks.add(info);
-				}
-			}
-		}
-
-		ServerUtil.sortOrderedList(tasks);
-		
-		return tasks;
-	}
-
-	protected IStatus performTasks(List tasks, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "Performing tasks: " + tasks.size());
-		
-		if (tasks.isEmpty())
-			return null;
-		
-		long time = System.currentTimeMillis();
-		PublishStatus multi = new PublishStatus(ServerCore.PLUGIN_ID, ServerPlugin.getResource("%taskPerforming"), null);
-
-		/*Iterator iterator = tasks.iterator();
-		while (iterator.hasNext()) {
-			IOrdered task = (IOrdered) iterator.next();
-			monitor.subTask(ServerPlugin.getResource("%taskPerforming", task.toString()));
-			IStatus status = null;
-			if (task instanceof ServerTaskInfo) {
-				ServerTaskInfo info = (ServerTaskInfo) task;
-				status = info.task.performTask(server, configuration, info.parents, info.modules, ProgressUtil.getSubMonitorFor(monitor, 500));
-			} else {
-				ModuleTaskInfo info = (ModuleTaskInfo) task;
-				status = info.task.performTask(server, configuration, info.parents, info.module, ProgressUtil.getSubMonitorFor(monitor, 500));
-			}
-			multi.addChild(status);
-			if (monitor.isCanceled())
-				return multi;
-		}
-		
-		// save server and configuration
-		try {
-			ServerUtil.save(server, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			ServerUtil.save(configuration, ProgressUtil.getSubMonitorFor(monitor, 1000));
-		} catch (CoreException se) {
-			Trace.trace(Trace.SEVERE, "Error saving server and/or configuration", se);
-			multi.addChild(se.getStatus());
-		}*/
-
-		multi.setTime(System.currentTimeMillis() - time);
-		return multi;
-	}
-
-	public String toString() {
-		return getName();
-	}
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be started, and supports the given mode.
-	 *
-	 * @param mode
-	 * @return boolean
-	 */
-	public boolean canStart(String mode) {
-		byte state = getServerState();
-		if (state != SERVER_STOPPED && state != SERVER_UNKNOWN)
-			return false;
-		
-		if (getServerType() == null || !getServerType().supportsLaunchMode(mode))
-			return false;
-
-		return true;
-	}
-	
-	public ILaunch getExistingLaunch() {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		
-		ILaunch[] launches = launchManager.getLaunches();
-		int size = launches.length;
-		for (int i = 0; i < size; i++) {
-			ILaunchConfiguration launchConfig = launches[i].getLaunchConfiguration();
-			try {
-				if (launchConfig != null) {
-					String serverId = launchConfig.getAttribute(SERVER_ID, (String) null);
-					if (getId().equals(serverId)) {
-						if (!launches[i].isTerminated())
-							return launches[i];
-					}
-				}
-			} catch (CoreException e) { }
-		}
-		
-		return null;
-	}
-
-	public void setLaunchDefaults(ILaunchConfigurationWorkingCopy workingCopy) {
-		try {
-			getDelegate().setLaunchDefaults(workingCopy);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate setLaunchDefaults() " + toString(), e);
-		}
-	}
-	
-	public ILaunchConfiguration getLaunchConfiguration(boolean create) throws CoreException {
-		ILaunchConfigurationType launchConfigType = ((ServerType) getServerType()).getLaunchConfigurationType();
-		
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfiguration[] launchConfigs = null;
-		try {
-			launchConfigs = launchManager.getLaunchConfigurations(launchConfigType);
-		} catch (CoreException e) { }
-		
-		if (launchConfigs != null) {
-			int size = launchConfigs.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					String serverId = launchConfigs[i].getAttribute(SERVER_ID, (String) null);
-					if (getId().equals(serverId))
-						return launchConfigs[i];
-				} catch (CoreException e) { }
-			}
-		}
-		
-		if (!create)
-			return null;
-		
-		// create a new launch configuration
-		String name = launchManager.generateUniqueLaunchConfigurationNameFrom(getName()); 
-		ILaunchConfigurationWorkingCopy wc = launchConfigType.newInstance(null, name);
-		wc.setAttribute(SERVER_ID, getId());
-		setLaunchDefaults(wc);
-		return wc.doSave();
-	}
-
-	/**
-	 * Start the server in the given mode.
-	 *
-	 * @param launchMode String
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclispe.core.runtime.IStatus
-	 */
-	public ILaunch start(String mode, IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.FINEST, "Starting server: " + toString() + ", launchMode: " + mode);
-	
-		try {
-			ILaunchConfiguration launchConfig = getLaunchConfiguration(true);
-			ILaunch launch = launchConfig.launch(mode, monitor);
-			Trace.trace(Trace.FINEST, "Launch: " + launch);
-			return launch;
-		} catch (CoreException e) {
-			Trace.trace(Trace.SEVERE, "Error starting server " + toString(), e);
-			throw e;
-		}
-	}
-
-	/**
-	 * Clean up any launch configurations with the given server ref.
-	 * 
-	 * @param serverRef java.lang.String
-	 */
-	protected void deleteLaunchConfigurations() {
-		if (getServerType() == null)
-			return;
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType launchConfigType = ((ServerType) getServerType()).getLaunchConfigurationType();
-		
-		ILaunchConfiguration[] configs = null;
-		try {
-			configs = launchManager.getLaunchConfigurations(launchConfigType);
-			int size = configs.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					if (getId().equals(configs[i].getAttribute(SERVER_ID, (String) null)))
-						configs[i].delete();
-				} catch (Exception e) { }
-			}
-		} catch (Exception e) { }
-	}
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be restarted.
-	 *
-	 * @return boolean
-	 */
-	public boolean canRestart(String mode) {
-		/*IServerDelegate delegate2 = getDelegate();
-		if (!(delegate2 instanceof IStartableServer))
-			return false;*/
-		if (!getServerType().supportsLaunchMode(mode))
-			return false;
-
-		byte state = getServerState();
-		return (state == SERVER_STARTED || state == SERVER_STARTED_DEBUG || state == SERVER_STARTED_PROFILE);
-	}
-
-	/**
-	 * Returns the current restart state of the server. This
-	 * implementation will always return false when the server
-	 * is stopped.
-	 *
-	 * @return boolean
-	 */
-	public boolean isRestartNeeded() {
-		if (getServerState() == SERVER_STOPPED)
-			return false;
-		return restartNeeded;
-	}
-	
-	/**
-	 * Sets the server restart state.
-	 *
-	 * @param state boolean
-	 */
-	public synchronized void setRestartNeeded(boolean state) {
-		if (state == restartNeeded)
-			return;
-		restartNeeded = state;
-		fireRestartStateChangeEvent();
-	}
-
-	/**
-	 * Restart the server with the given debug mode.
-	 * A server may only be restarted when it is currently running.
-	 * This method is asynchronous.
-	 */
-	public void restart(final String mode) {
-		if (getServerState() == SERVER_STOPPED)
-			return;
-	
-		Trace.trace(Trace.FINEST, "Restarting server: " + getName());
-	
-		try {
-			IServerDelegate delegate2 = getDelegate();
-			if (delegate2 instanceof IRestartableServer) {
-				((IRestartableServer) delegate2).restart(mode);
-			} else {
-				// add listener to start it as soon as it is stopped
-				addServerListener(new ServerAdapter() {
-					public void serverStateChange(IServer server) {
-						if (server.getServerState() == SERVER_STOPPED) {
-							server.removeServerListener(this);
-	
-							// restart in a quarter second (give other listeners a chance
-							// to hear the stopped message)
-							Thread t = new Thread() {
-								public void run() {
-									try {
-										Thread.sleep(250);
-									} catch (Exception e) { }
-									try {
-										Server.this.start(mode, new NullProgressMonitor());
-									} catch (Exception e) {
-										Trace.trace(Trace.SEVERE, "Error while restarting server", e);
-									}
-								}
-							};
-							t.setDaemon(true);
-							t.setPriority(Thread.NORM_PRIORITY - 2);
-							t.start();
-						}
-					}
-				});
-	
-				// stop the server
-				stop();
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error restarting server", e);
-		}
-	}
-
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be stopped.
-	 *
-	 * @return boolean
-	 */
-	public boolean canStop() {
-		if (getServerState() == SERVER_STOPPED)
-			return false;
-		
-		if (!(getDelegate() instanceof IStartableServer))
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Stop the server if it is running.
-	 */
-	public void stop() {
-		if (getServerState() == SERVER_STOPPED)
-			return;
-
-		// check if this is still a valid server
-		if (!(getDelegate() instanceof IStartableServer))
-			return;
-
-		Trace.trace(Trace.FINEST, "Stopping server: " + toString());
-
-		try {
-			((IStartableServer) getDelegate()).stop();
-		} catch (Throwable t) {
-			Trace.trace(Trace.SEVERE, "Error stopping server " + toString(), t);
-		}
-	}
-	
-	/**
-	 * Terminate the server process(es). This method should only be
-	 * used as a last resort after the stop() method fails to work.
-	 * The server should return from this method quickly and
-	 * use the server listener to notify shutdown progress.
-	 * It MUST terminate the server completely and return it to
-	 * the stopped state.
-	 */
-	public void terminate() {
-		try {
-			IStartableServer startableServer = (IStartableServer) getDelegate();
-			startableServer.terminate();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate terminate() " + toString(), e);
-		}
-	}
-	
-	/**
-	 * Start the server in the given start mode and waits until the server
-	 * has finished started.
-	 *
-	 * @param mode java.lang.String
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @exception org.eclipse.core.runtime.CoreException - thrown if an error occurs while trying to start the server
-	 */
-	public void synchronousStart(String mode, IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.FINEST, "synchronousStart 1");
-		final Object mutex = new Object();
-	
-		// add listener to the server
-		IServerListener listener = new ServerAdapter() {
-			public void serverStateChange(IServer server) {
-				byte state = server.getServerState();
-				if (state == IServer.SERVER_STARTED || state == IServer.SERVER_STARTED_DEBUG
-					|| state == IServer.SERVER_STARTED_PROFILE || state == IServer.SERVER_STOPPED) {
-					// notify waiter
-					synchronized (mutex) {
-						try {
-							Trace.trace(Trace.FINEST, "synchronousStart notify");
-							mutex.notifyAll();
-						} catch (Exception e) {
-							Trace.trace(Trace.SEVERE, "Error notifying server start", e);
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(120000);
-					if (!timer.alreadyDone) {
-						timer.timeout = true;
-						// notify waiter
-						synchronized (mutex) {
-							Trace.trace(Trace.FINEST, "synchronousStart notify timeout");
-							mutex.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e);
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	
-		Trace.trace(Trace.FINEST, "synchronousStart 2");
-	
-		// start the server
-		try {
-			start(mode, monitor);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			throw e;
-		}
-	
-		Trace.trace(Trace.FINEST, "synchronousStart 3");
-	
-		// wait for it! wait for it! ...
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && !(getServerState() == IServer.SERVER_STARTED ||
-					getServerState() == IServer.SERVER_STARTED_DEBUG ||
-					getServerState() == IServer.SERVER_STARTED_PROFILE ||
-					getServerState() == IServer.SERVER_STOPPED))
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
-			}
-		}
-		removeServerListener(listener);
-		
-		if (timer.timeout)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorInstanceStartFailed", getName()), null));
-		timer.alreadyDone = true;
-		
-		if (getServerState() == IServer.SERVER_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorInstanceStartFailed", getName()), null));
-	
-		Trace.trace(Trace.FINEST, "synchronousStart 4");
-	}
-
-	/**
-	 * Stop the server and wait until the
-	 * server has completely stopped.
-	 */
-	public void synchronousStop() {
-		if (getServerState() == IServer.SERVER_STOPPED)
-			return;
-		
-		final Object mutex = new Object();
-	
-		// add listener to the server
-		IServerListener listener = new ServerAdapter() {
-			public void serverStateChange(IServer server) {
-				byte state = server.getServerState();
-				if (Server.this == server && state == IServer.SERVER_STOPPED) {
-					// notify waiter
-					synchronized (mutex) {
-						try {
-							mutex.notifyAll();
-						} catch (Exception e) {
-							Trace.trace(Trace.SEVERE, "Error notifying server stop", e);
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(120000);
-					if (!timer.alreadyDone) {
-						timer.timeout = true;
-						// notify waiter
-						synchronized (mutex) {
-							Trace.trace(Trace.FINEST, "stop notify timeout");
-							mutex.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	
-		// stop the server
-		stop();
-	
-		// wait for it! wait for it!
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && getServerState() != IServer.SERVER_STOPPED)
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server stop", e);
-			}
-		}
-		removeServerListener(listener);
-		
-		/*
-		//can't throw exceptions
-		if (timer.timeout)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorInstanceStartFailed", getName()), null));
-		else
-			timer.alreadyDone = true;
-		
-		if (getServerState() == IServer.SERVER_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorInstanceStartFailed", getName()), null));*/
-	}
-	
-	/**
-	 * Trigger a restart of the given module and wait until it has finished restarting.
-	 *
-	 * @param module org.eclipse.wst.server.core.IModule
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @exception org.eclipse.core.runtime.CoreException - thrown if an error occurs while trying to restart the module
-	 */
-	public void synchronousModuleRestart(final IModule module, IProgressMonitor monitor) throws CoreException {
-		IRestartableModule rm = null;
-		try {
-			rm = (IRestartableModule) getDelegate();
-		} catch (Exception e) {
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, "Server does not support restarting modules", e));
-		}
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 1");
-
-		final Object mutex = new Object();
-	
-		// add listener to the module
-		IServerListener listener = new ServerAdapter() {
-			public void moduleStateChange(IServer server) {
-				byte state = server.getModuleState(module);
-				if (state == IServer.MODULE_STATE_STARTED || state == IServer.MODULE_STATE_STOPPED) {
-					// notify waiter
-					synchronized (mutex) {
-						try {
-							Trace.trace(Trace.FINEST, "synchronousModuleRestart notify");
-							mutex.notifyAll();
-						} catch (Exception e) {
-							Trace.trace(Trace.SEVERE, "Error notifying module restart", e);
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		// make sure it times out after 30s
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(30000);
-					if (!timer.alreadyDone) {
-						timer.timeout = true;
-						// notify waiter
-						synchronized (mutex) {
-							Trace.trace(Trace.FINEST, "synchronousModuleRestart notify timeout");
-							mutex.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying module restart timeout", e);
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 2");
-	
-		// restart the module
-		try {
-			rm.restartModule(module, monitor);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			throw e;
-		}
-	
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 3");
-	
-		// wait for it! wait for it! ...
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && !(getModuleState(module) == IServer.MODULE_STATE_STARTED || getModuleState(module) == IServer.MODULE_STATE_STOPPED))
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
-			}
-		}
-		removeServerListener(listener);
-		if (timer.timeout)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorModuleRestartFailed", getName()), null));
-		timer.alreadyDone = true;
-		
-		if (getModuleState(module) == IServer.SERVER_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorModuleRestartFailed", getName()), null));
-	
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 4");
-	}
-
-	public IPath getTempDirectory() {
-		return ServerPlugin.getInstance().getTempDirectory(getId());
-	}
-
-	protected String getXMLRoot() {
-		return "server";
-	}
-	
-	protected void loadState(IMemento memento) {
-		/*String serverTypeId = memento.getString("server-type-id");
-		serverType = ServerCore.getServerType(serverTypeId);
-		
-		String runtimeId = memento.getString("runtime-id");
-		runtime = ServerCore.getResourceManager().getRuntime(runtimeId);
-		
-		String configurationId = memento.getString("configuration-id");
-		configuration = ServerCore.getResourceManager().getServerConfiguration(configurationId);*/
-		resolve();
-	}
-	
-	protected void resolve() {
-		IServerType oldServerType = serverType;
-		String serverTypeId = getAttribute("server-type-id", (String)null);
-		serverType = ServerCore.getServerType(serverTypeId);
-		if (serverType != null && !serverType.equals(oldServerType))
-			serverState = ((ServerType)serverType).getInitialState();
-		
-		String runtimeId = getAttribute(RUNTIME_ID, (String)null);
-		runtime = ServerCore.getResourceManager().getRuntime(runtimeId);
-		
-		String configurationId = getAttribute(CONFIGURATION_ID, (String)null);
-		configuration = ServerCore.getResourceManager().getServerConfiguration(configurationId);
-	}
-	
-	protected void setInternal(ServerWorkingCopy wc) {
-		map = wc.map;
-		configuration = wc.configuration;
-		runtime = wc.runtime;
-		configurationSyncState = wc.configurationSyncState;
-		restartNeeded = wc.restartNeeded;
-		serverType = wc.serverType;
-
-		// can never modify the following properties via the working copy
-		//serverState = wc.serverState;
-		delegate = wc.delegate;
-	}
-	
-	protected void saveState(IMemento memento) {
-		if (serverType != null)
-			memento.putString("server-type", serverType.getId());
-
-		if (configuration != null)
-			memento.putString(CONFIGURATION_ID, configuration.getId());
-		else
-			memento.putString(CONFIGURATION_ID, null);
-		
-		if (runtime != null)
-			memento.putString(RUNTIME_ID, runtime.getId());
-		else
-			memento.putString(RUNTIME_ID, null);
-	}
-	
-	public void updateConfiguration() {
-		try {
-			getDelegate().updateConfiguration();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate updateConfiguration() " + toString(), e);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerConfiguration#canModifyModule(org.eclipse.wst.server.core.model.IModule)
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		try {
-			return getDelegate().canModifyModules(add, remove);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate canModifyModules() " + toString(), e);
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#getModules()
-	 */
-	public IModule[] getModules() {
-		try {
-			return getDelegate().getModules();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getModules() " + toString(), e);
-			return new IModule[0];
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#getModuleState()
-	 */
-	public byte getModuleState(IModule module) {
-		try {
-			return getDelegate().getModuleState(module);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getModuleState() " + toString(), e);
-			return MODULE_STATE_UNKNOWN;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerConfiguration#getRepairCommands(org.eclipse.wst.server.core.model.IModuleFactoryEvent[], org.eclipse.wst.server.core.model.IModuleEvent[])
-	 */
-	public ITask[] getRepairCommands(IModuleFactoryEvent[] factoryEvent, IModuleEvent[] moduleEvent) {
-		try {
-			return getDelegate().getRepairCommands(factoryEvent, moduleEvent);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getRepairCommands() " + toString(), e);
-			return new ITask[0];
-		}
-	}
-
-	/*
-	 * @see IServerConfigurationFactory#getChildModule(IModule)
-	 */
-	public List getChildModules(IModule module) {
-		try {
-			return getDelegate().getChildModules(module);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getChildModules() " + toString(), e);
-			return null;
-		}
-	}
-
-	/*
-	 * @see IServerConfigurationFactory#getParentModules(IModule)
-	 */
-	public List getParentModules(IModule module) throws CoreException {
-		try {
-			return getDelegate().getParentModules(module);
-		} catch (CoreException se) {
-			//Trace.trace(Trace.FINER, "CoreException calling delegate getParentModules() " + toString() + ": " + se.getMessage());
-			throw se;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getParentModules() " + toString(), e);
-			return null;
-		}
-	}
-	
-	/*
-	 * 
-	 */
-	/*public boolean hasRuntime() {
-		try {
-			return getDelegate().requiresRuntime();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate requiresRuntime() " + toString(), e);
-			return false;
-		}
-	}*/
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerBuilder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerBuilder.java
deleted file mode 100644
index 19b9b1c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerBuilder.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-/**
- * Links builder.
- */
-public class ServerBuilder extends IncrementalProjectBuilder {
-	// attribute to tag the server core broken link markers
-	private static final String SERVER_CORE_MARKER = "server-core-marker";
-
-	/**
-	 * @see IncrementalProjectBuilder#build
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "->- Link builder running on: " + getProject().getName() + " " + kind + " " + args + " ->-");
-		try {
-			IServerProject nature = (IServerProject) getProject().getNature(IServerProject.NATURE_ID);
-			Iterator iterator = nature.getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				updateServerMarkers(server);
-			}
-			iterator = nature.getServerConfigurations().iterator();
-			while (iterator.hasNext()) {
-				IServerConfiguration configuration = (IServerConfiguration) iterator.next();
-				updateConfigurationMarkers(configuration);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error in link builder", e);
-		}
-		Trace.trace(Trace.FINEST, "-<- Done link builder running -<-");
-		return null;
-	}
-
-	/**
-	 * startupOnInitialize method comment.
-	 */
-	protected void startupOnInitialize() {
-	}
-
-	/**
-	 * Update the "broken link" markers on a specific configuration.
-	 */
-	protected void updateConfigurationMarkers(IServerConfiguration configuration) {
-		/*IResource resource = ServerCore.getResourceManager().getServerResourceLocation(configuration);
-	
-		List missingProjects = new ArrayList();
-	
-	//FIX-ME
-		// just do immediate projects for now
-		String[] projectRefs = configuration.getProjectRefs();
-		if (projectRefs != null) {
-			int size = projectRefs.length;
-			for (int i = 0; i < size; i++) {
-				IProject project = Reference.getProjectByRef(projectRefs[i]);
-				if (project == null) {
-					missingProjects.add(projectRefs[i]);
-				}
-			}
-		}
-	
-		if (Trace.isTracing())
-			Trace.trace("Updating markers on " + configuration + " " + resource.getLocation().toString() + " " + missingProjects);
-	
-		try {
-			boolean found = false;
-			IMarker[] marker = resource.findMarkers(IMarker.PROBLEM, false, IResource.DEPTH_ZERO);
-			if (marker != null) {
-				int size = marker.length;
-				for (int i = 0; i < size; i++) {
-					if (marker[i].getAttribute(SERVER_CORE_MARKER, false)) {
-						Trace.trace("marker found");
-						try {
-							String projectRef = marker[i].getAttribute("projectRef", null);
-							if (projectRef != null && missingProjects.contains(projectRef)) {
-								// update marker
-								Trace.trace("Updating marker: " + marker[i].getId());
-								marker[i].setAttribute(IMarker.MESSAGE, ServerPlugin.getResource("%errorMissingProjectTask", new String[] {ServerUtil.getName(configuration), Reference.getProjectNameFromRef(projectRef)}));
-								marker[i].setAttribute(IMarker.LOCATION, resource.getLocation().toString());
-								marker[i].setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
-							} else {
-								// remove
-								Trace.trace("Removing marker: " + marker[i].getId());
-								marker[i].delete();
-							}
-							missingProjects.remove(projectRef);
-						} catch (Exception e) {
-							Trace.trace("Error updating markers 1", e);
-						}
-					}
-				}
-			}
-	
-			if (!missingProjects.isEmpty()) {
-				Iterator iterator = missingProjects.iterator();
-				while (iterator.hasNext()) {
-					String projectRef = (String) iterator.next();		
-					try {
-						// add new marker
-						Trace.trace("Adding new marker");
-						IMarker newMarker = resource.createMarker(IMarker.PROBLEM);
-						newMarker.setAttribute(SERVER_CORE_MARKER, true);
-						newMarker.setAttribute(IMarker.MESSAGE, ServerPlugin.getResource("%errorMissingProjectTask", new String[] {ServerUtil.getName(configuration), Reference.getProjectNameFromRef(projectRef)} ));
-						newMarker.setAttribute(IMarker.LOCATION, resource.getLocation().toString());
-						newMarker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
-					} catch (Exception e) {
-						Trace.trace("Error updating markers 2", e);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace("Error updating markers", e);
-		}
-		Trace.trace("Done updating markers");
-		*/
-	}
-
-	/**
-	 * Update the "broken link" markers on a specific server.
-	 */
-	protected void updateServerMarkers(IServer server) {
-		IFile file = server.getFile();
-		if (file == null || !file.exists())
-			return;
-		
-		if (!server.getServerType().hasServerConfiguration())
-			return;
-	
-		IServerConfiguration configuration = server.getServerConfiguration();
-		boolean isProblem = (configuration == null);
-	
-		Trace.trace(Trace.FINEST, "Updating markers on " + server + " " + file.getLocation().toString() + " " + isProblem);
-	
-		try {
-			boolean found = false;
-			IMarker[] marker = file.findMarkers(IMarker.PROBLEM, false, IResource.DEPTH_ZERO);
-			if (marker != null) {
-				int size = marker.length;
-				for (int i = 0; i < size; i++) {
-					if (marker[i].getAttribute(SERVER_CORE_MARKER, false)) {
-						try {
-							if (isProblem && !found) {
-								// update marker
-								Trace.trace(Trace.FINEST, "Updating marker: " + marker[i].getId());
-								marker[i].setAttribute(IMarker.MESSAGE, ServerPlugin.getResource("%errorMissingConfigurationTask", new String[] {server.getName()}));
-								marker[i].setAttribute(IMarker.LOCATION, file.getLocation().toString());
-								marker[i].setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
-							} else {
-								// remove
-								Trace.trace(Trace.FINEST, "Removing marker: " + marker[i].getId());
-								marker[i].delete();
-							}
-						} catch (Exception e) {
-							Trace.trace(Trace.SEVERE, "Error updating markers 1", e);
-						}
-						found = true;
-					}
-				}
-			}
-	
-			if (!found && isProblem) {
-				try {
-					// add new marker
-					Trace.trace(Trace.FINEST, "Adding new marker");
-					IMarker newMarker = file.createMarker(IMarker.PROBLEM);
-					newMarker.setAttribute(SERVER_CORE_MARKER, true);
-					newMarker.setAttribute(IMarker.MESSAGE, ServerPlugin.getResource("%errorMissingConfigurationTask", new String[] {server.getName()}));
-					newMarker.setAttribute(IMarker.LOCATION, file.getLocation().toString());
-					newMarker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error updating markers 2", e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error updating markers", e);
-		}
-		Trace.trace(Trace.FINEST, "Done updating markers");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfiguration.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfiguration.java
deleted file mode 100644
index da024f7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfiguration.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.FileUtil;
-/**
- * 
- */
-public class ServerConfiguration extends Base implements IServerConfiguration {
-	protected IServerConfigurationType configurationType;
-	protected IServerConfigurationDelegate delegate;
-	protected boolean isDataLoaded = false;
-	
-	// working copy, loaded resource
-	public ServerConfiguration(IFile file) {
-		super(file);
-	}
-
-	// creation (working copy)
-	public ServerConfiguration(String id, IFile file, IServerConfigurationType type) {
-		super(file, id);
-		this.configurationType = type;
-	}
-
-	public IServerConfigurationDelegate getDelegate() {
-		if (delegate != null)
-			return delegate;
-		
-		synchronized (this) {
-			if (delegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					ServerConfigurationType configType = (ServerConfigurationType) configurationType;
-					delegate = (IServerConfigurationDelegate) configType.getElement().createExecutableExtension("class");
-					delegate.initialize(this);
-					loadData();
-					Trace.trace(Trace.PERFORMANCE, "ServerConfiguration.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerConfigurationType().getId());
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-				}
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Returns true if the delegate has been loaded.
-	 * 
-	 * @return
-	 */
-	public boolean isDelegateLoaded() {
-		return delegate != null;
-	}
-	
-	public void dispose() {
-		if (delegate != null)
-			delegate.dispose();
-	}
-	
-	public boolean isDelegatePluginActivated() {
-		IConfigurationElement element = ((ServerConfigurationType) configurationType).getElement();
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		return Platform.getBundle(pluginId).getState() == Bundle.ACTIVE;
-	}
-	
-	public IServerConfigurationWorkingCopy getWorkingCopy() {
-		IServerConfigurationWorkingCopy wc = new ServerConfigurationWorkingCopy(this); 
-		addWorkingCopy(wc);
-		return wc;
-	}
-	
-	public void delete() throws CoreException {
-		if (file != null) {
-			file.delete(true, true, new NullProgressMonitor());
-			if (getServerConfigurationType().isFolder()) {
-				IFolder folder = getFolder(false);
-				if (folder.exists())
-					folder.delete(true, true, new NullProgressMonitor());
-			}
-		} else
-			deleteFromMetadata();
-	}
-	
-	public IServerConfigurationType getServerConfigurationType() {
-		return configurationType;
-	}
-
-	public IFolder getConfigurationDataFolder() {
-		if (file == null)
-			return null;
-		try {
-			return getFolder(false);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	public IPath getConfigurationDataPath() {
-		if (file != null)
-			return null;
-		return getPath(false);
-	}
-
-	protected IFolder getFolder(boolean create) throws CoreException {
-		IPath path = file.getProjectRelativePath();
-		path = path.removeLastSegments(1).append(file.getName() + "-data");
-		IFolder folder = file.getProject().getFolder(path);
-		if (!folder.exists() && create)
-			folder.create(true, true, new NullProgressMonitor());
-		return folder;
-	}
-	
-	protected IPath getPath(boolean create) {
-		IPath path = ServerPlugin.getInstance().getStateLocation().append("configs");
-		path = path.append(getId() + "-data");
-		if (create) {
-			File file2 = path.toFile();
-			if (!file2.exists())
-				file2.mkdirs();
-		}
-		return path;
-	}
-	
-	protected void loadData() {
-		if (isDataLoaded)
-			return;
-		isDataLoaded = true;
-		if (!getServerConfigurationType().isFolder())
-			return;
-
-		try {
-			if (file != null) {
-				IFolder folder = getFolder(false);
-				getDelegate().load(folder, new NullProgressMonitor());
-			} else {
-				IPath path = getPath(false);
-				getDelegate().load(path, new NullProgressMonitor());
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load server configuration data", e);
-		}
-	}
-	
-	protected void saveData(boolean create) {
-		if (!isDataLoaded || !getServerConfigurationType().isFolder())
-			return;
-		
-		try {
-			if (file != null) {
-				IFolder folder = getFolder(create);
-				getDelegate().save(folder, new NullProgressMonitor());
-			} else {
-				IPath path = getPath(create);
-				getDelegate().save(path, new NullProgressMonitor());
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save server configuration data", e);
-		}
-	}
-
-	protected void saveToFile(IProgressMonitor monitor) throws CoreException {
-		super.saveToFile(monitor);
-		
-		saveData(true);
-	}
-
-	protected void loadFromFile(IProgressMonitor monitor) throws CoreException {
-		super.loadFromFile(monitor);
-		
-		//loadData();
-	}
-	
-	protected void deleteFromMetadata() {
-		ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-		rm.removeServerConfiguration(this);
-		
-		if (getServerConfigurationType().isFolder()) {
-			try {
-				IPath path = getPath(false);
-				File file2 = path.toFile();
-				if (file2.exists())
-					FileUtil.deleteDirectory(file2, new NullProgressMonitor());
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not save server configuration", e);
-			}
-		}
-	}
-
-	protected void saveToMetadata(IProgressMonitor monitor) {
-		super.saveToMetadata(monitor);
-		ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-		rm.addServerConfiguration(this);
-		
-		saveData(true);
-	}
-	
-	protected String getXMLRoot() {
-		return "server-configuration";
-	}
-	
-	protected void setInternal(ServerConfigurationWorkingCopy wc) {
-		map = wc.map;
-		configurationType = wc.configurationType;
-		isDataLoaded = false; //wc.isDataLoaded; let the wc save it
-		delegate = wc.delegate;
-		
-		int timestamp = wc.getTimestamp();
-		map.put("timestamp", Integer.toString(timestamp+1));
-	}
-	
-	protected void loadFromMemento(IMemento memento, IProgressMonitor monitor) {
-		super.loadFromMemento(memento, monitor);
-		
-		//loadData();
-	}
-	
-	protected void loadState(IMemento memento) {
-		String serverTypeId = memento.getString("server-configuration-type-id");
-		configurationType = ServerCore.getServerConfigurationType(serverTypeId);
-	}
-	
-	protected void saveState(IMemento memento) {
-		if (configurationType != null)
-			memento.putString("server-configuration-type-id", configurationType.getId());
-	}
-	
-	public IStatus validateEdit(Object context) {
-		if (file == null)
-			return null;
-		
-		// TODO
-		return file.getWorkspace().validateEdit(new IFile[] { file }, context);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfigurationType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfigurationType.java
deleted file mode 100644
index 86ec84b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfigurationType.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.*;
-/**
- * 
- */
-public class ServerConfigurationType implements IServerConfigurationType {
-	protected IConfigurationElement element;
-
-	/**
-	 * ServerConfigurationType constructor comment.
-	 */
-	public ServerConfigurationType(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	public boolean isFolder() {
-		return "true".equalsIgnoreCase(element.getAttribute("isFolder"));
-	}
-	
-	/**
-	 * Return the import extensions.
-	 *
-	 * @return java.lang.String
-	 */
-	public String[] getImportFilterExtensions() {
-		String importExt = element.getAttribute("importExtensions");
-		if (importExt == null || importExt.length() < 1)
-			return null;
-		return ServerPlugin.tokenize(importExt, ",");
-	}
-	
-	public IServerConfigurationWorkingCopy createServerConfiguration(String id, IFile file, IProgressMonitor monitor) {
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		ServerConfigurationWorkingCopy scwc = new ServerConfigurationWorkingCopy(id, file, this);
-		scwc.setDefaults();
-		return scwc;
-	}
-	
-	public IServerConfigurationWorkingCopy importFromRuntime(String id, IFile file, IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		ServerConfigurationWorkingCopy scwc = new ServerConfigurationWorkingCopy(id, file, this);
-		scwc.setDefaults();
-		scwc.importFromRuntime(runtime, monitor);
-		return scwc;
-	}
-	
-	public IServerConfigurationWorkingCopy importFromPath(String id, IFile file, IPath path, IProgressMonitor monitor) throws CoreException {
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		ServerConfigurationWorkingCopy scwc = new ServerConfigurationWorkingCopy(id, file, this);
-		scwc.setDefaults();
-		scwc.importFromPath(path, monitor);
-		return scwc;
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ServerConfigurationType[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfigurationWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfigurationWorkingCopy.java
deleted file mode 100644
index f83687e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.beans.PropertyChangeListener;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IServerConfigurationDelegate;
-import org.eclipse.wst.server.core.model.IServerConfigurationWorkingCopyDelegate;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * 
- */
-public class ServerConfigurationWorkingCopy extends ServerConfiguration implements IServerConfigurationWorkingCopy {
-	protected ServerConfiguration config;
-	protected WorkingCopyHelper wch;
-	
-	protected IServerConfigurationWorkingCopyDelegate workingCopyDelegate;
-	
-	// working copy
-	public ServerConfigurationWorkingCopy(ServerConfiguration config) {
-		super(config.getFile());
-		this.config = config;
-		this.configurationType = config.configurationType;
-		
-		map = new HashMap(config.map);
-		wch = new WorkingCopyHelper(this);
-	}
-
-	// creation
-	public ServerConfigurationWorkingCopy(String id, IFile file, IServerConfigurationType configType) {
-		super(id, file, configType);
-		//this.config = this;
-		wch = new WorkingCopyHelper(this);
-		wch.setDirty(true);
-	}
-
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	public IServerConfiguration getOriginal() {
-		return config;
-	}
-	
-	public IServerConfigurationWorkingCopy getWorkingCopy() {
-		return this;
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		wch.setAttribute(attributeName, value);
-	}
-	
-	public void setAttribute(String attributeName, String value) {
-		wch.setAttribute(attributeName, value);
-	}
-	
-	public void setAttribute(String attributeName, List value) {
-		wch.setAttribute(attributeName, value);
-	}
-	
-	public void setAttribute(String attributeName, Map value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		wch.setName(name);
-	}
-	
-	public void setLocked(boolean b) {
-		wch.setLocked(b);
-	}
-
-	public void setPrivate(boolean b) {
-		wch.setPrivate(b);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return wch.isDirty();
-	}
-	
-	public void release() {
-		wch.release();
-		dispose();
-		if (config != null)
-			config.release(this);
-	}
-	
-	public IServerConfiguration save(IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.subTask(ServerPlugin.getResource("%savingTask", getName()));
-		if (wch.isReleased())
-			return null;
-		if (config == null)
-			config = new ServerConfiguration(file);
-		
-		getWorkingCopyDelegate().handleSave(IServerConfigurationWorkingCopyDelegate.PRE_SAVE, monitor);
-		config.setInternal(this);
-		config.doSave(monitor);
-		saveData(true);
-		wch.setDirty(false);
-		release();
-		getWorkingCopyDelegate().handleSave(IServerConfigurationWorkingCopyDelegate.POST_SAVE, monitor);
-		
-		return config;
-	}
-	
-	public IServerConfiguration save(IProgressMonitor monitor, boolean release) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.subTask(ServerPlugin.getResource("%savingTask", getName()));
-		if (wch.isReleased())
-			return null;
-		if (config == null)
-			config = new ServerConfiguration(file);
-		
-		getWorkingCopyDelegate().handleSave(IServerConfigurationWorkingCopyDelegate.PRE_SAVE, monitor);
-		config.setInternal(this);
-		config.doSave(monitor);
-		saveData(true);
-		wch.setDirty(false);
-		if (release)
-			release();
-		getWorkingCopyDelegate().handleSave(IServerConfigurationWorkingCopyDelegate.POST_SAVE, monitor);
-		return config;
-	}
-	
-	public IServerConfigurationDelegate getDelegate() {
-		return getWorkingCopyDelegate();
-	}
-	
-	public IServerConfigurationWorkingCopyDelegate getWorkingCopyDelegate() {
-		return getWorkingCopyDelegate(true);
-	}
-
-	public IServerConfigurationWorkingCopyDelegate getWorkingCopyDelegate(boolean load) {
-		if (workingCopyDelegate != null)
-			return workingCopyDelegate;
-		
-		synchronized (this) {
-			if (workingCopyDelegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					ServerConfigurationType configType = (ServerConfigurationType) configurationType;
-					workingCopyDelegate = (IServerConfigurationWorkingCopyDelegate) configType.getElement().createExecutableExtension("workingCopyClass");
-					workingCopyDelegate.initialize((IServerConfiguration) this);
-					workingCopyDelegate.initialize(this);
-					if (load)
-						loadData();
-					Trace.trace(Trace.PERFORMANCE, "ServerConfigurationWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerConfigurationType().getId());
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-				}
-			}
-		}
-		return workingCopyDelegate;
-	}
-	
-	public void dispose() {
-		super.dispose();
-		if (workingCopyDelegate != null)
-			workingCopyDelegate.dispose();
-	}
-	
-	/**
-	 * Add a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		wch.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		wch.removePropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Fire a property change event.
-	 */
-	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		wch.firePropertyChangeEvent(propertyName, oldValue, newValue);
-	}
-	
-	public void setDefaults() {
-		try {
-			getWorkingCopyDelegate(false).setDefaults();
-			isDataLoaded = true;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate setDefaults() " + toString(), e);
-		}
-	}
-	
-	public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		try {
-			getWorkingCopyDelegate(false).importFromPath(path, monitor);
-			isDataLoaded = true;
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate importFromPath() " + toString(), e);
-		}
-	}
-	
-	public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		try {
-			getWorkingCopyDelegate(false).importFromRuntime(runtime, monitor);
-			isDataLoaded = true;
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate importFromRuntime() " + toString(), e);
-		}
-	}
-	
-	public String toString() {
-		return "ServerConfigurationWorkingCopy " + getId();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java
deleted file mode 100644
index a08c22f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.ServerResourceAdapter;
-/**
- * Listens for messages from the servers. This class keeps
- * track of server instances current state and any clients
- * that are waiting to run on the server. 
- */
-public class ServerListener extends ServerResourceAdapter implements IServerListener {
-	// static instance
-	protected static ServerListener listener;
-
-	/**
-	 * ServerListener constructor comment.
-	 */
-	private ServerListener() {
-		super();
-	}
-	
-	/**
-	 * Get the static instance.
-	 *
-	 * @return org.eclipse.wst.server.core.internal.plugin.ServerListener
-	 */
-	public static ServerListener getInstance() {
-		if (listener == null)
-			listener = new ServerListener();
-		return listener;
-	}
-	
-	/**
-	 * Called when the server configuration's sync state changes.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void configurationSyncStateChange(IServer server) { }
-
-	/**
-	 * Notification when the server state has changed.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void serverStateChange(IServer server) { }
-
-	/**
-	 * Notification when the server state has changed.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void modulesChanged(IServer server) { }
-
-	/**
-	 * Notification when the state of a module has changed.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void moduleStateChange(IServer server, IModule module) { }
-
-	/**
-	 * Called when the server isRestartNeeded() property changes.
-	 *
-	 * @param instance org.eclipse.wst.server.core.model.IServer
-	 */
-	public void restartStateChange(IServer server) {
-		/*if (server.isRestartNeeded() == false)
-			return;
-		
-		byte state = server.getServerState();
-		if (state != IServer2.SERVER_STARTED && state != IServer2.SERVER_STARTED_DEBUG && state != IServer.SERVER_STARTED_PROFILE)
-			return;
-	
-		if (ServerCore.getServerPreferences().isAutoRestarting()) {
-			try {
-				server.restart();
-			} catch (CoreException e) {
-				Trace.trace(Trace.SEVERE, "Error restarting server", e);
-			}
-		}*/
-	}
-
-	/**
-	 * A new resource has been added.
-	 *
-	 * @param event org.eclipse.wst.server.core.model.IServerResource
-	 */
-	public void serverAdded(IServer server) {
-		server.addServerListener(this);
-	}
-
-	/**
-	 * A existing resource has been removed.
-	 *
-	 * @param event org.eclipse.wst.server.core.model.IServerResource
-	 */
-	public void serverRemoved(IServer server) {
-		server.removeServerListener(this);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
deleted file mode 100644
index bd4270c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerMonitor;
-import org.eclipse.wst.server.core.model.IServerMonitorDelegate;
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * 
- */
-public class ServerMonitor implements IServerMonitor {
-	private IConfigurationElement element;
-	private IServerMonitorDelegate delegate;
-
-	/**
-	 * Monitor constructor comment.
-	 */
-	public ServerMonitor(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IMonitor#getDescription()
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-
-	/*
-	 * @see IMonitor#getLabel()
-	 */
-	public String getName() {
-		String label = element.getAttribute("name");
-		if (label == null)
-			return "n/a";
-		return label;
-	}
-
-	/*
-	 * @see IMonitor#getDelegate()
-	 */
-	public IServerMonitorDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IServerMonitorDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Start monitoring the given port, and return the port number to
-	 * tunnel requests through.
-	 * @param port
-	 * @return
-	 */
-	public int startMonitoring(IServer server, IServerPort port, int monitorPort) throws CoreException {
-		try {
-			return getDelegate().startMonitoring(server, port, monitorPort);
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return -1;
-		}
-	}
-
-	/**
-	 * Stop monitoring the given port.
-	 * @param port
-	 */
-	public void stopMonitoring(IServer server, IServerPort port) {
-		try {
-			getDelegate().stopMonitoring(server, port);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "Monitor[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
deleted file mode 100644
index 08c6480..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IMonitorableServer;
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * 
- */
-public class ServerMonitorManager implements IServerMonitorManager {
-	private static final String MONITOR_DATA_FILE = "monitors.xml";
-	
-	protected static ServerMonitorManager instance;
-
-	protected List ports = new ArrayList(); 
-	protected IServerMonitor monitor;
-	
-	class MonitoredPort implements IMonitoredServerPort {
-		protected IServer server;
-		protected IServerPort port;
-		protected int newPort = -1;
-		protected String[] content;
-		public boolean started;
-		
-		public MonitoredPort(IServer server, IServerPort port, int newPort, String[] content) {
-			this.server = server;
-			this.port = port;
-			this.newPort = newPort;
-			this.content = content;
-		}
-		
-		public MonitoredPort(IMemento memento) {
-			load(memento);
-		}
-		
-		public IServer getServer() {
-			return server;
-		}
-		
-		public IServerPort getServerPort() {
-			return port;
-		}
-		
-		public int getMonitorPort() {
-			return newPort;
-		}
-		
-		public void setMonitorPort(int p) {
-			newPort = p;
-		}
-		
-		public String[] getContentTypes() {
-			return content;
-		}
-		
-		public boolean isStarted() {
-			return started;
-		}
-		
-		protected void setStarted(boolean s) {
-			started = s;
-		}
-		
-		public boolean equals(Object obj) {
-			if (!(obj instanceof MonitoredPort))
-				return false;
-			MonitoredPort mp = (MonitoredPort) obj;
-			if (!mp.server.equals(server))
-				return false;
-			if (!mp.port.equals(port))
-				return false;
-			if (newPort != mp.newPort)
-				return false;
-			if (content == null && mp.content != null)
-				return false;
-			if (content != null && mp.content == null)
-				return false;
-			if (content != null) {
-				int size = content.length;
-				if (size != mp.content.length)
-					return false;
-				for (int i = 0; i < size; i++)
-					if (!content[i].equals(mp.content[i]))
-						return false;
-			}
-			return true;
-		}
-		
-		protected boolean canSave() {
-			return (port.getId() != null);
-		}
-		
-		protected void save(IMemento memento) {
-			memento.putString("serverId", server.getId());
-			if (newPort != -1)
-				memento.putString("port", newPort + "");
-			memento.putString("portId", port.getId());
-			memento.putBoolean("started", started);
-			
-			if (content != null) {
-				StringBuffer sb = new StringBuffer();
-				int size = content.length;
-				for (int i = 0; i < size; i++) {
-					if (i > 0)
-						sb.append(",");
-					sb.append(content[i]);
-				}
-				memento.putString("contentTypes", sb.toString());
-			}
-		}
-		
-		protected void load(IMemento memento) {
-			String serverId = memento.getString("serverId");
-			server = ServerCore.getResourceManager().getServer(serverId);
-			if (server == null)
-				throw new RuntimeException("Server could not be found: " + serverId + " " + server);
-			String newPortStr = memento.getString("port");
-			if (newPortStr != null && newPortStr.length() > 0)
-				newPort = Integer.parseInt(newPortStr);
-			String portId = memento.getString("portId");
-			
-			IMonitorableServer ms = (IMonitorableServer) server.getDelegate();
-			Iterator iterator = ms.getServerPorts().iterator();
-			while (port == null && iterator.hasNext()) {
-				IServerPort sp = (IServerPort) iterator.next();
-				if (sp.getId() != null && sp.getId().equals(portId))
-					port = sp;
-			}
-			if (port == null)
-				throw new RuntimeException("Could not relocate port: " + serverId + " " + server + " " + portId);
-			
-			String s = memento.getString("contentTypes");
-			if (s != null)
-				content = ServerPlugin.tokenize(s, ",");
-			
-			Boolean b = memento.getBoolean("started");
-			if (b != null && b.booleanValue()) {
-				try {
-					newPort = monitor.startMonitoring(server, port, newPort);
-					started = true;
-				} catch (CoreException e) {
-					Trace.trace(Trace.WARNING, "Could not restart server monitor", e);
-				}
-			}
-		}
-	}
-
-	public ServerMonitorManager() {
-		List monitors = ServerCore.getServerMonitors();
-		if (!monitors.isEmpty())
-			monitor = (IServerMonitor) monitors.get(0);
-		
-		instance = this;
-		loadMonitors();
-	}
-	
-	public static ServerMonitorManager getInstance() {
-		if (instance == null)
-			new ServerMonitorManager();
-		return instance;
-	}
-	
-	public static void shutdown() {
-		if (instance == null)
-			return;
-		instance.saveMonitors();
-	}
-
-	/**
-	 * Returns the monitor that is currently being used.
-	 *  
-	 * @return
-	 */
-	public IServerMonitor getCurrentServerMonitor() {
-		return monitor;
-	}
-
-	/**
-	 * Switch to use a different server monitor. All existing monitors will be
-	 * removed from the current monitor and added to the new monitor.
-	 * 
-	 * @param newMonitor
-	 * @throws org.eclipse.core.runtime.CoreException
-	 */
-	public void setServerMonitor(IServerMonitor newMonitor) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, "Not implemented yet", null));
-	}
-
-	/**
-	 * Returns the list of ports that are currently being monitored.
-	 *
-	 * @return
-	 */
-	public List getMonitoredPorts(IServer server) {
-		List list = new ArrayList();
-		Iterator iterator = ports.iterator();
-		while (iterator.hasNext()) {
-			MonitoredPort mp = (MonitoredPort) iterator.next();
-			if (mp.server.equals(server))
-				list.add(mp);
-		}
-		return list;
-	}
-
-	/**
-	 * Starts monitoring the given port, and returns the new port # to use that will
-	 * route to the monitored port.
-	 * 
-	 * @param port
-	 * @return
-	 * @throws org.eclipse.core.runtime.CoreException
-	 */
-	public IMonitoredServerPort createMonitor(IServer server, IServerPort port, int monitorPort, String[] content) {
-		if (port == null || monitor == null)
-			return null;
-		
-		MonitoredPort mp = new MonitoredPort(server, port, monitorPort, content);
-		ports.add(mp);
-		return mp;
-	}
-
-	/**
-	 * Stop monitoring the given port. Throws a CoreException if there was a problem
-	 * stopping the monitoring
-	 *
-	 * @param port
-	 * @throws org.eclipse.core.runtime.CoreException
-	 */
-	public void removeMonitor(IMonitoredServerPort port) {
-		if (port == null)
-			return;
-
-		try {
-			ports.remove(port);
-			if (port.isStarted())
-				monitor.stopMonitoring(port.getServer(), port.getServerPort());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not remove monitor", e);
-		}
-	}
-
-	/**
-	 * Start the monitor. If the msp port is -1, it will be updated to the port that is actually in use.
-	 * 
-	 * @param port
-	 * @throws CoreException
-	 */
-	public void startMonitor(IMonitoredServerPort msp) throws CoreException {
-		if (msp == null || msp.isStarted())
-			return;
-		
-		MonitoredPort port = (MonitoredPort) msp;
-		port.setMonitorPort(monitor.startMonitoring(msp.getServer(), msp.getServerPort(), msp.getMonitorPort()));
-		port.setStarted(true);
-	}
-
-	/**
-	 * Stop monitoring.
-	 * 
-	 * @param port
-	 */
-	public void stopMonitor(IMonitoredServerPort msp) {
-		if (msp == null || !msp.isStarted())
-			return;
-		MonitoredPort port = (MonitoredPort) msp;
-		monitor.stopMonitoring(msp.getServer(), msp.getServerPort());
-		port.setStarted(false);
-	}
-
-	/**
-	 * Returns the mapped port to use when making requests to the given server
-	 * and port number. Returns the existing port number if the port is not being
-	 * monitored.
-	 * 
-	 * @param port
-	 * @return
-	 */
-	public int getMonitoredPort(IServer server, int port, String content) {
-		try {
-			Iterator iterator = ports.iterator();
-			while (iterator.hasNext()) {
-				MonitoredPort mp = (MonitoredPort) iterator.next();
-				if (mp.isStarted() && mp.server.equals(server) && mp.port.getPort() == port) {
-					String[] contentTypes = mp.getContentTypes();
-					boolean found = false;
-					if (content == null || contentTypes != null) {
-						int size = contentTypes.length;
-						for (int i = 0; i < size; i++)
-							if (content.equals(contentTypes[i]))
-								found = true;
-					} else
-						found = true;
-					if (found && mp.newPort != -1)
-						return mp.newPort;
-				}
-			}
-		} catch (Exception e) { }
-		return port;
-	}
-	
-	protected void saveMonitors() {
-		String filename = ServerPlugin.getInstance().getStateLocation().append(MONITOR_DATA_FILE).toOSString();
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("monitors");
-
-			Iterator iterator = ports.iterator();
-			while (iterator.hasNext()) {
-				MonitoredPort mp = (MonitoredPort) iterator.next();
-				if (mp.canSave()) {
-					IMemento child = memento.createChild("monitor");
-					mp.save(child);
-				}
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error saving monitor info", e);
-		}
-	}
-	
-	protected void loadMonitors() {
-		Trace.trace(Trace.FINEST, "Loading monitor info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append(MONITOR_DATA_FILE).toOSString();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("monitor");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				try {
-					MonitoredPort mp = new MonitoredPort(children[i]);
-					ports.add(mp);
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not load monitor: " + e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load monitor info: " + e.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
deleted file mode 100644
index 4832fe2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.*;
-import java.util.*;
-import java.text.Collator;
-import java.text.DateFormat;
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.util.*;
-import org.osgi.framework.BundleContext;
-/**
- * The main server plugin class.
- */
-public class ServerPlugin extends Plugin {
-	public static final String PROJECT_PREF_FILE = ".serverPreference";
-	
-	protected static final DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
-	protected static int num = 0;
-
-	// singleton instance of this class
-	private static ServerPlugin singleton;
-
-	private static final String TEMP_DATA_FILE = "tmp-data.xml";
-
-	class TempDir {
-		String path;
-		int age;
-	}
-
-	// temp directories - String key to TempDir
-	protected Map tempDirHash;
-
-	/**
-	 * Create the ServerPlugin.
-	 */
-	public ServerPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.server.core.internal.plugin.ServerPlugin
-	 */
-	public static ServerPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key) {
-		try {
-			return Platform.getResourceString(getInstance().getBundle(), key);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arguments java.lang.Object[]
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, Object[] arguments) {
-		try {
-			String text = getResource(key);
-			return MessageFormat.format(text, arguments);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-	
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arguments java.lang.Object[]
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, String arg) {
-		return getResource(key, new String[] { arg });
-	}
-
-	/**
-	 * Returns a temporary directory that the requestor can use
-	 * throughout it's lifecycle. This is primary to be used by
-	 * server instances for working directories, instance specific
-	 * files, etc.
-	 *
-	 * <p>As long as the same key is used to call this method on
-	 * each use of the workbench, this method directory will return
-	 * the same directory. If the directory is not requested over a
-	 * period of time, the directory may be deleted and a new one
-	 * will be assigned on the next request. For this reason, a
-	 * server instance should request the temp directory on startup
-	 * if it wants to store files there. In all cases, the instance
-	 * should have a backup plan anyway, as this directory may be
-	 * deleted accidentally.</p>
-	 *
-	 * @param key
-	 * @return java.io.File
-	 */
-	public IPath getTempDirectory(String key) {
-		if (key == null)
-			return null;
-	
-		// first, look through hash of current directories
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
-			if (dir != null) {
-				dir.age = 0;
-				return statePath.append(dir.path);
-			}
-		} catch (Exception e) { }
-	
-		// otherwise, create a new directory
-	
-		// find first free directory
-		String path = null;
-		File dir = null;
-		int count = 0;
-		while (dir == null || dir.exists()) {
-			path = "tmp" + count;
-			dir = statePath.append(path).toFile();
-			count ++;
-		}
-	
-		dir.mkdirs();
-	
-		TempDir d = new TempDir();
-		d.path = path;
-		tempDirHash.put(key, d);
-		saveTempDirInfo();
-		return statePath.append(path);
-	}
-	
-	/**
-	 * Remove a temp directory.
-	 * @param key
-	 */
-	public void removeTempDirectory(String key, IProgressMonitor monitor) {
-		if (key == null)
-			return;
-		
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
-			if (dir != null) {
-				tempDirHash.remove(key);
-				saveTempDirInfo();
-				FileUtil.deleteDirectory(statePath.append(dir.path).toFile(), monitor);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not remove temp directory", e);
-		}
-	}
-	
-	/**
-	 * Load the temporary directory information.
-	 */
-	private void loadTempDirInfo() {
-		Trace.trace(Trace.FINEST, "Loading temporary directory information");
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
-	
-		tempDirHash = new HashMap();
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-	
-			IMemento[] children = memento.getChildren("temp-directory");
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				String key = children[i].getString("key");
-	
-				TempDir d = new TempDir();
-				d.path = children[i].getString("path");
-				d.age = children[i].getInteger("age").intValue();
-				d.age++;
-	
-				tempDirHash.put(key, d);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load temporary directory information: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	/**
-	 * Save the temporary directory information.
-	 */
-	private void saveTempDirInfo() {
-		// save remaining directories
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
-	
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("temp-directories");
-	
-			Iterator iterator = tempDirHash.keySet().iterator();
-			while (iterator.hasNext()) {
-				String key = (String) iterator.next();
-				TempDir d = (TempDir) tempDirHash.get(key);
-	
-				if (d.age < 5) {
-					IMemento child = memento.createChild("temp-directory");
-					child.putString("key", key);
-					child.putString("path", d.path);
-					child.putInteger("age", d.age);
-				} else {
-					FileUtil.deleteDirectory(statePath.append(d.path).toFile(), new NullProgressMonitor());
-				}
-			}
-	
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save temporary directory information", e);
-		}
-	}
-	
-	protected void initializeDefaultPluginPreferences() {
-		ServerPreferences.getServerPreferences().setDefaults();
-	}
-
-	/**
-	 * Start up this plug-in.
-	 */
-	public void start(BundleContext context) throws Exception {
-		Trace.trace(Trace.CONFIG, "----->----- Server Core plugin startup ----->-----");
-		super.start(context);
-		
-		initializeDefaultPluginPreferences();
-
-		// load temp directory information
-		loadTempDirInfo();
-	}
-
-	/**
-	 * Shuts down this plug-in and saves all plug-in state.
-	 */
-	public void stop(BundleContext context) throws Exception {
-		Trace.trace(Trace.CONFIG, "-----<----- Server Core plugin shutdown -----<-----");
-		super.stop(context);
-		
-		ResourceManager.shutdown();
-		ServerMonitorManager.shutdown();
-	}
-
-	/**
-	 * Sort the given elements into alphabetical order. This
-	 * method modifies the original list, but returns the value
-	 * for convenience.
-	 *
-	 * @param list java.util.List
-	 * @return java.util.List
-	 */
-	public static List sortServerResourceList(List list) {
-		if (list == null)
-			return null;
-	
-		Collator collator = Collator.getInstance();
-	
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				IElement a = (IElement) list.get(i);
-				IElement b = (IElement) list.get(j);
-				if (collator.compare(a.getName(), b.getName()) > 0) {
-					Object temp = a;
-					list.set(i, b);
-					list.set(j, temp);
-				}
-			}
-		}
-		return list;
-	}
-	
-	public static String[] tokenize(String param, String delim) {
-		if (param == null)
-			return new String[0];
-		
-		List list = new ArrayList();
-		
-		StringTokenizer st = new StringTokenizer(param, delim);
-		while (st.hasMoreTokens()) {
-			String str = st.nextToken();
-			if (str != null && str.length() > 0)
-				list.add(str.trim());
-		}
-
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	protected static List getModuleTypes(IConfigurationElement[] elements) {
-		List list = new ArrayList();
-		if (elements == null)
-			return list;
-	
-		int size = elements.length;
-		for (int i = 0; i < size; i++) {
-			String[] types = tokenize(elements[i].getAttribute("types"), ",");
-			String[] versions = tokenize(elements[i].getAttribute("versions"), ",");
-			int sizeT = types.length;
-			int sizeV = versions.length;
-			for (int j = 0; j < sizeT; j++) {
-				for (int k = 0; k < sizeV; k++) {
-					ModuleType module = new ModuleType(types[j], versions[k]);
-					list.add(module);
-				}
-			}
-		}
-		return list;
-	}
-	
-	public static String generateId() {
-		String s = df.format(new Date()).toString() + num++;
-		s = s.replace(' ', '_');
-		s = s.replace(':', '_');
-		s = s.replace('/', '_');
-		s = s.replace('\\', '_');
-		return s;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
deleted file mode 100644
index b2b568e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.wst.server.core.*;
-/**
- * Helper class that stores preference information for server tools.
- */
-public class ServerPreferences implements IServerPreferences {
-	private static final String PREF_AUTO_RESTART = "auto-restart";
-	private static final String PREF_AUTO_PUBLISH = "auto-publish";
-	private static final String PREF_AUTO_REPAIR_MODULES = "auto-repair-modules";
-	private static final String PREF_PUBLISHER = "publisher";
-	private static final String PREF_CREATE_IN_WORKSPACE = "create-workspace";
-	private static final String PREF_STARTUP_TIMEOUT = "start-timeout";
-	private static final String PREF_RESTART_MODULE_TIMEOUT = "restart-module-timeout";
-	private static final String PREF_MODULE_START_TIMEOUT = "module-start-timeout";
-
-	public static final String DEFAULT_PUBLISH_MANAGER = "org.eclipse.wst.server.core.publish.smart";
-
-	private Preferences preferences;
-
-	protected static ServerPreferences instance;
-
-	/**
-	 * ServerPreference constructor comment.
-	 */
-	private ServerPreferences() {
-		super();
-		preferences = ServerPlugin.getInstance().getPluginPreferences();
-	}
-
-	public static ServerPreferences getServerPreferences() {
-		if (instance == null)
-			instance = new ServerPreferences();
-		return instance;
-	}
-
-	/**
-	 * Returns whether servers will be automatically restarted when
-	 * required.
-	 *
-	 * @return boolean
-	 */
-	public boolean isAutoRestarting() {
-		return preferences.getBoolean(PREF_AUTO_RESTART);
-	}
-
-	/**
-	 * Returns whether servers will be automatically restarted when
-	 * required.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultAutoRestarting() {
-		return false;
-	}
-
-	/**
-	 * Returns whether publishing should occur before starting the
-	 * server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isAutoPublishing() {
-		return preferences.getBoolean(PREF_AUTO_PUBLISH);
-	}
-	
-	/**
-	 * Returns whether publishing should occur before starting the
-	 * server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultAutoPublishing() {
-		return true;
-	}
-	
-	/**
-	 * Returns whether servers and configurations should be created in the
-	 * workspace (as opposed to in metadata).
-	 *
-	 * @return boolean
-	 */
-	public boolean isCreateResourcesInWorkspace() {
-		return preferences.getBoolean(PREF_CREATE_IN_WORKSPACE);
-	}
-
-	/**
-	 * Returns whether servers and configurations should be created in the
-	 * workspace (as opposed to in metadata) by default.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultCreateResourcesInWorkspace() {
-		return false;
-	}
-
-	/**
-	 * Set whether servers and configurations should be created in the
-	 * workspace (as opposed to in metadata).
-	 *
-	 * @param boolean
-	 */
-	public void setCreateResourcesInWorkspace(boolean b) {
-		preferences.setValue(PREF_CREATE_IN_WORKSPACE, b);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the publisher preference.
-	 *
-	 * @return String
-	 */
-	public String getPublishManager() {
-		return preferences.getString(PREF_PUBLISHER);
-	}
-
-	/**
-	 * Returns the publisher preference.
-	 *
-	 * @return String
-	 */
-	public String getDefaultPublishManager() {
-		return DEFAULT_PUBLISH_MANAGER;
-	}
-
-	/**
-	 * Set whether servers will be automatically restarted when
-	 * they need a restart.
-	 *
-	 * @param boolean
-	 */
-	public void setAutoRestarting(boolean value) {
-		preferences.setValue(PREF_AUTO_RESTART, value);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Set whether publishing should happen before the server starts.
-	 *
-	 * @param boolean
-	 */
-	public void setAutoPublishing(boolean value) {
-		preferences.setValue(PREF_AUTO_PUBLISH, value);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Sets the publisher to use.
-	 *
-	 * @param String id
-	 */
-	public void setPublishManager(String id) {
-		preferences.setValue(PREF_PUBLISHER, id);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-	
-	/**
-	 * Returns whether changes to modules should be automatically fixed
-	 * in the server configurations.
-	 *
-	 * @return byte
-	 */
-	public byte getModuleRepairStatus() {
-		return (byte) preferences.getInt(PREF_AUTO_REPAIR_MODULES);
-	}
-
-	/**
-	 * Returns the default auto module fix state.
-	 *
-	 * @return byte
-	 */
-	public byte getDefaultModuleRepairStatus() {
-		return REPAIR_PROMPT;
-	}
-
-	public int getStartupTimeout() {
-		return preferences.getInt(PREF_STARTUP_TIMEOUT);
-	}
-
-	public int getRestartModuleTimeout() {
-		return preferences.getInt(PREF_RESTART_MODULE_TIMEOUT);
-	}
-
-	public int getModuleStartTimeout() {
-		return preferences.getInt(PREF_MODULE_START_TIMEOUT);
-	}
-
-	/**
-	 * Sets whether changes to modules should be automatically fixed
-	 * in the server configurations.
-	 *
-	 * @return byte
-	 */
-	public void setModuleRepairStatus(byte b) {
-		preferences.setValue(PREF_AUTO_REPAIR_MODULES, b);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	public void setDefaults() {
-		preferences.setDefault(PREF_AUTO_PUBLISH, isDefaultAutoPublishing());
-		preferences.setDefault(PREF_AUTO_RESTART, isDefaultAutoRestarting());
-		preferences.setDefault(PREF_PUBLISHER, getDefaultPublishManager());
-		preferences.setDefault(PREF_AUTO_REPAIR_MODULES, getDefaultModuleRepairStatus());
-		preferences.setDefault(PREF_STARTUP_TIMEOUT, 210001);
-		preferences.setDefault(PREF_RESTART_MODULE_TIMEOUT, 120001);
-		preferences.setDefault(PREF_MODULE_START_TIMEOUT, 300001);
-		boolean save = false;
-		if (preferences.isDefault(PREF_STARTUP_TIMEOUT)) {
-			preferences.setValue(PREF_STARTUP_TIMEOUT, 210000);
-			save = true;
-		}
-		if (preferences.isDefault(PREF_RESTART_MODULE_TIMEOUT)) {
-			preferences.setValue(PREF_RESTART_MODULE_TIMEOUT, 120000);
-			save = true;
-		}		if (preferences.isDefault(PREF_MODULE_START_TIMEOUT)) {
-			preferences.setValue(PREF_MODULE_START_TIMEOUT, 300000);
-			save = true;
-		}
-		if (save)
-			ServerPlugin.getInstance().savePluginPreferences();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerProjectNature.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerProjectNature.java
deleted file mode 100644
index 86832f2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerProjectNature.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.wst.server.core.*;
-/**
- * A nature for projects that contain servers and server configurations.
- */
-public class ServerProjectNature implements IServerProject, IProjectNature {
-	public static final String BUILDER_ID = ServerCore.PLUGIN_ID + ".builder";
-
-	// the project that contains this nature
-	protected IProject project;
-	
-	protected static List serverProjects = new ArrayList();
-
-	/**
-	 * ServerProjectNature constructor.
-	 */
-	public ServerProjectNature() {
-		super();
-	}
-	
-	/**
-	 * Adds a builder to the build spec for the given project.
-	 */
-	private void addToBuildSpec(String builderID) throws CoreException {
-		if (builderID == null)
-			return;
-
-		IProjectDescription description = getProject().getDescription();
-		ICommand[] commands = description.getBuildSpec();
-	
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals(builderID))
-				return;
-		}
-		// add builder to project
-		ICommand command = description.newCommand();
-		command.setBuilderName(builderID);
-
-		ICommand[] newCommands = new ICommand[commands.length + 1];
-		System.arraycopy(commands, 0, newCommands, 0, commands.length);
-		newCommands[newCommands.length - 1] = command;
-
-		description.setBuildSpec(newCommands);
-		getProject().setDescription(description, new NullProgressMonitor());
-	}
-
-	/**
-	 * Nothing to configure in this nature.
-	 */
-	public void configure() throws CoreException {
-		Trace.trace(Trace.FINEST, "Server project configured");
-
-		// add link builder
-		addToBuildSpec(BUILDER_ID);
-	}
-
-	/**
-	 * Nothing to deconfigure in this nature.
-	 */
-	public void deconfigure() {	}
-
-	/**
-	 * Returns a list of the available folders.
-	 * @return java.util.List
-	 */
-	public List getAvailableFolders() {
-		List list = new ArrayList();
-		list.add(getProject());
-	
-		int t = 0;
-		while (t < list.size()) {
-			try {
-				IContainer container = (IContainer) list.get(t);
-				IResource[] members = container.members();
-				if (members != null) {
-					for (int j = 0; j < members.length; j++) {
-						if (members[j] instanceof IFolder)
-							list.add(members[j]);
-					}
-				}
-			} catch (Exception e) { }
-			t++;
-		}
-		return list;
-	}
-
-	/**
-	 * Returns the project that this nature is associated with.
-	 *
-	 * @return org.eclipse.core.resources.IProject
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Returns the server configurations that are located in
-	 * this project.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServerConfigurations() {
-		List list = new ArrayList();
-		IResourceManager rm = ServerCore.getResourceManager();
-		Iterator iterator = rm.getServerConfigurations().iterator();
-		while (iterator.hasNext()) {
-			IServerConfiguration config = (IServerConfiguration) iterator.next();
-			IFile file = config.getFile();
-			if (file != null && file.getProject().equals(project))
-				list.add(config);
-		}
-		return list;
-	}
-
-	/**
-	 * Returns the servers that are located in
-	 * this project.
-	 *
-	 * @return java.util.List
-	 */
-	public List getServers() {
-		List list = new ArrayList();
-		IResourceManager rm = ServerCore.getResourceManager();
-		Iterator iterator = rm.getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			IFile file = server.getFile();
-			if (file != null && file.getProject().equals(project))
-				list.add(server);
-		}
-		return list;
-	}
-
-	/**
-	 * Load all of the servers and server configurations.
-	 */
-	public void loadFiles() {
-		Trace.trace(Trace.FINER, "Initial server resource load for " + project.getName(), null);
-		final ResourceManager rm = (ResourceManager) ServerCore.getResourceManager();
-	
-		try {
-			getProject().accept(new IResourceVisitor() {
-				public boolean visit(IResource resource) {
-					try {
-						if (resource instanceof IFile) {
-							IFile file = (IFile) resource;
-							rm.handleNewFile(file, new NullProgressMonitor());
-							return false;
-						}
-						return true;
-						//return !rm.handleNewServerResource(resource, new NullProgressMonitor());
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error during initial server resource load", e);
-					}
-					return true;
-				}
-			});
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load server project " + project.getName(), e);
-		}
-	}
-
-	/**
-	 * Sets the project that this nature belongs to.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 */
-	public void setProject(IProject project) {
-		Trace.trace(Trace.FINER, "Server project: " + project);
-		this.project = project;
-		loadFiles();
-		serverProjects.add(project);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerTask.java
deleted file mode 100644
index 996585d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerTask.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public class ServerTask implements IServerTask {
-	private IConfigurationElement element;
-	private IServerTaskDelegate delegate;
-	protected ITaskModel model;
-
-	/**
-	 * ServerTask constructor comment.
-	 */
-	public ServerTask(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IPublishManager#getDescription()
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-
-	/*
-	 * @see IPublishManager#getLabel()
-	 */
-	public String getName() {
-		String label = element.getAttribute("name");
-		if (label == null)
-			return "n/a";
-		return label;
-	}
-	
-	/**
-	 * Returns the index (ordering) of this task.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			return Integer.parseInt(element.getAttribute("index"));
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	public ITaskModel getTaskModel() {
-		return model;
-	}
-	
-	public void setTaskModel(ITaskModel taskModel) {
-		this.model = taskModel;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#canExecute()
-	 */
-	public boolean canExecute() {
-		return true;
-	}
-	
-	/**
-	 * Return the type ids that may be supported.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns true if the given type (given by the id) can use this task. This
-	 * result is based on the result of the getTypeIds() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return true;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IServerTaskDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IServerTaskDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Lets the task know that it is about to be used. This method should
-	 * be used to clean out any previously cached information, or start to
-	 * create a new cache.
-	 */
-	public void init(IServer server, IServerConfiguration configuration, List[] parents, IModule[] modules) {
-		try {
-			Trace.trace(Trace.FINEST, "Task.init " + this);
-			getDelegate().init(server, configuration, parents, modules);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-	
-	/**
-	 * Returns the status of this task.
-	 * 
-	 * @return byte
-	 */
-	public byte getTaskStatus() {
-		try {
-			Trace.trace(Trace.FINEST, "Task.getTaskStatus " + this);
-			return getDelegate().getTaskStatus();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return 0;
-		}
-	}
-
-	/**
-	 * Perform the task.
-	 *
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		try {
-			Trace.trace(Trace.FINEST, "Task.execute " + this);
-			getDelegate().execute(monitor);
-		} catch (CoreException ce) {
-			Trace.trace(Trace.FINER, "Task error " + toString(), ce);
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-	
-	public boolean canUndo() {
-		return false;
-	}
-	
-	public void undo() { }
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ServerTask[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
deleted file mode 100644
index d639db0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-
-import org.eclipse.wst.server.core.*;
-/**
- * 
- */
-public class ServerType implements IServerType {
-	protected IConfigurationElement element;
-
-	/**
-	 * ServerType constructor comment.
-	 */
-	public ServerType(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-	
-	public IRuntimeType getRuntimeType() {
-		return ServerCore.getRuntimeType(element.getAttribute("runtimeTypeId"));
-	}
-	
-	public boolean hasRuntime() {
-		String s = element.getAttribute("runtime");
-		return "true".equals(s);
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	protected ILaunchConfigurationType getLaunchConfigurationType() {
-		String launchConfigId = element.getAttribute("launchConfigId");
-		if (launchConfigId == null)
-			return null;
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		return launchManager.getLaunchConfigurationType(launchConfigId);
-	}
-	
-	/**
-	 * Returns true if this server can start or may already be started
-	 * in the given mode, and false if not. Uses the launchMode attribute,
-	 * which may contain the strings "run", "debug", and/or "profile".
-	 * 
-	 * @param launchMode String
-	 * @return boolean
-	 */
-	public boolean supportsLaunchMode(String launchMode) {
-		ILaunchConfigurationType configType = getLaunchConfigurationType();
-		if (configType == null) {
-			String mode = element.getAttribute("launchModes");
-			if (mode == null)
-				return false;
-			return mode.indexOf(launchMode) >= 0;
-		}
-		return configType.supportsMode(launchMode);
-	}
-
-	public IServerConfigurationType getServerConfigurationType() {
-		String configurationTypeId = element.getAttribute("configurationTypeId");
-		return ServerCore.getServerConfigurationType(configurationTypeId);
-	}
-	
-	public boolean supportsLocalhost() {
-		String hosts = element.getAttribute("hosts");
-		return (hosts == null || hosts.toLowerCase().indexOf("localhost") >= 0 
-				|| hosts.indexOf("127.0.0.1") >= 0);
-	}
-	
-	public boolean supportsRemoteHosts() {
-		String hosts = element.getAttribute("hosts");
-		return (hosts == null || hosts.toLowerCase().indexOf("remote") >= 0);
-	}
-	
-	public byte getInitialState() {
-		String stateString = element.getAttribute("initialState");
-		if ("stopped".equals(stateString))
-			return IServer.SERVER_STOPPED;
-		else if ("started".equals(stateString))
-			return IServer.SERVER_STARTED;
-		return IServer.SERVER_UNKNOWN;
-	}
-
-	/**
-	 * Returns an IStatus message to verify if a server of this type will be able
-	 * to run the module immediately after being created, without any user
-	 * interaction. If OK, this server may be used as a default server. This
-	 * method should return ERROR if the user must supply any information to
-	 * configure the server correctly, or if the module is not supported.
-	 *
-	 * @return org.eclipse.core.resources.IStatus
-	 */
-	/*public IStatus isDefaultAvailable(IModule module) {
-		return null;
-	}*/
-	
-	public byte getServerStateSet() {
-		String stateSet = element.getAttribute("stateSet");
-		if (stateSet == null)
-			return SERVER_STATE_SET_MANAGED;
-		else if (stateSet.toLowerCase().indexOf("attach") >= 0)
-			return SERVER_STATE_SET_ATTACHED;
-		else if (stateSet.toLowerCase().indexOf("publish") >= 0)
-			return SERVER_STATE_SET_PUBLISHED;
-		else
-			return SERVER_STATE_SET_MANAGED;
-	}
-
-	public boolean hasServerConfiguration() {
-		String configurationTypeId = element.getAttribute("configurationTypeId");
-		return configurationTypeId != null && configurationTypeId.length() > 0;
-	}
-	
-	public boolean isMonitorable() {
-		return "true".equalsIgnoreCase(element.getAttribute("monitorable"));
-	}
-	
-	public boolean isTestEnvironment() {
-		return "true".equalsIgnoreCase(element.getAttribute("testEnvironment"));
-	}
-	
-	public IServerWorkingCopy createServer(String id, IFile file, IRuntime runtime) {
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
-		swc.setDefaults();
-		return swc;
-	}
-
-	public IServerWorkingCopy createServer(String id, IFile file, IProgressMonitor monitor) throws CoreException {
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		
-		IRuntime runtime = null;
-		if (hasRuntime()) {
-			// look for existing runtime
-			IRuntimeType runtimeType = getRuntimeType();
-			List list = ServerCore.getResourceManager().getRuntimes(runtimeType);
-			if (!list.isEmpty()) {
-				runtime = (IRuntime) list.get(0);
-			} else {
-				// create runtime
-				try {
-					IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(id + "-runtime");
-					ServerUtil.setRuntimeDefaultName(runtimeWC);
-					runtime = runtimeWC;
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Couldn't create runtime", e);
-				}
-			}
-		}
-
-		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
-		ServerUtil.setServerDefaultName(swc);
-		if (runtime != null)
-			swc.setRuntime(runtime);
-		
-		IServerConfigurationWorkingCopy config = null;
-		if (hasServerConfiguration()) {
-			if (runtime != null)
-				config = getServerConfigurationType().importFromRuntime(id + "-config", file, runtime, monitor);
-			if (config == null)
-				config = getServerConfigurationType().createServerConfiguration(id + "-config", file, monitor);
-			ServerUtil.setServerConfigurationDefaultName(config);
-			if (config != null)
-				swc.setServerConfiguration(config);
-		}
-		
-		swc.setDefaults();
-		
-		return swc;
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ServerType[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
deleted file mode 100644
index cc52255..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.beans.PropertyChangeListener;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * 
- */
-public class ServerWorkingCopy extends Server implements IServerWorkingCopy {
-	protected Server server;
-	protected WorkingCopyHelper wch;
-	
-	protected IServerWorkingCopyDelegate workingCopyDelegate;
-	
-	// working copy
-	public ServerWorkingCopy(Server server) {
-		super(server.getFile());
-		this.server = server;
-		
-		map = new HashMap(server.map);
-		wch = new WorkingCopyHelper(this);
-		resolve();
-	}
-	
-	// creation
-	public ServerWorkingCopy(String id, IFile file, IRuntime runtime, IServerType serverType) {
-		super(id, file, runtime, serverType);
-		//server = this;
-		wch = new WorkingCopyHelper(this);
-		wch.setDirty(true);
-		serverState = ((ServerType)serverType).getInitialState();
-	}
-
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	public IServer getOriginal() {
-		return server;
-	}
-	
-	public IServerWorkingCopy getWorkingCopy() {
-		return this;
-	}
-	
-	public byte getServerState() {
-		if (server != null)
-			return server.getServerState();
-		return serverState;
-	}
-	
-	public void setServerState(byte state) {
-		if (server != null)
-			server.setServerState(state);
-		else
-			super.setServerState(state);
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, String value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, List value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, Map value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		setAttribute(PROP_NAME, name);
-	}
-	
-	public void setLocked(boolean b) {
-		setAttribute(PROP_LOCKED, b);
-	}
-
-	public void setPrivate(boolean b) {
-		setAttribute(PROP_PRIVATE, b);
-	}
-
-	public void setHostname(String host) {
-		setAttribute(PROP_HOSTNAME, host);
-	}
-	
-	public void setServerConfiguration(IServerConfiguration config) {
-		this.configuration = config;
-		if (configuration == null)
-			setAttribute(CONFIGURATION_ID, (String)null);
-		else
-			setAttribute(CONFIGURATION_ID, configuration.getId());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return wch.isDirty();
-	}
-
-	public void release() {
-		wch.release();
-		dispose();
-		if (server != null)
-			server.release(this);
-	}
-	
-	public IServerDelegate getDelegate() {
-		return getWorkingCopyDelegate();
-	}
-	
-	public IServerWorkingCopyDelegate getWorkingCopyDelegate() {
-		// make sure that the regular delegate is loaded 
-		//getDelegate();
-		
-		if (workingCopyDelegate != null)
-			return workingCopyDelegate;
-		
-		if (serverType != null) {
-			synchronized (this) {
-				if (workingCopyDelegate == null) {
-					try {
-						long time = System.currentTimeMillis();
-						IConfigurationElement element = ((ServerType) serverType).getElement();
-						workingCopyDelegate = (IServerWorkingCopyDelegate) element.createExecutableExtension("workingCopyClass");
-						workingCopyDelegate.initialize((IServerState) this);
-						workingCopyDelegate.initialize((IServerWorkingCopy) this);
-						Trace.trace(Trace.PERFORMANCE, "ServerWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-					}
-				}
-			}
-		}
-		return workingCopyDelegate;
-	}
-	
-	public void dispose() {
-		super.dispose();
-		if (workingCopyDelegate != null)
-			workingCopyDelegate.dispose();
-	}
-	
-	public IServer save(IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.subTask(ServerPlugin.getResource("%savingTask", getName()));
-		if (wch.isReleased())
-			return null;
-		if (server == null) {
-			server = new Server(file);
-			server.setServerState(serverState);
-			server.publishListeners = publishListeners;
-			server.serverListeners = serverListeners;
-		}
-		
-		getWorkingCopyDelegate().handleSave(IServerWorkingCopyDelegate.PRE_SAVE, monitor);
-		server.setInternal(this);
-		server.doSave(monitor);
-		wch.setDirty(false);
-		release();
-		getWorkingCopyDelegate().handleSave(IServerWorkingCopyDelegate.POST_SAVE, monitor);
-		
-		return server;
-	}
-
-	public IServer save(IProgressMonitor monitor, boolean release) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.subTask(ServerPlugin.getResource("%savingTask", getName()));
-		if (wch.isReleased())
-			return null;
-		if (server == null) {
-			server = new Server(file);
-			server.setServerState(serverState);
-			server.publishListeners = publishListeners;
-			server.serverListeners = serverListeners;
-		}
-		getWorkingCopyDelegate().handleSave(IServerWorkingCopyDelegate.PRE_SAVE, monitor);
-		server.setInternal(this);
-		server.doSave(monitor);
-		wch.setDirty(false);
-		if (release)
-			release();
-		getWorkingCopyDelegate().handleSave(IServerWorkingCopyDelegate.POST_SAVE, monitor);
-		return server;
-	}
-
-	public IServer saveAll(IProgressMonitor monitor) throws CoreException {
-		if (runtime != null && runtime.isWorkingCopy()) {
-			IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) runtime;
-			wc.save(monitor);
-		}
-		
-		if (configuration != null && configuration.isWorkingCopy()) {
-			IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) configuration;
-			wc.save(monitor);
-		}
-		
-		return save(monitor);
-	}
-
-	/**
-	 * Add a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		wch.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		wch.removePropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Fire a property change event.
-	 */
-	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		wch.firePropertyChangeEvent(propertyName, oldValue, newValue);
-	}
-	
-	public void addServerListener(IServerListener listener) {
-		if (server != null)
-			server.addServerListener(listener);
-		else
-			super.addServerListener(listener);
-	}
-	
-	public void removeServerListener(IServerListener listener) {
-		if (server != null)
-			server.removeServerListener(listener);
-		else
-			super.removeServerListener(listener);
-	}
-	
-	public void addPublishListener(IPublishListener listener) {
-		if (server != null)
-			server.addPublishListener(listener);
-		else
-			super.addPublishListener(listener);
-	}
-	
-	public void removePublishListener(IPublishListener listener) {
-		if (server != null)
-			server.removePublishListener(listener);
-		else
-			super.removePublishListener(listener);
-	}
-
-	public void setRuntime(IRuntime runtime) {
-		this.runtime = runtime;
-		if (runtime != null)
-			setAttribute(RUNTIME_ID, runtime.getId());
-		else
-			setAttribute(RUNTIME_ID, (String)null);
-	}
-	
-	public void setRuntimeId(String runtimeId) {
-		setAttribute(RUNTIME_ID, runtimeId);
-		resolve();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#modifyModule(org.eclipse.wst.server.core.model.IModule)
-	 */
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		int i = 0;
-		while (getServerState() == IServer.SERVER_UNKNOWN && i < 10) {
-			try {
-				Thread.sleep(1000);
-			} catch (Exception e) { }
-			i++;
-		}
-		
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.subTask(ServerPlugin.getResource("%taskModifyModules"));
-			getWorkingCopyDelegate().modifyModules(add, remove, monitor);
-			wch.setDirty(true);
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate modifyModule() " + toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, e.getLocalizedMessage(), e));
-		}
-	}
-
-	public void setDefaults() {
-		try {
-			getWorkingCopyDelegate().setDefaults();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate setDefaults() " + toString(), e);
-		}
-	}
-	
-	public String toString() {
-		return "ServerWorkingCopy " + getId();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/SmartPublisher.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/SmartPublisher.java
deleted file mode 100644
index 22bf246..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/SmartPublisher.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.resources.*;
-/**
- * "Smart" publisher that only publishes files that have been
- * modified or changed on the server. Deletes files that are no
- * longer in the workbench.
- */
-public class SmartPublisher extends AbstractPublisher {
-	/**
-	 * SmartPublisher constructor comment.
-	 */
-	public SmartPublisher() {
-		super();
-	}
-
-	/**
-	 * Returns true if the remote resource should be deleted, and false
-	 * if it should be left on the server.
-	 *
-	 * @return boolean
-	 * @param option int
-	 */
-	public boolean shouldDelete(IModuleResource resource, IPath path, IRemoteResource remote, long resourceTimestamp, long remoteTimestamp) {
-		Trace.trace(Trace.FINEST, "shouldDelete: " + resource + " " + path + " " + remote);
-		Trace.trace(Trace.FINEST, "  " + (resource instanceof IModuleFolder) + " " + (remote instanceof IRemoteFolder));
-		if (resource == null)
-			return true;
-		
-		if (resource instanceof IModuleFolder && !(remote instanceof IRemoteFolder))
-			return true;
-		else if (!(resource instanceof IModuleFolder) && remote instanceof IRemoteFolder)
-			return true;
-		
-		return false;
-	}
-
-	/**
-	 * Returns true if the resource should be published, and false
-	 * if it should be left on the server.
-	 *
-	 * @return boolean
-	 * @param option int
-	 */
-	public boolean shouldPublish(IModuleResource resource, IPath path, IRemoteResource remote, long resourceTimestamp, long remoteTimestamp) {
-		Trace.trace(Trace.FINEST, "shouldPublish: " + resource + " " + path + " " + remote);
-		Trace.trace(Trace.FINEST, "  " + (resource instanceof IModuleFolder) + " " + (remote instanceof IRemoteFolder));
-		Trace.trace(Trace.FINEST, "  " + resourceTimestamp + " " + remoteTimestamp);
-		// publish if the file doesn't exist on the remote side
-		if (remote == null)
-			return true;
-		
-		// publish if the file has changed in the IDE
-		if (resourceTimestamp == IRemoteResource.TIMESTAMP_UNKNOWN || resource.getTimestamp() != resourceTimestamp)
-			return true;
-		
-		// publish if the file has changed on the server
-		if (remoteTimestamp == IRemoteResource.TIMESTAMP_UNKNOWN || remote.getTimestamp() != remoteTimestamp)
-			return true;
-		
-		if (resource instanceof IModuleFolder && !(remote instanceof IRemoteFolder))
-			return true;
-		else if (!(resource instanceof IModuleFolder) && remote instanceof IRemoteFolder)
-			return true;
-		
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
deleted file mode 100644
index 2f16c3c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.wst.server.core.ServerCore;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static int CONFIG = 0;
-	public static int INFO = 1;
-	public static int WARNING = 2;
-	public static int SEVERE = 3;
-	public static int FINER = 4;
-	public static int FINEST = 5;
-	
-	public static int RESOURCES = 6;
-	public static int EXTENSION_POINT = 7;
-	public static int LISTENERS = 8;
-	public static int RUNTIME_TARGET = 9;
-	public static int PERFORMANCE = 10;
-
-	private static final String[] levelNames = new String[] {
-		"CONFIG   ", "INFO     ", "WARNING  ", "SEVERE   ", "FINER    ", "FINEST   ",
-		"RESOURCES", "EXTENSION", "LISTENERS", "TARGET   ", "PERF     "};
-	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 s java.lang.String
-	 */
-	public static void trace(int level, String s) {
-		trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(int level, String s, Throwable t) {
-		trace(ServerCore.PLUGIN_ID, level, s, t);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(String pluginId, int level, String s, Throwable t) {
-		if (pluginId == null || s == null)
-			return;
-
-		if (!ServerPlugin.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();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(String s) {
-		trace(s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(String s, Throwable t) {
-		trace(FINER, s, t);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
deleted file mode 100644
index 0dac711..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-/**
- * 
- */
-public class WorkingCopyHelper {
-	protected Base base;
-	protected boolean isDirty;
-	protected boolean isReleased;
-	
-	// property change listeners
-	private transient List propertyListeners;
-
-	public WorkingCopyHelper(Base base) {
-		this.base = base;
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		if (isReleased)
-			throw new RuntimeException("Model has already been saved or released");
-		int current = base.getAttribute(attributeName, 0);
-		if (current != 0 && current == value)
-			return;
-
-		isDirty = true;
-		base.map.put(attributeName, Integer.toString(value));
-		firePropertyChangeEvent(attributeName, new Integer(current), new Integer(value));
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		if (isReleased)
-			throw new RuntimeException("Model has already been saved or released");
-		boolean current = base.getAttribute(attributeName, false);
-
-		isDirty = true;
-		base.map.put(attributeName, Boolean.toString(value));
-		firePropertyChangeEvent(attributeName, new Boolean(current), new Boolean(value));
-	}
-	
-	public void setAttribute(String attributeName, String value) {
-		if (isReleased)
-			throw new RuntimeException("Model has already been saved or released");
-		String current = base.getAttribute(attributeName, (String)null);
-		if (current != null && current.equals(value))
-			return;
-
-		isDirty = true;
-		if (value == null)
-			base.map.remove(attributeName);
-		else
-			base.map.put(attributeName, value);
-		firePropertyChangeEvent(attributeName, current, value);
-	}
-	
-	public void setAttribute(String attributeName, List value) {
-		if (isReleased)
-			throw new RuntimeException("Model has already been saved or released");
-		List current = base.getAttribute(attributeName, (List)null);
-		if (current != null && current.equals(value))
-			return;
-
-		isDirty = true;
-		if (value == null)
-			base.map.remove(attributeName);
-		else
-			base.map.put(attributeName, value);
-		firePropertyChangeEvent(attributeName, current, value);
-	}
-
-	public void setAttribute(String attributeName, Map value) {
-		if (isReleased)
-			throw new RuntimeException("Model has already been saved or released");
-		Map current = base.getAttribute(attributeName, (Map)null);
-		if (current != null && current.equals(value))
-			return;
-
-		isDirty = true;
-		if (value == null)
-			base.map.remove(attributeName);
-		else
-			base.map.put(attributeName, value);
-		firePropertyChangeEvent(attributeName, current, value);
-	}
-	
-	public void setName(String name) {
-		setAttribute(Base.PROP_NAME, name);
-	}
-	
-	public void setLocked(boolean b) {
-		setAttribute(Base.PROP_LOCKED, b);
-	}
-
-	public void setPrivate(boolean b) {
-		setAttribute(Base.PROP_PRIVATE, b);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return isDirty;
-	}
-	
-	public boolean isReleased() {
-		return isReleased;
-	}
-
-	public void release() {
-		if (isReleased)
-			return;
-		isReleased = true;
-		isDirty = false;
-	}
-
-	/**
-	 * Add 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);
-	}
-	
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners != null)
-			propertyListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a property change event.
-	 */
-	public 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("Error firing property change event", e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace("Error in property event", e);
-		}
-	}
-	
-	protected void setDirty(boolean dirty) {
-		isDirty = dirty;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
deleted file mode 100644
index 572bbc4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.*;
-import java.util.*;
-import java.net.URL;
-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.
-	 */
-	public XMLMemento(Document doc, Element el) {
-		factory = doc;
-		element = el;
-	}
-
-	/**
-	 * @see IMemento.
-	 */
-	public IMemento createChild(String type) {
-		Element child = factory.createElement(type);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * @see IMemento.
-	 */
-	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(Reader reader) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(reader));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (ParserConfigurationException e) {
-		} catch (IOException e) {
-		} catch (SAXException e) {
-		} finally {
-			try {
-				reader.close();
-			} catch (Exception e) { }
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 */
-	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[]
-	 */
-	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
-	 */
-	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 in java.io.InputStream
-	 * @return org.eclipse.ui.IMemento
-	 * @exception java.io.IOException
-	 */
-	public static IMemento loadMemento(InputStream in) {
-		return createReadRoot(new InputStreamReader(in));
-	}
-	
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param in java.io.InputStream
-	 * @return org.eclipse.ui.IMemento
-	 * @exception java.io.IOException
-	 */
-	public static IMemento loadCorruptMemento(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(in);
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (ParserConfigurationException e) {
-		} catch (IOException e) {
-		} catch (SAXException e) {
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) { }
-		}
-		return null;
-	}
-
-	/**
-	 * 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 FileReader(filename));
-	}
-
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param url java.net.URL
-	 * @return org.eclipse.ui.IMemento
-	 * @exception java.io.IOException
-	 */
-	public static IMemento loadMemento(URL url) throws IOException {
-		return XMLMemento.createReadRoot(new InputStreamReader(url.openStream()));
-	}
-
-	/**
-	 * @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.
-	 */
-	public void save(Writer writer) throws IOException {
-		Result result = new StreamResult(writer);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
-			transformer.transform(source, result);
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-	
-	/**
-	 * Save this Memento to a Writer.
-	 */
-	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("{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 {
-		Writer w = null;
-		try {
-			w = new FileWriter(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) { }
-			}
-		}
-	}
-	
-	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.server.core/servercore/org/eclipse/wst/server/core/model/IClientDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IClientDelegate.java
deleted file mode 100644
index 00b6d39..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IClientDelegate.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.wst.server.core.IServer;
-/**
- * A launchable client is a client side application or test
- * harness that can be launched (run) against a resource
- * running on a server.
- * 
- * <p>This is the implementation of a launchableClient
- * extension point.</p>
- */
-public interface IClientDelegate {
-	/**
-	 * Returns true if this launchable can be run by this client.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param launchable org.eclipse.wst.server.core.model.ILaunchable
-	 * @param launchMode String
-	 * @return boolean
-	 */
-	public boolean supports(IServer server, ILaunchable launchable, String launchMode);
-
-	/**
-	 * Opens or executes on the launchable.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param launchable org.eclipse.wst.server.core.model.ILaunchable
-	 * @param launchMode String
-	 * @param launch org.eclipse.debug.core.ILaunch
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus launch(IServer server, ILaunchable launchable, String launchMode, ILaunch launch);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchable.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchable.java
deleted file mode 100644
index d5a940d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchable.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * A launchable is a "reference" to a module object. The
- * module object is the actual resource on the server; the
- * launchable is the information necessary to access that
- * resource. Examples may include HTTP requests and JNDI names.
- */
-public interface ILaunchable {
-	/**
-	 * Returns the id of this launchable.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchableAdapterDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchableAdapterDelegate.java
deleted file mode 100644
index 600a508..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IServer;
-/**
- * This interface, typically implemented by the server
- * code, converts from an IModuleObject to an
- * ILaunchable.
- * 
- * <p>This is the implementation of a launchableAdapter
- * extension point.</p>
- */
-public interface ILaunchableAdapterDelegate {
-	/**
-	 * Returns a launchable object from this module object.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param moduleObject org.eclipse.wst.server.core.model.IModuleObject
-	 * @param org.eclipse.wst.server.core.model.ILaunchable
-	 * @exception org.eclipse.core.runtime.CoreException
-	 */
-	public ILaunchable getLaunchable(IServer server, IModuleObject moduleObject) throws CoreException;
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModule.java
deleted file mode 100644
index 39824bb..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModule.java
+++ /dev/null
@@ -1,218 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-/**
- * A module is a unit of "content" that can be published to a
- * server.
- * <p>
- * All modules have a module type, which is fixed for the
- * lifetime of the module. The set of module types (or
- * "kinds") is open-ended.
- * </p>
- * <p>
- * All modules are created by module factories
- * ({@link org.eclipse.wst.server.core.IModuleFactory}).
- * </p>
- * <p>
- * The content of a module is a collection of file and folder
- * resources in the workspace.
- * </p>
- * <p>
- * In principle, a module exists independent of any
- * particular server. The same module instance can be associated
- * with multiple server instances at the same time. That is
- * why you cannot ask the module which server it's associated
- * with.
- * </p>
- * <p>
- * [issue: IModule is something that is exposed to normal 
- * clients; it should move to org.eclipse.wst.server.core package.]
- * </p>
- * <p>
- * [issue: See issues on IModuleType about why it should not
- * be a superinterface of IModule.]
- * </p>
- * <p>
- * [issue: Equality/identify for modules?]
- * </p>
- * <p>
- * Concrete module types are represented by concrete classes
- * implementing this interface. The only legitimate reason
- * to declare a subclass is to implement a module factory.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IModule extends IModuleType {
-	
-	/**
-	 * Returns the id of this module.
-	 * Each module has a distinct id, used to distinguish this
-	 * module from all other modules in the workspace (and
-	 * within a server). Ids are intended to be used internally
-	 * as keys; they are not intended to be shown to end users.
-	 * 
-	 * @return the module id
-	 */
-	public String getId();
-
-	/**
-	 * Validates the contents of this module.
-	 * <p>
-	 * [issue: Need to define what the "contents" of a module means.]
-	 * </p>
-	 * <p>
-	 * [issue: Conjecture: Each different type of module prescribes
-	 * legal arrangements of, and the significance of, the files within
-	 * it. This would be spelled out in the spec for the particular
-	 * module types.
-	 * This validate operation is suppose to check the actual
-	 * arrangement of files in this module to see whether they
-	 * meet expectations.
-	 * It's an open question as to how "strenuous" a check this
-	 * is.]
-	 * </p>
-	 * <p>
-	 * [issue: Old comment said: "If there is an error
-	 * that should block the server from starting (e.g. major errors)
-	 * it should be returned from this method. This method can also be used to
-	 * return warning for such things as an open (and dirty) editor."]
-	 * </p>
-	 * <p>
-	 * [issue: All existing implementations of this return null,
-	 * which is illegal.]
-	 * </p>
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if the given
-	 * module is valid, otherwise a status object indicating what is
-	 * wrong with it
-	 */
-	public IStatus validate();
-
-	/**
-	 * Determines whether this module can be published.
-	 * <p>
-	 * [issue: Old comment said: "Returns an IStatus that is used to determine if this object can
-	 * be published to the server." Since the same module can
-	 * be associated with any number of servers, "the server" is
-	 * ill-defined.]
-	 * </p>
-	 * <p>
-	 * [issue: How is this predicate different from validate()?]
-	 * </p>
-	 * <p>
-	 * [issue: All existing implementations of this return null,
-	 * which is illegal.]
-	 * </p>
-	 * <p>
-	 * [issue: Old comment said: "Should return an error if there
-	 * is a major problem with the resources, or can be used to
-	 * return warnings on unsaved files, etc." It is usually
-	 * difficult in principle for core-level infrastructure to
-	 * detect whether there are open editors with unsaved changes.]
-	 * </p>
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if the given
-	 * module can be published, otherwise a status object indicating what is
-	 * wrong with it
-	 */
-	public IStatus canPublish();
-
-	/**
-	 * Returns the root resources of this module. All members
-     * belong to this module (as do their members, and so on).
-	 * <p>
-	 * [issue: What are the exact constraints on where these
-	 * resources are located?
-	 * Do they all have to be inside the workspace?
-	 * Do they all have to be in the same project?
-	 * When a folder is included, does that mean the entire
-	 * subtree is published to server?]
-	 * </p>
-	 * 
-	 * @return the members of this module
-	 * @throws CoreException [missing]
-	 */
-	public IModuleResource[] members() throws CoreException;
-
-	/**
-	 * Returns the displayable name for this module.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this module
-	 */
-	public String getName();
-
-	/**
-	 * Returns the id of the module factory that created this module.
-	 * <p>
-	 * [issue: What is the rationale for exposing the module factory
-	 * at all. Is there a reason a client would want to know this?]
-	 * </p>
-	 * <p>
-	 * [issue: Consider returning the IModuleFactory instead.]
-	 * </p>
-	 *
-	 * @return the module factory id
-	 */
-	public String getFactoryId();
-
-	/**
-	 * Returns whether this module currently exists.
-	 * <p>
-	 * [issue: The method touches on the important issue
-	 * of when a module ceases to exist. Need to explain
-	 * the full lifecycle of a module.
-	 * Should it be synonymous with the module root 
-	 * IContainer.exists()? That is, the module exists
-	 * as long as the IContainer that holds all its module
-	 * resources exists()?]
-	 * </p>
-	 *
-	 * @return <code>true</code> this module currently exists, and
-	 * <code>false</code> if it has been deleted or moved
-	 */
-	public boolean exists();
-
-	/**
-	 * Add a listener for child module that are added/removed from this
-	 * module.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleListener
-	 */
-	public void addModuleListener(IModuleListener listener);
-
-	/**
-	 * Add a listener for child modules that are added/removed from this
-	 * module.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleListener
-	 */
-	public void removeModuleListener(IModuleListener listener);
-
-	/**
-	 * Returns the child modules of this module.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getChildModules();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleEvent.java
deleted file mode 100644
index 9ab6cb0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleEvent.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * An event fired when a module changes.
- */
-public interface IModuleEvent {
-	/**
-	 * Returns the module that has been changed.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IModule
-	 */
-	public IModule getModule();
-
-	/**
-	 * Returns true if this module's settings have changed.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isChanged();
-
-	/**
-	 * Returns any child modules that have been added.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getAddedChildModules();
-
-	/**
-	 * Returns any child modules that have been changed.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getChangedChildModules();
-
-	/**
-	 * Returns any child modules that have been removed.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getRemovedChildModules();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleEventsListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleEventsListener.java
deleted file mode 100644
index 6e8a7fb..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleEventsListener.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * 
- */
-public interface IModuleEventsListener {
-	/**
-	 * A module or factory has been changed as specified in the event.
-	 *
-	 * @param factoryEvent org.eclipse.wst.server.core.model.IModuleFactoryEvent[]
-	 * @param event org.eclipse.wst.server.core.model.IModuleEvent[]
-	 */
-	public void moduleEvents(IModuleFactoryEvent[] factoryEvent, IModuleEvent[] event);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryDelegate.java
deleted file mode 100644
index 29de293..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryDelegate.java
+++ /dev/null
@@ -1,140 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-/**
- * A module factory delegate provides a mechanism for discovering
- * modules. A module factory delegate is specified by the
- * <code>class</code> attribute of a <code>moduleFactories</code> extension.
- * <p>
- * When the module factory needs to be given a delegate, the delegate class
- * specified for the module factory is instantiated with a 0-argument
- * constructor.
- * </p>
- * <p>
- * [issue: 2 differences from server delegate.
- * (1) module factory delegate is associated with the module factory
- * itself (server delegates are associated with each server instance
- * (2) the module factory delegate has no backpoint to its IModuleFactory.
- * The first is ok; the second is problematic because there is
- * protocol on IModuleFactory that the delegate might need, such
- * as the module factory id. Should add an initialize(IModuleFactory)
- * method and spec that initialize is called at creation time.]
- * </p>
- * <p>
- * Module factory delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * [issue: Since service providers must implement this class, it is
- * more flexible to provide an abstract class than an interface. It is
- * not a breaking change to add non-abstract methods to an abstract class.]
- * </p>
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @see org.eclipse.wst.server.core.IModuleFactory#getDelegate()
- * @since 1.0
- */
-public interface IModuleFactoryDelegate {
-
-	/**
-	 * Finds a module create by this factory with the given id.
-	 * See the specification of
-	 * {@link org.eclipse.wst.server.core.IModuleFactory#getModule(String)}
-	 * for further details. 
-	 * <p>
-	 * This method is normally called by the web server core framework,
-	 * in response to a call to {@link IModuleFactory#getModule(String)}.
-	 * Clients (other than the delegate) should never call this method.
-	 * </p>
-	 * 
-	 * @param id the module id
-	 * @return the module with the given id, or <code>null</code>
-	 * if none
-	 */
-	public IModule getModule(String memento);
-
-	/**
-	 * Return all modules created by this factory.
-	 * See the specification of
-	 * {@link org.eclipse.wst.server.core.IModuleFactory#getModules()}
-	 * for further details. 
-	 * <p>
-	 * This method is normally called by the web server core framework,
-	 * in response to a call to {@link IModuleFactory#getModules()}.
-	 * Clients (other than the delegate) should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: Consistency: IServer.getModules returns IModule[] rather than List<IModule>.]
-	 * </p>
-	 * <p>
-	 * [issue: The list returned is precious. You would not want a client
-	 * to accidentally or malicously whack it. Normal practice is to
-	 * return an array instead of a List, and to return a new copy each call.
-	 * This allows the spec to say that the client can do what they want
-	 * with the result, and that it won't change under foot.
-	 * Another alternative is to return a UnmodifiableList implementation
-	 * so that clients cannot modify.
-	 * The trick here is that this is a method that a service
-	 * provider is supposed to implement. It is unwise to trust a service
-	 * provider to return an UnmodifiableList, it would be
-	 * wasteful to add an unmodifiable wrapper on every call and incorrect
-	 * to cache one. Returning an IModule[] seems the best
-	 * option.]
-	 * </p>
-	 * 
-	 * @return a possibly-empty list of modules (element type:
-	 * {@link IModule}
-	 */
-	public List getModules();
-	
-	/**
-	 * Adds the given listener to this module factory.
-	 * Once registered, a listener starts receiving notification of 
-	 * modules are added/removed. The listener continues to receive
-	 * notifications until it is removed.
-	 * <p>
-	 * This method is normally called by the web server core framework,
-	 * in response to a call to
-	 * {@link IModuleFactory#addModuleFactoryListener(IModuleFactoryListener)}.
-	 * Clients (other than the delegate) should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: Duplicate server listeners should be ignored.]
-	 * </p>
-	 *
-	 * @param listener the module factory listener to add
-	 * @see #removeModuleFactoryListener(IModuleFactoryListener)
-	 */
-	public void addModuleFactoryListener(IModuleFactoryListener listener);
-
-	/**
-	 * Removes the given listener from this module factory.
-	 * Has no effect if the listener is not registered.
-	 * <p>
-	 * This method is normally called by the web server core framework,
-	 * in response to a call to
-	 * {@link IModuleFactory#removeModuleFactoryListener(IModuleFactoryListener)}.
-	 * Clients (other than the delegate) should never call this method.
-	 * </p>
-	 *
-	 * @param listener the module factory listener to remove
-	 * @see #addModuleFactoryListener(IModuleFactoryListener)
-	 */
-	public void removeModuleFactoryListener(IModuleFactoryListener listener);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryEvent.java
deleted file mode 100644
index 6ba835c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryEvent.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * An event fired when a module factory changes.
- */
-public interface IModuleFactoryEvent {
-	/**
-	 * Returns the id of this factory.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getFactoryId();
-
-	/**
-	 * Returns any modules that have been added.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getAddedModules();
-
-	/**
-	 * Returns any modules that have been removed.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getRemovedModules();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryListener.java
deleted file mode 100644
index daa24be..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFactoryListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * 
- */
-public interface IModuleFactoryListener {
-	/**
-	 * Fired when modules have been added or removed from this factory.
-	 *
-	 * @param event org.eclipse.wst.server.core.model.IModuleFactoryEvent
-	 */
-	public void moduleFactoryChanged(IModuleFactoryEvent event);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleListener.java
deleted file mode 100644
index f7d3400..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * 
- */
-public interface IModuleListener {
-	/**
-	 * A module has been changed as specified in the event.
-	 *
-	 * @param event org.eclipse.wst.server.core.model.IModuleEvent
-	 */
-	public void moduleChanged(IModuleEvent event);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObject.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObject.java
deleted file mode 100644
index d26f366..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObject.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * A module object is a resource within a module,
- * which can be launched on the server. Examples of module
- * objects could include servlets, HTML pages, or EJB beans.
- */
-public interface IModuleObject {
-	/**
-	 * Returns the id of this module object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Returns the module that this object is a part of.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule
-	 */
-	public IModule getModule();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObjectAdapterDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObjectAdapterDelegate.java
deleted file mode 100644
index 63d3cf7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObjectAdapterDelegate.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * A module object adapter converts from some view's model
- * object into a module object that is recognized by the
- * server.
- * 
- * <p>This is the implementation of a moduleObjectAdapter
- * extension point.</p>
- */
-public interface IModuleObjectAdapterDelegate {
-	/**
-	 * Converts from a model object to an IModuleObject.
-	 *
-	 * @param obj java.lang.Object
-	 * @return org.eclipse.wst.server.core.model.IModuleObject
-	 */
-	public IModuleObject getModuleObject(Object obj);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleRestartListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleRestartListener.java
deleted file mode 100644
index 4235f14..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleRestartListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * This interface is used by a server implementing the IDeployTargetRestartable
- * interface to broadcast a change of restart state for a project.
- */
-public interface IModuleRestartListener {
-	/**
-	 * Called when a project's restart state has changed. This state
-	 * lets the user know whether a project should be restarted or
-	 * does not need to be.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param project org.eclipse.core.resources.IProject
-	 */
-	public void moduleRestartStateChange(IServer server, IModule module);
-
-	/**
-	 * Called when a project's state has changed. This means that the
-	 * project has switched it's available/unavailable state.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param project org.eclipse.core.resources.IProject
-	 */
-	public void moduleStateChange(IServer server, IModule module);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleTaskDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleTaskDelegate.java
deleted file mode 100644
index d5547bb..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleTaskDelegate.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- * A module task.
- * 
- * <p>This is the implementation of a moduleTask extension point.</p>
- */
-public interface IModuleTaskDelegate {
-	public static final byte TASK_UNNECESSARY = 0;
-	public static final byte TASK_COMPLETED = 1;
-	public static final byte TASK_READY = 2;
-	public static final byte TASK_PREFERRED = 3;
-	public static final byte TASK_MANDATORY = 4;
-	
-	/**
-	 * Lets the task know that it is about to be used. This method should
-	 * be used to clean out any previously cached information, or start to
-	 * create a new cache.
-	 * 
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 */
-	public void init(IServer server, IServerConfiguration configuration, List parents, IModule module);
-
-	/**
-	 * Returns the status of this task.
-	 * 
-	 * @return byte
-	 */
-	public byte getTaskStatus();
-
-	/**
-	 * Perform the task.
-	 *
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException;
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleVisitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleVisitor.java
deleted file mode 100644
index eaa7ccd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleVisitor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-/**
- * A visitor on a server's modules.
- */
-public interface IModuleVisitor {
-	/**
-	 * Visit a single module. Returns true to keep visiting, and
-	 * false if it should stop visiting the module. 
-	 * 
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return boolean
-	 */
-	public boolean visit(List parents, IModule module);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IMonitorableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IMonitorableServer.java
deleted file mode 100644
index 90f4a28..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IMonitorableServer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-/**
- * 
- */
-public interface IMonitorableServer {
-	/**
-	 * Returns a list of IServerPorts that this server has.
-	 *
-	 * @return java.util.List
-	 */
-	public abstract List getServerPorts();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IProjectModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IProjectModule.java
deleted file mode 100644
index 38d61da..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IProjectModule.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.resources.IModuleResourceDelta;
-/**
- * A module project is a connection between a module and a project in the
- * workspace. Typically, this is used to listen for resource changes (meaning that
- * the module may need to be republished) and associate the module with the
- * project in the UI.
- */
-public interface IProjectModule extends IModule {
-	/**
-	 * Returns the workbench project that this module is contained in.
-	 * 
-	 * @return org.eclipse.core.resources.IProject
-	 */
-	public IProject getProject();
-
-	/**
-	 * Returns the mapped module resource delta from a
-	 * workbench resource delta. This should convert from the 
-	 * 
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 * @return org.eclipse.wst.server.core.IModuleResourceDelta
-	 */
-	public IModuleResourceDelta getModuleResourceDelta(IResourceDelta delta);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IProjectPropertiesListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IProjectPropertiesListener.java
deleted file mode 100644
index 41aeda3..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IProjectPropertiesListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-/**
- * A project properties listener. Fires events when the default server or
- * runtime target changes. Note that this interface should be used for
- * informational purposes only. If (e.g.) you have code that needs to respond
- * to a specific runtime target, you should use the runtimeTargetHandler
- * extension point. The extension point will allow your code to be automatically
- * loaded when necessary (instead of having to preload and add a listener),
- * will not cause unnecessary plugin loading, and will allow ordering of
- * setting/unsetting the runtime target. 
- */
-public interface IProjectPropertiesListener {
-	/**
-	 * Fired when the default server for the project changes.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public void defaultServerChanged(IProject project, IServer server);
-
-	/**
-	 * Fired when the runtime target for the project changes.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @param server org.eclipse.wst.server.core.IRuntime
-	 */
-	public void runtimeTargetChanged(IProject project, IRuntime runtime);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublishListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublishListener.java
deleted file mode 100644
index 48eed56..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublishListener.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.IPublishStatus;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-/**
- * A publish listener. Can listen to publishing events from a
- * server control. The usual
- * 
- * moduleStateChange() - Fired whenever resources change locally
- *     that cause the publishing state of anything to change
- * 
- * publishStarting() - The overall publish operation is starting
- *   publishStarted() - The initial connection to the remote machine
- *   moduleStarting() - This section is fired for each module
- *                           in the server
- *     moduleResourcesPublished() - Some resources have been published
- *     moduleResourcesDeleted() - Some resources have been deleted
- *   moduleFinished() - This module is done
- * publishFinished() - The publish operation is over
- */
-public interface IPublishListener {
-	/**
-	 * Fired when a module on this server needs to be published
-	 * or no longer needs to be published.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.model.IModule
-	 */
-	public void moduleStateChange(IServer server, List parents, IModule module);
-
-	/**
-	 * Global event fired when publishing is about to begin and the modules
-	 * that will be pushed to the remote machine.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param parents java.util.List[]
-	 * @param module org.eclipse.wst.server.model.IModule[]
-	 */
-	public void publishStarting(IServer server, List[] parents, IModule[] module);
-	
-	/**
-	 * Fired to notify the result of opening a connection to the remove machine.
-	 * If the status is an error, the publishing will finish immediately. If not,
-	 * events will be fired for each module in the array.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param status org.eclipse.wst.server.core.IPublishStatus
-	 */
-	public void publishStarted(IServer server, IPublishStatus status);
-
-	/**
-	 * Fired with the module to notify that publishing of this module
-	 * is starting.
-	 * 
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.model.IModule
-	 */
-	public void moduleStarting(IServer server, List parents, IModule module);
-
-	/**
-	 * Fired when module resources are published.
-	 * 
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.model.IModule
-	 * @param published org.eclipse.wst.server.resourcedel.IModuleResource[]
-	 * @param status org.eclipse.wst.server.core.IPublishStatus[]
-	 */
-	public void moduleResourcesPublished(IServer server, List parents, IModule module, IModuleResource[] published, IPublishStatus[] status);
-
-	/**
-	 * Fired when module resources are deleted.
-	 * 
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.model.IModule
-	 * @param deleted org.eclipse.wst.server.resourcedel.IRemoteResource[]
-	 * @param status org.eclipse.wst.server.core.IPublishStatus[]
-	 */
-	public void moduleResourcesDeleted(IServer server, List parents, IModule module, IRemoteResource[] deleted, IPublishStatus[] status);
-
-	/**
-	 * The event is fired when the module has finished publishing,
-	 * and includes the status.
-	 * 
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param parents java.util.List
-	 * @param module org.eclipse.wst.server.model.IModule
-	 * @param status org.eclipse.wst.server.core.IPublishStatus
-	 */
-	public void moduleFinished(IServer server, List parents, IModule module, IPublishStatus status);
-
-	/**
-	 * Publishing has finished. Returns the overall status.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 * @param status org.eclipse.wst.server.core.IPublishStatus
-	 */
-	public void publishFinished(IServer server, IPublishStatus status);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublishManagerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublishManagerDelegate.java
deleted file mode 100644
index 513ead4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublishManagerDelegate.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IPublishControl;
-/**
- * Class that decides whether to publish or delete a given
- * resource on the remote system.
- */
-public interface IPublishManagerDelegate {
-	/**
-	 * Sets the publish control, used to obtain information about
-	 * the publishing.
-	 *
-	 * Sets the publish state, used to determine the timestamps
-	 * of the last publishing action.
-	 * 
-	 * Resolve which resources to publish or delete.
-	 *
-	 * @param control org.eclipse.wst.server.model.IPublishControl[]
-	 * @param modules org.eclipse.wst.server.core.model.IModule[]
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void resolve(IPublishControl[] control, IModule[] modules, IProgressMonitor monitor);
-
-	/**
-	 * Returns the list of remote resources to delete from the
-	 * remote system.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 */
-	public List getResourcesToDelete(IModule module);
-
-	/**
-	 * Returns the list of resources to publish to the remote
-	 * system.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return java.util.List
-	 */
-	public List getResourcesToPublish(IModule module);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublisher.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublisher.java
deleted file mode 100644
index beaf444..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IPublisher.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.resources.*;
-/**
- * A publisher for a project within the workbench. This class
- * knows which resources within the workbench should be published
- * to the server, and where they go. In addition, it has the
- * ability to publish files and folders to the server, and delete
- * them as well.
- *
- * <p>The class can assume that the delete(), publish(), and
- * getRemoteResources() methods will only be called between calls
- * to publishStart() and publishStop() on the server.
- * (in other words, they can make use of a shared connection
- * with the server) Any other methods are valid to be
- * called at any time.</p>
- */
-public interface IPublisher {
-	/**
-	 * Returns the mapping of this file on the remote
-	 * system. Return null if this file should not be
-	 * copied to the remote server.
-	 *
-	 * @param resource org.eclipse.wst.server.core.resources.IModuleResource
-	 * @return org.eclipse.core.resources.IPath
-	 */
-	public IPath getMappedLocation(IModuleResource resource);
-
-	/**
-	 * Returns true if there may be any files or folders within
-	 * this container that should be mapped to the remote system.
-	 * Returns false if files within this folder are never copied
-	 * to the remote system.
-	 *
-	 * @param folder org.eclipse.wst.server.core.resources.IModuleFolder
-	 * @return boolean
-	 */
-	public boolean shouldMapMembers(IModuleFolder folder);
-
-	/**
-	 * Returns a list of the remote resources at the root level
-	 * of the remote location. When this method is called, the
-	 * full remote resource tree should be built, which can be
-	 * found from these root resources.
-	 *
-	 * <p>The resources returned may be folders or files. This method
-	 * should not cache data between calls. (in other words, each
-	 * call to this method must result in obtaining the data from
-	 * the server)</p>
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.wst.server.core.resources.IRemoteResource[]
-	 */
-	public IRemoteResource[] getRemoteResources(IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Delete the following resources from the remote machine. The
-	 * remote resource may be a file or folder. This method should
-	 * return an array of simple IStatus (should not be MultiStatus)
-	 * with the result of every deletion attempt.
-	 *
-	 * @param resource org.eclipse.wst.server.resources.IRemoteResource[]
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IStatus[]
-	 */
-	public IStatus[] delete(IRemoteResource[] resource, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Publish the given resources to the remote location. If the
-	 * resource is a folder (IFolder), the folder should be
-	 * recreated on the remote machine. If the resource is just a
-	 * file, it should be copied to the remote machine.  This
-	 * method should return an array of simple IStatus (should
-	 * not be MultiStatus) with the result of every publish
-	 * attempt.
-	 *
-	 * @param resource org.eclipse.wst.server.resources.IModuleResource[]
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IStatus[]
-	 */
-	public IStatus[] publish(IModuleResource[] resource, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Delete the entire module from the remote location.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus deleteAll(IProgressMonitor monitor) throws CoreException;
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRestartableModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRestartableModule.java
deleted file mode 100644
index d10bb94..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRestartableModule.java
+++ /dev/null
@@ -1,109 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Represents a specialized server delegate for servers capable of
- * restarting individual modules while the server is running.
- * <p>
- * [issue: This should be folded in to IServerDelegate. If
- * the server delegate is represented as an abstract class as
- * recommended elsewhere, all these methods could have default
- * implementations appropriate for a server that does not support 
- * restartable modules. IServerDelegate.supportsModuleRestart()
- * could answer whether module restart was possible in pinciple
- * (false by default).]
- * </p>
- * <p>
- * Concrete module types are represented by concrete classes
- * implementing this interface. The only legitimate reason
- * to declare a subclass is to implement a module factory.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IRestartableModule extends IServerDelegate {
-	
-	/**
-	 * Returns whether the given module can be restarted.
-	 * <p>
-	 * [issue: It's unclear whether this operations is guaranteed to be fast
-	 * or whether it could involve communication with any actual
-	 * server. If it is not fast, the method should take a progress
-	 * monitor.]
-	 * </p>
-	 *
-	 * @param module the module
-	 * @return <code>true</code> if the given module can be
-	 * restarted, and <code>false</code> otherwise 
-	 */
-	public boolean canRestartModule(IModule module);
-
-	/**
-	 * Check if the given module is in sync on the server. It should
-	 * return true if the module should be restarted (is out of
-	 * sync) or false if the module does not need to be restarted.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return boolean
-	 */
-	public boolean isModuleRestartNeeded(IModule module);
-
-	/**
-	 * Asynchronously restarts the given module on the server.
-	 * See the specification of 
-	 * {@link IServer#synchronousModuleRestart(IModule, IProgressMonitor)}
-	 * for further details. 
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IServer.synchronousModuleRestart</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * The implementation should update the module sync state and fire
-	 * an event for the module.
-	 * </p>
-	 * <p>
-	 * [issue: It should probably be spec'd to throw an exception error if the
-	 * given module is not associated with the server.]
-	 * </p>
-	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
-	 * any need for the progress monitor?]
-	 * </p>
-	 * <p>
-	 * [issue: Since this method is ascynchronous, how can
-	 * it return a meaningful IStatus? 
-	 * And IServer.synchronousModuleRestart throws CoreException
-	 * if anything goes wrong.]
-	 * </p>
-	 * <p>
-	 * [issue: If the module was just published to the server
-	 * and had never been started, would is be ok to "start"
-	 * the module using this method?]
-	 * </p>
-	 * 
-	 * @param module the module to be started
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return status object
-	 * @exception CoreException if an error occurs while trying to restart the module
-	 */
-	public IStatus restartModule(IModule module, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRestartableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRestartableServer.java
deleted file mode 100644
index f69665b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRestartableServer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * A server may implement this interface if it can
- * be restarted within the same process. If this interface is
- * implemented, the restartInProcess() method will be called
- * when the server is restarted, instead of calling stop(),
- * waiting, and then starting the server again.
- */
-public interface IRestartableServer extends IStartableServer {
-	/**
-	 * Restart this server. The server should use the server
-	 * listener to notify progress. It must use the same debug
-	 * flags as was originally passed into the start() method.
-	 */
-	public void restart(String launchMode);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRunningActionServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRunningActionServer.java
deleted file mode 100644
index f5c49f5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRunningActionServer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * This interface is a tag for a server that should be running before calling
- * modifyModules(). It will be implemented by delegate classes of servers that
- * should be started before calling API.
- */
-public interface IRunningActionServer {
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeDelegate.java
deleted file mode 100644
index a7315ae..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeDelegate.java
+++ /dev/null
@@ -1,121 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * A runtime delegate provides the implementation for various 
- * generic and server-type-specific operations for a specific type of runtime.
- * A runtime delegate is specified by the
- * <code>class</code> attribute of a <code>runtimeTypes</code> extension.
- * <p>
- * When the runtime instance needs to be given a delegate, the delegate class
- * specified for the runtime type is instantiated with a 0-argument constructor
- * and primed with <code>delegate.initialize(runtime)</code>, 
- * which it is expected to hang on to. Later, when
- * <code>delegate.dispose()</code> is called as the runtime instance is
- * being discarded, the delegate is expected to let go of the runtime instance.
- * </p>
- * <p>
- * Runtime delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * [issue: Runtime delegates can read runtime attributes via
- * IRuntime; runtime working copy delegates can also set them
- * via IRuntimeWorkingCopy. However, current implementation does
- * not serialize any attributes other than the ones server core
- * knows about. So it's unclear whether there is any intent
- * to support attributes that are runtime-type-specific.]
- * </p>
- * <p>
- * [issue: Since service providers must implement this class, it is
- * more flexible to provide an abstract class than an interface. It is
- * not a breaking change to add non-abstract methods to an abstract class.]
- * </p>
- * <p>
- * [issue: As mentioned on IRuntime.getDelegate(), 
- * exposing IRuntimeDelegate to clients of IRuntime
- * is confusing and dangerous. Instead, replace IRuntime.getDelegate()
- * with something like IRuntime.getRuntimeExtension() which
- * returns an IRuntimeExtension. The implementation of
- * IRuntime.getRuntimeExtension() should forward to getRuntimeExtension()
- * declared here. IRuntimeExtension is an * "marker" interface that
- * runtime providers would implement or extend only if they want to expose
- * additional API for their runtime type. That way IRuntimeDelegate
- * can be kept entirely on the SPI side, out of view from 
- * clients.]
- * </p>
- * <p>
- * This interface is intended to be implemented only by clients
- * to extend the <code>runtimeTypes</code> extension point.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @see IRuntime#getDelegate()
- * @since 1.0
- */
-public interface IRuntimeDelegate {
-	
-	/**
-	 * Initializes this runtime delegate with its life-long runtime instance.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to hang on to a reference to the runtime.
-	 * </p>
-	 * <p>
-	 * [issue: The class attribute of the runtimeTypes extension point
-	 * must stipulate that the class must have a public 0-arg constructor
-	 * in addition to implementing IRuntimeDelegate.]
-	 * </p>
-	 * 
-	 * @param runtime the runtime instance
-	 */
-	public void initialize(IRuntime runtime);
-
-	/**
-	 * Validates this runtime instance. See the specification of
-	 * {@link IRuntime#validate()} for further details. 
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IRuntime.validate()</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: see issues flagged on IRuntime.validate().]
-	 * </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();
-
-	/**
-	 * Disposes of this runtime delegate.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to let go of the delegate's reference
-	 * to the runtime, deregister listeners, etc.
-	 * </p>
-	 */
-	public void dispose();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeLocatorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeLocatorDelegate.java
deleted file mode 100644
index 60b8742..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeLocatorDelegate.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * An interface to allow searching for runtimes.
- */
-public interface IRuntimeLocatorDelegate {
-	public void searchForRuntimes(IRuntimeLocatorListener listener, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeLocatorListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeLocatorListener.java
deleted file mode 100644
index 9f90d0c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeLocatorListener.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.IRuntime;
-
-public interface IRuntimeLocatorListener {
-	public void runtimeFound(IRuntime runtime);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeTargetHandlerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeTargetHandlerDelegate.java
deleted file mode 100644
index 31b3e65..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeTargetHandlerDelegate.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public interface IRuntimeTargetHandlerDelegate {
-	public void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-	
-	public void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeWorkingCopyDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeWorkingCopyDelegate.java
deleted file mode 100644
index fc7bb8a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IRuntimeWorkingCopyDelegate.java
+++ /dev/null
@@ -1,164 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-/**
- * A runtime working copy delegate provides the implementation for various 
- * generic and runtime-type-specific operations on runtime working copies
- * for a specific type of runtime.
- * A runtime working copy delegate is specified by the
- * <code>workingCopyClass</code> attribute of a <code>runtimeTypes</code>
- * extension.
- * <p>
- * When the runtime working copy instance needs to be given a delegate, the
- * working copy delegate class specified for the runtime type is instantiated
- * with a 0-argument constructor and primed with
- * <code>delegate.initialize(runtime)</code>, 
- * which it is expected to hang on to.
- * Later, when <code>delegate.handleSave</code> is called,
- * the working copy is expected to [TBD]. Finally, when
- * <code>delegate.dispose()</code> is called as the runtime working copy is
- * being discarded, the delegate is expected to let go of the runtime working
- * copy.
- * </p>
- * <p>
- * Runtime working copy delegates may keep state in instance fields, but that
- * state is transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * [issue: Runtime delegates can read runtime attributes via
- * IRuntime; runtime working copy delegates can also set them
- * via IRuntimeWorkingCopy. However, current implementation does
- * not serialize any attributes other than the ones server core
- * knows about. So it's unclear whether there is any intent
- * to support attributes that are runtime-type-specific.]
- * </p>
- * <p>
- * [issue: IRuntimeWorkingCopyDelegate extending IRuntimeDelegate has
- * some undesirable properties: the type has 2 initialize methods
- * public void initialize(IRuntimeWorkingCopy workingCopy)
- * public void initialize(IRuntime runtime).
- * It would be simpler if these types were unrelated.
- * ]
- * </p>
- * <p>
- * [issue: Since service providers must implement this class, it is
- * more flexible to provide an abstract class than an interface. It is
- * not a breaking change to add non-abstract methods to an abstract class.]
- * </p>
- * <p>
- * [issue: As mentioned on IRuntimeWorkingCopy.getWorkingCopyDelegate(), 
- * exposing IRuntimeWorkingCopyDelegate to clients of IRuntimeWorkingCopy
- * is confusing and dangerous. Instead, replace IRuntimeWorkingCopy.getWorkingCopyDelegate()
- * with something like IRuntimeWorkingCopy.getRuntimeWorkingCopyExtension() which
- * returns an IRuntimeWorkingCopyExtension. The implementation of
- * IRuntimeWorkingCopy.getRuntimeWorkingCopyExtension() should forward to
- * getRuntimeWorkingCopyExtension()
- * declared here. IRuntimeWorkingCopyExtension is an * "marker" interface that
- * runtime providers would implement or extend only if they want to expose
- * additional API on working copies for their runtime type. That way 
- * IRuntimeWorkingCopyDelegate can be kept entirely on the SPI side,
- * out of view from clients.]
- * </p>
- * <p>
- * This interface is intended to be implemented only by clients
- * to extend the <code>runtimeTypes</code> extension point.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @see org.eclipse.wst.server.core.IServerWorkingCopy#getWorkingCopyDelegate()
- * @since 1.0
- */
-public interface IRuntimeWorkingCopyDelegate extends IRuntimeDelegate {
-	/**
-	 * Constant (value 0) indicating the pre-save call to 
-	 * {@link #handleSave(byte, IProgressMonitor)}.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * <p>
-	 * [issue: same constant is duplicated on IServerWorkingCopyDelegate.]
-	 * </p>
-	 */
-	public static final byte PRE_SAVE = 0;
-	
-	/**
-	 * Constant (value 1) indicating the post-save call to 
-	 * {@link #handleSave(byte, IProgressMonitor)}.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 * <p>
-	 * [issue: same constant is duplicated on IServerWorkingCopyDelegate.]
-	 * </p>
-	 */
-	public static final byte POST_SAVE = 1;
-
-	/**
-	 * Initializes this runtime working copy delegate with its life-long server
-	 * working copy.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to hang on to a reference to the
-	 * runtime working copy.
-	 * </p>
-	 * <p>
-	 * [issue: The workingCopyClass attribute of the runtimeTypes extension point
-	 * must stipulate that the class must have a public 0-arg constructor
-	 * in addition to implementing IRuntimeWorkingCopyDelegate.]
-	 * </p>
-	 * 
-	 * @param workingCopy the runtime working copy
-	 */
-	public void initialize(IRuntimeWorkingCopy workingCopy);
-	
-	/**
-	 * <p>
-	 * [issue: Who would call this method, and what does it do?]
-	 * </p>
-	 */
-	public void setDefaults();
-	
-	/**
-	 * Handles a save of this runtime working copy. This method is called
-	 * when the runtime working copy <code>save</code> method
-	 * is invoked and can be used to resolve calculated fields or perform
-	 * other operations related to the changes that are being made.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: It's unclear why this method is necessary.]
-	 * </p>
-	 * <p>
-	 * [issue: Explain how PRE_SAVE and POST_SAVE fit in.]
-	 * </p>
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.
-	 * Or, in this case, a boolean.]
-	 * </p>
-	 * 
-	 * @param id one of {@link #PRE_SAVE} or {@link #POST_SAVE}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public void handleSave(byte id, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerConfigurationDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerConfigurationDelegate.java
deleted file mode 100644
index cbd9b8c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerConfigurationDelegate.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/*
- * A server configuration. Server configurations usually contain
- * directories (the resources to be run on the server) and configuration
- * information. (i.e. mime types, data sources, etc.)
- */
-public interface IServerConfigurationDelegate {
-	/**
-	 * Called when the server is loaded as a model object.
-	 */
-	public void initialize(IServerConfiguration configuration);
-
-	/**
-	 * Called when this server resource has become invalid or no longer
-	 * required and is being deregistered or dicarded. This method can
-	 * be used to remove listeners, etc.
-	 */
-	public void dispose();
-	
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException;
-
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException;
-	
-	public void save(IPath path, IProgressMonitor monitor) throws CoreException;
-	
-	public void save(IFolder folder, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerConfigurationWorkingCopyDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerConfigurationWorkingCopyDelegate.java
deleted file mode 100644
index 5850796..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerConfigurationWorkingCopyDelegate.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-/**
- * 
- */
-public interface IServerConfigurationWorkingCopyDelegate extends IServerConfigurationDelegate {
-	public static final byte PRE_SAVE = 0;
-	public static final byte POST_SAVE = 1;
-
-	/**
-	 * Called when the server is loaded as a model object.
-	 */
-	public void initialize(IServerConfigurationWorkingCopy configuration);
-	
-	public void setDefaults();
-	
-	public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException;
-
-	public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Handle a save of this server configuration. This method is called when the server
-	 * configuration working copy save() method is invoked and can be used to resolve
-	 * calculated fields or perform other operations related to the changes
-	 * that are being made.
-	 * 
-	 * @param id
-	 * @param monitor
-	 */
-	public void handleSave(byte id, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerDelegate.java
deleted file mode 100644
index b45b08d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerDelegate.java
+++ /dev/null
@@ -1,310 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerState;
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.core.resources.IModuleResourceDelta;
-/**
- * A server delegate provides the implementation for various 
- * generic and server-type-specific operations for a specific type of server.
- * A server delegate is specified by the
- * <code>class</code> attribute of a <code>serverTypes</code> extension.
- * <p>
- * When the server instance needs to be given a delegate, the delegate class
- * specified for the server type is instantiated with a 0-argument constructor
- * and primed with <code>delegate.initialize(((IServerState)server)</code>, 
- * which it is expected to hang on to. Later, when
- * <code>delegate.dispose()</code> is called as the server instance is
- * being discarded, the delegate is expected to let go of the server instance.
- * </p>
- * <p>
- * Server delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * [issue: Server delegates can read server attributes via
- * IServer; server working copy delegates can also set them
- * via IServerWorkingCopy. However, current implementation does
- * not serialize any attributes other than the ones server core
- * knows about. So it's unclear whether there is any intent
- * to support attributes that are server-type-specific.]
- * </p>
- * <p>
- * [issue: Since service providers must implement this class, it is
- * more flexible to provide an abstract class than an interface. It is
- * not a breaking change to add non-abstract methods to an abstract class.]
- * </p>
- * <p>
- * [issue: As mentioned on IServer.getDelegate(), 
- * exposing IServerDelegate to clients of IServer
- * is confusing and dangerous. Instead, replace IServer.getDelegate()
- * with something like IServer.getServerExtension() which
- * returns an IServerExtension. The implementation of
- * IServer.getServerExtension() should forward to getServerExtension()
- * declared here. IServerExtension is an * "marker" interface that
- * server providers would implement or extend only if they want to expose
- * additional API for their server type. That way IServerDelegate
- * can be kept entirely on the SPI side, out of view from 
- * clients.]
- * </p>
- * <p>
- * This interface is intended to be implemented only by clients
- * to extend the <code>serverTypes</code> extension point.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @see IServer#getDelegate()
- * @since 1.0
- */
-public interface IServerDelegate {
-	
-	/**
-	 * Initializes this server delegate with its life-long server instance.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to hang on to a reference to the server.
-	 * </p>
-	 * <p>
-	 * [issue: The class attribute of the serverTypes extension point
-	 * must stipulate that the class must have a public 0-arg constructor
-	 * in addition to implementing IServerDelegate.]
-	 * </p>
-	 * 
-	 * @param server the server instance
-	 */
-	public void initialize(IServerState server);
-
-	/**
-	 * Disposes of this server delegate.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to let go of the delegate's reference
-	 * to the server, deregister listeners, etc.
-	 * </p>
-	 */
-	public void dispose();
-	
-	/**
-	 * Returns the publisher that can be used to publish the
-	 * given module to this server.
-	 * <p>
-	 * [issue: Although getPublisher is also found on
-	 * on IServer, it probably does not belong there. Here
-	 * on the SPI side is where it makes sense: it allows the
-	 * IPublisher implementation to be determined (and implemented)
-	 * in a server-type-specific manner.]
-	 * </p>
-	 * <p>
-	 * [issue: Explain the role of the parents parameter.]
-	 * </p>
-	 *
-	 * @param parents the parent modules (element type: <code>IModule</code>)
-	 * @param module the module
-	 * @return the publisher that handles the given module, or
-	 * <code>null</code> if the module cannot be published to
-	 * this server
-	 */
-	public IPublisher getPublisher(List parents, IModule module);
-
-	/**
-	 * The server configuration has changed. This method should return
-	 * quickly. If any republishing must occur, the relevant in-sync
-	 * methods should return a new value. If the server must be restarted,
-	 * the isRestartNeeded() method should return true.
-	 * 
-	 * @see IServer#updateConfiguration()
-	 */
-	public void updateConfiguration();
-
-	/**
-	 * A module resource has changed. This method should return
-	 * quickly. If the server must be restarted to handle the
-	 * change of this file, the isRestartNeeded() method should
-	 * return true and the event should be fired.
-	 *
-	 * @param module org.eclipse.wst.server.core.IModule
-	 * @param delta org.eclipse.wst.server.core.IModuleResourceDelta
-	 */
-	public void updateModule(IModule module, IModuleResourceDelta delta);
-
-	/**
-	 * Methods called to notify that publishing is about to begin.
-	 * This allows the server to open a connection to the server
-	 * or get any global information ready.
-	 *
-	 * <p>This method should not be called directly! Use the
-	 * IServerControl to correctly publish to the server.</p>
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus publishStart(IProgressMonitor monitor);
-
-	/**
-	 * Publish the configuration.
-	 * 
-	 * @param monitor
-	 * @return
-	 */
-	public IStatus publishConfiguration(IProgressMonitor monitor);
-
-	/**
-	 * Methods called to notify that publishing has finished.
-	 * The server can close any open connections to the server
-	 * and do any cleanup operations.
-	 *
-	 * <p>This method should not be called directly! Use the
-	 * IServerControl to correctly publish to the
-	 * server.</p>
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus publishStop(IProgressMonitor monitor);
-	
-	/**
-	 * Returns whether the specified module modifications could be made to this
-	 * server at this time. See the specification of
-	 * {@link IServer#canModifyModules(IModule[], IModule[])}
-	 * for further details. 
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IServer.canModifyModules</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: See IServer.canModifyModules(IModule[], IModule[]).]
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return <code>true</code> if the proposed modifications
-	 * look feasible, and <code>false</code> otherwise
-	 * Returns true if this module can be added to this
-	 * configuration at the current time, and false otherwise.
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove);
-
-	/**
-	 * Returns the list of modules that are associated with
-	 * this server. See the specification of
-	 * {@link IServer#getModules()} for further details. 
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IServer.getModules</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: Where does the delegate get these objects from,
-	 * especially at the start of a follow-on session?]
-	 * </p>
-	 *
-	 * @return a possibly-empty list of modules
-	 */
-	public IModule[] getModules();
-	
-	/**
-	 * Returns the current state of the given module on this server.
-	 * Returns <code>MODULE_STATE_UNKNOWN</code> if the module
-	 * is not among the ones associated with this server.
-	 * See the specification of {@link IServer#getModuleState(IModule)}
-	 * for further details. 
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IServer.getModuleState</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: It's unclear whether this operations is guaranteed to be fast
-	 * or whether it could involve communication with any actual
-	 * server. If it is not fast, the method should take a progress
-	 * monitor.]
-	 * </p>
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 *
-	 * @param module the module
-	 * @return one of the module state (<code>MODULE_STATE_XXX</code>)
-	 * constants declared on {@link IServer}
-	 */
-	public byte getModuleState(IModule module);
-
-	/**
-	 * Method called when changes to the modules or module factories
-	 * within this configuration occur. Return any necessary commands to repair
-	 * or modify the server configuration in response to these changes.
-	 * 
-	 * @see IServer#getRepairCommands(IModuleFactoryEvent[], IModuleEvent[])
-	 */
-	public ITask[] getRepairCommands(IModuleFactoryEvent[] factoryEvent, IModuleEvent[] moduleEvent);
-	
-	/**
-	 * Returns the child module(s) of this module. If this
-	 * module contains other modules, it should list those
-	 * modules. If not, it should return an empty list.
-	 *
-	 * <p>This method should only return the direct children.
-	 * To obtain the full module tree, this method may be
-	 * recursively called on the children.</p>
-	 *
-	 * @see IServer#getChildModules(IModule)
-	 */
-	public List getChildModules(IModule module);
-
-	/**
-	 * Returns the parent module(s) of this module. When
-	 * determining if a given project can run on a server
-	 * configuration, this method will be used to find the
-	 * actual module(s) that may be run on the server. For
-	 * instance, a Web module may return a list of Ear
-	 * modules that it is contained in if the server only
-	 * supports configuring Ear modules.
-	 *
-	 * <p>If the module type is not supported, this method
-	 * may return null. If the type is normally supported but there
-	 * is a configuration problem or missing parent, etc., this
-	 * method may fire a CoreException that may then be presented
-	 * to the user.</p>
-	 *
-	 * <p>If it does return valid parent(s), this method should
-	 * always return the topmost parent module(s), even if
-	 * there are a few levels (a heirarchy) of modules.</p>
-	 *
-	 * @see IServer#getParentModules(IModule)
-	 */
-	public List getParentModules(IModule module) throws CoreException;
-	
-	/**
-	 * 
-	 * @see IServer#setLaunchDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setLaunchDefaults(ILaunchConfigurationWorkingCopy workingCopy);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLifecycleEventHandler.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLifecycleEventHandler.java
deleted file mode 100644
index 62e099e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLifecycleEventHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.IServerLifecycleEvent;
-/**
- * An event that is fired when lifecycle events happen on a server and need to
- * be reacted to.
- */
-public interface IServerLifecycleEventHandler {
-	/**
-	 * Handle module server events.
-	 * 
-	 * true - change has been handled (typically by calling execute() on the task)
-	 *    or task should not be run.
-	 * false - was not handled - let another handler deal with the change.
-	 * 
-	 * @return boolean[]
-	 */
-	public boolean[] handleModuleServerEvents(IServerLifecycleEvent[] events);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerListener.java
deleted file mode 100644
index f0f6866..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerListener.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * This interface is used by the server to broadcast a change of state.
- * Usually, the change of state will be caused by some user action,
- * (e.g. requesting to start a server) however, it is equally fine for
- * a server to broadcast a change of state through no direct user action.
- * (e.g. stopping because the server crashed) This information can be
- * used to inform the user of the change or update the UI.
- *
- * <p>Note: The server listener event MUST NOT directly be used to modify
- * the server's state via one of the server's method. For example, a server
- * stopped event cannot directly trigger a start(). Doing this may cause
- * the thread to hang.</p>
- */
-public interface IServerListener {
-	/**
-	 * Called when the server configuration's sync state changes.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void configurationSyncStateChange(IServer server);
-
-	/**
-	 * Called when the server isRestartNeeded() property changes.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void restartStateChange(IServer server);
-
-	/**
-	 * Notification when the server state has changed.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void serverStateChange(IServer server);
-	
-	/**
-	 * Notification when the state of a module has changed.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void moduleStateChange(IServer server, IModule module);
-	
-	/**
-	 * Called when the modules tree of this server has changed.
-	 *
-	 * @param server org.eclipse.wst.server.IServer
-	 */
-	public void modulesChanged(IServer server);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLocatorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLocatorDelegate.java
deleted file mode 100644
index 705e919..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLocatorDelegate.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * An interface to allow searching for servers.
- */
-public interface IServerLocatorDelegate {
-	public void searchForServers(IServerLocatorListener listener, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLocatorListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLocatorListener.java
deleted file mode 100644
index 1b8b2fe..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerLocatorListener.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.IServer;
-
-public interface IServerLocatorListener {
-	public void serverFound(IServer server);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerMonitorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerMonitorDelegate.java
deleted file mode 100644
index cc8f913..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerMonitorDelegate.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * An interface to a TCP/IP monitor.
- */
-public interface IServerMonitorDelegate {
-	/**
-	 * Start monitoring the given port, and return the port number to
-	 * tunnel requests through. The monitorPort is the new port to use, or
-	 * -1 to pick a random port.
-	 * 
-	 * @param port
-	 * @return
-	 */
-	public int startMonitoring(IServer server, IServerPort port, int monitorPort) throws CoreException;
-
-	/**
-	 * Stop monitoring the given port.
-	 * @param port
-	 */
-	public void stopMonitoring(IServer server, IServerPort port);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerPort.java
deleted file mode 100644
index 80d9663..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerPort.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * An abstract port on a server.
- */
-public interface IServerPort {
-	/**
-	 * Return an optional internal id used to identify this port.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Return the name of the port.
-	 * @return java.lang.String
-	 */
-	public String getName();
-
-	/**
-	 * Return the actual port number.
-	 * @return int
-	 */
-	public int getPort();
-
-	/**
-	 * Returns the protocol, e.g. HTTP of this port. Returns null
-	 * if the protocol is unknown.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getProtocol();
-
-	/**
-	 * Returns the content types that this port would normally serve, or null
-	 * if the content is unknown.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getContentTypes();
-	
-	/**
-	 * Returns true if this port is an "advanced" port and should not be shown
-	 * to novice users.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isAdvanced();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerResourceListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerResourceListener.java
deleted file mode 100644
index 76b8777..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerResourceListener.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- * Listener interface for server and server configuration changes.
- */
-public interface IServerResourceListener {
-	/**
-	 * A new runtime has been created.
-	 *
-	 * @param runtime org.eclipse.wst.server.core.IRuntime
-	 */
-	public void runtimeAdded(IRuntime runtime);
-
-	/**
-	 * An existing runtime has been updated or modified.
-	 *
-	 * @param runtime org.eclipse.wst.server.core.IRuntime
-	 */
-	public void runtimeChanged(IRuntime runtime);
-
-	/**
-	 * A existing runtime has been removed.
-	 *
-	 * @param runtime org.eclipse.wst.server.core.IRuntime
-	 */
-	public void runtimeRemoved(IRuntime runtime);
-
-	/**
-	 * A new server has been created.
-	 *
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public void serverAdded(IServer server);
-
-	/**
-	 * An existing server has been updated or modified.
-	 *
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public void serverChanged(IServer server);
-
-	/**
-	 * A existing server has been removed.
-	 *
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public void serverRemoved(IServer server);
-	
-	/**
-	 * A new server configuration has been created.
-	 *
-	 * @param serverConfiguration org.eclipse.wst.server.core.IServerConfiguration
-	 */
-	public void serverConfigurationAdded(IServerConfiguration serverConfiguration);
-
-	/**
-	 * An existing server configuration has been updated or modified.
-	 *
-	 * @param serverConfiguration org.eclipse.wst.server.core.IServerConfiguration
-	 */
-	public void serverConfigurationChanged(IServerConfiguration serverConfiguration);
-
-	/**
-	 * A existing configuration has been removed.
-	 *
-	 * @param serverConfiguration org.eclipse.wst.server.core.IServerConfiguration
-	 */
-	public void serverConfigurationRemoved(IServerConfiguration serverConfiguration);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerTaskDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerTaskDelegate.java
deleted file mode 100644
index 5c75ba9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerTaskDelegate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- * A server task.
- * 
- * <p>This is the implementation of a serverTask extension point.</p>
- */
-public interface IServerTaskDelegate {
-	public static final byte TASK_UNNECESSARY = 0;
-	public static final byte TASK_COMPLETED = 1;
-	public static final byte TASK_READY = 2;
-	public static final byte TASK_PREFERRED = 3;
-	public static final byte TASK_MANDATORY = 4;
-	
-	/**
-	 * Lets the task know that it is about to be used. This method should
-	 * be used to clean out any previously cached information, or start to
-	 * create a new cache.
-	 * 
-	 * @param server org.eclipse.wst.server.core.IServer
-	 * @param configuration org.eclipse.wst.server.core.IServerConfiguration
-	 * @param parents java.util.List[]
-	 * @param modules org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public void init(IServer server, IServerConfiguration configuration, List[] parents, IModule[] modules);
-
-	/**
-	 * Returns the status of this task.
-	 * 
-	 * @return byte
-	 */
-	public byte getTaskStatus();
-
-	/**
-	 * Perform the task.
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException;
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerWorkingCopyDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerWorkingCopyDelegate.java
deleted file mode 100644
index 6013196..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IServerWorkingCopyDelegate.java
+++ /dev/null
@@ -1,179 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * A server working copy delegate provides the implementation for various 
- * generic and server-type-specific operations on server working copies
- * for a specific type of server.
- * A server working copy delegate is specified by the
- * <code>workingCopyClass</code> attribute of a <code>serverTypes</code>
- * extension.
- * <p>
- * When the server working copy instance needs to be given a delegate, the
- * working copy delegate class specified for the server type is instantiated
- * with a 0-argument constructor and primed with
- * <code>delegate.initialize(serverWorkingCopy)</code>, 
- * which it is expected to hang on to.
- * Later, when <code>delegate.handleSave</code> is called,
- * the working copy is expected to [TBD]. Finally, when
- * <code>delegate.dispose()</code> is called as the server working copy is
- * being discarded, the delegate is expected to let go of the server working
- * copy.
- * </p>
- * <p>
- * Server working copy delegates may keep state in instance fields, but that
- * state is transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * [issue: Server delegates can read server attributes via
- * IServer; server working copy delegates can also set them
- * via IServerWorkingCopy. However, current implementation does
- * not serialize any attributes other than the ones server core
- * knows about. So it's unclear whether there is any intent
- * to support attributes that are server-type-specific.]
- * </p>
- * <p>
- * [issue: IServerWorkingCopyDelegate extending IServerDelegate has
- * some undesirable properties: the type has 2 initialize methods
- * public void initialize(IServerWorkingCopy workingCopy)
- * public void initialize(IServerState server).
- * It would be simpler if these types were unrelated.
- * ]
- * </p>
- * <p>
- * [issue: Since service providers must implement this class, it is
- * more flexible to provide an abstract class than an interface. It is
- * not a breaking change to add non-abstract methods to an abstract class.]
- * </p>
- * <p>
- * [issue: As mentioned on IServerWorkingCopy.getWorkingCopyDelegate(), 
- * exposing IServerWorkingCopyDelegate to clients of IServerWorkingCopy
- * is confusing and dangerous. Instead, replace IServerWorkingCopy.getWorkingCopyDelegate()
- * with something like IServerWorkingCopy.getServerWorkingCopyExtension() which
- * returns an IServerWorkingCopyExtension. The implementation of
- * IServerWorkingCopy.getServerWorkingCopyExtension() should forward to
- * getServerWorkingCopyExtension()
- * declared here. IServerWorkingCopyExtension is an * "marker" interface that
- * server providers would implement or extend only if they want to expose
- * additional API on working copies for their server type. That way 
- * IServerWorkingCopyDelegate can be kept entirely on the SPI side,
- * out of view from clients.]
- * </p>
- * <p>
- * This interface is intended to be implemented only by clients
- * to extend the <code>serverTypes</code> extension point.
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @see org.eclipse.wst.server.core.IServerWorkingCopy#getWorkingCopyDelegate()
- * @since 1.0
- */
-public interface IServerWorkingCopyDelegate extends IServerDelegate {
-	
-	/**
-	 * Constant (value 0) indicating the pre-save call to 
-	 * {@link #handleSave(byte, IProgressMonitor)}.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 */
-	public static final byte PRE_SAVE = 0;
-	
-	/**
-	 * Constant (value 1) indicating the post-save call to 
-	 * {@link #handleSave(byte, IProgressMonitor)}.
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.]
-	 * </p>
-	 */
-	public static final byte POST_SAVE = 1;
-
-	/**
-	 * Initializes this server working copy delegate with its life-long server
-	 * working copy.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to hang on to a reference to the
-	 * server working copy.
-	 * </p>
-	 * <p>
-	 * [issue: The workingCopyClass attribute of the serverTypes extension point
-	 * must stipulate that the class must have a public 0-arg constructor
-	 * in addition to implementing IServerWorkingCopyDelegate.]
-	 * </p>
-	 * 
-	 * @param workingCopy the server working copy
-	 */
-	public void initialize(IServerWorkingCopy workingCopy);
-
-	/**
-	 * <p>
-	 * [issue: Who would call this method, and what does it do?]
-	 * </p>
-	 */
-	public void setDefaults();
-
-	/**
-	 * Modifies the list of modules associated with the server.
-	 * See the specification of
-	 * {@link IServerWorkingCopy#modifyModules(IModule[], IModule[], IProgressMonitor)}
-	 * for further details.
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IServerWorkingCopy.modifyModules</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException [missing]
-	 */
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Handles a save of this server working copy. This method is called
-	 * when the server working copy <code>save</code> method
-	 * is invoked and can be used to resolve calculated fields or perform
-	 * other operations related to the changes that are being made.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: It's unclear why this method is necessary.]
-	 * </p>
-	 * <p>
-	 * [issue: Explain how PRE_SAVE and POST_SAVE fit in.]
-	 * </p>
-	 * <p>
-	 * [issue: byte is rarely used in Java. Use int instead.
-	 * Or, in this case, a boolean.]
-	 * </p>
-	 * 
-	 * @param id one of {@link #PRE_SAVE} or {@link #POST_SAVE}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public void handleSave(byte id, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IStartableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IStartableServer.java
deleted file mode 100644
index fe1ba17..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IStartableServer.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * A startable server. This interface just provides the extra methods for starting,
- * stopping, and terminating the server.
- */
-public interface IStartableServer extends IServerDelegate {
-	/**
-	 * Return true if the server should be terminated before the workbench
-	 * shutdown and false if not. If the server is not terminated when
-	 * workbench shutdown, then the server should get reconnected
-	 * in the server load when the workbench startsup.
-	 * 
-	 * @deprecated Server tools framework can no longer stop the (downstream)
-	 *    server due to plugin dependancy/shutdown issues. This method should not
-	 *    be used and will eventually be removed.
-	 * @return boolean
-	 */
-	public boolean isTerminateOnShutdown();
-
-	/**
-	 * Cleanly shuts down and stops this server. The
-	 * server should return from this method quickly and
-	 * use the server listener to notify shutdown progress.
-	 *
-	 * <p>This method should not be called directly! Use the
-	 * IServerControl to correctly start and register
-	 * the server.</p>
-	 */
-	public void stop();
-	
-	/**
-	 * Terminate the server process(es). This method should only be
-	 * used as a last resort after the stop() method fails to work.
-	 * The server should return from this method quickly and
-	 * use the server listener to notify shutdown progress.
-	 * It MUST terminate the server completely and return it to
-	 * the stopped state.
-	 */
-	public void terminate();
-	
-	/**
-	 * Return the timeout (in ms) that should be used to wa
-	 * 
-	 * @return
-	 */
-	public int getStartTimeout();
-
-	/**
-	 * Return the timeout (in ms) to wait before assuming that the server
-	 * has failed to stop.
-	 *  
-	 * @return
-	 */
-	public int getStopTimeout();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IStartup.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IStartup.java
deleted file mode 100644
index d0abdd0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IStartup.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-/**
- * An interface for the startup extension point.
- */
-public interface IStartup {
-	/**
-	 * Called on server core startup.
-	 */
-	public void startup();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java
deleted file mode 100644
index 924a274..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.net.URL;
-
-/**
- * 
- */
-public interface IURLProvider {
-	/**
-	 * Return the base URL of this module on the server. This method may return
-	 * null if this server does not have a valid configuration or does not contain
-	 * this module. Otherwise, it should return the base URL (e.g. 
-	 * "http://localhost:8080/myProject") regardless of whether the server is
-	 * running or not. The returned URL should not end in a trailing slash.
-	 * 
-	 * <p>If the module is null, the returned URL will just be to the root of
-	 * the server (e.g. "http://localhost:8080")</p>
-	 * 
-	 * <p>If the module is not already added to the server, the method will return
-	 * as close an approximation as possible. (for instance, for a web project it
-	 * may use the project's context root, which may not be the same when deployed
-	 * to a server)</p>
-	 *
-	 * @param module com.ibm.etools.server.core.model.IModule
-	 * @return java.net.URL
-	 */
-	public URL getModuleRootURL(IModule module);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleFile.java
deleted file mode 100644
index 153615b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleFile.java
+++ /dev/null
@@ -1,44 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.CoreException;
-/**
- * A module file is a leaf resource in a module. 
- * Files contains data.
- * <p>
- * This interface is not intended to be implemented by clients
- * other than module factories.
- * </p>
- * <p>
- * [issue: See issues on IModuleResource about how to get rid
- * of this interface.]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IModuleFile extends IModuleResource {
-
-	/**
-	 * Returns an open input stream on the contents of this file.
-	 * The client is responsible for closing the stream when finished.
-	 *
-	 * @return an input stream containing the contents of the file
-	 * @exception CoreException if this method fails
-	 */
-	public InputStream getContents() throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleFolder.java
deleted file mode 100644
index 9ef94f4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleFolder.java
+++ /dev/null
@@ -1,48 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import org.eclipse.core.runtime.CoreException;
-/**
- * A module folder is leaf or non-leaf resource in a module.
- * Folders may contain files and/or other folders. All members
- * belong to the same module as their parent.
- * <p>
- * This interface is not intended to be implemented by clients
- * other than module factories.
- * </p>
- * <p>
- * [issue: See issues on IModuleResource about how to get rid
- * of this interface.]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IModuleFolder extends IModuleResource {
-
-	/**
-	 * Returns a list of existing member resources (folders and files)
-	 * in this folder, in no particular order. 
-	 * <p>
-	 * Note that the members of a folder are the files and folders
-	 * immediately contained within it. All members belong to the
-	 * same module as this folder.
-	 * </p>
-	 *
-	 * @return a list of members of this folder
-	 * @exception CoreException if this method fails
-	 */
-	public IModuleResource[] members() throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleResource.java
deleted file mode 100644
index 189b7b1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleResource.java
+++ /dev/null
@@ -1,122 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * A module resource is a workspace file or folder contained
- * in a module.
- * <p>
- * Every module resource is an instance of either
- * {@link IModuleFile} or {@link IModuleFolder}.
- * </p>
- * <p>
- * [issue: There is currently no way for a client to
- * distinguish files from folders except by an instanceof
- * check.]
- * </p>
- * <p>
- * Each module resource belongs to exactly one module.
- * </p>
- * <p>
- * This interface is not intended to be implemented directly.
- * Module factories may implement one of the subinterfaces 
- * <code>IModuleFile</code> and <code>IModuleFolder</code>.
- * </p>
- * <p>
- * [issue: It is not clear that there is any need for module
- * factories to implement IModuleFile and IModuleFolder.
- * All that seems to be needed is an IResource paired with
- * an IModule. The fact that all these interfaces are in
- * org.eclipse.wst.server.core.resources suggests that this
- * is the intent. If that's the case, one fixed implementation
- * will do. The only API methods needed are:
- *   public IResource getResource();
- *   public IModule getModule();
- *   public IContainer getModuleRoot();
- * Names, paths, parents, and timestamps can all be handled
- * by existing IResource API.]
- * </p>
- * <p>
- * [issue: Equality/identify for module resources?]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- * 
- * @since 1.0
- */
-public interface IModuleResource {
-	
-	/** 
-	 * Time stamp constant (value -1) indicating the time stamp is
-	 * unknown.
-	 *
-	 * @see #getTimestamp()
-	 */
-	public static final long TIMESTAMP_UNKNOWN = -1;
-
-	/**
-	 * Returns the name of this module resource.
-	 *
-	 * @return the name
-	 */
-	public String getName();
-
-	/**
-	 * Returns the module that contains this module resource.
-	 * 
-	 * @return the module 
-	 */
-	public IModule getModule();
-
-	/**
-	 * Returns the parent folder in the same module, if any.
-	 * <p>
-	 * Note that a root resource is one that appears among
-	 * the list <code>getModule().members()</code>.
-	 * </p>
-	 *
-	 * @returns the parent module folder, or <code>null</code>
-	 * this is a module root
-	 */
-	public IModuleFolder getParent();
-
-	/**
-	 * Return the path to this module resource.
-	 * <p>
-	 * Paths are relative to the module. That is, a root
-	 * resource named "foo" has path "foo"; a resource 
-	 * named "bar" insider it has path "foo/bar", and so on.
-	 * </p>
-	 *
-	 * @return a module-relative resource path
-	 */
-	public IPath getPath();
-
-	/**
-	 * Returns the time stamp of the module resource.
-	 * <p>
-	 * This time stamp need not match the local machine's time, but it
-	 * must be constantly increasing with time (i.e., files with a
-	 * larger time stamp must have been created later).
-	 * </p>
-	 * <p>
-	 * [issue: Rename to "getTimeStamp" for consistency with
-	 * IResource.getLocalTimeStamp().]
-	 * </p>
-	 *
-	 * @return a time stamp, or {@link #TIMESTAMP_UNKNOWN}
-	 */
-	public long getTimestamp();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleResourceDelta.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleResourceDelta.java
deleted file mode 100644
index 3e52516..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IModuleResourceDelta.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * 
- */
-public interface IModuleResourceDelta {
-	public static final int NO_CHANGE = 0;
-	public static final int ADDED = 0x1;
-	public static final int REMOVED = 0x2;
-	public static final int CHANGED = 0x4;
-
-	/**
-	 * Returns the path to this resource.
-	 */
-	public IPath getFullPath();
-	
-	/**
-	 * Returns the resource at this location.
-	 */
-	public IModuleResource getResource();
-	
-	/**
-	 * Returns the flags for this change, as defined
-	 * in the class header.
-	 */
-	public int getKind();
-	
-	/**
-	 * 
-	 * 
-	 */
-	public IModuleResourceDelta[] getAffectedChildren();
-	
-	/**
-	 * 
-	 */
-	public IModuleResourceDelta findMember(IPath path);
-	
-	//public void accept(IResourceDeltaVisitor visitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IRemoteFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IRemoteFolder.java
deleted file mode 100644
index e790671..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IRemoteFolder.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import java.util.List;
-/**
- * A remote folder is a remote resource that can have children.
- */
-public interface IRemoteFolder extends IRemoteResource {
-	/**
-	 * Returns a list of IRemoteResources directly contained
-	 * within this folder.
-	 *
-	 * @return java.util.List
-	 */
-	public List getContents();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IRemoteResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IRemoteResource.java
deleted file mode 100644
index c55212d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/IRemoteResource.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * A remote resource that has a name, parent, path, and timestamp.
- */
-public interface IRemoteResource {
-	public static final long TIMESTAMP_UNKNOWN = -1;
-
-	/**
-	 * Returns the name of the remote resource.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName();
-
-	/**
-	 * Returns the parent folder, or null if we're at the root.
-	 *
-	 * @return org.eclipse.wst.server.model.IRemoteFolder
-	 */
-	public IRemoteFolder getParent();
-
-	/**
-	 * Return the path to this resource.
-	 *
-	 * @return org.eclipse.core.runtime.IPath
-	 */
-	public IPath getPath();
-
-	/**
-	 * Returns the timestamp of the remote resource. This timestamp
-	 * does not need to match the local machine's time, but it
-	 * must be constantly increasing with time. (i.e. files with a
-	 * larger timestamp were created later)
-	 *
-	 * @return long
-	 */
-	public long getTimestamp();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ModuleResourceDelta.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ModuleResourceDelta.java
deleted file mode 100644
index 7216cc9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ModuleResourceDelta.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * 
- */
-public class ModuleResourceDelta implements IModuleResourceDelta {
-	protected IModuleResource resource;
-	protected int flags;
-	
-	protected List children;
-	
-	private static final IModuleResourceDelta[] NO_CHILDREN = new ModuleResourceDelta[0];
-	
-	public ModuleResourceDelta(IModuleResource resource, int flags) {
-		this.resource = resource;
-		this.flags = flags;
-	}
-
-	/**
-	 * @see IModuleResourceDelta#getPath()
-	 */
-	public IPath getFullPath() {
-		return resource.getPath();
-	}
-
-	/**
-	 * @see IModuleResourceDelta#getResource()
-	 */
-	public IModuleResource getResource() {
-		return resource;
-	}
-
-	/**
-	 * @see IModuleResourceDelta#getFlags()
-	 */
-	public int getKind() {
-		return flags;
-	}
-	
-	/**
-	 * 
-	 */
-	public void addChild(IModuleResourceDelta delta) {
-		if (children == null)
-			children = new ArrayList(4);
-		children.add(delta);
-	}
-
-	/**
-	 * 
-	 * 
-	 */
-	public IModuleResourceDelta[] getAffectedChildren() {
-		if (children == null || children.size() == 0)
-			return NO_CHILDREN;
-		
-		ModuleResourceDelta[] delta = new ModuleResourceDelta[children.size()];
-		children.toArray(delta);
-		return delta;
-	}
-	
-	/**
-	 * 
-	 */
-	public IModuleResourceDelta findMember(IPath path) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleFile.java
deleted file mode 100644
index a682ae9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleFile.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * 
- */
-public class ProjectModuleFile extends ProjectModuleResource implements IModuleFile {
-	public ProjectModuleFile(IModule module, IModuleFolder parent, IFile file) {
-		super(module, parent, file);
-	}
-
-	/*
-	 * @see IModuleFile#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		IFile file = (IFile) getResource();
-		return file.getContents();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleFolder.java
deleted file mode 100644
index 49cfbec..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleFolder.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * 
- */
-public class ProjectModuleFolder extends ProjectModuleResource implements IModuleFolder {
-	public ProjectModuleFolder(IModule module, IModuleFolder parent, IContainer container) {
-		super(module, parent, container);
-	}
-
-	/**
-	 * Returns a list of IModuleResources directly contained
-	 * within this folder.
-	 *
-	 * @return java.util.List
-	 */
-	public IModuleResource[] members() throws CoreException {
-		IContainer container = (IContainer) getResource();
-		IResource[] resources = container.members();
-		if (resources != null) {
-			List list = new ArrayList();
-			
-			int size = resources.length;
-			for (int i = 0; i < size; i++) {
-				IResource res = resources[i];
-				if (res instanceof IContainer) {
-					ProjectModuleFolder pdf = new ProjectModuleFolder(getModule(), this, (IContainer) res);	
-					list.add(pdf);
-				} else if (res instanceof IFile) {
-					ProjectModuleFile pdf = new ProjectModuleFile(getModule(), this, (IFile) res);
-					list.add(pdf);
-				}
-			}
-			
-			IModuleResource[] moduleResources = new IModuleResource[list.size()];
-			list.toArray(moduleResources);
-			return moduleResources;
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleResource.java
deleted file mode 100644
index 53e38a5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/ProjectModuleResource.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * 
- */
-public class ProjectModuleResource implements IModuleResource {
-	protected IModule module;
-	protected IModuleFolder parent;
-	protected IResource resource;
-
-	public ProjectModuleResource(IModule module, IModuleFolder parent, IResource resource) {
-		this.module = module;
-		this.parent = parent;
-		this.resource = resource;
-	}
-
-	/*
-	 * @see IModuleResource#getName()
-	 */
-	public String getName() {
-		return resource.getName();
-	}
-
-	/*
-	 * @see IModuleResource#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/*
-	 * @see IModuleResource#getParent()
-	 */
-	public IModuleFolder getParent() {
-		return parent;
-	}
-
-	/*
-	 * @see IModuleResource#getPath()
-	 */
-	public IPath getPath() {
-		if (parent == null)
-			return new Path(getName());
-		IPath path = parent.getPath();
-		return path.append(getName());
-	}
-
-	public IResource getResource() {
-		return resource;
-	}
-
-	/*
-	 * @see IModuleResource#getTimestamp()
-	 */
-	public long getTimestamp() {
-		return resource.getModificationStamp();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ProjectModuleResource))
-			return false;
-		
-		ProjectModuleResource ppr = (ProjectModuleResource) obj;
-		if (ppr.getModule() != module)
-			return false;
-		if (parent == null && ppr.getParent() != null)
-			return false;
-		if (parent != null && !parent.equals(ppr.getParent()))
-			return false;
-		if (resource != null && !resource.equals(ppr.getResource()))
-			return false;
-		return true;
-	}
-	
-	public String toString() {
-		return getPath() + "(" + getTimestamp() + ")";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/RemoteFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/RemoteFolder.java
deleted file mode 100644
index dfdf8af..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/RemoteFolder.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import java.util.*;
-
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * An implementation of a remote folder.
- */
-public class RemoteFolder extends RemoteResource implements IRemoteFolder {
-	protected List children;
-
-	/**
-	 * RemoteFolder constructor comment.
-	 */
-	public RemoteFolder(IRemoteFolder parent, String name, long timestamp) {
-		super(parent, name, timestamp);
-	}
-
-	/**
-	 * 
-	 * @param resource org.eclipse.wst.server.core.model.IRemoteResource
-	 */
-	public void addChild(IRemoteResource resource) {
-		List children2 = getContents();
-		if (!children2.contains(resource))
-			children2.add(resource);
-	}
-
-	/**
-	 * Returns a list of IRemoteResources directly contained
-	 * within this folder.
-	 *
-	 * @return java.util.List
-	 */
-	public List getContents() {
-		if (children == null)
-			children = new ArrayList();
-		return children;
-	}
-	
-	/**
-	 * Output the remote folder to a string
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		sb.append(getPath().toString());
-		sb.append("[");
-	
-		boolean first = true;
-		Iterator iterator = getContents().iterator();
-		while (iterator.hasNext()) {
-			IRemoteResource remote = (IRemoteResource) iterator.next();
-			if (!first)
-				sb.append(", ");
-			first = false;
-			sb.append(remote.toString());
-		}
-		sb.append("]");
-		return sb.toString();
-	}
-	
-	/**
-	 * Trace the remote folder's output.
-	 */
-	public void trace(String indent) {
-		Trace.trace(indent + getPath().toString() + " (" + getTimestamp() + ") [");
-	
-		Iterator iterator = getContents().iterator();
-		while (iterator.hasNext()) {
-			IRemoteResource remote = (IRemoteResource) iterator.next();
-			if (remote instanceof RemoteFolder) {
-				((RemoteFolder) remote).trace(indent + "  ");
-			} else
-				Trace.trace(indent + "  " + remote.toString());
-		}
-		Trace.trace(indent + "]");
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/RemoteResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/RemoteResource.java
deleted file mode 100644
index 0a7da89..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/resources/RemoteResource.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.resources;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-/**
- * An implementation of a remote resource. The path is the
- * path of the parent with the resource name appended.
- */
-public class RemoteResource implements IRemoteResource {
-	protected IRemoteFolder parent;
-	protected String name;
-	protected long timestamp = TIMESTAMP_UNKNOWN;
-
-	/**
-	 * RemoteResource constructor comment.
-	 */
-	public RemoteResource(IRemoteFolder parent, String name, long timestamp) {
-		super();
-		this.parent = parent;
-		this.name = name;
-		this.timestamp = timestamp;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 * @param obj java.lang.Object
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof RemoteResource))
-			return false;
-
-		RemoteResource remote = (RemoteResource) obj;
-		if (name != null && !name.equals(remote.getName()))
-			return false;
-
-		if (parent == null && remote.getParent() != null)
-			return false;
-
-		if (parent != null && !parent.equals(remote.getParent()))
-			return false;
-
-		if (timestamp != remote.getTimestamp())
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Returns the name of the remote resource.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the parent folder, or null if we're at the root.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IRemoteFolder
-	 */
-	public IRemoteFolder getParent() {
-		return parent;
-	}
-
-	/**
-	 * Return the path to this resource.
-	 *
-	 * @return org.eclipse.core.runtime.IPath
-	 */
-	public IPath getPath() {
-		if (parent == null)
-			return new Path(getName());
-		IPath path = parent.getPath();
-		return path.append(getName());
-	}
-
-	/**
-	 * Returns the timestamp of the remote resource. This timestamp
-	 * does not need to match the local machine's time, but it
-	 * must be constantly increasing with time. (i.e. files with a
-	 * larger timestamp were created later)
-	 *
-	 * @return long
-	 */
-	public long getTimestamp() {
-		return timestamp;
-	}
-
-	/**
-	 * Returns this remote resource as a string.
-	 *
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return getPath().toString() + " (" + getTimestamp() + ")";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/FileUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/FileUtil.java
deleted file mode 100644
index 094160b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/FileUtil.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.io.*;
-import java.util.zip.*;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * 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
-	 */
-	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(ServerPlugin.getResource("%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(ServerPlugin.getResource("%copyingTask", new String[] {fromFile, toFile}));
-					copyDirectory(fromFile, toFile, ProgressUtil.getSubMonitorFor(monitor, 50));
-				}
-				if (monitor.isCanceled())
-					return;
-			}
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace("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
-	 */
-	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, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%copyingTask", new String[] {to}), null);
-		} catch (Exception e) {
-			Trace.trace("Error copying file", e);
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorCopyingFile", new String[] {to, e.getLocalizedMessage()}), e);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception ex) { }
-			try {
-				if (out != null)
-					out.close();
-			} catch (Exception ex) { }
-		}
-	}
-
-	/**
-	 * Copy a file from a to b.
-	 *
-	 * @param from java.lang.String
-	 * @param to java.lang.String
-	 */
-	public static IStatus copyFile(String from, String to) {
-		try {
-			return copyFile(new FileInputStream(from), to);
-		} catch (Exception e) {
-			Trace.trace("Error copying file", e);
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorCopyingFile", new String[] {to, e.getLocalizedMessage()}), e);
-		}
-	}
-
-	/**
-	 * Copy a file from a to b.
-	 *
-	 * @param from java.net.URL
-	 * @param to java.lang.String
-	 */
-	public static IStatus copyFile(URL from, String to) {
-		try {
-			return copyFile(from.openStream(), to);
-		} catch (Exception e) {
-			Trace.trace("Error copying file", e);
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorCopyingFile", new String[] {to, e.getLocalizedMessage()}), e);
-		}
-	}
-	/**
-	 * Recursively deletes a directory.
-	 *
-	 * @param dir java.io.File
-	 */
-	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(ServerPlugin.getResource("%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(ServerPlugin.getResource("%deletingTask", new String[] {current.getAbsolutePath()}));
-					deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10));
-				}
-			}
-			dir.delete();
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace("Error deleting directory " + dir.getAbsolutePath(), e);
-		}
-	}
-
-	/**
-	 * Expand a zip file to a given directory.
-	 *
-	 * @param zipFile java.io.File
-	 * @param dir java.io.File
-	 */
-	public static void expandZip(File zipFile, File dir, IProgressMonitor monitor) {
-		ZipInputStream zis = null;
-	
-		try {
-			// first, count number of items in zip file
-			zis = new ZipInputStream(new FileInputStream(zipFile));
-			int count = 0;
-			while (zis.getNextEntry() != null)
-				count++;
-	
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(ServerPlugin.getResource("%unZippingTask", new String[] {zipFile.getName()}), count);
-			
-			zis = new ZipInputStream(new FileInputStream(zipFile));
-			ZipEntry ze = zis.getNextEntry();
-	
-			FileOutputStream out = null;
-	
-			while (ze != null) {
-				try {
-					monitor.subTask(ServerPlugin.getResource("%expandingTask", new String[] {ze.getName()}));
-					File f = new File(dir, ze.getName());
-	
-					if (ze.isDirectory()) {
-						out = null;
-						f.mkdirs();
-					} else {
-						out = new FileOutputStream(f);
-	
-						int avail = zis.read(buf);
-						while (avail > 0) {
-							out.write(buf, 0, avail);
-							avail = zis.read(buf);
-						}
-					}
-				} catch (FileNotFoundException ex) {
-					Trace.trace("Error extracting " + ze.getName() + " from zip " + zipFile.getAbsolutePath(), ex);
-				} finally {
-					try {
-						if (out != null)
-							out.close();
-					} catch (Exception e) { }
-				}
-				ze = zis.getNextEntry();
-				monitor.worked(1);
-				if (monitor.isCanceled())
-					return;
-			}
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace("Error expanding zip file " + zipFile.getAbsolutePath(), e);
-		} finally {
-			try {
-				if (zis != null)
-					zis.close();
-			} catch (Exception ex) {
-			}
-		}
-	}
-
-	/**
-	 * Copys a directory from a to b, only modifying as needed
-	 * and deleting old files and directories.
-	 *
-	 * @param from java.lang.String
-	 * @param to java.lang.String
-	 * @param IProgressMonitor
-	 */
-	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(ServerPlugin.getResource("%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(ServerPlugin.getResource("%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("Error smart copying directory " + from + " - " + to, e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java
deleted file mode 100644
index 85cf1e7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.net.URL;
-
-import org.eclipse.wst.server.core.model.ILaunchable;
-/**
- *
- */
-public class HttpLaunchable implements ILaunchable {
-	public static final String ID = "http.launchable";
-
-	private URL url;
-
-	public HttpLaunchable(URL url) {
-		this.url = url;
-	}
-
-	public String getId() {
-		return ID;
-	}
-
-	public URL getURL() {
-		return url;
-	}
-
-	public String toString() {
-		return "HttpLaunchable[id=" + getId() + ", url=" + url.toString() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/MissingModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/MissingModule.java
deleted file mode 100644
index ff6b7c9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/MissingModule.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleListener;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IModuleResourceDelta;
-/**
- * A simple IModule that represents a missing or unavailable
- * module.
- */
-public class MissingModule implements IModule {
-	protected String name;
-	protected String id;
-
-	public MissingModule(String id, String name) {
-		this.id = id;
-		this.name = name;
-	}
-
-	/*
-	 * @see IModuleProject#getModuleResourceDelta(IResourceDelta)
-	 */
-	public IModuleResourceDelta getModuleResourceDelta(IResourceDelta delta) {
-		return null;
-	}
-
-	/*
-	 * @see IModule#getFactoryId()
-	 */
-	public String getFactoryId() {
-		return "org.eclipse.wst.server.core.missingModuleFactory";
-	}
-
-	/*
-	 * @see IModule#getMemento()
-	 */
-	public String getMemento() {
-		return id + "/" + name;
-	}
-	
-	public String getType() {
-		return "";
-	}
-	
-	public String getVersion() {
-		return "";
-	}
-	
-	/*
-	 * @see IModule#getPublishStatus()
-	 */
-	public IStatus validate() {
-		return null;
-	}
-
-	/*
-	 * @see IModule#getPublishStatus()
-	 */
-	public IStatus canPublish() {
-		return null;
-	}
-
-	/*
-	 * @see IModule#members()
-	 */
-	public IModuleResource[] members() {
-		return new IModuleResource[0];
-	}
-
-	/*
-	 * @see IModule#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-	
-	public String getId() {
-		return id;
-	}
-	
-	/**
-	 * Returns true if this module currently exists, and false if it has
-	 * been deleted or moved and is no longer represented by this module.
-	 *
-	 * @return boolean
-	 */
-	public boolean exists() {
-		return false;
-	}
-	
-	/**
-	 * 
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof MissingModule))
-			return false;
-
-		MissingModule md = (MissingModule) obj;
-		return (md.getId().equals(id));
-	}
-	
-	/**
-	 * Add a listener for the module.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleListener
-	 */
-	public void addModuleListener(IModuleListener listener) {
-	}
-	
-	/**
-	 * Remove a listener from the module.
-	 * 
-	 * @param listener org.eclipse.wst.server.core.model.IModuleListener
-	 */
-	public void removeModuleListener(IModuleListener listener) {
-	}
-	
-	public IModule[] getChildModules() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/MissingModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/MissingModuleFactoryDelegate.java
deleted file mode 100644
index b98f168..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/MissingModuleFactoryDelegate.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public class MissingModuleFactoryDelegate implements IModuleFactoryDelegate {
-	/*
-	 * @see IModuleFactoryDelegate#getModule(String)
-	 */
-	public IModule getModule(String memento) {
-		if (memento == null)
-			return null;
-		try {
-			int index = memento.indexOf("/");
-			if (index < 0)
-				return null;
-			String id = memento.substring(0, index);
-			String name = memento.substring(index + 1);
-			return new MissingModule(id, name);
-		} catch (Exception e) {
-			Trace.trace("Could not create module: " + e.getMessage());
-		}
-		return null;
-	}
-
-	/*
-	 * @see IModuleFactoryDelegate#getModules()
-	 */
-	public List getModules() {
-		return new ArrayList(0);
-	}
-	
-	/**
-	 * Add a listener to the module factory.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void addModuleFactoryListener(IModuleFactoryListener listener) { }
-	
-	/**
-	 * Remove a listener from the module factory.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void removeModuleFactoryListener(IModuleFactoryListener listener) { }
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleEvent.java
deleted file mode 100644
index fec6613..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleEvent.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleEvent;
-/**
- * 
- */
-public class ModuleEvent implements IModuleEvent {
-	protected IModule module;
-	protected boolean isChanged;
-	protected IModule[] added;
-	protected IModule[] changed;
-	protected IModule[] removed;
-
-	public ModuleEvent(IModule module, boolean isChanged, IModule[] added, IModule[] changed, IModule[] removed) {
-		this.module = module;
-		this.isChanged = isChanged;
-		this.added = added;
-		this.changed = changed;
-		this.removed = removed;
-	}
-	
-	/**
-	 * @see org.eclipse.wst.server.core.model.IModuleEvent#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * @see org.eclipse.wst.server.core.model.IModuleEvent#isChanged()
-	 */
-	public boolean isChanged() {
-		return isChanged;
-	}
-
-	/**
-	 * @see org.eclipse.wst.server.core.model.IModuleEvent#getAddedChildModules()
-	 */
-	public IModule[] getAddedChildModules() {
-		return added;
-	}
-
-	/**
-	 * @see org.eclipse.wst.server.core.model.IModuleEvent#getModifiedChildModules()
-	 */
-	public IModule[] getChangedChildModules() {
-		return changed;
-	}
-
-	/**
-	 * @see org.eclipse.wst.server.core.model.IModuleEvent#getRemovedChildModules()
-	 */
-	public IModule[] getRemovedChildModules() {
-		return removed;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFactoryDelegate.java
deleted file mode 100644
index bc16676..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFactoryDelegate.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.util.*;
-
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public abstract class ModuleFactoryDelegate implements IModuleFactoryDelegate {
-	// modules - map from memento (String) to IModule
-	protected Map modules;
-	protected boolean cached = false;
-
-	// change listeners
-	private transient List listeners;
-
-	/**
-	 * Construct a new ModuleFactoryDelegate.
-	 */
-	public ModuleFactoryDelegate() {
-		modules = new HashMap();
-	}
-
-	/**
-	 * Cache any existing modules into the modules Map.
-	 */
-	protected abstract void cacheModules();
-
-	/**
-	 * @see org.eclipse.wst.server.core.model.IModuleFactoryDelegate#getModule(String)
-	 */
-	public IModule getModule(String memento) {
-		if (!cached) {
-			cached = true;
-			cacheModules();
-		}
-
-		try {
-			return (IModule) modules.get(memento);
-		} catch (Exception e) { }
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.wst.server.core.model.IModuleFactoryDelegate#getModules()
-	 */
-	public List getModules() {
-		if (!cached) {
-			cached = true;
-			cacheModules();
-		}
-
-		return new ArrayList(modules.values());
-	}
-
-	/**
-	 * Add a listener to the module factory.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void addModuleFactoryListener(IModuleFactoryListener listener) {
-		Trace.trace(Trace.FINEST, "Adding module factory listener " + listener + " to " + this);
-	
-		if (listeners == null)
-			listeners = new ArrayList();
-		else if (listeners.contains(listener))
-			return;
-		listeners.add(listener);
-	}
-
-	/**
-	 * Remove a listener from the module factory.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleFactoryListener
-	 */
-	public void removeModuleFactoryListener(IModuleFactoryListener listener) {
-		Trace.trace(Trace.FINEST, "Removing module factory listener " + listener + " from " + this);
-	
-		if (listeners != null)
-			listeners.remove(listener);
-	}
-
-	/**
-	 * Fire a module factory event.
-	 */
-	protected void fireModuleFactoryEvent(IModule[] added, IModule[] removed) {
-		Trace.trace(Trace.FINEST, "->- Firing module factory event: " + toString() + " ->-");
-
-		if (listeners == null || listeners.isEmpty())
-			return;
-
-		int size = listeners.size();
-		IModuleFactoryListener[] dfl = new IModuleFactoryListener[size];
-		listeners.toArray(dfl);
-		
-		IModuleFactoryEvent event = new ModuleFactoryEvent(getFactoryId(), added, removed);
-		
-		for (int i = 0; i < size; i++) {
-			try {
-				Trace.trace(Trace.FINEST, "  Firing module factory event to: " + dfl[i]);
-				dfl[i].moduleFactoryChanged(event);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing module factory event", e);
-			}
-		}
-		Trace.trace(Trace.FINEST, "-<- Done firing module factory event -<-");
-	}
-
-	/**
-	 * Return the factory ID for this module factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public abstract String getFactoryId();
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFactoryEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFactoryEvent.java
deleted file mode 100644
index 731894b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFactoryEvent.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleFactoryEvent;
-/**
- * 
- */
-public class ModuleFactoryEvent implements IModuleFactoryEvent {
-	protected String factoryId;
-	protected IModule[] added;
-	protected IModule[] removed;
-
-	public ModuleFactoryEvent(String factoryId, IModule[] added, IModule[] removed) {
-		this.factoryId = factoryId;
-		this.added = added;
-		this.removed = removed;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getFactoryId() {
-		return factoryId;
-	}
-
-	/**
-	 * Returns any modules that have been added.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getAddedModules() {
-		return added;
-	}
-
-	/**
-	 * Returns any modules that have been removed.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getRemovedModules() {
-		return removed;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullLaunchable.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullLaunchable.java
deleted file mode 100644
index b7673f3..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullLaunchable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.model.ILaunchable;
-/**
- * 
- */
-public class NullLaunchable implements ILaunchable {
-	public static final String ID = "null.launchable";
-
-	public NullLaunchable() { }
-
-	public String getId() {
-		return ID;
-	}
-
-	public String toString() {
-		return "NullLaunchable[id=" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullLaunchableClient.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullLaunchableClient.java
deleted file mode 100644
index 59f5c74..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullLaunchableClient.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IClientDelegate;
-import org.eclipse.wst.server.core.model.ILaunchable;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-/**
- * 
- */
-public class NullLaunchableClient implements IClientDelegate {
-	/*
-	 * @see ILaunchableClient#supports(ILaunchable)
-	 */
-	public boolean supports(IServer server, ILaunchable launchable, String launchMode) {
-		return (launchable instanceof NullLaunchable);
-	}
-	
-	public IStatus launch(IServer server, ILaunchable launchable, String launchMode, ILaunch launch) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleObject.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleObject.java
deleted file mode 100644
index 4a1dc94..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleObject.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
-/**
- * 
- */
-public class NullModuleObject implements IModuleObject {
-	public static final String ID = "org.eclipse.wst.server.core.null";
-
-	private IModule module;
-
-	public NullModuleObject(IModule module) {
-		this.module = module;
-	}
-
-	public String getId() {
-		return ID;
-	}
-
-	public IModule getModule() {
-		return module;
-	}
-
-	public String toString() {
-		return "NullModuleObject [module=" + module + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProgressUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProgressUtil.java
deleted file mode 100644
index 9132b02..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProgressUtil.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-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 int
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks, style);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
deleted file mode 100644
index 130528f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleListener;
-import org.eclipse.wst.server.core.model.IProjectModule;
-import org.eclipse.wst.server.core.resources.*;
-/**
- * A simple IModuleProject that maps a folder within a project
- * (or the root of the project itself) to the module.
- */
-public abstract class ProjectModule implements IProjectModule {
-	protected IProject project;
-	protected IPath root;
-	
-	// change listeners
-	private transient List listeners;
-
-	public ProjectModule() {
-	}
-
-	public ProjectModule(IProject project) {
-		this.project = project;
-	}
-
-	/*
-	 * @see IModuleProject#getProject()
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Returns the root folder.
-	 */
-	public IPath getRootFolder() {
-		return root;
-	}
-
-	/*
-	 * @see IModuleProject#getModuleResourceDelta(IResourceDelta)
-	 */
-	public IModuleResourceDelta getModuleResourceDelta(IResourceDelta delta) {
-		Trace.trace(Trace.FINEST, "> getModuleResourceDelta");
-		IPath root2 = null;
-		try {
-			root2 = getRootFolder();
-		} catch (Exception e) {
-			Trace.trace(Trace.FINEST, "Error getting root2");
-		}
-		if (root2 == null) {
-			return convertChildren(delta, null);
-		}
-		class Helper {
-			boolean found = false;
-			IModuleResourceDelta delta2;
-		}
-		final Helper helper = new Helper();
-		final IPath root3 = root2;
-		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta visitDelta) {
-					if (!helper.found && root3.equals(visitDelta.getProjectRelativePath())) {
-						helper.delta2 = convertChildren(visitDelta, null);
-						helper.found = true;
-						return false;
-					}
-					return true;
-				}
-			});
-			Trace.trace(Trace.FINEST, "< getModuleResourceDelta");
-			return helper.delta2;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not get module resource delta");
-		}
-		Trace.trace(Trace.FINEST, "< getModuleResourceDelta null");
-		return null;
-	}
-	
-	/**
-	 * 
-	 */
-	protected IModuleResourceDelta convertChildren(IResourceDelta delta, IModuleFolder parent) {
-		int flags = delta.getKind();
-		int kind = IModuleResourceDelta.NO_CHANGE;
-		if (flags == IResourceDelta.ADDED)
-			kind = IModuleResourceDelta.ADDED;
-		else if (flags == IResourceDelta.REMOVED)
-			kind = IModuleResourceDelta.REMOVED;
-		else if (flags == IResourceDelta.CHANGED)
-			kind = IModuleResourceDelta.CHANGED;
-		
-		IResource resource = delta.getResource();
-		
-		IModuleResource pubResource = null;
-		if (resource instanceof IContainer)
-			pubResource = new ProjectModuleFolder(this, parent, (IContainer) resource);	
-		else if (resource instanceof IFile) {
-			if (delta.getFlags() == IResourceDelta.MARKERS)
-				return null;
-			pubResource = new ProjectModuleFile(this, parent, (IFile) resource);
-		}
-		
-		ModuleResourceDelta deployDelta = new ModuleResourceDelta(pubResource, kind);
-		
-		IResourceDelta[] children = delta.getAffectedChildren();
-		if (children != null && pubResource instanceof IModuleFolder) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				IModuleResourceDelta childDelta = convertChildren(children[i], (IModuleFolder) pubResource);
-				if (childDelta != null)
-					deployDelta.addChild(childDelta);
-			}
-		}
-		return deployDelta;
-	}
-
-	/*
-	 * @see IModule#getMemento()
-	 */
-	public String getId() {
-		return getProject().getName();
-	}
-	
-	/*
-	 * @see IModule#getPublishStatus()
-	 */
-	public IStatus validate() {
-		return null;
-	}
-
-	/*
-	 * @see IModule#getPublishStatus()
-	 */
-	public IStatus canPublish() {
-		return null;
-	}
-
-	/*
-	 * @see IModule#members()
-	 */
-	public IModuleResource[] members() throws CoreException {
-		IPath root2 = null;
-		try {
-			root2 = getRootFolder();
-		} catch (Exception e) { }
-		try {
-			if (root2 == null || root2.isRoot() || root2.equals(new Path("")) || root2.equals(new Path("/")))
-				return getModuleResources(getProject(), null);
-			
-			IFolder folder = project.getFolder(root2);
-			return getModuleResources(folder, null);
-		} catch (CoreException e) {
-			throw e;
-		}
-	}
-	
-	protected IModuleResource getModuleResources(IFile file) {
-		return new ProjectModuleFile(this, null, file);
-	}
-
-	protected IModuleResource[] getModuleResources(IContainer container, IModuleFolder parent) throws CoreException {
-		List list = new ArrayList();
-
- 		IResource[] resources = container.members();
-	 	if (resources != null) {
-	 		int size = resources.length;
-	 		for (int i = 0; i < size; i++) {
-				IResource resource = resources[i];
-				if (resource instanceof IContainer) {
-					ProjectModuleFolder pdf = new ProjectModuleFolder(this, parent, (IContainer) resource);	
-					list.add(pdf);
-				} else if (resource instanceof IFile) {
-					ProjectModuleFile pdf = new ProjectModuleFile(this, parent, (IFile) resource);
-					list.add(pdf);
-				}
-			}
-	 	}
-	 	
-	 	IModuleResource[] moduleResources = new IModuleResource[list.size()];
-	 	list.toArray(moduleResources);
-	 	return moduleResources;
-	}
-
-	/*
-	 * @see IModule#getName()
-	 */
-	public String getName() {
-		return getProject().getName();
-	}
-	
-	/**
-	 * Returns true if this module currently exists, and false if it has
-	 * been deleted or moved and is no longer represented by this module.
-	 *
-	 * @return boolean
-	 */
-	public boolean exists() {
-		return (getProject() != null && getProject().exists());
-	}
-	
-	/**
-	 * 
-	 */
-	public boolean equals(Object obj) {
-		if (obj == null || !(obj instanceof ProjectModule))
-			return false;
-
-		ProjectModule dp = (ProjectModule) obj;
-		if (getFactoryId() != null && !getFactoryId().equals(dp.getFactoryId()))
-			return false;
-			
-		IPath root2 = null;
-		try {
-			root2 = getRootFolder();
-		} catch (Exception e) { }
-		
-		IPath root3 = null;
-		try {
-			root3 = dp.getRootFolder();
-		} catch (Exception e) { }
-		
-		if (project != null && project.exists() && !project.equals(dp.getProject()))
-			return false;
-
-		if (root2 == null && root3 != null)
-			return false;
-		if (root2 != null && !root2.equals(root3))
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Add a listener for the module.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleListener
-	 */
-	public void addModuleListener(IModuleListener listener) {
-		Trace.trace(Trace.FINEST, "Adding module listener " + listener + " to " + this);
-	
-		if (listeners == null)
-			listeners = new ArrayList();
-		else if (listeners.contains(listener))
-			return;
-		listeners.add(listener);
-	}
-	
-	/**
-	 * Add a listener for the module.
-	 *
-	 * @param listener org.eclipse.wst.server.core.model.IModuleListener
-	 */
-	public void removeModuleListener(IModuleListener listener) {
-		Trace.trace(Trace.FINEST, "Removing module listener " + listener + " from " + this);
-	
-		if (listeners != null)
-			listeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a module change event.
-	 */
-	protected void fireModuleChangeEvent(boolean isChange, IModule[] added, IModule[] changed, IModule[] removed) {
-		Trace.trace(Trace.FINEST, "->- Firing module change event: " + getName() + " (" + isChange + ") ->-");
-	
-		if (listeners == null || listeners.isEmpty())
-			return;
-	
-		int size = listeners.size();
-		IModuleListener[] dcl = new IModuleListener[size];
-		listeners.toArray(dcl);
-		
-		ModuleEvent event = new ModuleEvent(this, isChange, added, changed, removed);
-	
-		for (int i = 0; i < size; i++) {
-			try {
-				Trace.trace(Trace.FINEST, "  Firing module change event to: " + dcl[i]);
-				dcl[i].moduleChanged(event);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing module change event", e);
-			}
-		}
-		Trace.trace(Trace.FINEST, "-<- Done firing module change event -<-");
-	}
-	
-	/**
-	 * Called when the listener paths from the module factory change.
-	 * Use this method to recache information about the module.
-	 */
-	protected void update() {
-	}
-
-	/**
-	 * Returns the child modules of this module.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getChildModules() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
deleted file mode 100644
index a5998fe..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.IResourceManager;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.ResourceManager;
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public abstract class ProjectModuleFactoryDelegate extends ModuleFactoryDelegate {
-	protected static IResourceChangeListener listener;
-	
-	protected static List factories = new ArrayList();
-
-	protected List added;
-	protected List removed;
-
-	// map from IProject to IModuleProject
-	protected Map projects;
-
-	/**
-	 * Construct a new ProjectModuleFactoryDelegate.
-	 */
-	public ProjectModuleFactoryDelegate() {
-		super();
-		
-		factories.add(this);
-		
-		addListener();
-	}
-
-	/**
-	 * Cache any preexisting module.
-	 */
-	protected void cacheModules() {
-		projects = new HashMap();
-		try {
-			IProject[] projects2 = getWorkspaceRoot().getProjects();
-			int size = projects2.length;
-			for (int i = 0; i < size; i++) {
-				//Trace.trace("caching: " + this + " " + projects[i] + " " + isValidModule(projects[i]));
-				if (isValidModule(projects2[i])) {
-					addModuleProject(projects2[i]);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace("Error caching modules", e);
-		}
-		fireEvents();
-	}
-
-	/**
-	 * Return the workspace root.
-	 * 
-	 * @return org.eclipse.core.resources.IWorkspaceRoot
-	 */
-	protected static IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * Returns the module project for the given project, or null
-	 * if this factory does not have a module for the given project.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return org.eclipse.wst.server.core.model.IModuleProject
-	 */
-	public IProjectModule getModuleProject(IProject project) {
-		try {
-			return (IProjectModule) projects.get(project);
-		} catch (Exception e) { }
-		return null;
-	}
-
-	/**
-	 * Add a resource listener to the workspace.
-	 */
-	protected static void addListener() {
-		if (listener != null)
-			return;
-
-		listener = new IResourceChangeListener() {
-			public void resourceChanged(IResourceChangeEvent event) {
-				Trace.trace(Trace.FINEST, "->- ProjectModuleFactoryDelegate listener responding to resource change: " + event.getType() + " ->-");
-				try {
-					IResourceDelta delta = event.getDelta();
-					
-					//if (delta.getFlags() == IResourceDelta.MARKERS || delta.getFlags() == IResourceDelta.NO_CHANGE)
-					//	return; // TODO
-				
-					delta.accept(new IResourceDeltaVisitor() {
-						public boolean visit(IResourceDelta visitorDelta) {
-							IResource resource = visitorDelta.getResource();
-							//Trace.trace(Trace.FINEST, "resource: " + resource);
-	
-							// only respond changes within projects
-							if (resource != null && resource instanceof IProject) {
-								IProject project = (IProject) resource;
-								handleGlobalProjectChange(project, visitorDelta);
-								return true;
-							} else if (resource != null && resource.getProject() != null) {
-								return false;
-							} else
-								return true;
-						}
-					});
-				} catch (Exception e) {
-					//Trace.trace(Trace.SEVERE, "Error responding to resource change", e);
-				}
-				fireGlobalEvents();
-				Trace.trace(Trace.FINEST, "-<- Done ProjectModuleFactoryDelegate responding to resource change -<-");
-			}
-		};
-		
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(listener, IResourceChangeEvent.POST_CHANGE);
-	}
-	
-	/**
-	 * Handle changes to a project.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 */
-	protected static void handleGlobalProjectChange(final IProject project, IResourceDelta delta) {
-		// handle project level changes
-		Iterator iterator = factories.iterator();
-		while (iterator.hasNext()) {
-			ProjectModuleFactoryDelegate factory = (ProjectModuleFactoryDelegate) iterator.next();
-			//Trace.trace("Firing to: " + factory);
-			factory.handleProjectChange(project, delta);
-		}
-		
-		// handle internal updates
-		iterator = factories.iterator();
-		while (iterator.hasNext()) {
-			ProjectModuleFactoryDelegate factory = (ProjectModuleFactoryDelegate) iterator.next();
-			//Trace.trace("Firing to: " + factory);
-			factory.handleProjectInternalChange(project, delta);
-		}
-	}
-	
-	/**
-	 * Fire the accumulated module factory events.
-	 */
-	protected static void fireGlobalEvents() {
-		Trace.trace(Trace.FINEST, "Firing global module event");
-		Iterator iterator = factories.iterator();
-		while (iterator.hasNext()) {
-			ProjectModuleFactoryDelegate factory = (ProjectModuleFactoryDelegate) iterator.next();
-			factory.updateProjects();
-		}
-		
-		iterator = factories.iterator();
-		while (iterator.hasNext()) {
-			ProjectModuleFactoryDelegate factory = (ProjectModuleFactoryDelegate) iterator.next();
-			factory.fireEvents();
-		}
-		
-		IResourceManager rm = ServerCore.getResourceManager();
-		((ResourceManager) rm).syncModuleEvents();
-	}
-	
-	/**
-	 * Temporary to make sure that all project modules are updated.
-	 */
-	private void updateProjects() {
-		List modules2 = getModules();
-		if (modules2 != null) {
-			Iterator iterator = modules2.iterator();
-			while (iterator.hasNext()) {
-				IModule module = (IModule) iterator.next();
-				if (module instanceof ProjectModule)
-					((ProjectModule) module).update();
-			}
-		}
-	}
-
-	/**
-	 * Handle changes to a project.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 */
-	protected void handleProjectChange(final IProject project, IResourceDelta delta) {
-		if (projects.containsKey(project)) {
-			// already a module
-			if (((delta.getKind() &  IResourceDelta.REMOVED) != 0) || !isValidModule(project)) {
-				removeModuleProject(project);
-			}
-		} else {
-			// not a module
-			if (isValidModule(project)) {
-				addModuleProject(project);
-			}
-		}
-	}
-	
-	/**
-	 * Handle changes to a project.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 */
-	protected void handleProjectInternalChange(final IProject project, IResourceDelta delta) {
-		final IPath[] paths = getListenerPaths();
-		if (paths != null) {
-			final IModule module = getModuleProject(project);
-			if (module != null && module instanceof ProjectModule) {
-				final int size = paths.length;
-				class Temp {
-					boolean found = false;
-				}
-				final Temp temp = new Temp();
-				try {
-					delta.accept(new IResourceDeltaVisitor() {
-						public boolean visit(IResourceDelta visitorDelta) {
-							if (temp.found)
-								return false;
-							IPath path = visitorDelta.getProjectRelativePath();
-							
-							boolean prefix = false;
-							for (int i = 0; i < size && !temp.found; i++) {
-								if (paths[i].equals(path))
-									temp.found = true;
-								else if (path.isPrefixOf(paths[i]))
-									prefix = true;
-							}
-							if (temp.found) {
-								((ProjectModule) module).update();
-								return false;
-							} else if (prefix)
-								return true;
-							else
-								return false;
-						}
-					});
-				} catch (Exception e) {
-					Trace.trace("Error searching for listening paths", e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Add a module for the given project.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 */
-	protected void addModuleProject(IProject project) {
-		if (!cached) {
-			cached = true;
-			cacheModules();
-		}
-
-		IProjectModule module = createModule(project);
-		if (module == null)
-			return;
-		projects.put(project, module);
-		modules.put(module.getId(), module);
-		if (added == null)
-			added = new ArrayList(2);
-		added.add(module);
-	}
-
-	/**
-	 * Remove the module that represents the given project.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 */
-	protected void removeModuleProject(IProject project) {
-		if (!cached) {
-			cached = true;
-			cacheModules();
-		}
-
-		try {
-			IProjectModule module = (IProjectModule) projects.get(project);
-			projects.remove(project);
-			modules.remove(module.getId());
-			if (removed == null)
-				removed = new ArrayList(2);
-			removed.add(module);
-		} catch (Exception e) {
-			Trace.trace("Error removing module project", e);
-		}
-	}
-
-	/**
-	 * Fire the accumulated module factory events.
-	 */
-	protected void fireEvents() {
-		if ((added == null || added.isEmpty()) && (removed == null || removed.isEmpty()))
-			return;
-
-		IModule[] add = null;
-		if (added != null) {
-			add = new IModule[added.size()];
-			added.toArray(add);
-		}
-		IModule[] remove = null;
-		if (removed != null) {
-			remove = new IModule[removed.size()];
-			removed.toArray(remove);
-		}
-		
-		fireModuleFactoryEvent(add, remove);
-		added = new ArrayList(2);
-		removed = new ArrayList(2);
-	}
-
-	/**
-	 * Returns true if the project represents a module project
-	 * of this type.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return boolean
-	 */
-	protected abstract boolean isValidModule(IProject project);
-
-	/**
-	 * Creates the module project for the given project.
-	 * 
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return org.eclipse.wst.server.core.model.IModuleProject
-	 */
-	protected abstract IProjectModule createModule(IProject project);
-
-	/**
-	 * Returns the list of resources that the module should listen to
-	 * for state changes. The paths should be project relative paths.
-	 * Subclasses can override this method to provide the paths.
-	 *
-	 * @return org.eclipse.core.runtime.IPath[]
-	 */
-	protected IPath[] getListenerPaths() {
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java
deleted file mode 100644
index 4e445cd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.IPublishStatus;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IPublishListener;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-/**
- *
- */
-public class PublishAdapter implements IPublishListener {
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#moduleStateChange(org.eclipse.wst.server.core.IServer2, java.util.List, org.eclipse.wst.server.core.model.IModule)
-	 */
-	public void moduleStateChange(IServer server, List parents, IModule module) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#publishStarting(org.eclipse.wst.server.core.IServer2, java.util.List[], org.eclipse.wst.server.core.model.IModule[])
-	 */
-	public void publishStarting(IServer server, List[] parents, IModule[] module) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#publishStarted(org.eclipse.wst.server.core.IServer2, org.eclipse.wst.server.core.IPublishStatus)
-	 */
-	public void publishStarted(IServer server, IPublishStatus status) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#moduleStarting(org.eclipse.wst.server.core.IServer2, java.util.List, org.eclipse.wst.server.core.model.IModule)
-	 */
-	public void moduleStarting(IServer server, List parents, IModule module) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#moduleResourcesPublished(org.eclipse.wst.server.core.IServer2, java.util.List, org.eclipse.wst.server.core.model.IModule, org.eclipse.wst.server.core.resources.IModuleResource[], org.eclipse.wst.server.core.IPublishStatus[])
-	 */
-	public void moduleResourcesPublished(IServer server, List parents, IModule module, IModuleResource[] published, IPublishStatus[] status) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#moduleResourcesDeleted(org.eclipse.wst.server.core.IServer2, java.util.List, org.eclipse.wst.server.core.model.IModule, org.eclipse.wst.server.core.resources.IRemoteResource[], org.eclipse.wst.server.core.IPublishStatus[])
-	 */
-	public void moduleResourcesDeleted(IServer server, List parents, IModule module, IRemoteResource[] deleted, IPublishStatus[] status) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#moduleFinished(org.eclipse.wst.server.core.IServer2, java.util.List, org.eclipse.wst.server.core.model.IModule, org.eclipse.wst.server.core.IPublishStatus)
-	 */
-	public void moduleFinished(IServer server, List parents, IModule module, IPublishStatus status) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IPublishListener#publishFinished(org.eclipse.wst.server.core.IServer, org.eclipse.wst.server.core.IPublishStatus)
-	 */
-	public void publishFinished(IServer server, IPublishStatus status) {
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerAdapter.java
deleted file mode 100644
index 66aef26..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IServerListener;
-/**
- * Helper class which implements all of the IServerListener
- * interface with empty methods.
- */
-public class ServerAdapter implements IServerListener {
-	/**
-	 * ServerAdapter constructor comment.
-	 */
-	public ServerAdapter() {
-		super();
-	}
-
-	/**
-	 * Called when the server configuration's sync state changes.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void configurationSyncStateChange(IServer server) { }
-
-	/**
-	 * Called when the server isRestartNeeded() property changes.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void restartStateChange(IServer server) { }
-
-	/**
-	 * Notification when the server state has changed.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void serverStateChange(IServer server) { }
-
-	/**
-	 * Notification when the state of a module has changed.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void moduleStateChange(IServer server, IModule module) { }
-
-	public void modulesChanged(IServer server) { }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerConfigurationDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerConfigurationDelegate.java
deleted file mode 100644
index 4bac948..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerConfigurationDelegate.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.model.*;
-/**
- * Abstract implementation of IServerConfiguration to implement
- * methods that are not required often.
- */
-public abstract class ServerConfigurationDelegate implements IServerConfigurationDelegate {
-	protected IServerConfiguration configuration;
-
-	/**
-	 * Called when the server is loaded as a model object.
-	 */
-	public void initialize(IServerConfiguration configuration2) {
-		this.configuration = configuration2;
-	}
-	
-	public IServerConfiguration getServerConfiguration() {
-		return configuration;
-	}
-	
-	/**
-	 * Called when this server resource has become invalid or no longer
-	 * required and is being deregistered or dicarded. This method can
-	 * be used to remove listeners, etc.
-	 */
-	public void dispose() {
-		configuration = null;
-	}
-	
-	public void load(IPath path, IProgressMonitor monitor) throws CoreException {
-		throw new CoreException(null);
-	}
-
-	public void load(IFolder folder, IProgressMonitor monitor) throws CoreException {
-		throw new CoreException(null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerPort.java
deleted file mode 100644
index cd3e066..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerPort.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * A port on a server configuration.
- */
-public class ServerPort implements IServerPort {
-	private String id;
-	private String name;
-	private int port;
-	private String protocol;
-	private String[] contentTypes;
-	private boolean advanced;
-	
-	/**
-	 * ServerPort constructor comment.
-	 */
-	public ServerPort(String id, String name, int port, String protocol) {
-		this(id, name, port, protocol, null, true);
-	}
-	
-	public ServerPort(String id, String name, int port, String protocol, boolean advanced) {
-		this(id, name, port, protocol, null, advanced);
-	}
-
-	public ServerPort(String id, String name, int port, String protocol, String[] contentTypes, boolean advanced) {
-		super();
-		this.id = id;
-		this.name = name;
-		this.port = port;
-		this.protocol = protocol;
-		this.contentTypes = contentTypes;
-		this.advanced = advanced;
-	}
-	
-	/**
-	 * ServerPort constructor comment.
-	 */
-	public ServerPort(String name, int port, String protocol) {
-		this(null, name, port, protocol);
-	}
-	
-	/**
-	 * Return an optional internal id used to identify this port.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Return the name of the port.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Return the actual port number.
-	 * @return int
-	 */
-	public int getPort() {
-		return port;
-	}
-
-	/**
-	 * Returns the protocol, e.g. HTTP of this port. Returns null
-	 * if the protocol is unknown.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getProtocol() {
-		return protocol;
-	}
-
-	/**
-	 * Returns the content that this port would normally serve, or null
-	 * if the content is unknown.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getContentTypes() {
-		return contentTypes;
-	}
-
-	/**
-	 * Returns true if this port is an "advanced" port and should not be shown
-	 * to novice users.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isAdvanced() {
-		return advanced;
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ServerPort))
-			return false;
-		ServerPort sp = (ServerPort) obj;
-		return (sp.port == port);
-	}
-	
-	public int hashCode() {
-		return port;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerResourceAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerResourceAdapter.java
deleted file mode 100644
index faf3479..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerResourceAdapter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.model.IServerResourceListener;
-/**
- * 
- */
-public class ServerResourceAdapter implements IServerResourceListener {
-	public void runtimeAdded(IRuntime runtime) { }
-
-	public void runtimeChanged(IRuntime runtime) { }
-
-	public void runtimeRemoved(IRuntime runtime) { }
-
-	public void serverAdded(IServer server) { }
-
-	public void serverChanged(IServer server) { }
-
-	public void serverRemoved(IServer server) { }
-
-	public void serverConfigurationAdded(IServerConfiguration serverConfiguration) { }
-
-	public void serverConfigurationChanged(IServerConfiguration serverConfiguration) { }
-
-	public void serverConfigurationRemoved(IServerConfiguration serverConfiguration) { }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
deleted file mode 100644
index b4393ee..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.SocketException;
-import java.util.Random;
-
-import org.eclipse.wst.server.core.internal.Trace;
-
-import sun.net.spi.nameservice.dns.DNSNameService;
-/**
- * 
- */
-public class SocketUtil {
-	private static final Random fgRandom = new Random(System.currentTimeMillis());
-
-	/**
-	 * Finds an unused port between the given from and to values.
-	 * 
-	 * @param host
-	 * @param searchFrom
-	 * @param searchTo
-	 * @return
-	 */
-	public static int findUnusedPort(int searchFrom, int searchTo) {
-		for (int i = 0; i < 10; i++) {
-			int port = getRandomPort(searchFrom, searchTo);
-			if (!isPortInUse(port))
-				return port;
-		}
-		return -1;
-	}
-
-	private static int getRandomPort(int low, int high) {
-		return (int)(fgRandom.nextFloat()*(high-low))+low;
-	}
-
-	/**
-	 * Returns true if this port is in use. Retries every 500ms for "count" tries.
-	 *
-	 * @return boolean
-	 * @param port int
-	 * @param count int
-	 */
-	public static boolean isPortInUse(int port, int count) {
-		boolean inUse = isPortInUse(port);
-		while (inUse && count > 0) {
-			try {
-				Thread.sleep(500);
-			} catch (Exception e) { }
-			inUse = isPortInUse(port);
-			count --;
-		}
-	
-		return inUse;
-	}
-
-	/**
-	 * 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 (IOException e) {
-			return true;
-		} catch (Exception e) {
-			return true;
-		} finally {
-			if (s != null) {
-				try {
-					s.close();
-				} catch (Exception e) { }
-			}
-		}
-
-		return false;
-	}
-	
-	private static String dnsHostname; 
-
-	public 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) || host.equals(localHostaddr.getCanonicalHostName()))
-				return true;
-			
-			if (localHostaddr.getHostAddress().equals(host))
-				return true;
-			
-			if (dnsHostname == null)
-				try {
-					DNSNameService dns = new DNSNameService();
-					dnsHostname = dns.getHostByAddr(localHostaddr.getAddress());
-				} catch (Throwable t) {
-					dnsHostname = "*****************";
-				}
-			
-			if (dnsHostname != null && dnsHostname.equals(host))
-				return true;
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error checking for localhost", e);
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/Task.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/Task.java
deleted file mode 100644
index 729bda2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/Task.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.*;
-
-/**
- * 
- */
-public abstract class Task implements ITask {
-	protected ITaskModel model;
-	protected String label;
-	protected String description;
-	
-	public Task() { }
-	
-	public Task(String label, String description) {
-		this.label = label;
-		this.description = description;
-	}
-	
-	public String getName() {
-		return label;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public ITaskModel getTaskModel() {
-		return model;
-	}
-	
-	public void setTaskModel(ITaskModel taskModel) {
-		this.model = taskModel;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#canExecute()
-	 */
-	public boolean canExecute() {
-		return true;
-	}
-	
-	public boolean canUndo() {
-		return false;
-	}
-	
-	public void undo() { }
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/TaskModel.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/TaskModel.java
deleted file mode 100644
index f994bf1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/TaskModel.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.wst.server.core.util;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.server.core.*;
-/**
- * 
- */
-public class TaskModel implements ITaskModel {
-	protected Map map = new HashMap();
-
-	public Object getObject(String id) {
-		try {
-			return map.get(id);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	public void putObject(String id, Object obj) {
-		map.put(id, obj);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/.classpath b/plugins/org.eclipse.wst.server.ui/.classpath
deleted file mode 100644
index 4cb0786..0000000
--- a/plugins/org.eclipse.wst.server.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="serverui/"/>
-	<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.server.ui/.cvsignore b/plugins/org.eclipse.wst.server.ui/.cvsignore
deleted file mode 100644
index 3644936..0000000
--- a/plugins/org.eclipse.wst.server.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-serverui.jar
-build.xml
-temp.folder
-org.eclipse.wst.server.ui_3.0.0.jar
diff --git a/plugins/org.eclipse.wst.server.ui/.options b/plugins/org.eclipse.wst.server.ui/.options
deleted file mode 100644
index 94000df..0000000
--- a/plugins/org.eclipse.wst.server.ui/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-# Debugging options for the org.eclipse.wst.server.ui plugin
-
-# Turn on general debugging
-org.eclipse.wst.server.ui/debug=false
-
-# Prints out values
-org.eclipse.wst.server.ui/editor=false
diff --git a/plugins/org.eclipse.wst.server.ui/.project b/plugins/org.eclipse.wst.server.ui/.project
deleted file mode 100644
index 2fd3ed9..0000000
--- a/plugins/org.eclipse.wst.server.ui/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server.ui</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.wst.server.core</project>
-		<project>org.eclipse.jst.server.core</project>
-	</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.server.ui/build.properties b/plugins/org.eclipse.wst.server.ui/build.properties
deleted file mode 100644
index aa9726f..0000000
--- a/plugins/org.eclipse.wst.server.ui/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,\
-               *.jar,\
-               plugin.properties,\
-               serverui.jar,\
-               icons/,\
-               .options
-jars.compile.order = 
-source.serverui.jar = serverui/
-src.includes = schema/,\
-               build.properties
-output.serverui.jar = bin/
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif
deleted file mode 100644
index 5714d7a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif
deleted file mode 100644
index 6e0d383..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif
deleted file mode 100644
index 89c3340..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif
deleted file mode 100644
index 87827af..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif
deleted file mode 100644
index bc0ac6e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif
deleted file mode 100644
index 57f4102..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif
deleted file mode 100644
index fbf1686..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif
deleted file mode 100644
index d4650bb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif
deleted file mode 100644
index aca9522..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif
deleted file mode 100644
index 5ed7d98..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif
deleted file mode 100644
index a4f6b31..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif
deleted file mode 100644
index d507012..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif
deleted file mode 100644
index 55bacb2..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif
deleted file mode 100644
index 1cfd11a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif b/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif
deleted file mode 100644
index 88b648c..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif b/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif
deleted file mode 100644
index fbabfbb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif
deleted file mode 100644
index 02f9c3a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif
deleted file mode 100644
index 0956095..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif
deleted file mode 100644
index 8309b0d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif
deleted file mode 100644
index 78ba7cb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif
deleted file mode 100644
index 49d908e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif
deleted file mode 100644
index 9362e67..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif
deleted file mode 100644
index 13c5faf..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif
deleted file mode 100644
index 3b4cf27..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif
deleted file mode 100644
index d14c89d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif
deleted file mode 100644
index b422a86..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif
deleted file mode 100644
index 45f57b3..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif
deleted file mode 100644
index 314fed1..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif
deleted file mode 100644
index 116fcb0..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif
deleted file mode 100644
index fc52314..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif
deleted file mode 100644
index 5714d7a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif
deleted file mode 100644
index 6e0d383..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif
deleted file mode 100644
index 89c3340..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif
deleted file mode 100644
index 87827af..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif
deleted file mode 100644
index bc0ac6e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif
deleted file mode 100644
index 57f4102..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif
deleted file mode 100644
index fbf1686..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif
deleted file mode 100644
index d4650bb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif
deleted file mode 100644
index aca9522..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif
deleted file mode 100644
index 5ed7d98..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif
deleted file mode 100644
index a4f6b31..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif
deleted file mode 100644
index d507012..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif
deleted file mode 100644
index 55bacb2..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif
deleted file mode 100644
index 1cfd11a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif b/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif
deleted file mode 100644
index 88b648c..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif b/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif
deleted file mode 100644
index fbabfbb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration.gif
deleted file mode 100644
index fe296f6..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif
deleted file mode 100644
index f0ef4c9..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif
deleted file mode 100644
index cbd2756..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/edit_server_config.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/edit_server_config.gif
deleted file mode 100644
index 3a8f106..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/edit_server_config.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif
deleted file mode 100644
index 42e5f31..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif
deleted file mode 100644
index 2ff3974..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif
deleted file mode 100644
index 0cb4c16..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif
deleted file mode 100644
index 519b846..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif
deleted file mode 100644
index bb900ed..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif
deleted file mode 100644
index e5690ec..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_project.gif
deleted file mode 100644
index 3d35a02..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_project.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif
deleted file mode 100644
index d370054..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif
deleted file mode 100644
index f1e1778..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif
deleted file mode 100644
index 47e2584..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif
deleted file mode 100644
index 66263aa..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif
deleted file mode 100644
index 703bbfe..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif
deleted file mode 100644
index 5151e54..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif
deleted file mode 100644
index d6c3b65..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif
deleted file mode 100644
index 306c57d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif
deleted file mode 100644
index d6c3b65..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif
deleted file mode 100644
index 306c57d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif
deleted file mode 100644
index dbfcbc0..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif
deleted file mode 100644
index aa8d52e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.gif
deleted file mode 100644
index f46e4e0..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_project_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_project_wiz.gif
deleted file mode 100644
index 39458ba..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_project_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.gif
deleted file mode 100644
index 30de91f..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/pub_resource_server_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/pub_resource_server_wiz.gif
deleted file mode 100644
index c74d61a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/pub_resource_server_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.gif
deleted file mode 100644
index 5b13db2..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.gif
deleted file mode 100644
index 3a9dadb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.properties b/plugins/org.eclipse.wst.server.ui/plugin.properties
deleted file mode 100644
index 42418af..0000000
--- a/plugins/org.eclipse.wst.server.ui/plugin.properties
+++ /dev/null
@@ -1,608 +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
-###############################################################################
-pluginName=Server UI
-providerName=IBM
-
-extensionPointEditorPages=Editor Pages
-extensionPointEditorPageSections=Editor Page Sections
-extensionPointEditorActions=Editor Actions
-extensionPointServerActions=Server Actions
-extensionPointServerImages=Server Images
-extensionPointWizardFragments=Wizard Fragments
-
-# --------------- Wizards ---------------
-# (If the first two lines in a group do not start with "wiz", it is because
-# those lines are displayed in the workbench "New" wizard. The rest of the
-# text is displayed in each actual wizard)
-
-wizardCategoryTitle=Server
-
-# New Server Project wizard
-newServerProject=Server Project
-newServerProjectDescription=Create a new server project
-wizNewServerProjectWizardTitle=Create a New Server Project
-wizNewServerProjectTitle=Create a project to hold server information
-wizNewServerProjectDescription=Choose a name for the new Server project.
-
-# New Server (and Configuration) Wizard
-newServer=Server
-newServerDescription=Define a new server
-wizNewServerWizardTitle=New Server
-wizNewServerTitle=Define a New Server
-wizNewServerDescription=Choose the type of server to create.
-wizNewServerName=Server n&ame:
-wizNewServerType=&Server type:
-wizNewServerConfigurationType=Server &configuration type:
-wizNewServerRuntime=Server runtime:
-
-wizNewServerSelect=How do you want to select the server?
-wizNewServerExisting=Choose an e&xisting server
-wizNewServerDetect=&Automatically detect servers
-wizNewServerManual=&Manually define a server
-wizNewServerSelectExisting=Select the server that you want to use:
-
-# Import Server Configuration wizard
-importServerConfiguration=Server Configuration
-importServerConfigurationDescription=Import an existing server configuration from the file system.
-wizImportConfigurationWizardTitle=Import a Server Configuration
-wizImportConfigurationTitle=Import a server configuration
-wizImportConfigurationDescription=Fill out the fields below to import the configuration.
-wizImportConfigurationType=Configuration type:
-wizImportConfigurationLocation=&Location:
-wizImportConfigurationFile=Choose the server configuration file
-wizImportConfigurationDirectory=Choose the directory containing the server configuration
-
-# Select Server wizard
-wizSelectServerWizardTitle=Server Selection
-wizSelectServerTitle=Server selection
-wizSelectServerDescription=Select which server to launch.
-wizSelectServerExisting=Use an e&xisting server
-wizSelectServerPreconfigured=The server is already configured for this project
-wizSelectServerUnconfigured=The server will be automatically configured for this project
-wizSelectServerUnconfigurable=The server cannot be used with this project
-wizSelectServerStatusPreconfigured=Configured
-wizSelectServerStatusUnconfigured=Not configured
-wizSelectServerStatusUnconfigurable=Incompatible
-wizSelectServerAutogenerate=&Create a new server
-wizSelectServerPreferred=Set server as project &default (do not prompt)
-wizSelectServerIncompatibleRuntime=The project is targeted to a runtime that may be incompatible.
-
-# Select Server Client Wizard
-wizSelectClientWizardTitle=Select a Server Client
-wizSelectClientTitle=Select a server client
-wizSelectClientDescription=Select a client to use with this server.
-wizSelectClientMessage=Multiple clients can run on the current selection. Select a client from the list below:
-
-# Task Wizard
-wizTaskWizardTitle=Select Tasks
-wizTaskTitle=Select Tasks
-wizTaskDescription=Select the tasks to perform on the server.
-wizTaskDetail=Tasks for:
-wizTaskNone=There are currently no tasks that need to be performed.
-
-# Publisher Wizard
-wizPublishWizardTitle=Publish Wizard
-wizPublishTitle=Resource Publish Selection
-wizPublishDescription=Select the resources that you want to publish or delete from the server.
-
-wizPublishColumnLocal=Workspace Resource
-wizPublishColumnRemote=Server Resource
-wizPublishColumnStatus=Status
-wizPublishColumnAction=Action
-wizPublishDeletedFolder=<deleted resources>
-wizPublishDeletedResource=<unknown>
-
-wizPublishStateNew=Added to workspace
-wizPublishStateUnmodified=Unmodified
-wizPublishStateModifiedLocal=Modified in workspace
-wizPublishStateModifiedRemote=Modified on server
-wizPublishStateModifiedBoth=Modified
-wizPublishStateDeleted=Deleted from workspace
-
-wizPublishStateNewDescription=The selected resource has been added to the workspace or deleted from the server since the last publish.
-wizPublishStateUnmodifiedDescription=The selected resource has not been modified in the workspace or on the server since the last publish.
-wizPublishStateModifiedLocalDescription=The selected resource has been modified in the workspace since the last publish.
-wizPublishStateModifiedRemoteDescription=The selected resource has been modified on the server since the last publish.
-wizPublishStateModifiedBothDescription=The selected resource has been modified in the workspace and on the server since the last publish.
-wizPublishStateDeletedDescription=The selected resource has been deleted from the workspace or added to the server since the last publish.
-
-wizPublishActionPublish=Publish to server
-wizPublishActionDelete=Delete from server
-
-wizPublishFilter=Resource Filter...
-wizPublishFilterTitle=Resource Filters
-wizPublishFilterMessage=Select the type of resources to filter:
-
-wizPublishFilterUnpublished=Unpublished resources
-wizPublishFilterNew=Added resources
-wizPublishFilterUnmodified=Unmodified resources
-wizPublishFilterModified=Modified resources
-wizPublishFilterDeleted=Deleted resources
-
-wizPublishFilterUnpublishedDescription=Filters resources that are never published to the server.
-wizPublishFilterNewDescription=Filters resources that have been added to the workspace.
-wizPublishFilterUnmodifiedDescription=Filters resources that have not been modified.
-wizPublishFilterModifiedDescription=Filters resources that have been modified.
-wizPublishFilterDeletedDescription=Filters resources that have been deleted from the workspace.
-
-# Server Capability
-wizServerCapabilityReady=Server project capability ready.
-wizServerCapabilityDetails=Create a server project to hold servers and server configurations
-wizServerCapabilityDescription=Server projects can be used to hold server resources such as servers and server configurations.
-
-# New Runtime Wizard
-wizNewRuntimeWizardTitle=New Server Runtime
-wizNewRuntimeTitle=New Server Runtime
-wizNewRuntimeDescription=Define a new installed server runtime environment
-wizEditRuntimeWizardTitle=Edit Server Runtime
-
-# Add/Remove Modules
-wizModuleWizardTitle=Add and Remove Projects
-wizModuleTitle=Add and Remove Projects
-wizModuleDescription=Modify the projects that are configured on the server
-wizModuleMessage=Move projects to the right to configure them on the server
-wizModuleAvailableList=&Available projects:
-wizModuleDeployedList=&Configured projects:
-wizModuleAdd=A&dd >
-wizModuleAddAll=Add A&ll >>
-wizModuleRemove=< &Remove
-wizModuleRemoveAll=<< Re&move All
-
-# General text used in multiple wizards
-wizFolder=F&older:
-wizCreate=Create...
-wizBrowse=B&rowse...
-wizChooseFolder=Select a server project folder
-wizDescription=Description:
-wizNone=None
-wizOther=Other
-
-# Wizard info and error messages
-wizErrorInvalidFolder=The folder must be a server project or a folder within a server project
-wizErrorClosedProject=The folder must not be in a closed project
-wizErrorInvalidElement=Select an existing server resource
-wizErrorResourceAlreadyExists=The specified resource already exists
-wizErrorUnknown=Unknown Error
-wizErrorServerCreationError=Cannot create a server using the selected type
-wizErrorConfigurationCreationError=Cannot create a server configuration using the selected type
-wizErrorLaunch=The resource you have selected cannot run with the server launcher
-wizErrorSelectServerType=Select a server type
-wizErrorSelectConfigurationType=Select a server configuration type
-wizErrorImport=Could not find a valid server configuration at the specified location
-
-
-# --------------- Views ---------------
-
-viewCategoryTitle=Server
-
-# --- Server Configuration view ---
-viewServers=Servers
-
-viewNoConfiguration=No configuration
-viewNoModules=Nothing deployed
-
-# Actions
-actionDelete=Delete
-actionDeleteConfiguration=Delete associated server configuration also
-actionOpen=Open
-actionBookmark=Add Bookmark
-actionSwitchConfiguration=Switch Configuration
-actionMonitor=Monitoring
-actionMonitorPort=Monitor port {0} ({1})
-actionMonitorProperties=Properties...
-actionNew=New
-actionNewServer=Server and Server Configuration
-actionNewServer=Server
-actionNewServerConfiguration=Server Configuration
-actionControl=Control
-
-# --- Servers view ---
-viewServersTitle=Servers
-
-# Column titles
-viewServer=Server
-viewHost=Host name
-viewStatus=Status
-viewSync=State
-
-actionRestartProject=Restart Project
-actionRuntimeTarget=Target Runtime...
-
-# Actions
-actionStart=Start
-actionStartToolTip=Start the server
-actionDebug=Debug
-actionDebugToolTip=Start the server in debug mode
-actionProfile=Profile
-actionProfileToolTip=Start the server in profiling mode
-actionStop=Stop
-actionStopToolTip=Stop the server
-actionRestart=Restart
-actionRestartToolTip=Restart the server
-actionPublish=Publish
-actionPublishToolTip=Publish to the server
-actionModifyModules=Add and remove projects...
-actionModifyModulesToolTip=Add and remove projects
-
-# Status column text
-viewStatusStarting=Starting
-viewStatusStarted=Started
-viewStatusStartedDebug=Debugging
-viewStatusStartedProfile=Profiling
-viewStatusStopping=Stopping
-viewStatusStopped=Stopped
-viewStatusUnsupported=Unsupported
-
-viewStatusStarting1=Starting.
-viewStatusStarting2=Starting..
-viewStatusStarting3=Starting...
-
-viewStatusStopping1=Stopping.
-viewStatusStopping2=Stopping..
-viewStatusStopping3=Stopping...
-
-# Server State text
-viewSyncOkay=Synchronized
-viewSyncRestart=Restart
-viewSyncPublish=Republish
-viewSyncRestartPublish=Restart & republish
-viewSyncPublishing=Publishing...
-
-# --- set 2 ---
-# Actions
-actionStart2=Connect
-actionStartToolTip2=Connect the server
-actionDebug2=Debug
-actionDebugToolTip2=Connect to the server in debug mode
-actionProfile2=Profile
-actionProfileToolTip2=Connect to the server in profiling mode
-actionStop2=Disconnect
-actionStopToolTip2=Disconnect from the server
-actionRestart2=Reconnect
-actionRestartToolTip2=Reconnect to the server
-actionPublish2=Publish
-actionPublishToolTip2=Publish to the server
-
-# Status column text
-viewStatusStarting4=Connecting
-viewStatusStarted2=Connected
-viewStatusStartedDebug2=Debugging
-viewStatusStopping4=Disconnecting
-viewStatusStopped2=Disconnected
-viewStatusUnsupported2=Unsupported
-viewStatusStartedProfile2=Profiling
-
-# Server State text
-viewSyncOkay2=Synchronized
-viewSyncRestart2=Reconnect
-viewSyncPublish2=Republish
-viewSyncRestartPublish2=Reconnect and republish
-viewSyncPublishing2=Publishing...
-
-
-# --------------- Action Sets (toolbar icon groups) ---------------
-
-# Servers action set
-actionSetTitle=Server
-actionSetNewServer=Create Server and Server Configuration
-actionSetNewServer=Create Server
-actionSetNewServerConfiguration=Create Server Configuration
-actionSetNewServerProject=Create Server Project
-
-# Run on Server actions
-actionRunOnServer=Run on Server...
-actionDebugOnServer=Debug on Server...
-actionProfileOnServer=Profile on Server...
-
-
-# --------------- Preferences ---------------
-
-# Names of the preference pages
-preferenceServersTitle=Server
-preferenceRuntimesTitle=Installed Runtimes
-preferenceRuntimesTitleLong=Installed Server Runtime Environments
-preferenceMonitorTitle=Monitoring
-
-# Server preferences
-prefShowPublishingDetails=Keep publishing dialog &open after publishing
-prefPublishBeforeStarting=Automatically p&ublish before starting servers
-prefAutoRestart=Automatically &restart servers when necessary
-prefPromptIrreversible=Prompt before making &irreversible changes within an editor
-prefPromptTerminate=Prompt to terminate a stoppin&g server after:
-prefPromptTerminateSeconds=s
-prefCreateInWorkspace=Create server resources in workspace
-
-prefRepairModuleGroup=Repair invalid servers
-prefRepairModuleNever=Ne&ver
-prefRepairModulePrompt=Promp&t
-prefRepairModuleAutomatic=Automati&cally
-
-prefPublisher=&Publishing method:
-prefPromptDelete=Confirm deletion of unused server configurations
-promptDelete=Always delete without prompt
-
-prefSaveEditorsGroup=Save dirty editors before starting server
-prefSaveEditorsNever=&Never
-prefSaveEditorsPrompt=Pro&mpt
-prefSaveEditorsAutosave=Auto-sav&e
-
-# Project properties preferences
-propertiesServer=Server
-prefProjectDescription=Set the runtime target and the default server for the project. To edit a runtime or it's location, go to the Window > Preferences > Servers > Installed Runtimes preference page.
-prefProject=Project:
-prefProjectDefaultServer=Default server:
-prefProjectNotModule=This project cannot be deployed to a server.
-prefProjectNotConfigured=Not currently deployed to any servers
-prefProjectNoServer=<None>
-
-# Installed runtimes
-preferenceRuntimesDescription=Add, remove, or edit installed server runtime definitions.\nInstalled server runtimes:
-
-
-# --------------- Tasks (progress monitors) ---------------
-
-# Creating default server and server configuration
-createServerProjectTask=Creating server project.
-createDefaultServerTask=Creating server.
-createDefaultServerConfigurationTask=Creating server configuration.
-
-# Modifying and searching for servers
-addProjectToConfigurationTask=Adding project {0} to {1}.
-removeProjectFromConfiguration=Removing project {0} from {1}.
-setInstanceConfigurationTask=Setting the configuration of {0} to {1}.
-removingInstanceConfigurationTask=Removing the configuration from {0}.
-getDefaultServerTask=Searching for a default server.
-getProjectServerTask=Locating a server.
-
-# General tasks
-copyingTask=Copying from {0} to {1}.
-unZippingTask=Unzipping {0}.
-expandingTask=Expanding {0}.
-savingTask=Saving {0}.
-deletingTask=Deleting {0}.
-loadingTask=Loading {0}.
-copyingTask=File copied successfully to {0}
-performingTasks=Performing tasks.
-
-publishingTask=Publishing to {0}.
-publishingStatus=Publishing status
-publishingStart=Connecting to server
-publishingStop=Disconnecting from server
-
-publishingPublishFolder=Creating folder {0}.
-publishingPublishFile=Publishing {0}.
-publishingDeleteFolder=Removing folder {0}.
-publishingDeleteFile=Deleting {0}.
-publishingProject=Publishing project: {0}
-publishingConfiguration=Publishing configuration: {0}
-
-# --------------- Dialogs ---------------
-
-# Delete Server Resource dialog
-deleteServerResourceDialogTitle=Delete Server Resource
-deleteServerResourceDialogMessage=Are you sure you want to delete {0}?
-deleteServerResourceDialogMessageMany=Are you sure you want to delete the {0} server resources?
-deleteServerResourceDialogLooseConfigurations=Also delete unused server configuration {0}.
-deleteServerResourceDialogLooseConfigurationsMany=Also delete {0} unused server configurations.
-
-# Create Server Project dialog
-createServerProjectDialogTitle=Create Server Project
-createServerProjectDialogMessage=Do you want to create a new server project with the name {0}?
-
-# Terminate Server dialog
-terminateServerDialogTitle=Terminate Server
-terminateServerDialogMessage=Server {0} is not responding. Do you want to terminate this server? Click OK to terminate the server or click Cancel to continue waiting.
-
-# Server resource dirty dialog
-resourceDirtyDialogTitle=Server Resource Dirty
-resourceDirtyDialogMessage=The server resource {0} has unsaved changes. Do you want to continue?
-resourceDirtyDialogContinue=Continue
-
-runtimeTargetDialogTitle=Modify Target Runtime
-runtimeTargetMessage=Select a target runtime for the {0} project.
-runtimeTargetCombo=Target runtime:
-runtimeTargetNone=<None>
-runtimeTargetScope=Update {0} to have the same target runtime
-runtimeTargetNewRuntime=New...
-runtimeTargetChildren=Include child projects
-
-# Publishing dialog text and status
-publishingTitle=Publishing
-publishingBusy=Publishing...
-publishingOK=Publishing was successful
-publishingInfo=Publishing completed with information
-publishingWarning=Publishing completed with warning(s)
-publishingError=Publishing failed
-publishingCancelled=Publishing cancelled
-publishingTime={0}s
-
-# General dialogs
-defaultDialogTitle=Server
-dialogStoppingServer=Stopping server {0}.
-dialogRestartingProject=Restarting project {0}.
-
-# Configuration repair dialog
-dialogRepairConfigurationTitle=Repair Server Configuration
-dialogRepairConfigurationMessage=The following server configurations were affected by the changes and will be modified:
-dialogRepairConfigurationSaveMessage=Select the server configurations to save so that they can be repaired.
-
-# restart warning dialog
-dialogModeWarningDebug=The server is not running in debug mode. You may restart the server in debug mode, continue without debugging, or cancel the operation.
-dialogModeWarningProfile=The server is not running in profiling mode. You may restart the server in profiling mode, continue without profiling, or cancel the operation.
-dialogModeWarningRestart=Restart
-dialogModeWarningContinue=Continue
-
-# Monitor dialog
-dialogMonitorTitle=Monitoring Ports
-dialogMonitorDescription=The following ports are being monitored on server {0}:
-dialogMonitorAddDescription=The server {0} has the following ports that can be monitored:
-dialogMonitorColumnPort=Server Port
-dialogMonitorColumnType=Type
-dialogMonitorColumnMonitorPort=Monitor Port
-dialogMonitorColumnContentType=Content Type
-dialogMonitorColumnStatus=Status
-dialogMonitorMonitorPort=Monitor port:
-dialogMonitorContentType=Content type:
-dialogMonitorContentTypeAll=All
-dialogMonitorContentTypeWeb=Web
-dialogMonitorContentTypeWebServices=WebServices
-
-start=Start
-stop=Stop
-started=Started
-stopped=Stopped
-
-# Confirm runtime removal
-dialogRuntimeInUse=The runtime is currently being used and deleting it will cause compilation or runtime problems. Delete the runtime anyway?
-
-# Can't add remove
-dialogAddRemoveModulesNone=There are no projects that can be added or removed from the server.
-
-# --------------- Misc UI ---------------
-
-serverLaunchShortcut=Run on Server
-
-serverEditor=Server Editor
-
-# runtime composite
-runtimeTypeCompDescription=Runtimes are used at build time to compile projects.
-runtimeTypeCompTree=Select the type of &runtime that you want to define:
-serverTypeCompDescription=Select the &server type:
-name=Name
-vendor=Vendor
-version=Version
-host=Host name
-moduleSupport=Module Support
-viewBy=&View By:
-
-# misc composites
-hostnameTitle=Specify the host where you want to publish
-hostname=&Host name:
-
-# Server launch configuration tab
-serverLaunchConfigurationTab=Server
-serverLaunchStartMode=Start mode:
-serverLaunchServer=Server:
-serverLaunchServerType=Server type:
-serverLaunchReady=Server is ready to launch
-
-# Error Messages
-errorDialogTitle=Server Error
-errorUnconfiguredServer=Unable to run the server because it does not have a valid configuration.
-errorCloseEditor=Close the open editor on {0} before performing this action.
-errorLaunch=Cannot start the server.
-errorServerAlreadyRunning=Server already running
-errorServerStartFailed=The server named {0} did not start correctly. Check the Console for error messages.
-errorPublishing=Could not publish to the server.
-errorNoConfiguration=The server does not have a configuration.
-errorPublishFailed=Errors occurred during publishing.
-errorRunOnServer=Running resource on server.
-errorRunOnServerFailed=Unable to run on server.
-errorLoadingConfiguration=Error loading server configuration from {0}.
-errorSavingResource=Could not save server resource.
-errorMissingConfiguration=Server configuration is missing - See Task view
-errorMissingConfigurationTask=Server {0} cannot find the server configuration located at {1}. Replace the server configuration or use the Server Configuration view to set a new configuration.
-errorMissingProject=Project {0} is missing - See Task view
-errorMissingProjectTask=Server configuration {0} refers to a missing project {1}
-errorCopyingFile=Error copying file to {0}: {1}
-errorModifyingConfiguration=Error modifying server configuration: {0}
-errorModifyingInstance=Error modifying server: {0}
-errorCouldNotCreateServerProject=Could not create server project
-errorCouldNotCreateServerProjectStatus=Could not create server project: {0}
-errorNoModules=Did not find anything to deploy to a server
-errorNoServer=Could not find a server to run the selection
-errorNoClient=Could not find a client that is able to launch the selection
-errorCouldNotSavePreference=Could not save server preference information.
-errorEditorCantSave=Can't save the server resource for the following reason(s):
-errorSelectServer=A server must be selected.
-errorEditor=Could not open editor because {0} is not a valid server or server configuration.
-errorVersionLevel=The selected server does not support version {1} of the {0} specification.
-
-# Info messages
-infoNoPublishingNecessary=Publishing was not necessary
-infoPublishSuccess=Published finished successfully
-
-# Default server creation names
-# {0} will be replaced by a number if the given name is already being used
-defaultServerProjectName=Servers{0}
-defaultServerInstanceName=defaultServer{0}
-defaultServerConfigurationName=defaultConfiguration{0}
-
-serverStartError=Error received while starting the server
-
-# Used when a name can't be found
-elementUnknownName=<unknown>
-
-# Publish manager
-publisherVisualName=Prompt user
-publisherVisualDescription=Prompts the user to choose which resources to publish to or delete from the server.
-
-columnName=Name
-columnType=Type
-
-add=Add...
-edit=Edit...
-remove=Remove
-search=Search...
-
-
-# --------------- Editor support ---------------
-
-serverEditorOverviewPage=Overview
-serverEditorOverviewPageTitle=Server Overview
-serverEditorOverviewSection=General
-serverEditorOverviewDescription=Specify the host name and other settings.
-serverEditorOverviewServerName=Server name:
-serverEditorOverviewServerNameCommand=set server name
-serverEditorOverviewServerNameDescription=Set the server name
-serverEditorOverviewServerConfigurationName=Server configuration name:
-serverEditorOverviewServerConfigurationNameCommand=set server configuration name
-serverEditorOverviewServerConfigurationNameDescription=Set the server configuration name
-serverEditorOverviewServerHostname=Host name:
-serverEditorOverviewServerHostnameCommand=set host name
-serverEditorOverviewServerHostnameDescription=Set the host name
-serverEditorOverviewRuntime=Runtime:
-serverEditorOverviewRuntimeCommand=set runtime
-serverEditorOverviewRuntimeDescription=Set the runtime
-
-# Menu items. {0} will be replaced by one of the xxxEditorActionXxx fields
-# from below. @Ctrl+Z is the menu mnemonic
-editorUndoEnabled=Undo {0}@Ctrl+Z
-editorUndoDisabled=Undo@Ctrl+Z
-editorRedoEnabled=Redo {0}@Ctrl+Y
-editorRedoDisabled=Redo@Ctrl+Y
-
-editorSaveErrorDialog=Save Problems
-editorSaveErrorMessage=Error while saving. {0}
-
-editorReadOnly=Read Only
-editorWritable=Writable
-editorReadOnlyFiles=Read Only files: {0}
-
-editorServerEditor=Server Editor
-editorPromptIrreversible=This operation cannot be undone. Do you want to proceed?
-
-# message if a dirty resource is deleted
-editorResourceDeleteTitle=Server Resource Deleted
-editorResourceDeleteBothMessage=The server {0} and the server configuration {1} have been deleted from the file system. Do you want to save your changes or close the editor without saving?
-editorResourceDeleteServerMessage=The server {0} has been deleted from the file system. Do you want to save your changes or close the editor without saving?
-editorResourceDeleteServerConfigurationMessage=The server configuration {0} has been deleted from the file system. Do you want to save your changes or close the editor without saving?
-editorResourceDeleteSave=Save
-
-editorResourceModifiedTitle=File Changed
-editorServerModifiedMessage=The server has been changed on the file system. Do you want to load the changes?
-editorServerConfigurationModifiedMessage=The server configuration has been changed on the file system. Do you want to load the changes?
-
-editorValidateEditFailureMessage=The server resource cannot be edited.
-editorReadOnlyMessage=File(s) being edited have become read-only. The editor will become read-only and changes will be lost.
-
-editorResourceWarnTitle=Server Modification Warning
-editorResourceWarnMessage=The resource you are modifying is read-only. All changes will be lost because the resource cannot be saved. 
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.xml b/plugins/org.eclipse.wst.server.ui/plugin.xml
deleted file mode 100644
index e670a29..0000000
--- a/plugins/org.eclipse.wst.server.ui/plugin.xml
+++ /dev/null
@@ -1,241 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.wst.server.ui"
-  name="%pluginName"
-  version="3.0.0"
-  provider-name="%providerName"
-  class="org.eclipse.wst.server.ui.internal.ServerUIPlugin">
-
-<requires>
-  <import plugin="org.eclipse.core.runtime"/>
-  <import plugin="org.eclipse.core.resources"/>
-  <import plugin="org.eclipse.core.expressions"/>
-  <import plugin="org.eclipse.ui"/>
-  <import plugin="org.eclipse.ui.ide"/>
-  <import plugin="org.eclipse.ui.views"/>
-  <import plugin="org.eclipse.ui.editors"/>
-  <import plugin="org.eclipse.ui.forms"/>
-  <import plugin="org.eclipse.ui.workbench.texteditor"/>
-  <import plugin="org.eclipse.debug.core"/>
-  <import plugin="org.eclipse.debug.ui"/>
-  <import plugin="org.eclipse.wst.server.core"/>
-</requires>
-
-<runtime>
-  <library name="serverui.jar">
-    <export name="*"/>
-    <packages prefixes="org.eclipse.wst.server.ui"/>
-  </library>
-</runtime>
-
-  <extension-point id="editorPages" name="%extensionPointEditorPages" schema="schema/editorPages.exsd"/>
-  <extension-point id="editorPageSections" name="%extensionPointEditorPageSections" schema="schema/editorPageSections.exsd"/>
-  <extension-point id="editorActions" name="%extensionPointEditorActions" schema="schema/editorActions.exsd"/>
-  <extension-point id="serverActions" name="%extensionPointServerActions" schema="schema/serverActions.exsd"/>
-  <extension-point id="serverImages" name="%extensionPointServerImages" schema="schema/serverImages.exsd"/>
-  <extension-point id="wizardFragments" name="%extensionPointWizardFragments" schema="schema/wizardFragments.exsd"/>
-
-<extension point="org.eclipse.ui.ide.projectNatureImages">
-  <image
-    id="org.eclipse.wst.server.ui.projectNatureImage"
-    natureId="org.eclipse.wst.server.core.nature"
-    icon="icons/ovr16/server_ovr.gif"/>
-</extension>
-
-<extension point="org.eclipse.ui.newWizards">
-  <category
-    id="org.eclipse.wst.server.ui"
-    name="%wizardCategoryTitle"/>
-  <wizard
-      id="org.eclipse.wst.server.ui.new.server.project"
-      name="%newServerProject"
-      project="true"
-      finalPerspective="org.eclipse.wst.server.ui.perspective"
-      class="org.eclipse.wst.server.ui.internal.wizard.NewServerProjectWizard"
-      category="org.eclipse.wst.server.ui"
-      icon="icons/ctool16/wiz_new_server_project.gif">
-    <description>%newServerProjectDescription</description>
-  </wizard>
-
-  <wizard
-      id="org.eclipse.wst.server.ui.new.server"
-      name="%newServer"
-      class="org.eclipse.wst.server.ui.internal.wizard.NewServerWizard"
-      category="org.eclipse.wst.server.ui"
-      icon="icons/ctool16/wiz_new_server.gif">
-    <description>%newServerDescription</description>
-  </wizard>
-</extension>
-
-<extension point="org.eclipse.ui.importWizards">
-  <wizard
-      id="org.eclipse.wst.server.ui.import.configuration"
-      name="%importServerConfiguration"
-      class="org.eclipse.wst.server.ui.internal.wizard.ImportServerConfigurationWizard"
-      icon="icons/ctool16/wiz_import_configuration.gif">
-    <description>%importServerConfigurationDescription</description>
-  </wizard>
-</extension>
-
-<extension point="org.eclipse.ui.views"> 
-  <category
-    id="org.eclipse.wst.server.ui"
-    name="%viewCategoryTitle"/>
-
-  <view
-    id="org.eclipse.wst.server.ui.ServersView"
-    name="%viewServersTitle"
-    category="org.eclipse.wst.server.ui"
-    class="org.eclipse.wst.server.ui.internal.view.servers.ServersView"
-    icon="icons/cview16/servers_view.gif"/>
-</extension>
-
-<extension point="org.eclipse.ui.perspectiveExtensions">
-  <perspectiveExtension
-    targetID="org.eclipse.debug.ui.DebugPerspective">
-    <view
-      relative="org.eclipse.debug.ui.DebugView"
-      relationship="stack"
-      id="org.eclipse.wst.server.ui.ServersView">
-    </view>
-  </perspectiveExtension>
-</extension>
-
-<extension point="org.eclipse.ui.preferencePages">
-  <page
-    id="org.eclipse.wst.server.ui.preferencePage"
-    name="%preferenceServersTitle"
-    class="org.eclipse.wst.server.ui.internal.ServerPreferencePage"/>
-  <page
-    id="org.eclipse.wst.server.ui.runtime.preferencePage"
-    name="%preferenceRuntimesTitle"
-    category="org.eclipse.wst.server.ui.preferencePage"
-    class="org.eclipse.wst.server.ui.internal.RuntimePreferencePage"/>
-</extension>
-
-<extension point="org.eclipse.ui.editors">
-  <editor id="org.eclipse.wst.server.ui.editor"
-    name="%serverEditor"
-    icon="icons/obj16/server.gif"
-    extensions="server, config"
-    default="true"
-    class="org.eclipse.wst.server.ui.internal.editor.ServerEditor"
-    contributorClass="org.eclipse.wst.server.ui.internal.editor.ServerEditorActionBarContributor"/>
-</extension>
-
-<extension point="org.eclipse.ui.elementFactories">
-  <factory id="org.eclipse.wst.server.ui.editor.input.factory"
-    class="org.eclipse.wst.server.ui.internal.editor.ServerEditorInputFactory"/>
-</extension>
-
-<extension point="org.eclipse.ui.propertyPages">
-  <page
-    id="org.eclipse.wst.server.ui.project.properties"
-    name="%propertiesServer"
-    objectClass="org.eclipse.core.resources.IProject"
-    adaptable="true"
-    class="org.eclipse.wst.server.ui.internal.ProjectPropertyPage"/>
-</extension>
-
-<extension point="org.eclipse.ui.actionSets">
-  <actionSet
-    id="org.eclipse.wst.server.ui.new.actionSet"
-    label="%actionSetTitle"
-    visible="false">
-    <action
-      id="org.eclipse.wst.server.ui.action.new.server"
-      toolbarPath="servers"
-      label="%actionSetNewServer"
-      tooltip="%actionSetNewServer"
-      icon="icons/ctool16/wiz_new_server.gif"
-      class="org.eclipse.wst.server.ui.internal.actions.NewServerAction"/>
-
-    <action
-      id="org.eclipse.wst.server.ui.action.new.server.project"
-      toolbarPath="servers"
-      label="%actionSetNewServerProject"
-      tooltip="%actionSetNewServerProject"
-      icon="icons/ctool16/wiz_new_server_project.gif"
-      class="org.eclipse.wst.server.ui.internal.actions.NewServerProjectAction"/>
-  </actionSet>
-</extension>
-
-<extension point="org.eclipse.debug.ui.launchShortcuts">
-   <shortcut id="org.eclipse.wst.server.core.launchShortcut"
-      label="%serverLaunchShortcut"
-      class="org.eclipse.wst.server.ui.internal.ServerLaunchShortcut"
-      modes="run, debug, profile"
-      path="aa"
-      icon="icons/etool16/run_on_server.gif">
-      <contextualLaunch>
-        <enablement>
-           <with variable="selection">
-             <count value="1"/>
-             <iterate>
-                <and>
-                  <test property="org.eclipse.wst.server.ui.isRunnable" value="true"/>
-                </and>
-             </iterate>
-           </with>
-         </enablement>
-      
-        <contextLabel
-           mode="run"
-           label="%actionRunOnServer"/>
-        <contextLabel
-           mode="debug"
-           label="%actionDebugOnServer"/>
-        <contextLabel
-           mode="profile"
-           label="%actionProfileOnServer"/>
-      </contextualLaunch>
-    <perspective id="org.eclipse.wst.server.ui.perspective"/>
-    <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
-    <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/>
-    <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
-    <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
-    <perspective id="com.ibm.etools.j2ee.J2EEPerspective"/>
-    <perspective id="org.eclipse.ui.resourcePerspective"/>
-   </shortcut>
-</extension>
-
-<extension point="org.eclipse.core.expressions.propertyTesters">
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="isRunnable"
-      type="java.lang.Object"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-</extension>
-
-<extension point="org.eclipse.wst.server.core.publish">
-  <publish
-    id="org.eclipse.wst.server.ui.publish.visual"
-    name="%publisherVisualName"
-    description="%publisherVisualDescription"
-    class="org.eclipse.wst.server.ui.internal.publish.VisualPublisher"/>
-</extension>
-
-<extension point="org.eclipse.wst.server.ui.serverActions">
-  <serverAction id="org.eclipse.wst.server.ui.projects"
-    typeIds="*"
-    label="%actionModifyModules"
-    category="control"
-    icon="icons/ctool16/wiz_modify_modules.gif"
-    order="50"
-    class="org.eclipse.wst.server.ui.internal.actions.AddRemoveModulesAction"/>
-</extension>
-
-   <extension point="org.eclipse.wst.server.ui.editorPages">
-      <page
-         id="org.eclipse.wst.server.editor.overview"
-         order="-10000"
-         name="%serverEditorOverviewPage"
-         typeIds="*"
-         insertionIds="org.eclipse.wst.server.editor.overview.left, org.eclipse.wst.server.editor.overview.right"
-         class="org.eclipse.wst.server.ui.internal.editor.OverviewEditorFactory"/>
-   </extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd
deleted file mode 100644
index b3672a6..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.ui" id="editorActions" name="Editor Actions"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to add actions to the toolbar of an existing server editor.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="editorAction" 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="editorAction">

-      <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 implements &lt;samp&gt;ILaunchConfigurationDelegate&lt;/samp&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of an editor action extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd
deleted file mode 100644
index 943d443..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.ui" id="EditorPageSections" name="Editor Page Sections"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to add additional sections into an existing server editor page that contains insertion points.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice>

-            <element ref="section"/>

-         </choice>

-         <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="section">

-      <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 implements &lt;samp&gt;ILaunchConfigurationDelegate&lt;/samp&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of an editor page section extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.wst.server.ui.editorPageSections&quot;&gt;
-    &lt;section
-       id=&quot;com.example&quot;
-       order=&quot;0&quot;
-       insertionId=&quot;com.example.left&quot;
-       typeIds=&quot;com.example.*&quot;
-         class=&quot;com.example.ExampleEditorSectionFactory&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 implements the interface &lt;b&gt;org.eclipse.wst.server.ui.editor.IServerEditorPageSectionFactoryDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd
deleted file mode 100644
index d64852c..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.ui" id="EditorPages" name="Editor Pages"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to add an additional page to a server or server configuration editor.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice>

-            <element ref="page"/>

-         </choice>

-         <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="page">

-      <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 implements &lt;samp&gt;ILaunchConfigurationDelegate&lt;/samp&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of an editor page extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.ui.editorPages&quot;&gt;
-    &lt;page
-       id=&quot;com.example&quot;
-       order=&quot;20&quot;
-       name=&quot;%editorPage&quot;
-       typeIds=&quot;com.example.*&quot;
-         class=&quot;com.example.ExampleEditorFactory&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 implements the interface &lt;b&gt;org.eclipse.wst.server.ui.editor.IServerEditorPartFactoryDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.ui/schema/serverActions.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverActions.exsd
deleted file mode 100644
index 1095b93..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/serverActions.exsd
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.ui" id="ServerActions" name="Server Actions"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to add an action into the Servers view.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="serverAction" 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="serverAction">

-      <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 implements &lt;samp&gt;ILaunchConfigurationDelegate&lt;/samp&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server action extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd
deleted file mode 100644
index 5f0e36a..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.ui" id="serverImages" name="Server Images"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to provide an image for a runtime, server, server configuration or module type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice>

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

-         </choice>

-         <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="image">

-      <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="icon" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server image extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.wst.server.ui.serverImages&quot;&gt;
-    &lt;image
-       id=&quot;com.example&quot;
-       icon=&quot;icons/obj16/runtime.gif&quot;
-       typeIds=&quot;com.example.runtime&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd b/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd
deleted file mode 100644
index 966da6d..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.ui" id="WizardFragments" name="Wizard Fragments"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a way to add pages or logic into wizards for a specific runtime, server, or server configuration type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="fragment" 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="fragment">

-      <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 implements &lt;samp&gt;ILaunchConfigurationDelegate&lt;/samp&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a wizard fragment extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.wst.server.ui.wizardFragments&quot;&gt;
-   &lt;fragment
-      id=&quot;com.example&quot;
-      typeIds=&quot;com.example.runtime&quot;
-      class=&quot;com.example.ExampleWizardFragment&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 implements the interface &lt;b&gt;org.eclipse.wst.server.ui.wizard.IWizardFragment&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerUIPreferences.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerUIPreferences.java
deleted file mode 100644
index 6593b9d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerUIPreferences.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui;
-/**
- * Helper class that stores preference information for
- * the server tools UI.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerUIPreferences {
-	public static final byte SAVE_EDITORS_NEVER = 0;
-	public static final byte SAVE_EDITORS_PROMPT = 1;
-	public static final byte SAVE_EDITORS_AUTO = 2;
-
-	/**
-	 * Returns whether the publishing details should be shown.
-	 *
-	 * @return boolean
-	 */
-	public boolean getShowPublishingDetails();
-
-	/**
-	 * Returns whether the publishing details should be shown by default.
-	 *
-	 * @return boolean
-	 */
-	public boolean getDefaultShowPublishingDetails();
-
-	/**
-	 * Sets whether the publishing details should be shown.
-	 *
-	 * @return boolean
-	 */
-	public void setShowPublishingDetails(boolean b);
-
-	/**
-	 * Returns whether the user should be prompted before making an
-	 * irreversible change in the editor.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getPromptBeforeIrreversibleChange();
-
-	/**
-	 * Returns the default value of whether the user should be prompted
-	 * before making an irreversible change in the editor.
-	 *
-	 * @return boolean
-	 */
-	public boolean getDefaultPromptBeforeIrreversibleChange();
-
-	/**
-	 * Sets whether the user should be prompted before making an
-	 * irreversible change in the editor.
-	 *
-	 * @return boolean
-	 */
-	public void setPromptBeforeIrreversibleChange(boolean b);
-	
-	/**
-	 * Returns the default setting for saving editors before launching.
-	 * 
-	 * @return byte
-	 */
-	public byte getDefaultSaveEditors();
-
-	/**
-	 * Returns the setting for saving editors before launching.
-	 * 
-	 * @return byte
-	 */
-	public byte getSaveEditors();
-
-	/**
-	 * Sets the value for saving editors before launching.
-	 * 
-	 * @param byte
-	 */
-	public void setSaveEditors(byte b);
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerImageResource.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerImageResource.java
deleted file mode 100644
index 97bc810..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerImageResource.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-/**
- * Provides access to server UI general images. getImage() and getImageDescriptor()
- * provide access (through keys in the class header) to the images that can be used
- * for server state, publishing, etc.
- */
-public class ServerImageResource {
-	// server state images
-	public static final String IMG_SERVER_STATE_UNKNOWN = "stateUnknown";
-	public static final String IMG_SERVER_STATE_STARTING = "stateStarting1";
-	public static final String IMG_SERVER_STATE_STARTED = "stateStarted";
-	public static final String IMG_SERVER_STATE_STARTED_DEBUG = "stateStartedDebug";
-	public static final String IMG_SERVER_STATE_STOPPING = "stateStopping1";
-	public static final String IMG_SERVER_STATE_STOPPED = "stateStopped";
-
-	// misc images
-	public static final String IMG_SERVER_PROJECT = "serverProject";
-	public static final String IMG_SERVER_CONFIGURATION = "configuration";
-	public static final String IMG_SERVER = "server";
-	public static final String IMG_SERVER_CONFIGURATION_NONE = "noConfiguration";
-	public static final String IMG_SERVER_CONFIGURATION_MISSING = "configurationMissing";
-	public static final String IMG_SERVER_CONFIGURATION_FOLDER = "configurationFolder";
-	public static final String IMG_SERVER_FOLDER = "serverFolder";
-	public static final String IMG_PROJECT_MISSING = "projectMissing";
-
-	/**
-	 * Return the image with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.swt.graphics.Image
-	 */
-	public static Image getImage(String key) {
-		return ImageResource.getImage(key);
-	}
-
-	/**
-	 * Return the image descriptor with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return import org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		return ImageResource.getImageDescriptor(key);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
deleted file mode 100644
index 02a676e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package org.eclipse.wst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-public class ServerLaunchConfigurationTab extends AbstractLaunchConfigurationTab {
-	protected String[] serverTypeIds;
-
-	protected Combo serverCombo;
-	
-	protected Label runtimeLabel;
-	protected Label runtimeLocation;
-	
-	protected IServer server;
-	
-	// list of servers that are in combo
-	protected List servers;
-
-	// flag to be used to decide whether to enable combo in launch config dialog
-	// after the user requests a launch, they cannot change it
-	private static final String READ_ONLY = "read-only";
-
-	public ServerLaunchConfigurationTab() {
-		this(new String[] {"*"});
-	}
-
-	public ServerLaunchConfigurationTab(String[] serverTypeIds) {
-		this.serverTypeIds = serverTypeIds;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		layout.marginHeight = 10;
-		layout.numColumns = 1;
-		composite.setLayout(layout);
-
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayoutData(data);
-
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(ServerUIPlugin.getResource("%serverLaunchServer"));
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		serverCombo = new Combo(composite, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
-		serverCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		serverCombo.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-			public void widgetSelected(SelectionEvent e) {
-				handleServerSelection();
-			}
-		});
-		WorkbenchHelp.setHelp(serverCombo, ContextIds.LAUNCH_CONFIGURATION_SERVER_COMBO);
-
-		runtimeLabel = new Label(composite, SWT.NONE);
-		runtimeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		runtimeLocation = new Label(composite, SWT.NONE);
-		runtimeLocation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		// initialize
-		List servers2 = ServerCore.getResourceManager().getServers();
-		servers = new ArrayList();
-		Iterator iterator = servers2.iterator();
-		while (iterator.hasNext()) {
-			IServer server2 = (IServer) iterator.next();
-			if (isSupportedServer(server2.getServerType().getId())) {
-				serverCombo.add(server2.getName());
-				servers.add(server2);
-			}
-		}
-
-		// select first item in list
-		if (serverCombo.getItemCount() > 0)
-			serverCombo.select(0);
-
-		handleServerSelection();
-
-		serverCombo.forceFocus();
-
-		Dialog.applyDialogFont(composite);
-		setControl(composite);
-	}
-	
-	protected boolean isSupportedServer(String serverTypeId) {
-		if (serverTypeIds == null)
-			return true;
-		int size = serverTypeIds.length;
-		for (int i = 0; i < size; i++) {
-			if (matches(serverTypeId, serverTypeIds[i]))
-				return true;
-		}
-		return false;
-	}
-	
-	protected static boolean matches(String a, String b) {
-		if (a == null || b == null || "*".equals(a) || "*".equals(b) || a.startsWith(b) || b.startsWith(a))
-			return true;
-		return false;
-	}
-	
-	protected void handleServerSelection() {
-		if (servers.isEmpty())
-			server = null;
-		else
-			server = (IServer) servers.get(serverCombo.getSelectionIndex());
-		IRuntime runtime = null;
-		if (server != null) {
-			runtime = server.getRuntime();
-			runtimeLocation.setText("Location: " + server.getHostname());
-		} else
-			runtimeLocation.setText("Location:");
-			
-		if (runtime != null)
-			runtimeLabel.setText("Runtime: " + runtime.getName());
-		else
-			runtimeLabel.setText("Runtime:");
-
-		if (server == null)
-			setErrorMessage(ServerUIPlugin.getResource("%noServerSelected"));
-		else if (server.getServerState() != IServer.SERVER_STOPPED)
-			setErrorMessage(ServerUIPlugin.getResource("%errorServerAlreadyRunning"));
-		else
-			setErrorMessage(null);
-		/*if (server != null) {
-		 server.setLaunchDefaults(configuration);
-		 }*/
-		updateLaunchConfigurationDialog();
-	}
-
-	protected void setErrorMessage(String s) {
-		super.setErrorMessage(s);
-	}
-	
-	protected void updateLaunchConfigurationDialog() {
-		super.updateLaunchConfigurationDialog();
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		setErrorMessage(null);
-		if (serverCombo != null) {	
-			serverCombo.setEnabled(true);
-			if (serverCombo.getItemCount() > 0)
-				serverCombo.select(0);
-		}
-		
-		if (servers != null) {
-			server = (IServer) servers.get(serverCombo.getSelectionIndex());
-			if (server != null) {
-				server.setLaunchDefaults(configuration);
-			}
-		}
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		serverCombo.setEnabled(true);
-		//remove error message that other instances may have set
-		setErrorMessage(null);
-
-		try {
-			String serverId = configuration.getAttribute(IServer.ATTR_SERVER_ID, "");
-			if (!serverId.equals("")) {
-				server = ServerCore.getResourceManager().getServer(serverId);
-
-				if (server == null) { //server no longer exists				
-					setErrorMessage(ServerUIPlugin.getResource("%errorInvalidServer"));
-					//serverCombo.clearSelection();  //appears to be broken...doesn't work with read only?												
-					serverCombo.setEnabled(false);
-					return;
-				}
-
-				serverCombo.setText(server.getName());
-				if (server.getServerState() != IServer.SERVER_STOPPED)
-					setErrorMessage(ServerUIPlugin.getResource("%errorServerAlreadyRunning"));
-			} else {
-				if (serverCombo.getItemCount() > 0)
-					serverCombo.select(0);
-			}
-			//flag should only be set if launch has been attempted on the config
-			if (configuration.getAttribute(READ_ONLY, false))
-				serverCombo.setEnabled(false);
-		} catch (CoreException e) {
-		}
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (server != null)
-			configuration.setAttribute(IServer.ATTR_SERVER_ID, server.getId());
-		else
-			configuration.setAttribute(IServer.ATTR_SERVER_ID, (String)null);
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#isValid() 
-	 */
-	public boolean isValid() {
-		if (serverCombo.getSelectionIndex() != -1)
-			return true;
-		return false;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration) 
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		try {
-			String id = launchConfig.getAttribute(IServer.ATTR_SERVER_ID, "");
-			if (!id.equals("")) {
-				IServer server2 = ServerCore.getResourceManager().getServer(id);
-				if (server2 == null)
-					return false;
-				if (server2.getServerState() == IServer.SERVER_STOPPED)
-					return true;
-			}
-		} catch (CoreException e) { }
-		return false;
-	}
-
-	public Image getImage() {
-		return ImageResource.getImage(ImageResource.IMG_SERVER);
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ServerUIPlugin.getResource("%serverLaunchConfigurationTab");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java
deleted file mode 100644
index 4c2fd42..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
-import org.eclipse.wst.server.ui.internal.ServerUIPreferences;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-import org.eclipse.wst.server.ui.wizard.IWizardFragment;
-/**
- * Server UI core.
- */
-public class ServerUICore {
-	// server UI plugin id
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.ui";
-
-	protected static ServerLabelProvider labelProvider;
-
-	// cached copy of all runtime wizards
-	private static Map wizardFragments;
-	
-	static class WizardFragmentData {
-		String id;
-		IConfigurationElement ce;
-		IWizardFragment fragment;
-		
-		public WizardFragmentData(String id, IConfigurationElement ce) {
-			this.id = id;
-			this.ce = ce;
-		}
-	}
-
-	/**
-	 * ServerUICore constructor comment.
-	 */
-	private ServerUICore() {
-		super();
-	}
-
-	/**
-	 * Return the UI preferences.
-	 * 
-	 * @return IServerUIPreferences
-	 */
-	public static IServerUIPreferences getPreferences() {
-		return new ServerUIPreferences();
-	}
-	
-	/**
-	 * Returns the wizard fragment with the given id.
-	 *
-	 * @return
-	 */
-	public static IWizardFragment getWizardFragment(String typeId) {
-		if (typeId == null)
-			return null;
-
-		if (wizardFragments == null)
-			loadWizardFragments();
-		
-		Iterator iterator = wizardFragments.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			if (typeId.equals(key)) {
-				WizardFragmentData data = (WizardFragmentData) wizardFragments.get(key);
-				return getWizardFragment(data);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Load the server startups.
-	 */
-	private static synchronized void loadWizardFragments() {
-		if (wizardFragments != null)
-			return;
-		Trace.trace(Trace.CONFIG, "->- Loading .wizardFragments extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUICore.PLUGIN_ID, "wizardFragments");
-
-		int size = cf.length;
-		wizardFragments = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				String id = cf[i].getAttribute("typeIds");
-				wizardFragments.put(id, new WizardFragmentData(id, cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded wizardFragment: " + id);
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load wizardFragment: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		Trace.trace(Trace.CONFIG, "-<- Done loading .wizardFragments extension point -<-");
-	}
-	
-	protected static IWizardFragment getWizardFragment(WizardFragmentData fragment) {
-		if (fragment == null)
-			return null;
-	
-		if (fragment.fragment == null) {
-			try {
-				fragment.fragment = (IWizardFragment) fragment.ce.createExecutableExtension("class");
-			} catch (Exception cex) {
-				Trace.trace(Trace.SEVERE, "Could not create wizardFragment: " + fragment.ce.getAttribute("id"), cex);
-			}
-		}
-		return fragment.fragment;
-	}
-
-	public static ILabelProvider getLabelProvider() {
-		if (labelProvider == null)
-			labelProvider = new ServerLabelProvider();
-		return labelProvider;
-	}
-	
-	public static void runOnServer(Object object, String launchMode) {
-		RunOnServerActionDelegate delegate = new RunOnServerActionDelegate();
-		Action action = new Action() { };
-		if (object != null) {
-			StructuredSelection sel = new StructuredSelection(object);
-			delegate.selectionChanged(action, sel);
-		} else
-			delegate.selectionChanged(action, null);
-
-		delegate.run(action);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java
deleted file mode 100644
index 919a3d8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java
+++ /dev/null
@@ -1,263 +0,0 @@
-package org.eclipse.wst.server.ui;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.wst.server.core.*;
-import org.eclipse.wst.server.ui.editor.IServerEditorInput;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.editor.ServerEditorInput;
-import org.eclipse.wst.server.ui.internal.publish.PublishDialog;
-import org.eclipse.wst.server.ui.internal.task.FinishWizardFragment;
-import org.eclipse.wst.server.ui.internal.task.InputWizardFragment;
-import org.eclipse.wst.server.ui.internal.task.SaveRuntimeTask;
-import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment;
-import org.eclipse.wst.server.ui.wizard.*;
-
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Server UI utility methods.
- */
-public class ServerUIUtil {
-	/**
-	 * ServerUIUtil constructor comment.
-	 */
-	private ServerUIUtil() {
-		super();
-	}
-
-	/**
-	 * Open the passed server resources in the server editor.
-	 *
-	 * @param resource org.eclipse.core.resources.IServerResource
-	 */
-	public static void editServer(IServer server, IServerConfiguration configuration) {
-		if (server == null && configuration == null)
-			return;
-
-		String serverId = null;
-		if (server != null)
-			serverId = server.getId();
-		String configurationId = null;
-		if (configuration != null)
-			configurationId = configuration.getId();
-		editServer(serverId, configurationId);
-	}
-
-	/**
-	 * Open the passed resources in the server editor.
-	 *
-	 * @param resource org.eclipse.core.resources.IServerResource
-	 */
-	public static void editServer(String serverId, String configurationId) {
-		if (serverId == null && configurationId == null)
-			return;
-
-		IWorkbenchWindow workbenchWindow = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-
-		try {
-			IServerEditorInput input = new ServerEditorInput(serverId, configurationId);
-			page.openEditor(input, IServerEditorInput.EDITOR_ID);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error opening server editor", e);
-		}
-	}
-	
-	/**
-	 * Publish with the given server control, and display
-	 * the publishing in a dialog. If keepOpen is true, the publish
-	 * dialog will remain open after publishing. If false, it will
-	 * only remain open if there was an error, info, or warning
-	 * message.
-	 *
-	 * @param control org.eclipse.wst.server.core.IServerControl
-	 * @param keepOpen boolean
-	 * @return IStatus
-	 */
-	public static IStatus publishWithDialog(IServer server, boolean keepOpen) {
-		Shell shell = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		return PublishDialog.publish(shell, server, keepOpen);
-	}
-
-	/**
-	 * Publish with the given server control, and display
-	 * the publishing in a dialog. If keepOpen is true, the publish
-	 * dialog will remain open after publishing. If false, it will
-	 * only remain open if there was an error, info, or warning
-	 * message.
-	 *
-	 * @param control org.eclipse.wst.server.core.IServerControl
-	 * @param keepOpen boolean
-	 * @return IStatus
-	 */
-	public static IStatus publishWithDialog(Shell shell, IServer server, boolean keepOpen) {
-		return PublishDialog.publish(shell, server, keepOpen);
-	}
-
-	/**
-	 * Prompts the user if the server is dirty. Returns true if the server was
-	 * not dirty or if the user decided to continue anyway. Returns false if
-	 * the server is dirty and the user chose to cancel the operation.
-	 *
-	 * @return boolean
-	 */
-	public static boolean promptIfDirty(Shell shell, IServer server) {
-		if (server == null)
-			return false;
-
-		String title = ServerUIPlugin.getResource("%resourceDirtyDialogTitle");
-		
-		if (server != null && server.isAWorkingCopyDirty()) {
-			String message = ServerUIPlugin.getResource("%resourceDirtyDialogMessage", server.getName());
-			String[] labels = new String[] {ServerUIPlugin.getResource("%resourceDirtyDialogContinue"), IDialogConstants.CANCEL_LABEL};
-			MessageDialog dialog = new MessageDialog(shell, title, null, message, MessageDialog.INFORMATION, labels, 0);
-	
-			if (dialog.open() != 0)
-				return false;
-		}
-	
-		IServerConfiguration config = server.getServerConfiguration();
-		if (config != null)
-			return promptIfDirty(shell, config);
-		return true;
-	}
-
-	/**
-	 * Prompts the user if the server configuration is dirty. Returns true if the server was
-	 * not dirty or if the user decided to continue anyway. Returns false if
-	 * the server is dirty and the user chose to cancel the operation.
-	 *
-	 * @return boolean
-	 */
-	public static boolean promptIfDirty(Shell shell, IServerConfiguration configuration) {
-		if (configuration == null)
-			return false;
-
-		String title = ServerUIPlugin.getResource("%resourceDirtyDialogTitle");
-
-		if (configuration != null && configuration.isAWorkingCopyDirty()) {
-			String message = ServerUIPlugin.getResource("%resourceDirtyDialogMessage", configuration.getName());
-			String[] labels = new String[] {ServerUIPlugin.getResource("%resourceDirtyDialogContinue"), IDialogConstants.CANCEL_LABEL};
-			MessageDialog dialog = new MessageDialog(shell, title, null, message, MessageDialog.INFORMATION, labels, 0);
-
-			if (dialog.open() != 0)
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Use the preference to prompt the user to save dirty editors, if applicable.
-	 * 
-	 * @return boolean  - Returns false if the user cancelled the operation
-	 */
-	public static boolean saveEditors() {
-		byte b = ServerUICore.getPreferences().getSaveEditors();
-		if (b == IServerUIPreferences.SAVE_EDITORS_NEVER)
-			return true;
-		return ServerUIPlugin.getInstance().getWorkbench().saveAllEditors(b == IServerUIPreferences.SAVE_EDITORS_PROMPT);			
-	}
-
-	/**
-	 * Publishes to the given server, if the preference is set and publishing was required.
-	 * 
-	 * @return boolean - Returns false if the user cancelled the operation.
-	 */
-	public static boolean publish(IServer server) {
-		if (ServerCore.getServerPreferences().isAutoPublishing() && server.shouldPublish()) {
-			// publish first
-			IStatus status = publishWithDialog(server, false);
-
-			if (status == null || status.getSeverity() == IStatus.ERROR) // user cancelled
-				return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * @deprecated - use showNewRuntimeWizard
-	 */
-	public static boolean showRuntimePreferencePage(Shell shell) {
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.wst.server.ui.preferencePage").findSubNode("org.eclipse.wst.server.ui.runtime.preferencePage");
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		final PreferenceDialog dialog = new PreferenceDialog(shell, manager2);
-		final boolean[] result = new boolean[] { false };
-		BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				if (dialog.open() == Window.OK)
-					result[0] = true;
-			}
-		});
-		return result[0];
-	}
-
-	public static boolean showNewRuntimeWizard(Shell shell) {
-		return showNewRuntimeWizard(shell, null, null);
-	}
-	
-	public static boolean showNewRuntimeWizard(Shell shell, final String runtimeTypeId) {
-		IRuntimeType runtimeType = ServerCore.getRuntimeType(runtimeTypeId);
-		if (runtimeType != null) {
-			try {
-				final IRuntimeWorkingCopy runtime = runtimeType.createRuntime(null);
-				IWizardFragment fragment = new WizardFragment() {
-					public void createSubFragments(List list) {
-						list.add(new InputWizardFragment(ITaskModel.TASK_RUNTIME, runtime));
-						list.add(ServerUICore.getWizardFragment(runtimeTypeId));
-						list.add(new FinishWizardFragment(new SaveRuntimeTask()));
-					}
-				};
-				TaskWizard wizard = new TaskWizard(ServerUIPlugin.getResource("%wizNewRuntimeWizardTitle"), fragment);
-				wizard.setForcePreviousAndNextButtons(true);
-				ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard);
-				return (dialog.open() == IDialogConstants.OK_ID);
-			} catch (Exception e) {
-				return false;
-			}
-		}
-		return showNewRuntimeWizard(shell, null, null, runtimeTypeId);
-	}
-
-	public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version) {
-		return showNewRuntimeWizard(shell, type, version, null);
-	}
-
-	public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version, final String runtimeTypeId) {
-		IWizardFragment fragment = new WizardFragment() {
-			public void createSubFragments(List list) {
-				list.add(new NewRuntimeWizardFragment(type, version, runtimeTypeId));
-				list.add(new FinishWizardFragment(new SaveRuntimeTask()));
-			}
-		};
-		TaskWizard wizard = new TaskWizard(ServerUIPlugin.getResource("%wizNewRuntimeWizardTitle"), fragment);
-		wizard.setForcePreviousAndNextButtons(true);
-		ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard);
-		return (dialog.open() == IDialogConstants.OK_ID);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/DebugOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/DebugOnServerAction.java
deleted file mode 100644
index 91054d2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/DebugOnServerAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.actions.DebugOnServerActionDelegate;
-/**
- * "Debug on Server" menu action. Allows the user to select an
- * object, and have automatic server creation, launching, and
- * the appropriate client to appear. A new instance of this
- * action must be created for each object that the user selects.
- */
-public class DebugOnServerAction extends Action {
-	protected DebugOnServerActionDelegate delegate;
-
-	/**
-	 * DebugOnServerAction constructor comment.
-	 */
-	public DebugOnServerAction(Object object) {
-		super(ServerUIPlugin.getResource("%actionDebugOnServer"));
-	
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_DEBUG_ON_SERVER));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_DEBUG_ON_SERVER));
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_DEBUG_ON_SERVER));
-	
-		delegate = new DebugOnServerActionDelegate();
-		if (object != null) {
-			StructuredSelection sel = new StructuredSelection(object);
-			delegate.selectionChanged(this, sel);
-		} else
-			delegate.selectionChanged(this, null);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/IServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/IServerAction.java
deleted file mode 100644
index ac3e1dd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/IServerAction.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- * 
- */
-public interface IServerAction {
-	/**
-	 * Performs this action.
-	 * 
-	 */
-	public void run(Shell shell, IServer server, IServerConfiguration configuration);
-
-	/**
-	 * 
-	 */
-	public boolean supports(IServer server, IServerConfiguration configuration);
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/LaunchWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/LaunchWizardAction.java
deleted file mode 100644
index 622d160..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/LaunchWizardAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.ui.PlatformUI;
-/**
- * An abstract action that opens up a workbench wizard when run.
- */
-abstract class LaunchWizardAction extends Action {
-	/**
-	 * NewServerAction constructor comment.
-	 */
-	public LaunchWizardAction() {
-		super();
-	}
-
-	/**
-	 * Return the wizard that should be opened.
-	 *
-	 * @return org.eclipse.ui.IWorkbenchWizard
-	 */
-	public abstract IWorkbenchWizard getWizard();
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-		ISelection selection = workbenchWindow.getSelectionService().getSelection();
-	
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-	
-		IWorkbenchWizard wizard = getWizard();
-		wizard.init(workbench, selectionToPass);
-		WizardDialog dialog = new WizardDialog(workbench.getActiveWorkbenchWindow().getShell(), wizard);
-		dialog.open();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerAction.java
deleted file mode 100644
index 89118e8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.NewServerWizard;
-/**
- * An action to invoke the new server and server configuration wizard.
- */
-public class NewServerAction extends LaunchWizardAction {
-	protected String[] ids;
-	protected String[] values;
-
-	/**
-	 * NewServerAction constructor comment.
-	 */
-	public NewServerAction() {
-		super();
-	
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_NEW_SERVER));
-		setText(ServerUIPlugin.getResource("%actionSetNewServer"));
-	}
-
-	public NewServerAction(String[] ids, String[] values) {
-		this();
-		this.ids = ids;
-		this.values = values;
-	}
-
-	/**
-	 * Return the wizard that should be opened.
-	 *
-	 * @return org.eclipse.ui.IWorkbenchWizard
-	 */
-	public IWorkbenchWizard getWizard() {
-		return new NewServerWizard(ids, values);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerProjectAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerProjectAction.java
deleted file mode 100644
index 7acbdea..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerProjectAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.wst.server.ui.internal.wizard.NewServerProjectWizard;
-import org.eclipse.ui.IWorkbenchWizard;
-/**
- * An action to invoke the new server project wizard.
- */
-public class NewServerProjectAction extends LaunchWizardAction {
-	/**
-	 * NewServerProjectAction constructor comment.
-	 */
-	public NewServerProjectAction() {
-		super();
-	}
-
-	/**
-	 * Return the wizard that should be opened.
-	 *
-	 * @return org.eclipse.ui.IWorkbenchWizard
-	 */
-	public IWorkbenchWizard getWizard() {
-		return new NewServerProjectWizard();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/ProfileOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/ProfileOnServerAction.java
deleted file mode 100644
index 8374ad4..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/ProfileOnServerAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.actions.ProfileOnServerActionDelegate;
-/**
- * "Profile on Server" menu action. Allows the user to select an
- * object, and have automatic server creation, launching, and
- * the appropriate client to appear. A new instance of this
- * action must be created for each object that the user selects.
- */
-public class ProfileOnServerAction extends Action {
-	protected ProfileOnServerActionDelegate delegate;
-
-	/**
-	 * ProfileOnServerAction constructor comment.
-	 */
-	public ProfileOnServerAction(Object object) {
-		super(ServerUIPlugin.getResource("%actionProfileOnServer"));
-	
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_PROFILE_ON_SERVER));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_PROFILE_ON_SERVER));
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_PROFILE_ON_SERVER));
-	
-		delegate = new ProfileOnServerActionDelegate();
-		if (object != null) {
-			StructuredSelection sel = new StructuredSelection(object);
-			delegate.selectionChanged(this, sel);
-		} else
-			delegate.selectionChanged(this, null);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RestartProjectAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RestartProjectAction.java
deleted file mode 100644
index 97cde55..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RestartProjectAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.actions.RestartProjectActionDelegate;
-/**
- * Action to restart an individual project on servers that
- * support it.
- */
-public class RestartProjectAction extends Action {
-	protected RestartProjectActionDelegate delegate;
-
-	/**
-	 * RestartProjectAction constructor comment.
-	 */
-	public RestartProjectAction(IProject project) {
-		super(ServerUIPlugin.getResource("%actionRestartProject"));
-	
-		delegate = new RestartProjectActionDelegate();
-		StructuredSelection sel = new StructuredSelection(project);
-		delegate.selectionChanged(this, sel);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java
deleted file mode 100644
index 1107cc5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.server.ui.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-/**
- * "Run on Server" menu action. Allows the user to select an
- * object, and have automatic server creation, launching, and
- * the appropriate client to appear. A new instance of this
- * action must be created for each object that the user selects.
- */
-public class RunOnServerAction extends Action {
-	protected RunOnServerActionDelegate delegate;
-
-	/**
-	 * RunOnServerAction constructor comment.
-	 */
-	public RunOnServerAction(Object object) {
-		super(ServerUIPlugin.getResource("%actionRunOnServer"));
-	
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_RUN_ON_SERVER));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_RUN_ON_SERVER));
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_RUN_ON_SERVER));
-	
-		delegate = new RunOnServerActionDelegate();
-		if (object != null) {
-			StructuredSelection sel = new StructuredSelection(object);
-			delegate.selectionChanged(this, sel);
-		} else
-			delegate.selectionChanged(this, null);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ICommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ICommandManager.java
deleted file mode 100644
index 47c07ae..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ICommandManager.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-package org.eclipse.wst.server.ui.editor;
-
-import org.eclipse.wst.server.core.ITask;
-/**
- * A command manager.
- */
-public interface ICommandManager {
-	/**
-	 * Execute the given command and place it in the undo stack.
-	 * If the command cannot be undone, the user will be notifed
-	 * before it is executed.
-	 *
-	 * @param command ICommand
-	 */
-	public void executeCommand(ITask task);
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorActionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorActionFactory.java
deleted file mode 100644
index b949579..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorActionFactory.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IEditorSite;
-
-import org.eclipse.wst.server.core.IOrdered;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- *
- */
-public interface IServerEditorActionFactory extends IOrdered {
-	/**
-	 * 
-	 */
-	public String getId();
-
-	/**
-	 * 
-	 */
-	public String getName();
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the getFactoryIds() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsServerElementType(String id);
-
-	/**
-	 * Returns true if this editor page should be visible with the given
-	 * server and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the server or configuration is being opened by itself, the
-	 * other value (server or configuration) will be null.
-	 */
-	public boolean shouldDisplay(IServer server, IServerConfiguration configuration);
-
-	/**
-	 * Create the action.
-	 */
-	public IAction createAction(IEditorSite site, IServerEditorPartInput input);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorActionFactoryDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorActionFactoryDelegate.java
deleted file mode 100644
index 2d30e99..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorActionFactoryDelegate.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IEditorSite;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- *
- */
-public interface IServerEditorActionFactoryDelegate {
-	/**
-	 * Returns true if this editor action should be visible with the given
-	 * server and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the server or configuration is being opened by itself, the
-	 * other value (server or configuration) will be null.
-	 */
-	public boolean shouldDisplay(IServer server, IServerConfiguration configuration);
-
-	/**
-	 * Create the action.
-	 */
-	public IAction createAction(IEditorSite site, IServerEditorPartInput input);
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorInput.java
deleted file mode 100644
index 6534bc2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorInput.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.ui.IEditorInput;
-/**
- * This is the editor input for the server and server
- * configuration editor. The input includes both a server
- * and server configuration.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerEditorInput extends IEditorInput {
-	public static final String EDITOR_ID = ServerUICore.PLUGIN_ID + ".editor";
-
-	/**
-	 * Returns the server id.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getServerId();
-
-	/**
-	 * Returns the server configuration id.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getServerConfigurationId();
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPageSectionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPageSectionFactory.java
deleted file mode 100644
index f455dc8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPageSectionFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IOrdered;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- *
- */
-public interface IServerEditorPageSectionFactory extends IOrdered {
-	/**
-	 * 
-	 */
-	public String getId();
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the types attribute.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id);
-	
-	public String getInsertionId();
-	
-	/**
-	 * Returns true if this editor page section should be visible with the given
-	 * server and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the server or configuration is being opened by itself, the
-	 * other value (server or configuration) will be null.
-	 */
-	public boolean shouldCreateSection(IServer server, IServerConfiguration configuration);
-
-	/**
-	 * Create the editor page section.
-	 */
-	public IServerEditorSection createSection();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPageSectionFactoryDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPageSectionFactoryDelegate.java
deleted file mode 100644
index 8c1ad23..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPageSectionFactoryDelegate.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- *
- */
-public interface IServerEditorPageSectionFactoryDelegate {
-	/**
-	 * Returns true if this editor page section should be visible with the given
-	 * server and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the server or configuration is being opened by itself, the
-	 * other value (server or configuration) will be null.
-	 */
-	public boolean shouldCreateSection(IServer server, IServerConfiguration configuration);
-
-	/**
-	 * Create the editor page section.
-	 */
-	public IServerEditorSection createSection();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartFactory.java
deleted file mode 100644
index 9a7026e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.wst.server.core.IOrdered;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- *
- */
-public interface IServerEditorPartFactory extends IOrdered {
-	/**
-	 * 
-	 */
-	public String getId();
-	
-	/**
-	 * 
-	 */
-	public String getName();
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the types attribute.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id);
-	
-	public boolean supportsInsertionId(String id);
-	
-	/**
-	 * Returns true if this editor page should be visible with the given
-	 * server and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the server or configuration is being opened by itself, the
-	 * other value (server or configuration) will be null.
-	 */
-	public boolean shouldCreatePage(IServer server, IServerConfiguration configuration);
-
-	/**
-	 * Create the editor page.
-	 */
-	public IEditorPart createPage();
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartFactoryDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartFactoryDelegate.java
deleted file mode 100644
index 6ef01af..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartFactoryDelegate.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-/**
- *
- */
-public interface IServerEditorPartFactoryDelegate {
-	/**
-	 * Returns true if this editor page should be visible with the given
-	 * server and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the server or configuration is being opened by itself, the
-	 * other value (server or configuration) will be null.
-	 */
-	public boolean shouldCreatePage(IServer server, IServerConfiguration configuration);
-
-	/**
-	 * Create the editor page.
-	 */
-	public IEditorPart createPage();
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java
deleted file mode 100644
index 913f66b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.ui.IEditorInput;
-
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- *
- */
-public interface IServerEditorPartInput extends IEditorInput {
-	/**
-	 * Returns the server to be edited.
-	 *
-	 * @return IServerWorkingCopy
-	 */
-	public IServerWorkingCopy getServer();
-
-	/**
-	 * Returns true if the server is read-only.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isServerReadOnly();
-	
-	/**
-	 * Gets the command manager. The editor is only responsible for creating an
-	 * ICommand and passing it to the command manager, which actually performs
-	 * the action and updates the server.
-	 *
-	 * @param commandManager ICommandManager
-	 */
-	public ICommandManager getServerCommandManager();
-
-	/**
-	 * Returns the server configuration to be edited.
-	 * 
-	 * @return IServerConfigurationWorkingCopy
-	 */
-	public IServerConfigurationWorkingCopy getServerConfiguration();
-
-	/**
-	 * Returns true if the server configuration is read-only.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isServerConfigurationReadOnly();
-	
-	/**
-	 * Gets the command manager. The editor is only responsible for creating an
-	 * ICommand and passing it to the command manager, which actually performs
-	 * the action and updates the server configuration.
-	 *
-	 * @param commandManager ICommandManager
-	 */
-	public ICommandManager getServerConfigurationCommandManager();
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorSection.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorSection.java
deleted file mode 100644
index 65efdfd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorSection.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-/**
- * 
- */
-public interface IServerEditorSection {
-	public void init(IEditorSite site, IEditorInput input);
-	
-	public void createSection(Composite parent);
-	
-	public void dispose();
-	
-	/**
-	 * Return the error message for this page.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getErrorMessage();
-
-	/**
-	 * Returns error or status messages that will be displayed when the
-	 * server resource is saved. If there are any error messages, the
-	 * user will be unable to save the editor.
-	 * 
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus[] getSaveStatus();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPartInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPartInput.java
deleted file mode 100644
index cbd53ce..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPartInput.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. US Government Users
- * Restricted Rights - Use, duplication or disclosure restricted by GSA ADP
- * Schedule Contract with IBM Corp.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IPersistableElement;
-
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-
-/**
- * 
- */
-public class ServerEditorPartInput implements IServerEditorPartInput {
-	protected IServerWorkingCopy server;
-	protected boolean serverReadOnly;
-	protected ICommandManager serverCommandManager;
-	
-	protected IServerConfigurationWorkingCopy configuration;
-	protected boolean configurationReadOnly;
-	protected ICommandManager configurationCommandManager;
-	
-	public ServerEditorPartInput(
-			ICommandManager serverCommandManager, IServerWorkingCopy server,  boolean serverReadOnly,
-			ICommandManager configurationCommandManager, IServerConfigurationWorkingCopy configuration,  boolean configurationReadOnly) {
-		
-		this.server = server;
-		this.serverReadOnly = serverReadOnly;
-		this.serverCommandManager = serverCommandManager;
-		
-		this.configuration = configuration;
-		this.configurationReadOnly = configurationReadOnly;
-		this.configurationCommandManager = configurationCommandManager;
-	}
-	
-	public String getName() {
-		return "-";
-	}
-
-	public String getToolTipText() {
-		return "-";
-	}
-
-	public boolean exists() {
-		return true;
-	}
-	
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-	
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-	
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/**
-	 * Returns the server to be edited.
-	 *
-	 * @return IServerResource
-	 */
-	public IServerWorkingCopy getServer() {
-		return server;
-	}
-
-	/**
-	 * Returns true if the server is read-only.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isServerReadOnly() {
-		return serverReadOnly;
-	}
-	
-	public ICommandManager getServerCommandManager() {
-		return serverCommandManager;
-	}
-
-	/**
-	 * Returns the server configuration to be edited.
-	 * 
-	 * @return IServerConfiguration
-	 */
-	public IServerConfigurationWorkingCopy getServerConfiguration() {
-		return configuration;
-	}
-
-	/**
-	 * Returns true if the server configuration is read-only.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isServerConfigurationReadOnly() {
-		return configurationReadOnly;
-	}
-	
-	public ICommandManager getServerConfigurationCommandManager() {
-		return configurationCommandManager;
-	}
-	
-	public String toString() {
-		return "ServerEditorPartInput [" + server + ", " + configuration + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerResourceEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerResourceEditorPart.java
deleted file mode 100644
index 560c21a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerResourceEditorPart.java
+++ /dev/null
@@ -1,250 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.*;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.editor.ServerEditorCore;
-/**
- * An abstract server editor which implements the most common methods
- * from IEditorPart.
- * 
- * This class also provides each editor page with an error message which
- * will be displayed on the status bar of the editor.
- */
-public abstract class ServerResourceEditorPart extends EditorPart {
-	public static final int PROP_ERROR = 5;
-	
-	private String errorMessage = null;
-	
-	private Map sectionToInsertionId = null;
-	private List sections = null;
-	
-	protected IServerEditorPartFactory pageFactory;
-	protected IServerWorkingCopy server;
-	protected IServerConfigurationWorkingCopy serverConfiguration;
-	protected ICommandManager commandManager;
-	protected boolean readOnly;
-	
-	private FormToolkit toolkit;
-
-	public ServerResourceEditorPart() {
-		super();
-	}
-
-	public void setPageFactory(IServerEditorPartFactory pageFactory) {
-		this.pageFactory = pageFactory;
-	}
-
-	/**
-	 * @see IEditorPart#doSave(IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) { }
-
-	/**
-	 * @see IEditorPart#doSaveAs()
-	 */
-	public void doSaveAs() { }
-
-	/**
-	 * @see IEditorPart#gotoMarker(IMarker)
-	 */
-	public void gotoMarker(IMarker marker) { }
-
-	/**
-	 * @see IEditorPart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-	/**
-	 * @see IEditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * Set an error message for this page.
-	 * 
-	 * @param error java.lang.String
-	 */
-	public void setErrorMessage(String error) {
-		if (error == null && errorMessage == null)
-			return;
-		
-		if (error != null && error.equals(errorMessage))
-			return;
-		
-		errorMessage = error;
-		super.firePropertyChange(PROP_ERROR);
-	}
-	
-	public void updateErrorMessage() {
-		super.firePropertyChange(PROP_ERROR);
-	}
-
-	/**
-	 * Return the error message for this page.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getErrorMessage() {
-		if (errorMessage == null) {
-			Iterator iterator = getSections().iterator();
-			while (iterator.hasNext()) {
-				IServerEditorSection section = (IServerEditorSection) iterator.next();
-				String error = section.getErrorMessage();
-				if (error != null)
-					return error;
-			}
-		}
-		return errorMessage;
-	}
-
-	/**
-	 * Returns error or status messages that will be displayed when the
-	 * server resource is saved. If there are any error messages, the
-	 * user will be unable to save the editor.
-	 * 
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus[] getSaveStatus() {
-		Iterator iterator = getSections().iterator();
-		List list = new ArrayList();
-		while (iterator.hasNext()) {
-			IServerEditorSection section = (IServerEditorSection) iterator.next();
-			IStatus[] status = section.getSaveStatus();
-			if (status != null) {
-				int size = status.length;
-				for (int i = 0; i < size; i++)
-					list.add(status[i]);
-			}
-		}
-		
-		int size = list.size();
-		IStatus[] status = new IStatus[size];
-		list.toArray(status);
-		return status;
-	}
-
-	protected List getSections() {
-		if (sections == null) {
-			sections = new ArrayList();
-			sectionToInsertionId = new HashMap();
-			Iterator iterator = ServerEditorCore.getServerEditorPageSectionFactories().iterator();
-			while (iterator.hasNext()) {
-				IServerEditorPageSectionFactory factory = (IServerEditorPageSectionFactory) iterator.next();
-				String insertionId = factory.getInsertionId();
-				
-				if (pageFactory.supportsInsertionId(insertionId)) {
-					String serverTypeId = null;
-					if (server != null) 
-						serverTypeId = server.getServerType().getId();
-					String serverConfigurationTypeId = null;
-					if (serverConfiguration != null) 
-						serverConfigurationTypeId = serverConfiguration.getServerConfigurationType().getId();
-					if (((serverTypeId != null && factory.supportsType(serverTypeId)) || 
-							(serverConfigurationTypeId != null && factory.supportsType(serverConfigurationTypeId)))
-							&& factory.shouldCreateSection(server, serverConfiguration)) {
-						IServerEditorSection section = factory.createSection();
-						if (section instanceof ServerResourceEditorSection)
-							((ServerResourceEditorSection) section).setServerResourceEditorPart(this);
-						sections.add(section);
-						sectionToInsertionId.put(section, insertionId);
-					}
-				}
-			}
-		}
-		return sections;
-	}
-	
-	protected List getSections(String insertionId) {
-		if (insertionId == null)
-			return null;
-		
-		getSections();
-		List list = new ArrayList();
-		Iterator iterator = sectionToInsertionId.keySet().iterator();
-		while (iterator.hasNext()) {
-			IServerEditorSection section = (IServerEditorSection) iterator.next();
-			String insertionId2 = (String) sectionToInsertionId.get(section);
-			if (insertionId.equals(insertionId2))
-				list.add(section);
-		}
-		return list;
-	}
-
-	public void init(IEditorSite site, IEditorInput input) {
-		setSite(site);
-		setInput(input);
-		if (input instanceof IServerEditorPartInput) {
-			IServerEditorPartInput sepi = (IServerEditorPartInput) input;
-			server = sepi.getServer();
-			serverConfiguration = sepi.getServerConfiguration();
-			commandManager = sepi.getServerCommandManager();
-			readOnly = sepi.isServerReadOnly();
-		}
-		
-		Iterator iterator = getSections().iterator();
-		while (iterator.hasNext()) {
-			IServerEditorSection section = (IServerEditorSection) iterator.next();
-			section.init(site, input);
-		}
-	}
-
-	public void insertSections(Composite parent, String id) {
-		if (id == null)
-			return;
-		
-		Iterator iterator = getSections(id).iterator();
-		while (iterator.hasNext()) {
-			IServerEditorSection section = (IServerEditorSection) iterator.next();
-			section.createSection(parent);
-		}
-	}
-	
-	public void dispose() {
-		super.dispose();
-
-		Iterator iterator = getSections().iterator();
-		while (iterator.hasNext()) {
-			IServerEditorSection section = (IServerEditorSection) iterator.next();
-			section.dispose();
-		}
-		
-		if (toolkit != null)
-			toolkit.dispose();
-	}
-
-	/**
-	 * Get a form toolkit to create widgets. It will automatically be disposed
-	 * when the editor is disposed.
-	 * 
-	 * @param display
-	 * @return FormToolkit
-	 */
-	public FormToolkit getFormToolkit(Display display) {
-		if (toolkit == null)
-			toolkit = new FormToolkit(display);
-		return toolkit;
-	}}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerResourceEditorSection.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerResourceEditorSection.java
deleted file mode 100644
index 7dc8fb3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerResourceEditorSection.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.wst.server.ui.editor;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * 
- */
-public abstract class ServerResourceEditorSection implements IServerEditorSection {
-	private String errorMessage = null;
-
-	public IServerWorkingCopy server;
-	public IServerConfigurationWorkingCopy serverConfiguration;
-	public ICommandManager commandManager;
-	protected boolean readOnly;
-	protected Composite parentComp;
-	protected ServerResourceEditorPart editor;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.editor.IServerEditorSection#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		if (input instanceof IServerEditorPartInput) {
-			IServerEditorPartInput sepi = (IServerEditorPartInput) input;
-			server = sepi.getServer();
-			serverConfiguration = sepi.getServerConfiguration();
-			commandManager = sepi.getServerCommandManager();
-			readOnly = sepi.isServerReadOnly();
-		}
-	}
-
-	public void createSection(Composite parent) {
-		this.parentComp = parent;
-	}
-
-	public Shell getShell() {
-		return parentComp.getShell();
-	}
-	
-	/**
-	 * Return the error message for this page.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getErrorMessage() {
-		return errorMessage;
-	}
-
-	/**
-	 * Returns error or status messages that will be displayed when the
-	 * server resource is saved. If there are any error messages, the
-	 * user will be unable to save the editor.
-	 * 
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public IStatus[] getSaveStatus() {
-		return null;
-	}
-	
-	public void setServerResourceEditorPart(ServerResourceEditorPart editor) {
-		this.editor = editor;
-	}
-
-	/**
-	 * Set an error message for this page.
-	 * 
-	 * @param error java.lang.String
-	 */
-	public void setErrorMessage(String error) {
-		if (error == null && errorMessage == null)
-			return;
-		
-		if (error != null && error.equals(errorMessage))
-			return;
-		
-		errorMessage = error;
-		if (editor != null)
-			editor.updateErrorMessage();
-	}
-
-	/**
-	 * Get a form toolkit to create widgets. It will automatically be disposed
-	 * when the editor is disposed.
-	 * 
-	 * @param display
-	 * @return FormToolkit
-	 */
-	public FormToolkit getFormToolkit(Display display) {
-		return editor.getFormToolkit(display);
-	}}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java
deleted file mode 100644
index 84660a2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.ui.ServerUICore;
-/**
- * Context help id constants.
- */
-public interface ContextIds {
-	public static final String SELECT_SERVER_WIZARD = ServerUICore.PLUGIN_ID + ".swsi0000";
-	public static final String SELECT_SERVER_EXISTING = ServerUICore.PLUGIN_ID + ".swsi0002";
-	public static final String SELECT_SERVER_EXISTING_TABLE = ServerUICore.PLUGIN_ID + ".swsi0004";
-	public static final String SELECT_SERVER_CREATE = ServerUICore.PLUGIN_ID + ".swsi0010";
-	public static final String SELECT_SERVER_CREATE_TABLE = ServerUICore.PLUGIN_ID + ".swsi0012";
-	public static final String SELECT_SERVER_PREFERENCE = ServerUICore.PLUGIN_ID + ".swsi0014";
-
-	public static final String SELECT_CLIENT_WIZARD = ServerUICore.PLUGIN_ID + ".swsc0000";
-	public static final String SELECT_CLIENT = ServerUICore.PLUGIN_ID + ".swsc0002";
-
-	public static final String NEW_INSTANCE_WIZARD = ServerUICore.PLUGIN_ID + ".swni0000";
-	public static final String NEW_INSTANCE_NAME = ServerUICore.PLUGIN_ID + ".swni0002";
-	public static final String NEW_INSTANCE_FOLDER = ServerUICore.PLUGIN_ID + ".swni0004";
-	public static final String NEW_INSTANCE_FACTORY = ServerUICore.PLUGIN_ID + ".swni0006";
-	
-	public static final String NEW_CONFIGURATION_WIZARD = ServerUICore.PLUGIN_ID + ".swnc0000";
-	public static final String NEW_CONFIGURATION_NAME = ServerUICore.PLUGIN_ID + ".swnc0002";
-	public static final String NEW_CONFIGURATION_FOLDER = ServerUICore.PLUGIN_ID + ".swnc0004";
-	public static final String NEW_CONFIGURATION_FACTORY = ServerUICore.PLUGIN_ID + ".swnc0006";
-	
-	public static final String NEW_SERVER_WIZARD = ServerUICore.PLUGIN_ID + ".swns0000";
-	public static final String NEW_SERVER_NAME = ServerUICore.PLUGIN_ID + ".swns0002";
-	public static final String NEW_SERVER_FOLDER = ServerUICore.PLUGIN_ID + ".swns0004";
-	public static final String NEW_SERVER_INSTANCE_FACTORY = ServerUICore.PLUGIN_ID + ".swns0006";
-	
-	public static final String LAUNCH_CONFIGURATION_SERVER_COMBO = ServerUICore.PLUGIN_ID + ".swsl0000";
-	
-	public static final String SELECT_TASK_WIZARD = ServerUICore.PLUGIN_ID + ".sstw0000";
-
-	public static final String IMPORT_CONFIGURATION_WIZARD = ServerUICore.PLUGIN_ID + ".swic0000";
-	public static final String IMPORT_CONFIGURATION_NAME = ServerUICore.PLUGIN_ID + ".swic0002";
-	public static final String IMPORT_CONFIGURATION_FOLDER = ServerUICore.PLUGIN_ID + ".swic0004";
-	public static final String IMPORT_CONFIGURATION_FACTORY = ServerUICore.PLUGIN_ID + ".swic0006";
-	public static final String IMPORT_CONFIGURATION_LOCATION = ServerUICore.PLUGIN_ID + ".swic0008";
-	public static final String IMPORT_CONFIGURATION_LOCATION_BROWSE = ServerUICore.PLUGIN_ID + ".swic0010";
-	
-	public static final String MODIFY_MODULES_COMPOSITE = ServerUICore.PLUGIN_ID + ".swmm0000";
-
-	public static final String NEW_SERVER_PROJECT_DIALOG = ServerUICore.PLUGIN_ID + ".sdnp0000";
-
-	public static final String TERMINATE_SERVER_DIALOG = ServerUICore.PLUGIN_ID + ".sdti0000";
-
-	public static final String PREF_GENERAL = ServerUICore.PLUGIN_ID + ".spge0000";
-	public static final String PREF_GENERAL_SHOW_PUBLISHING_DETAILS = ServerUICore.PLUGIN_ID + ".spge0010";
-	public static final String PREF_GENERAL_PUBLISH_BEFORE_START = ServerUICore.PLUGIN_ID + ".spge0012";
-	public static final String PREF_GENERAL_AUTO_RESTART = ServerUICore.PLUGIN_ID + ".spge0014";
-	public static final String PREF_GENERAL_PUBLISHER = ServerUICore.PLUGIN_ID + ".spge0015";
-	public static final String PREF_GENERAL_REPAIR = ServerUICore.PLUGIN_ID + ".spge0018";
-	public static final String PREF_GENERAL_PROMPT_IRREVERSIBLE = ServerUICore.PLUGIN_ID + ".spge0020";
-	public static final String PREF_GENERAL_CREATE_IN_WORKSPACE = ServerUICore.PLUGIN_ID + ".spge0022";
-	public static final String PREF_GENERAL_SAVE_EDITORS = ServerUICore.PLUGIN_ID + ".spge0024";
-
-	public static final String VIEW_CONFIG = ServerUICore.PLUGIN_ID + ".svcf0000";
-
-	public static final String VIEW_CONTROL = ServerUICore.PLUGIN_ID + ".svcp0000";
-
-	public static final String PUBLISH_DETAILS_DIALOG = ServerUICore.PLUGIN_ID + ".sdpd0000";
-	public static final String PUBLISH_DETAILS_DIALOG_STATUS = ServerUICore.PLUGIN_ID + ".sdpd0002";
-	public static final String PUBLISH_DETAILS_DIALOG_DETAILS_BUTTON = ServerUICore.PLUGIN_ID + ".sdpd0004";
-	public static final String PUBLISH_DETAILS_DIALOG_DETAILS = ServerUICore.PLUGIN_ID + ".sdpd0006";
-
-	public static final String PUBLISHER_DIALOG = ServerUICore.PLUGIN_ID + ".sdpr0000";
-	public static final String PUBLISHER_DIALOG_TREE = ServerUICore.PLUGIN_ID + ".sdpr0002";
-	public static final String PUBLISHER_DIALOG_SELECT_ALL = ServerUICore.PLUGIN_ID + ".sdpr0004";
-	public static final String PUBLISHER_DIALOG_DESELECT_ALL = ServerUICore.PLUGIN_ID + ".sdpr0006";
-	public static final String PUBLISHER_DIALOG_FILTER = ServerUICore.PLUGIN_ID + ".sdpr0008";
-	public static final String PUBLISHER_DIALOG_FILTER_DIALOG = ServerUICore.PLUGIN_ID + ".sdpr0010";
-	
-	public static final String PROMPT_IRREVERSIBLE_DIALOG = ServerUICore.PLUGIN_ID + ".sdpi0000";
-	
-	public static final String EDITOR_OVERVIEW_PAGE = ServerUICore.PLUGIN_ID + ".seop0000";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java
deleted file mode 100644
index bdad3ef..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-/**
- * A OverlayImageDescriptor consists of a main icon and one or more overlays.
- * The overlays are computed according to flags set on creation of the descriptor.
- */
-public class DefaultServerImageDescriptor extends CompositeImageDescriptor {
-	private Image fBaseImage;
-	private Point fSize;
-	
-	/**
-	 * Create a new OverlayImageDescriptor.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 */
-	public DefaultServerImageDescriptor(Image baseImage) {
-		setBaseImage(baseImage);
-	}
-
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data = getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof DefaultServerImageDescriptor))
-			return false;
-			
-		DefaultServerImageDescriptor other = (DefaultServerImageDescriptor) object;
-		return (getBaseImage().equals(other.getBaseImage()));
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg = getBaseImage().getImageData();
-		if (bg == null)
-			bg = DEFAULT_IMAGE_DATA;
-
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		ImageData data = ImageResource.getImage(ImageResource.IMG_DEFAULT_SERVER_OVERLAY).getImageData();
-		int x = getSize().x - data.width;
-		drawImage(data, x, 0);
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(Image baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java
deleted file mode 100644
index 6c8626e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-/**
- * 
- */
-public class DefaultServerLabelDecorator implements ILabelDecorator {
-	protected Map map = new HashMap();
-
-	//protected Image image2;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		try {
-			Image img = (Image) map.get(element);
-			if (img != null)
-				return img;
-		} catch (Exception e) { }
-		
-		DefaultServerImageDescriptor dsid = new DefaultServerImageDescriptor(image);
-		Image image2 = dsid.createImage();
-		map.put(element, image2);
-		return image2;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(java.lang.String, java.lang.Object)
-	 */
-	public String decorateText(String text, Object element) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) { }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		try {
-			Iterator iterator = map.values().iterator();
-			while (iterator.hasNext()) {
-				Image image = (Image) iterator.next();
-				image.dispose();
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not dispose images", e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) { }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
deleted file mode 100644
index ed4fbee..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-import org.eclipse.wst.server.core.IElement;
-/**
- * Dialog that prompts a user to delete server(s) and/or server configuration(s).
- */
-public class DeleteServerDialog extends Dialog {
-	protected List deleteList;
-	protected List configList;
-
-	protected Button check;
-
-	/**
-	 * DeleteServerDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 * @
-	 */
-	public DeleteServerDialog(Shell parentShell, List deleteList, List configList) {
-		super(parentShell);
-		
-		if (deleteList == null)
-			deleteList = new ArrayList(0);
-		if (configList == null)
-			configList = new ArrayList(0);
-		
-		this.deleteList = deleteList;
-		this.configList = configList;
-
-		setBlockOnOpen(true);
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(ServerUIPlugin.getResource("%deleteServerResourceDialogTitle"));
-	}
-
-	/**
-	 * 
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		//WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-	
-		Label label = new Label(composite, SWT.NONE);
-		if (deleteList.size() == 1) {
-			IElement element = (IElement) deleteList.get(0);
-			label.setText(ServerUIPlugin.getResource("%deleteServerResourceDialogMessage", element.getName()));
-		} else
-			label.setText(ServerUIPlugin.getResource("%deleteServerResourceDialogMessageMany", deleteList.size() + ""));
-		label.setLayoutData(new GridData());
-		
-		if (!configList.isEmpty()) {
-			check = new Button(composite, SWT.CHECK);
-		
-			if (configList.size() == 1) {
-				IElement element = (IElement) configList.get(0);
-				check.setText(ServerUIPlugin.getResource("%deleteServerResourceDialogLooseConfigurations", element.getName()));
-			} else
-				check.setText(ServerUIPlugin.getResource("%deleteServerResourceDialogLooseConfigurationsMany", configList.size() + ""));
-			check.setSelection(true);
-			check.setLayoutData(new GridData());
-		}
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-
-	protected void okPressed() {
-		final boolean checked = (check != null && check.getSelection());
-		
-		try {
-			WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-				protected void execute(IProgressMonitor monitor) throws CoreException {
-					try {
-						Iterator iterator = deleteList.iterator();
-						while (iterator.hasNext()) {
-							IElement element = (IElement) iterator.next();
-							element.delete();
-						}
-						
-						if (checked) {
-							iterator = configList.iterator();
-							while (iterator.hasNext()) {
-								IElement element = (IElement) iterator.next();
-								element.delete();
-							}
-						}
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error while deleting resources", e);
-					}
-				}
-			};
-			new ProgressMonitorDialog(getShell()).run(true, true, op);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error deleting resources", e);
-		}
-		
-		super.okPressed();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java
deleted file mode 100644
index 21044b5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-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.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-/**
- * Eclipse utility methods.
- */
-public class EclipseUtil {
-	/**
-	 * EclipseUtil constructor comment.
-	 */
-	private EclipseUtil() {
-		super();
-	}
-
-	/**
-	 * Creates a new server project with the given name. If path is
-	 * null, it will be created in the default location.
-	 *
-	 * @param name java.lang.String
-	 * @param path org.eclipse.core.resource.IPath
-	 * @return org.eclipse.core.resources.IProject
-	 */
-	public static IStatus createNewServerProject(final Shell shell, String name, IPath path, IProgressMonitor monitor) {
-		final IStatus status = ServerCore.createServerProject(name, path, monitor);
-		if (!status.isOK()) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					openError(shell, ServerUIPlugin.getResource("%errorCouldNotCreateServerProject"), status);
-				}
-			});
-		}
-		return status;
-	}
-
-	/**
-	 * Returns the image for a project.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getProjectImageDescriptor(IProject project) {
-		if (project == null)
-			return null;
-	
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter) project.getAdapter(IWorkbenchAdapter.class);
-	
-		if (adapter != null)
-			return adapter.getImageDescriptor(project);
-		
-		return null;
-	}
-
-	/**
-	 * Return a shell for the workbench.
-	 *
-	 * @return org.eclipse.swt.widgets.Shell
-	 */
-	public static Shell getShell() {
-		return getStandardDisplay().getActiveShell();
-	}
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-
-		return display;		
-	}	
-	
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param title java.lang.String
-	 * @param message java.lang.String
-	 */
-	public static void openError(final String message) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Shell shell = getShell();
-				MessageDialog.openError(shell, ServerUIPlugin.getResource("%errorDialogTitle"), message);
-			}
-		});
-	}
-
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param message java.lang.String
-	 * @param status IStatus
-	 */
-	public static void openError(final String message, final IStatus status) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Shell shell = getShell();
-				ErrorDialog.openError(shell, ServerUIPlugin.getResource("%errorDialogTitle"), message, status);
-			}
-		});
-	}
-
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param title java.lang.String
-	 * @param message java.lang.String
-	 */
-	public static void openError(Shell shell, String message) {
-		MessageDialog.openError(shell, ServerUIPlugin.getResource("%errorDialogTitle"), message);
-	}
-
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param message java.lang.String
-	 * @param status IStatus
-	 */
-	public static void openError(Shell shell, String message, IStatus status) {
-		ErrorDialog.openError(shell, ServerUIPlugin.getResource("%errorDialogTitle"), message, status);
-	}
-	
-	/**
-	 * Start a server and display a dialog if it fails.
-	 */
-	public static ILaunch startServer(final Shell shell, final IServer server, final String mode, final ServerStartupListener listener) throws CoreException {
-		// Eclipse v2 workaround to make sure that the debug UI listeners are setup
-		DebugUIPlugin.getDefault();
-
-		try {
-			return server.start(mode, new NullProgressMonitor());
-		} catch (final CoreException e) {
-			Trace.trace(Trace.SEVERE, "Error starting server", e);
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					EclipseUtil.openError(shell, ServerUIPlugin.getResource("%serverStartError"), e.getStatus());
-					listener.setEnabled(false);
-				}
-			});
-			throw e;
-		}
-	}
-
-	/**
-	 * Do a validateEdit() on the given server element.
-	 */
-	public static boolean validateEdit(Shell shell, IElement element) {
-		/*IFile file = null;
-		if (element instanceof IServer)
-			file = ((IServer) element).getFile();
-		else if (element instanceof IServerConfiguration)
-			file = ((IServerConfiguration) element).getFile();
-
-		IFile[] files = GlobalCommandManager.getReadOnlyFiles(element);
-		if (files.length == 0)
-			return true;
-		
-		int size = files.length;
-		long[] timestamps = new long[size];
-		for (int i = 0; i < size; i++) {
-			timestamps[i] = files[i].getFullPath().toFile().lastModified();
-		}
-		IStatus status = file.getWorkspace().validateEdit(files, shell);*/
-		IStatus status = element.validateEdit(shell);
-		
-		if (status != null && status.getSeverity() == IStatus.ERROR) {
-			// inform user
-			String message = ServerUIPlugin.getResource("%editorValidateEditFailureMessage");
-			ErrorDialog.openError(shell, ServerUIPlugin.getResource("%errorDialogTitle"), message, status);
-
-			// do not execute command
-			return false;
-		}/* else {
-			boolean reload = false;
-			for (int i = 0; !reload && i < size; i++) {
-				if (timestamps[i] != files[i].getFullPath().toFile().lastModified())
-					reload = true;
-			}
-			if (reload) {
-				try {
-					file.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
-				} catch (Exception e) { }
-			}
-			
-			// allow edit
-			return true;
-		}*/
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java
deleted file mode 100644
index 88e1322..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * 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 = ServerUIPlugin.getInstance().getBundle().getEntry(pathSuffix);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not set icon base URL", e);
-		}
-	}
-
-	private static final String URL_CLCL = "clcl16/";
-	private static final String URL_CTOOL = "ctool16/";
-	
-	private static final String URL_ELCL = "elcl16/";
-	private static final String URL_ETOOL = "etool16/";
-	
-	private static final String URL_DLCL = "dlcl16/";
-	private static final String URL_DTOOL = "dtool16/";
-
-	private static final String URL_OBJ = "obj16/";
-	
-	private static final String URL_OVR = "ovr16/";
-
-	private static final String URL_WIZBAN = "wizban/";
-
-	// --- constants for images ---
-
-	// Server State Images
-	public static final String IMG_CLCL_START = "IMG_CLCL_START";
-	public static final String IMG_CLCL_START_DEBUG = "IMG_CLCL_START_DEBUG";
-	public static final String IMG_CLCL_START_PROFILE = "IMG_CLCL_START_PROFILE";
-	public static final String IMG_CLCL_RESTART = "IMG_CLCL_RESTART";
-	public static final String IMG_CLCL_STOP = "IMG_CLCL_STOP";
-	public static final String IMG_CLCL_PUBLISH = "IMG_CLCL_PUBLISH";
-	public static final String IMG_CLCL_DISCONNECT = "IMG_CLCL_DISCONNECT";
-
-	public static final String IMG_ELCL_START = "IMG_ELCL_START";
-	public static final String IMG_ELCL_START_DEBUG = "IMG_ELCL_START_DEBUG";
-	public static final String IMG_ELCL_START_PROFILE = "IMG_ELCL_START_PROFILE";
-	public static final String IMG_ELCL_RESTART = "IMG_ELCL_RESTART";
-	public static final String IMG_ELCL_STOP = "IMG_ELCL_STOP";
-	public static final String IMG_ELCL_PUBLISH = "IMG_ELCL_PUBLISH";
-	public static final String IMG_ELCL_DISCONNECT = "IMG_ELCL_DISCONNECT";
-
-	public static final String IMG_DLCL_START = "IMG_DLCL_START";
-	public static final String IMG_DLCL_START_DEBUG = "IMG_DLCL_START_DEBUG";
-	public static final String IMG_DLCL_START_PROFILE = "IMG_DLCL_START_PROFILE";
-	public static final String IMG_DLCL_RESTART = "IMG_DLCL_RESTART";
-	public static final String IMG_DLCL_STOP = "IMG_DLCL_STOP";
-	public static final String IMG_DLCL_PUBLISH = "IMG_DLCL_PUBLISH";
-	public static final String IMG_DLCL_DISCONNECT = "IMG_DLCL_DISCONNECT";
-
-	// Wizard Banner Images
-	public static final String IMG_WIZBAN_NEW_RUNTIME = "newServerWiz";
-	public static final String IMG_WIZBAN_NEW_SERVER = "newServerWiz";
-	public static final String IMG_WIZBAN_NEW_SERVER_PROJECT = "newServerProjectWiz";
-	public static final String IMG_WIZBAN_SELECT_SERVER_CLIENT = "wizClient";
-	public static final String IMG_WIZBAN_SELECT_SERVER = "selectServer";
-	public static final String IMG_WIZBAN_IMPORT_SERVER_CONFIGURATION = "importConfigWiz";
-	public static final String IMG_WIZBAN_VISUAL_PUBLISHER = "visualPublisher";
-
-	public static final String IMG_SERVER_STATE_STARTED = "stateStarted";
-	public static final String IMG_SERVER_STATE_STARTED_DEBUG = "stateStartedDebug";
-	public static final String IMG_SERVER_STATE_STARTED_PROFILE = "stateStartedProfile";
-	public static final String IMG_SERVER_STATE_STOPPED = "stateStopped";
-	
-	public static final String IMG_SERVER_STATE_STARTING_1 = "stateStarting1";
-	public static final String IMG_SERVER_STATE_STARTING_2 = "stateStarting2";
-	public static final String IMG_SERVER_STATE_STARTING_3 = "stateStarting3";
-	
-	public static final String IMG_SERVER_STATE_STOPPING_1 = "stateStopping1";
-	public static final String IMG_SERVER_STATE_STOPPING_2 = "stateStopping2";
-	public static final String IMG_SERVER_STATE_STOPPING_3 = "stateStopping3";
-
-	// Server Client Images
-	public static final String IMG_CTOOL_RUN_ON_SERVER = "IMG_CTOOL_CLIENT";
-	public static final String IMG_CTOOL_DEBUG_ON_SERVER = "IMG_CTOOL_CLIENT2";
-	public static final String IMG_CTOOL_PROFILE_ON_SERVER = "IMG_CTOOL_CLIENT3";
-	public static final String IMG_CTOOL_NEW_SERVER = "IMG_CTOOL_NEW_SERVER";
-	public static final String IMG_CTOOL_NEW_SERVER_INSTANCE = "IMG_CTOOL_NEW_SERVER_INSTANCE";
-	public static final String IMG_CTOOL_NEW_SERVER_CONFIGURATION = "IMG_CTOOL_NEW_SERVER_CONFIGURATION";
-	public static final String IMG_CTOOL_MODIFY_MODULES = "IMG_CTOOL_MODIFY_MODULES";
-
-	public static final String IMG_ETOOL_RUN_ON_SERVER = "IMG_ETOOL_CLIENT";
-	public static final String IMG_ETOOL_DEBUG_ON_SERVER = "IMG_ETOOL_CLIENT2";
-	public static final String IMG_ETOOL_PROFILE_ON_SERVER = "IMG_ETOOL_CLIENT3";
-	public static final String IMG_ETOOL_MODIFY_MODULES = "IMG_ETOOL_MODIFY_MODULES";
-
-	public static final String IMG_DTOOL_RUN_ON_SERVER = "IMG_DTOOL_CLIENT";
-	public static final String IMG_DTOOL_DEBUG_ON_SERVER = "IMG_DTOOL_CLIENT2";
-	public static final String IMG_DTOOL_PROFILE_ON_SERVER = "IMG_DTOOL_CLIENT3";
-	public static final String IMG_DTOOL_MODIFY_MODULES = "IMG_DTOOL_MODIFY_MODULES";
-
-	// General Object Images
-	public static final String IMG_SERVER_PROJECT = "serverProject";
-	public static final String IMG_SERVER_CONFIGURATION = "configuration";
-	public static final String IMG_SERVER = "server";
-	public static final String IMG_SERVER_CONFIGURATION_NONE = "noConfiguration";
-	public static final String IMG_SERVER_CONFIGURATION_MISSING = "configurationMissing";
-	public static final String IMG_PROJECT_MISSING = "projectMissing";
-	public static final String IMG_REPAIR_CONFIGURATION = "repairConfiguration";
-
-	public static final String IMG_PUBLISH_ENABLED = "publishEnabled";
-	public static final String IMG_PUBLISH_DISABLED = "publishDisabled";
-	
-	public static final String IMG_MONITOR_ON = "monitorOn";
-	public static final String IMG_MONITOR_OFF = "monitorOff";
-	
-	public static final String IMG_DEFAULT_SERVER_OVERLAY = "defaultServerOverlay";
-
-	/**
-	 * Cannot construct an ImageResource. Use static methods only.
-	 */
-	private ImageResource() { }
-	
-	/**
-	 * Dispose of element images that were created.
-	 */
-	protected static void dispose() {
-		try {
-			Trace.trace("Disposing of element images");
-			Iterator iterator = elementImages.values().iterator();
-			while (iterator.hasNext()) {
-				Image image = (Image) iterator.next();
-				image.dispose();
-			}
-		} catch (Exception e) {
-			Trace.trace("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();
-		Image image = imageRegistry.get(key);
-		if (image == null) {
-			imageRegistry.put(key, ImageDescriptor.getMissingImageDescriptor());
-			image = imageRegistry.get(key);
-		}
-		return image;
-	}
-
-	/**
-	 * 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();
-		ImageDescriptor id = (ImageDescriptor) imageDescriptors.get(key);
-		if (id != null)
-			return id;
-		
-		return ImageDescriptor.getMissingImageDescriptor();
-	}
-
-	/**
-	 * Initialize the image resources.
-	 */
-	protected static void initializeImageRegistry() {
-		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap();
-
-		// wizard banners
-		registerImage(IMG_WIZBAN_NEW_SERVER, URL_WIZBAN + "new_server_wiz.gif");
-		registerImage(IMG_WIZBAN_NEW_SERVER_PROJECT, URL_WIZBAN + "new_server_project_wiz.gif");
-		registerImage(IMG_WIZBAN_IMPORT_SERVER_CONFIGURATION, URL_WIZBAN + "import_configuration_wiz.gif");
-		registerImage(IMG_WIZBAN_SELECT_SERVER_CLIENT, URL_WIZBAN + "select_client_wiz.gif");
-		registerImage(IMG_WIZBAN_SELECT_SERVER, URL_WIZBAN + "select_server_wiz.gif");
-		registerImage(IMG_WIZBAN_VISUAL_PUBLISHER, URL_WIZBAN + "pub_resource_server_wiz.gif");
-
-		// client images
-		registerImage(IMG_ETOOL_RUN_ON_SERVER, URL_ETOOL + "run_on_server.gif");
-		registerImage(IMG_ETOOL_DEBUG_ON_SERVER, URL_ETOOL + "debug_on_server.gif");
-		registerImage(IMG_ETOOL_PROFILE_ON_SERVER, URL_ETOOL + "profile_on_server.gif");
-		registerImage(IMG_ETOOL_MODIFY_MODULES, URL_ETOOL + "wiz_modify_modules.gif");
-
-		registerImage(IMG_CTOOL_RUN_ON_SERVER, URL_CTOOL + "run_on_server.gif");
-		registerImage(IMG_CTOOL_DEBUG_ON_SERVER, URL_CTOOL + "debug_on_server.gif");
-		registerImage(IMG_CTOOL_PROFILE_ON_SERVER, URL_CTOOL + "profile_on_server.gif");
-		registerImage(IMG_CTOOL_NEW_SERVER, URL_CTOOL + "wiz_new_server.gif");
-		registerImage(IMG_CTOOL_NEW_SERVER_INSTANCE, URL_CTOOL + "wiz_new_instance.gif");
-		registerImage(IMG_CTOOL_NEW_SERVER_CONFIGURATION, URL_CTOOL + "wiz_new_configuration.gif");
-		registerImage(IMG_CTOOL_MODIFY_MODULES, URL_CTOOL + "wiz_modify_modules.gif");
-
-		registerImage(IMG_DTOOL_RUN_ON_SERVER, URL_DTOOL + "run_on_server.gif");
-		registerImage(IMG_DTOOL_DEBUG_ON_SERVER, URL_DTOOL + "debug_on_server.gif");
-		registerImage(IMG_DTOOL_PROFILE_ON_SERVER, URL_DTOOL + "profile_on_server.gif");
-		registerImage(IMG_DTOOL_MODIFY_MODULES, URL_DTOOL + "wiz_modify_modules.gif");
-	
-		// load server state images
-		registerImage(IMG_SERVER_STATE_STARTED, URL_OBJ + "server_started.gif");
-		registerImage(IMG_SERVER_STATE_STARTED_DEBUG, URL_OBJ + "server_started_debug.gif");
-		registerImage(IMG_SERVER_STATE_STARTED_PROFILE, URL_OBJ + "server_started_profile.gif");
-		registerImage(IMG_SERVER_STATE_STOPPED, URL_OBJ + "server_stopped.gif");
-		
-		registerImage(IMG_SERVER_STATE_STARTING_1, URL_OBJ + "server_starting1.gif");
-		registerImage(IMG_SERVER_STATE_STARTING_2, URL_OBJ + "server_starting2.gif");
-		registerImage(IMG_SERVER_STATE_STARTING_3, URL_OBJ + "server_starting3.gif");
-		
-		registerImage(IMG_SERVER_STATE_STOPPING_1, URL_OBJ + "server_stopping1.gif");
-		registerImage(IMG_SERVER_STATE_STOPPING_2, URL_OBJ + "server_stopping2.gif");
-		registerImage(IMG_SERVER_STATE_STOPPING_3, URL_OBJ + "server_stopping3.gif");
-	
-		// load action images
-		registerImage(IMG_ELCL_PUBLISH, URL_ELCL + "launch_publish.gif");
-		registerImage(IMG_ELCL_START, URL_ELCL + "launch_run.gif");
-		registerImage(IMG_ELCL_START_DEBUG, URL_ELCL + "launch_debug.gif");
-		registerImage(IMG_ELCL_START_PROFILE, URL_ELCL + "launch_profile.gif");
-		registerImage(IMG_ELCL_RESTART, URL_ELCL + "launch_restart.gif");
-		registerImage(IMG_ELCL_STOP, URL_ELCL + "launch_stop.gif");
-		registerImage(IMG_ELCL_DISCONNECT, URL_ELCL + "launch_disconnect.gif");
-	
-		registerImage(IMG_CLCL_PUBLISH, URL_CLCL + "launch_publish.gif");
-		registerImage(IMG_CLCL_START, URL_CLCL + "launch_run.gif");
-		registerImage(IMG_CLCL_START_DEBUG, URL_CLCL + "launch_debug.gif");
-		registerImage(IMG_CLCL_START_PROFILE, URL_CLCL + "launch_profile.gif");
-		registerImage(IMG_CLCL_RESTART, URL_CLCL + "launch_restart.gif");
-		registerImage(IMG_CLCL_STOP, URL_CLCL + "launch_stop.gif");
-		registerImage(IMG_CLCL_DISCONNECT, URL_CLCL + "launch_disconnect.gif");
-	
-		registerImage(IMG_DLCL_PUBLISH, URL_DLCL + "launch_publish.gif");
-		registerImage(IMG_DLCL_START, URL_DLCL + "launch_run.gif");
-		registerImage(IMG_DLCL_START_DEBUG, URL_DLCL + "launch_debug.gif");
-		registerImage(IMG_DLCL_START_PROFILE, URL_DLCL + "launch_profile.gif");
-		registerImage(IMG_DLCL_RESTART, URL_DLCL + "launch_restart.gif");
-		registerImage(IMG_DLCL_STOP, URL_DLCL + "launch_stop.gif");
-		registerImage(IMG_DLCL_DISCONNECT, URL_DLCL + "launch_disconnect.gif");
-	
-		// load general object images
-		registerImage(IMG_SERVER_PROJECT, URL_OBJ + "server_project.gif");
-		registerImage(IMG_SERVER, URL_OBJ + "server.gif");
-		registerImage(IMG_SERVER_CONFIGURATION, URL_OBJ + "configuration.gif");
-		registerImage(IMG_SERVER_CONFIGURATION_NONE, URL_OBJ + "configuration_none.gif");
-		registerImage(IMG_SERVER_CONFIGURATION_MISSING, URL_OBJ + "configuration_missing.gif");
-		registerImage(IMG_PROJECT_MISSING, URL_OBJ + "project_missing.gif");
-		registerImage(IMG_REPAIR_CONFIGURATION, URL_OBJ + "repair_config.gif");
-	
-		registerImage(IMG_PUBLISH_ENABLED, URL_OBJ + "publish_enabled.gif");
-		registerImage(IMG_PUBLISH_DISABLED, URL_OBJ + "publish_disabled.gif");
-		
-		registerImage(IMG_MONITOR_ON, URL_OBJ + "monitorOn.gif");
-		registerImage(IMG_MONITOR_OFF, URL_OBJ + "monitorOff.gif");
-		
-		registerImage(IMG_DEFAULT_SERVER_OVERLAY, URL_OVR + "default_server_ovr.gif");
-		
-		loadServerImages();
-	}
-
-	/**
-	 * 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("Error registering image " + key + " from " + partialURL, e);
-		}
-	}
-	
-	/**
-	 * Load the server images.
-	 */
-	private static void loadServerImages() {
-		Trace.trace(Trace.CONFIG, "->- Loading .serverImages extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUICore.PLUGIN_ID, "serverImages");
-
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			try {
-				String pluginId = cf[i].getDeclaringExtension().getNamespace();
-				String iconPath = cf[i].getAttribute("icon");
-				ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, iconPath);
-				if (imageDescriptor == null)
-					ImageDescriptor.getMissingImageDescriptor();
-				
-				String typeId = cf[i].getAttribute("typeIds");
-				if (typeId == null)
-					typeId = cf[i].getAttribute("moduleId");
-				imageRegistry.put(typeId, imageDescriptor);		
-				imageDescriptors.put(typeId, imageDescriptor);
-				Trace.trace(Trace.CONFIG, "  Loaded serverImage: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverImage: " + cf[i].getAttribute("id"), t);
-			}
-		}
-
-		Trace.trace(Trace.CONFIG, "-<- Done loading .serverImages extension point -<-");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleRepairDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleRepairDialog.java
deleted file mode 100644
index c34fc86..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleRepairDialog.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.util.TaskModel;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- * 
- */
-public class ModuleRepairDialog extends Dialog {
-	private static final String ROOT = "root";
-	
-	protected static final Object[] EMPTY = new Object[0];
-
-	//protected List fixes;
-	protected IServerLifecycleEvent[] events;
-	protected List checkedList = new ArrayList();
-	protected Map childMap = new HashMap();
-	
-	public class TaskInfo {
-		ITask task;
-		IServerLifecycleEvent parent;
-		//boolean checked = true;
-	}
-	
-	protected CheckboxTreeViewer viewer;
-	
-	// content and label provider for repair dialog
-	public class RepairContentProvider implements ITreeContentProvider {
-		public void dispose() { }
-		
-		public Object getParent(Object element) {
-			if (element instanceof IServerLifecycleEvent)
-				return ROOT;
-			else if (element instanceof TaskInfo)
-				return ((TaskInfo) element).parent;
-			else
-				return null;
-		}
-		
-		public boolean hasChildren(Object element) {
-			return getChildren(element).length > 0;
-		}
-		
-		public Object[] getChildren(Object element) {
-			if (ROOT.equals(element)) {
-				return events;
-			} else if (element instanceof IServerLifecycleEvent) {
-				IServerLifecycleEvent mse = (IServerLifecycleEvent) element;
-				Object children = childMap.get(mse);
-				if (children == null) {
-					ITask[] tasks = mse.getTasks();
-					int size = tasks.length;
-					TaskInfo[] ti = new TaskInfo[size];
-					for (int i = 0; i < size; i++) {
-						ti[i] = new TaskInfo();
-						ti[i].task = tasks[i];
-						ti[i].parent = mse;
-						
-						ITaskModel taskModel = new TaskModel();
-						taskModel.putObject(ITaskModel.TASK_SERVER, mse.getServer());
-						IServerConfiguration config = mse.getServer().getServerConfiguration();
-						if (config != null)
-							taskModel.putObject(ITaskModel.TASK_SERVER_CONFIGURATION, config);
-						tasks[i].setTaskModel(taskModel);
-					}
-					children = ti;
-					childMap.put(mse, children);
-				}
-				return (Object[]) children;
-			}
-			return EMPTY;
-		}
-		
-		public Object[] getElements(Object element) {
-			return getChildren(element);
-		}
-		
-		public void inputChanged(Viewer newViewer, Object oldInput, Object newInput) { }
-	}
-	
-	public class RepairLabelProvider implements ILabelProvider {
-		public void addListener(ILabelProviderListener listener) { }
-		
-		public void removeListener(ILabelProviderListener listener) { }
-		
-		public Image getImage(Object element) {
-			if (element instanceof IServerLifecycleEvent) {
-				return ServerUICore.getLabelProvider().getImage(((IServerLifecycleEvent) element).getServer());
-			} else if (element instanceof TaskInfo) {
-				return ImageResource.getImage(ImageResource.IMG_REPAIR_CONFIGURATION);
-			} else
-				return null;
-		}
-		public String getText(Object element) {
-			if (element instanceof IServerLifecycleEvent) {
-				return ServerUICore.getLabelProvider().getText(((IServerLifecycleEvent) element).getServer());
-			} else if (element instanceof TaskInfo) {
-				return ((TaskInfo) element).task.getDescription();
-			}
-			return "";
-		}
-		
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-		
-		public void dispose() { }
-	}
-
-	public ModuleRepairDialog(Shell parent, IServerLifecycleEvent[] events) {
-		super(parent);
-		setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL); // no close button
-		setBlockOnOpen(true);
-		
-		this.events = events;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(ServerUIPlugin.getResource("%dialogRepairConfigurationTitle"));
-	}
-	
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(ServerUIPlugin.getResource("%dialogRepairConfigurationMessage"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		label.setLayoutData(data);
-		
-		Tree tree = new Tree(composite, SWT.BORDER | SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.heightHint = 140;
-		data.widthHint = 400;
-		tree.setLayoutData(data);
-		
-		viewer = new CheckboxTreeViewer(tree);
-		viewer.setLabelProvider(new RepairLabelProvider());
-		viewer.setContentProvider(new RepairContentProvider());
-		viewer.setInput(ROOT);
-		viewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				checked(event.getElement(), event.getChecked());
-				viewer.refresh();
-			}
-		});
-		viewer.setSorter(new ViewerSorter() { });
-		viewer.expandToLevel(4);
-		
-		int size = events.length;
-		for (int i = 0; i < size; i++) {
-			viewer.setSubtreeChecked(events[i], true);
-			checked(events[i], true);
-		}
-		
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-	
-	protected void addRemove(Object obj, boolean add) {
-		if (add) {
-			if (!checkedList.contains(obj))
-				checkedList.add(obj);
-		} else {
-			if (checkedList.contains(obj))
-				checkedList.remove(obj);
-		}
-	}
-
-	protected void checked(Object element, boolean checked) {
-		if (element instanceof IServerLifecycleEvent) {
-			addRemove(element, checked);
-			viewer.setSubtreeChecked(element, checked);
-			try {
-				RepairContentProvider rcp = (RepairContentProvider) viewer.getContentProvider();
-				Object[] children = rcp.getChildren(element);
-				int size = children.length;
-				for (int i = 0; i < size; i++)
-					addRemove(((TaskInfo)children[i]).task, checked);
-			} catch (Exception e) {
-				// do nothing
-			}
-		} else if (element instanceof TaskInfo) {
-			TaskInfo ti = (TaskInfo) element;
-			addRemove(ti.task, checked);
-			IServerLifecycleEvent mse = ti.parent;
-			if (!checked) { // && anyChildren(info, !checked)) {
-				addRemove(mse, checked);
-				viewer.setChecked(mse, checked);
-			} else if (checked && allChildren(mse, checked)) {
-				addRemove(mse, checked);
-				viewer.setChecked(mse, checked);
-			}
-		}
-	}
-
-	protected boolean allChildren(IServerLifecycleEvent mse, boolean b) {
-		ITask[] tasks = mse.getTasks();
-		if (tasks == null)
-			return false;
-		int size = tasks.length;
-		for (int i = 0; i < size; i++) {
-			if (b != checkedList.contains(tasks[i]))
-				return false;
-		}
-		return true;
-	}
-
-	protected void okPressed() {
-		super.okPressed();
-		
-		// perform commands
-		int size = events.length;
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			IServerLifecycleEvent mse = events[i];
-			if (checkedList.contains(mse)) {
-				IServer server = mse.getServer();
-				if (EclipseUtil.validateEdit(getShell(), server)) {
-					IServerWorkingCopy serverWC = server.getWorkingCopy();
-					IServerConfigurationWorkingCopy configWC = null;
-					if (server.getServerConfiguration() != null)
-						configWC = server.getServerConfiguration().getWorkingCopy();
-					
-					ITaskModel taskModel = new TaskModel();
-					taskModel.putObject(ITaskModel.TASK_SERVER, serverWC);
-					if (configWC != null)
-						taskModel.putObject(ITaskModel.TASK_SERVER_CONFIGURATION, configWC);
-					
-					try {
-						//IServerConfiguration config = info.configuration;
-						//IProgressMonitor monitor = new NullProgressMonitor();
-						//IResource resource = ServerCore.getResourceManager().getServerResourceLocation(serverResource);
-						//resource.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-					} catch (Exception e) { }
-					
-					ITask[] tasks = mse.getTasks();
-					int size2 = tasks.length;
-					for (int j = 0; j < size2; j++) {
-						if (checkedList.contains(tasks[j])) {
-							try {
-								tasks[j].setTaskModel(taskModel);
-								tasks[j].execute(new NullProgressMonitor());
-							} catch (CoreException ce) {
-								Trace.trace(Trace.SEVERE, "Error executing repair task", ce);
-							}
-						}
-					}
-				
-					try {
-						serverWC.save(new NullProgressMonitor());
-						if (configWC != null)
-							configWC.save(new NullProgressMonitor());
-					} catch (Exception e) { }
-					
-					if (!list.contains(server) && server.isWorkingCopiesExist())
-						list.add(server);
-				}
-			}
-		}
-		
-		// TODO reload affected editors
-		/*size = list.size();
-		for (int i = 0; i < size; i++) {
-			IServerConfiguration config = (IServerConfiguration) list.get(i);
-			GlobalCommandManager.getInstance().reload(config.getId(), new NullProgressMonitor());
-			GlobalCommandManager.getInstance().resourceSaved(config.getId());
-			GlobalCommandManager.getInstance().updateTimestamps(config.getId());
-		}*/
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleRepairSupport.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleRepairSupport.java
deleted file mode 100644
index 1578a6c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleRepairSupport.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IServerLifecycleEventHandler;
-import org.eclipse.wst.server.ui.ServerUICore;
-/**
- * 
- */
-public class ModuleRepairSupport implements IServerLifecycleEventHandler {
-	private static final String ROOT = "root";
-	
-	protected static final Object[] EMPTY = new Object[0];
-	
-	// content and label provider for server editor save dialog
-	public class ServerEditorContentProvider implements IStructuredContentProvider {
-		protected Object[] elements;
-		
-		public ServerEditorContentProvider(Object[] elements) {
-			this.elements = elements;	
-		}
-		
-		public void dispose() { }
-		
-		public Object[] getElements(Object element) {
-			if (ROOT.equals(element))
-				return elements;
-			
-			return EMPTY;
-		}
-		
-		public void inputChanged(Viewer viewer2, Object oldInput, Object newInput) { }
-	}
-
-	public class ServerEditorLabelProvider implements ILabelProvider {
-		public void addListener(ILabelProviderListener listener) { }
-		
-		public void removeListener(ILabelProviderListener listener) { }
-		
-		public Image getImage(Object element) {
-			return ServerUICore.getLabelProvider().getImage(element);
-		}
-		
-		public String getText(Object element) {
-			return ServerUICore.getLabelProvider().getText(element);
-		}
-		
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-		
-		public void dispose() { }
-	}
-	
-	public boolean[] handleModuleServerEvents(final IServerLifecycleEvent[] events) {
-		if (ServerCore.getServerPreferences().getModuleRepairStatus() == IServerPreferences.REPAIR_NEVER)
-			return null;
-		
-		// save open editors
-		final List list = new ArrayList();
-		int size = events.length;
-		boolean[] bool = new boolean[size];
-		for (int i = 0; i < size; i++) {
-			bool[i] = true;
-			IServer server = events[i].getServer();
-			
-			if (!list.contains(server) && server.isWorkingCopiesExist() && server.isAWorkingCopyDirty())
-				list.add(server);
-		}
-		
-		//final ILabelProvider labelProvider = new ModuleRepairSupport.ServerEditorLabelProvider();
-		//final IStructuredContentProvider contentProvider = new ServerEditorContentProvider(list.toArray());
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Shell shell = EclipseUtil.getShell();
-				
-				/*if (!list.isEmpty()) {
-					ListSelectionDialog dialog1 = new ListSelectionDialog(shell, ROOT,
-						contentProvider, labelProvider, ServerUIPlugin.getResource("%dialogRepairConfigurationSaveMessage"));
-					dialog1.setTitle(ServerUIPlugin.getResource("%dialogRepairConfigurationTitle"));
-					dialog1.setBlockOnOpen(true);
-					dialog1.setInitialSelections(list.toArray());
-					dialog1.open();
-					
-					Object[] result = dialog1.getResult();
-					// save selected editors
-					if (result != null) {
-						int size2 = result.length;
-						for (int i = 0; i < size2; i++) {
-							IServerConfiguration config = (IServerConfiguration) result[i];
-							IResource resource = ServerCore.getResourceManager().getServerResourceLocation(config);
-							IServerResource serverResource = ServerCore.getEditManager().getEditModel(resource, new NullProgressMonitor());
-							try {
-								serverResource.save(resource.getProject(), resource.getProjectRelativePath(), new NullProgressMonitor());
-								
-								GlobalCommandManager.getInstance().reload(resource, new NullProgressMonitor());
-								GlobalCommandManager.getInstance().resourceSaved(resource);
-								GlobalCommandManager.getInstance().updateTimestamps(resource);
-								list.remove(config);
-							} catch (CoreException e) {
-								// ignore error for now
-							}
-						}
-					}
-					
-					// TODO don't try to modify any unsaved configurations
-					/*int size3 = list.size();
-					for (int i = 0; i < size3; i++) {
-						IServer server = (IServer) list.get(i);
-						int size2 = diskFixes.size();
-						for (int j = size2 - 1; j >= 0; j--) {
-							FixInfo info = (FixInfo) diskFixes.get(j);
-							if (info.server.equals(server)) {
-								diskFixes.remove(j);
-								size2--;
-							}
-						}
-					}
-				}*/
-				
-				ModuleRepairDialog dialog = new ModuleRepairDialog(shell, events);
-				dialog.open();
-			}
-		});
-		
-		return bool;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java
deleted file mode 100644
index df489b7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-/**
- * A OverlayImageDescriptor consists of a main icon and one or more overlays.
- * The overlays are computed according to flags set on creation of the descriptor.
- */
-public class OverlayImageDescriptor extends CompositeImageDescriptor {
-	// flag to render the error overlay
-	public final static int ERROR = 0x001;
-
-	private Image fBaseImage;
-	private int fFlags;
-	private Point fSize;
-	
-	/**
-	 * Create a new OverlayImageDescriptor.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 */
-	public OverlayImageDescriptor(Image baseImage, int flags) {
-		setBaseImage(baseImage);
-		setFlags(flags);
-	}
-
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data = getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof OverlayImageDescriptor))
-			return false;
-			
-		OverlayImageDescriptor other = (OverlayImageDescriptor) object;
-		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode() | getFlags();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg = getBaseImage().getImageData();
-		if (bg == null)
-			bg = DEFAULT_IMAGE_DATA;
-
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		int flags = getFlags();
-		ImageData data = null;
-		if ((flags & ERROR) != 0) {
-			data = DebugUITools.getImage(IDebugUIConstants.IMG_OVR_ERROR).getImageData();
-			int x = getSize().x - data.width;
-			drawImage(data, x, 0);
-		}
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(Image baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected int getFlags() {
-		return fFlags;
-	}
-
-	protected void setFlags(int flags) {
-		fFlags = flags;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
deleted file mode 100644
index a14e712..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IProjectModule;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * PropertyPage for IProjects. It shows the server and runtime preference for the project.
- */
-public class ProjectPropertyPage extends PropertyPage {
-	protected IProject project;
-	protected IProjectModule module;
-	protected IServer server;
-	
-	protected RuntimeTargetComposite rtComp;
-
-	/**
-	 * ProjectPropertyPage constructor comment.
-	 */
-	public ProjectPropertyPage() {
-		super();
-	}
-
-	/**
-	 * Create the body of the page.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		try {
-			IAdaptable element = getElement();
-			if (element instanceof IProject)
-				project = (IProject) element;
-
-			Composite composite = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.marginHeight = 0;
-			layout.marginWidth = 0;
-			layout.numColumns = 3;
-			layout.verticalSpacing = 10;
-			composite.setLayout(layout);
-			composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-			
-			Label label = new Label(composite, SWT.WRAP);
-			label.setText(ServerUIPlugin.getResource("%prefProjectDescription"));
-			GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			data.horizontalSpan = 3;
-			data.widthHint = 200;
-			label.setLayoutData(data);
-
-			module = ServerUtil.getModuleProject(project);
-
-			if (module == null) {
-				label = new Label(composite, SWT.NONE);
-				label.setText(ServerUIPlugin.getResource("%prefProjectNotModule"));
-				data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-				data.horizontalSpan = 3;
-				label.setLayoutData(data);
-			} else {
-				IModuleKind mk = ServerCore.getModuleKind(module.getType());
-				if (mk != null) {
-					label = new Label(composite, SWT.NONE);
-					label.setText(ServerUIPlugin.getResource("%prefProject"));
-					data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-					label.setLayoutData(data);
-				
-					Label moduleKind = new Label(composite, SWT.NONE);
-					data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-					data.horizontalSpan = 2;
-					moduleKind.setLayoutData(data);
-					moduleKind.setText(module.getName() + " (" + mk.getName() + ")");
-				}
-				
-				rtComp = new RuntimeTargetComposite(composite, project);
-				
-				IProjectProperties prefs = ServerCore.getProjectProperties(project);
-				IServer prefServer = prefs.getDefaultServer();
-	
-				label = new Label(composite, SWT.NONE);
-				label.setText(ServerUIPlugin.getResource("%prefProjectDefaultServer"));
-				data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-				label.setLayoutData(data);
-				
-				final IServer[] servers = ServerUtil.getServersBySupportedModule(module);
-				if (servers == null || servers.length == 0) {
-					label = new Label(composite, SWT.WRAP);
-					label.setText(ServerUIPlugin.getResource("%prefProjectNotConfigured"));
-					data = new GridData();
-					data.horizontalSpan = 2;
-					label.setLayoutData(data);
-				} else {
-					final Table table = new Table(composite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL);
-					data = new GridData(GridData.FILL_HORIZONTAL);
-					data.horizontalSpan = 2;
-					data.heightHint = 70;
-					table.setLayoutData(data);
-					
-					// add none option
-					TableItem item = new TableItem(table, SWT.NONE);
-					item.setText(ServerUIPlugin.getResource("%prefProjectNoServer"));
-					//item.setImage();
-					
-					int size2 = servers.length;
-					int count = 0;
-					for (int j = 0; j < size2; j++) {
-						item = new TableItem(table, SWT.NONE);
-						item.setText(ServerUICore.getLabelProvider().getText(servers[j]));
-						item.setImage(ServerUICore.getLabelProvider().getImage(servers[j]));
-						item.setData(servers[j]);
-						if (servers[j].equals(prefServer))
-							count = j + 1;
-					}
-
-					table.setSelection(count);
-
-					table.addSelectionListener(new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent event) {
-							int index = table.getSelectionIndex();
-							if (index == 0) {
-								server = null;
-							} else if (index > 0) {
-								server = servers[index-1];
-							}
-						}
-					});
-				}
-			}
-			
-			Dialog.applyDialogFont(composite);
-
-			return composite;
-		} catch (Exception e) {
-			Trace.trace("Error creating project property page", e);
-			return null;
-		}
-	}
-
-	/** 
-	 * Method declared on IPreferencePage.
-	 * Subclasses should override
-	 */
-	public boolean performOk() {
-		if (module != null) {
-			try {
-				if (rtComp.hasChanged())
-					rtComp.apply(new NullProgressMonitor());
-				
-				IProjectProperties props = ServerCore.getProjectProperties(project);
-				props.setDefaultServer(server, new NullProgressMonitor());
-			} catch (CoreException e) {
-				Trace.trace(Trace.SEVERE, "Error setting preferred server", e);
-				EclipseUtil.openError(ServerUIPlugin.getResource("%errorCouldNotSavePreference"), e.getStatus());
-				return false;
-			}
-		}
-		return super.performOk();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
deleted file mode 100644
index 184173e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
+++ /dev/null
@@ -1,362 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorListener;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.task.FinishWizardFragment;
-import org.eclipse.wst.server.ui.internal.task.SaveRuntimeTask;
-import org.eclipse.wst.server.ui.internal.viewers.RuntimeComposite;
-import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardFragment;
-import org.eclipse.wst.server.ui.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * The preference page that holds server runtimes.
- */
-public class RuntimePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	protected Button edit;
-	protected Button remove;
-	protected Label pathLabel;
-
-	/**
-	 * RuntimePreferencesPage constructor comment.
-	 */
-	public RuntimePreferencePage() {
-		super();
-		noDefaultAndApplyButton();
-	}
-	
-	/**
-	 * Create the preference options.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		WorkbenchHelp.setHelp(composite, ContextIds.PREF_GENERAL);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		label.setText(ServerUIPlugin.getResource("%preferenceRuntimesDescription"));
-		
-		final RuntimeComposite runtimeComp = new RuntimeComposite(composite, SWT.NONE, new RuntimeComposite.RuntimeSelectionListener() {
-			public void runtimeSelected(IRuntime runtime) {
-				if (runtime == null) {
-					edit.setEnabled(false);
-					remove.setEnabled(false);
-					pathLabel.setText("");
-				} else if (runtime.isLocked()) {
-					edit.setEnabled(false);
-					remove.setEnabled(false);
-					pathLabel.setText(runtime.getLocation() + "");
-				} else {
-					edit.setEnabled(true);
-					remove.setEnabled(true);
-					pathLabel.setText(runtime.getLocation() + "");
-				}
-			}
-		});
-		runtimeComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-		
-		Composite buttonComp = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-		
-		Button add = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%add"));
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (showWizard(null) == Window.CANCEL)
-					return;
-				runtimeComp.refresh();
-			}
-		});
-		
-		edit = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%edit"));
-		edit.setEnabled(false);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IRuntime runtime = runtimeComp.getSelectedRuntime();
-				if (runtime != null) {
-					IRuntimeWorkingCopy runtimeWorkingCopy = runtime.getWorkingCopy();
-					if (showWizard(runtimeWorkingCopy) != Window.CANCEL) {
-						try {
-							runtimeWorkingCopy.save(new NullProgressMonitor());
-							runtimeComp.refresh(runtime);
-						} catch (Exception ex) { }
-					}
-				}
-			}
-		});
-		
-		remove = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%remove"));
-		remove.setEnabled(false);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IRuntime runtime = runtimeComp.getSelectedRuntime();
-				if (shouldRemoveRuntime(runtime))
-					try {
-						runtime.delete();
-						runtimeComp.remove(runtime);
-					} catch (Exception ex) { }
-			}
-		});
-		
-		Button search = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%search"));
-		search.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					final ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell());
-					dialog.setBlockOnOpen(false);
-					dialog.setCancelable(true);
-					dialog.open();
-					final IProgressMonitor monitor = dialog.getProgressMonitor();
-					monitor.beginTask(ServerUIPlugin.getResource("%search"), 100 * ServerCore.getRuntimeLocators().size() + 10);
-					final List list = new ArrayList();
-					
-					final IRuntimeLocatorListener listener = new IRuntimeLocatorListener() {
-						public void runtimeFound(final IRuntime runtime) {
-							dialog.getShell().getDisplay().syncExec(new Runnable() {
-								public void run() {
-									monitor.subTask(runtime.getName());
-								}
-							});
-							list.add(runtime);
-						}
-					};
-					
-					IRunnableWithProgress runnable = new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor2) {
-							Iterator iterator = ServerCore.getRuntimeLocators().iterator();
-							while (iterator.hasNext()) {
-								IRuntimeLocator locator = (IRuntimeLocator) iterator.next();
-								if (!monitor2.isCanceled())
-									try {
-										locator.searchForRuntimes(listener, monitor2);
-									} catch (CoreException ce) {
-										Trace.trace(Trace.WARNING, "Error locating runtimes: " + locator.getId(), ce);
-									}
-							}
-							System.out.println("done");
-						}
-					};
-					dialog.run(true, true, runnable);
-					
-					Trace.trace(Trace.FINER, "Found runtimes: " + list.size());
-					
-					if (!monitor.isCanceled()) {
-						monitor.worked(5);
-						// remove duplicates from list (based on location)
-						Trace.trace(Trace.FINER, "Removing duplicates");
-						List good = new ArrayList();
-						Iterator iterator2 = list.iterator();
-						while (iterator2.hasNext()) {
-							boolean dup = false;
-							IRuntime wc = (IRuntime) iterator2.next();
-							
-							Iterator iterator = ServerCore.getResourceManager().getRuntimes().iterator();
-							while (iterator.hasNext()) {
-								IRuntime runtime = (IRuntime) iterator.next();
-								if (runtime.getLocation().equals(wc.getLocation()))
-									dup = true;
-							}
-							if (!dup)
-								good.add(wc);
-						}
-						monitor.worked(5);
-						
-						// add to list
-						Trace.trace(Trace.FINER, "Adding runtimes: " + good.size());
-						Iterator iterator = good.iterator();
-						while (iterator.hasNext()) {
-							IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) iterator.next();
-							wc.save(monitor);
-						}
-						monitor.done();
-					}
-					dialog.close();
-				} catch (Exception ex) {
-					Trace.trace(Trace.SEVERE, "Error finding runtimes", ex);
-				}
-				runtimeComp.refresh();
-			}
-		});
-		
-		pathLabel = new Label(parent, SWT.NONE);
-		pathLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-	
-	protected boolean shouldRemoveRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return false;
-
-		// check for use
-		boolean inUse = false;
-	
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (runtime.equals(server.getRuntime()))
-				inUse = true;
-		}
-		
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		if (projects != null) {
-			int size = projects.length;
-			for (int i = 0; i < size; i++) {
-				IProjectProperties props = ServerCore.getProjectProperties(projects[i]);
-				if (runtime.equals(props.getRuntimeTarget()))
-					inUse = true;
-			}
-		}
-		
-		if (inUse) {
-			if (!MessageDialog.openConfirm(getShell(), ServerUIPlugin.getResource("%defaultDialogTitle"), ServerUIPlugin.getResource("%dialogRuntimeInUse")))
-				return false;
-		}
-		
-		return true;
-	}
-	
-	protected int showWizard(final IRuntimeWorkingCopy runtimeWorkingCopy) {
-		String title = null;
-		IWizardFragment fragment = null;
-		if (runtimeWorkingCopy == null) {
-			title = ServerUIPlugin.getResource("%wizNewRuntimeWizardTitle");
-			fragment = new WizardFragment() {
-				public void createSubFragments(List list) {
-					list.add(new NewRuntimeWizardFragment());
-					list.add(new FinishWizardFragment(new SaveRuntimeTask()));
-				}
-			};
-		} else {
-			title = ServerUIPlugin.getResource("%wizEditRuntimeWizardTitle");
-			final IWizardFragment fragment2 = ServerUICore.getWizardFragment(runtimeWorkingCopy.getRuntimeType().getId());
-			if (fragment2 == null) {
-				edit.setEnabled(false);
-				return Window.CANCEL;
-			}
-			fragment = new WizardFragment() {
-				public void createSubFragments(List list) {
-					list.add(new WizardFragment() {
-						public void enter() {
-							getTaskModel().putObject(ITaskModel.TASK_RUNTIME, runtimeWorkingCopy);
-						}
-					});
-					list.add(fragment2);
-					list.add(new FinishWizardFragment(new SaveRuntimeTask()));
-				}
-			};
-		}
-		TaskWizard wizard = new TaskWizard(title, fragment);
-		wizard.setForcePreviousAndNextButtons(true);
-		ClosableWizardDialog dialog = new ClosableWizardDialog(getShell(), wizard);
-		return dialog.open();
-	}
-	
-	protected IRuntime getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return (IRuntime) sel.getFirstElement();
-	}
-	
-	/**
-	 * Initializes this preference page using the passed desktop.
-	 *
-	 * @param desktop the current desktop
-	 */
-	public void init(IWorkbench workbench) { }
-
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 * <p>
-	 * This is a framework hook method for sublcasses to do special things when
-	 * the Defaults button has been pressed.
-	 * Subclasses may override, but should call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-	}
-
-	/** 
-	 * Method declared on IPreferencePage.
-	 * Subclasses should override
-	 */
-	public boolean performOk() {
-		// TODO - should not save until user hits ok 
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible)
-			setTitle(ServerUIPlugin.getResource("%preferenceRuntimesTitleLong"));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeTargetComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeTargetComposite.java
deleted file mode 100644
index be6ce12..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeTargetComposite.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IProjectModule;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.swt.SWT;
-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.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Dialog that prompts a user to change the target runtime.
- */
-public class RuntimeTargetComposite {
-	public interface RuntimeSelectionListener {
-		public void runtimeSelected(IRuntime runtime);
-	}
-
-	protected IProject project;
-	protected IProjectProperties props;
-	protected IRuntime currentRuntime;
-	protected IRuntime newRuntime;
-	protected List targets;
-	protected String[] items;
-	protected RuntimeSelectionListener listener;
-	
-	protected List childProjects;
-	protected boolean setChildren = true;
-	protected int offset = 0;
-
-	/**
-	 * RuntimeTargetComposite constructor comment.
-	 * @param parent Composite
-	 * @param project IProject
-	 */
-	public RuntimeTargetComposite(Composite parent, IProject project) {
-		this.project = project;
-		props = ServerCore.getProjectProperties(project);
-		currentRuntime = props.getRuntimeTarget();
-		if (currentRuntime == null)
-			offset = 1;
-		
-		// get child modules
-		IProjectModule projectModule = ServerUtil.getModuleProject(project);
-		childProjects = new ArrayList();
-		if (projectModule != null) {
-			List children = new ArrayList();
-			IModule[] child = projectModule.getChildModules();
-			if (child != null) {
-				int size = child.length;
-				for (int i = 0; i < size; i++)
-					children.add(child[i]);
-				int a = 0;
-				while (a < children.size()) {
-					IModule module = (IModule) children.get(a);
-					IModule[] child2 = module.getChildModules();
-					if (child2 != null) {
-						size = child2.length;
-						for (int i = 0; i < size; i++)
-							children.add(child2[i]);
-					}
-					a++;
-				}
-			}
-			
-			Iterator iterator = children.iterator();
-			while (iterator.hasNext()) {
-				IModule module = (IModule) iterator.next();
-				if (module instanceof IProjectModule)
-					childProjects.add(module);
-			}
-		}
-		
-		createContents(parent);
-	}
-	
-	/**
-	 * RuntimeTargetComposite constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 * @param project IProject
-	 */
-	public RuntimeTargetComposite(Composite parent, IProject project, RuntimeSelectionListener listener) {
-		this(parent, project);
-		this.listener = listener;
-	}
-
-	/**
-	 * 
-	 */
-	protected void createContents(final Composite parent) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%runtimeTargetCombo"));
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		label.setLayoutData(data);
-		
-		final Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		combo.setLayoutData(data);
-		
-		int sel = updateRuntimes();
-		combo.setItems(items);
-		if (items.length == 0)
-			combo.setEnabled(false);
-		else {
-			combo.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					int select = combo.getSelectionIndex();
-					if (offset > 0 && select == 0)
-						newRuntime = null;
-					else
-						newRuntime = (IRuntime) targets.get(select - offset);
-					if (listener != null)
-						listener.runtimeSelected(newRuntime);
-				}
-			});
-			if (sel >= 0) {
-				combo.select(sel);
-				if (offset == 0 || sel > 0)
-					newRuntime = (IRuntime) targets.get(sel - offset);
-			} else
-				combo.select(0);
-		}
-
-		final IProjectModule projectModule = ServerUtil.getModuleProject(project);
-		
-		Button button = SWTUtil.createButton(parent, ServerUIPlugin.getResource("%runtimeTargetNewRuntime"));
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String currentRuntime2 = combo.getText();
-				String type = null;
-				String version = null;
-				if (projectModule != null) {
-					type = projectModule.getType();
-					version = projectModule.getVersion();
-				}
-				if (ServerUIUtil.showNewRuntimeWizard(parent.getShell(), type, version)) {
-					int sel2 = updateRuntimes();
-					combo.setItems(items);
-					combo.setText(currentRuntime2);
-					if (combo.getSelectionIndex() == -1)
-						combo.select(sel2);
-				}
-			}
-		});
-		
-		// child module selection
-		if (!childProjects.isEmpty()) {
-			final Button includeChildren = new Button(parent, SWT.CHECK);
-			includeChildren.setText(ServerUIPlugin.getResource("%runtimeTargetChildren"));
-			data = new GridData();
-			data.horizontalSpan = 3;
-			includeChildren.setLayoutData(data);
-			includeChildren.setSelection(true);
-			
-			includeChildren.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {
-					setChildren = includeChildren.getSelection();
-				}
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					widgetSelected(e);
-				}
-			});
-		}
-	}
-	
-	protected int updateRuntimes() {
-		IProjectModule pm = ServerUtil.getModuleProject(project);
-		if (pm != null)
-			targets = ServerUtil.getRuntimes(pm.getType(), pm.getVersion());
-
-		items = new String[0];
-		int sel = -1;
-		if (targets != null) {
-			int size = targets.size();
-			items = new String[size + offset];
-			if (offset > 0) {
-				items[0] = ServerUIPlugin.getResource("%runtimeTargetNone");
-				sel = 0;
-			}
-			for (int i = 0; i < size; i++) {
-				IRuntime target = (IRuntime) targets.get(i);
-				items[i+offset] = target.getName();
-				if (target.equals(currentRuntime))
-					sel = i;
-			}
-		}
-		return sel;
-	}
-	
-	public IRuntime getSelectedRuntime() {
-		return newRuntime;
-	}
-	
-	public boolean hasChanged() {
-		if (!childProjects.isEmpty())
-			return true;
-		if (newRuntime == null)
-			return false;
-		if (newRuntime.equals(currentRuntime))
-			return false;
-		return true;
-	}
-
-	public void apply(IProgressMonitor monitor) throws CoreException {
-		if (newRuntime == null || !newRuntime.equals(props.getRuntimeTarget()))
-			props.setRuntimeTarget(newRuntime, monitor);
-		
-		if (setChildren) {
-			Iterator iterator = childProjects.iterator();
-			while (iterator.hasNext()) {
-				IProjectModule module = (IProjectModule) iterator.next();
-				IProject proj = module.getProject();
-				props = ServerCore.getProjectProperties(proj);
-				
-				if (newRuntime == null || !newRuntime.equals(props.getRuntimeTarget()))
-					props.setRuntimeTarget(newRuntime, monitor);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java
deleted file mode 100644
index eee8713..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.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);
-	}
-
-	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);
-		data.heightHint = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	public static int convertHorizontalDLUsToPixels(Composite comp, int x) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertHorizontalDLUsToPixels(fontMetrics, x);
-	}
-	
-	public static int convertVerticalDLUsToPixels(Composite comp, int y) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertVerticalDLUsToPixels(fontMetrics, y);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
deleted file mode 100644
index 260bcf3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * A label provider for all server related objects.
- */
-public class ServerLabelProvider implements ILabelProvider {
-	public ServerLabelProvider() { }
-
-	protected Image getModuleImage(String typeId) {
-		if (typeId == null)
-			return null;
-
-		Image image = ImageResource.getImage(typeId);
-		int ind = typeId.indexOf(".");
-		while (image == null && ind >= 0) {
-			typeId = typeId.substring(0, ind);
-			image = ImageResource.getImage(typeId);
-		}
-		return image;
-	}
-	
-	protected ImageDescriptor getModuleImageDescriptor(String typeId) {
-		if (typeId == null)
-			return null;
-		
-		ImageDescriptor image = ImageResource.getImageDescriptor(typeId);
-		int ind = typeId.indexOf(".");
-		while (image == null && ind >= 0) {
-			typeId = typeId.substring(0, ind);
-			image = ImageResource.getImageDescriptor(typeId);
-		}
-		return image;
-	}
-
-	/*
-	 * @see ILabelProvider#getImage(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object element) {
-		try {
-			if (element instanceof IRuntimeType) {
-				IRuntimeType runtimeType = (IRuntimeType) element;
-				return ImageResource.getImageDescriptor(runtimeType.getId());
-			} else if (element instanceof IRuntime) {
-				IRuntime runtime = (IRuntime) element;
-				return ImageResource.getImageDescriptor(runtime.getRuntimeType().getId());
-			} else if (element instanceof IServerType) {
-				IServerType serverType = (IServerType) element;
-				return ImageResource.getImageDescriptor(serverType.getId());
-			} else if (element instanceof IServer) {
-				IServer server = (IServer) element;
-				return ImageResource.getImageDescriptor(server.getServerType().getId());
-			} else if (element instanceof IServerConfigurationType) {
-				IServerConfigurationType configType = (IServerConfigurationType) element;
-				return ImageResource.getImageDescriptor(configType.getId());
-			} else if (element instanceof IServerConfiguration) {
-				IServerConfiguration config = (IServerConfiguration) element;
-				return ImageResource.getImageDescriptor(config.getServerConfigurationType().getId());
-			} else if (element instanceof IModule) {
-				IModule module = (IModule) element;
-				return getModuleImageDescriptor(module.getType());
-			} else if (element instanceof IWorkbenchAdapter) {
-				return ((IWorkbenchAdapter) element).getImageDescriptor(null);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not get image descriptor", e);
-		}
-		return null;
-	}
-
-	/*
-	 * @see ILabelProvider#getImage(Object)
-	 */
-	public Image getImage(Object element) {
-		try {
-			if (element instanceof IRuntimeType) {
-				IRuntimeType runtimeType = (IRuntimeType) element;
-				return ImageResource.getImage(runtimeType.getId());
-			} else if (element instanceof IRuntime) {
-				IRuntime runtime = (IRuntime) element;
-				return ImageResource.getImage(runtime.getRuntimeType().getId());
-			} else if (element instanceof IServerType) {
-				IServerType serverType = (IServerType) element;
-				return ImageResource.getImage(serverType.getId());
-			} else if (element instanceof IServer) {
-				IServer server = (IServer) element;
-				if (server.getServerType() == null)
-					return null;
-				
-				return ImageResource.getImage(server.getServerType().getId());
-			} else if (element instanceof IServerConfigurationType) {
-				IServerConfigurationType configType = (IServerConfigurationType) element;
-				return ImageResource.getImage(configType.getId());
-			} else if (element instanceof IServerConfiguration) {
-				IServerConfiguration config = (IServerConfiguration) element;
-				return ImageResource.getImage(config.getServerConfigurationType().getId());
-			} else if (element instanceof IModule) {
-				IModule module = (IModule) element;
-				return getModuleImage(module.getType());
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not get image descriptor", e);
-		}
-		return null;
-	}
-
-	protected String getString(String s) {
-		if (s == null)
-			return "";
-		
-		return s;
-	}
-
-	/*
-	 * @see ILabelProvider#getText(Object)
-	 */
-	public String getText(Object element) {
-		if (element == null)
-			return "";
-
-		if (element instanceof IElement) {
-			return getString(((IElement) element).getName());
-		} else if (element instanceof IRuntimeType) {
-			return ((IRuntimeType) element).getName();
-		} else if (element instanceof IServerType) {
-			return ((IServerType) element).getName();
-		} else if (element instanceof IServerConfigurationType) {
-			return ((IServerConfigurationType) element).getName();
-		} else if (element instanceof IClient) {
-			return ((IClient) element).getName();
-		} else if (element instanceof IModule) {
-			return ((IModule) element).getName();
-		} else if (element instanceof IWorkbenchAdapter) {
-			return ((IWorkbenchAdapter) element).getLabel(null);
-		}
-
-		return "";
-	}
-
-	/*
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) { }
-
-	/*
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) { }
-	
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() { }
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java
deleted file mode 100644
index 9916f87..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.List;
-
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-/**
- *
- */
-public class ServerLaunchShortcut implements ILaunchShortcut {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.jface.viewers.ISelection, java.lang.String)
-	 */
-	public void launch(ISelection selection, final String mode) {
-		RunOnServerActionDelegate del = new RunOnServerActionDelegate() {
-			protected String getLaunchMode() {
-				return mode;
-			}
-		};
-		IAction action = new Action() { };
-		del.selectionChanged(action, selection);
-		del.run(action);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.ui.IEditorPart, java.lang.String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		if (editor == null)
-			return;
-		
-		// check if the editor input itself can be run. Otherwise, check if
-		// the editor has a file input that can be run
-		IEditorInput input = editor.getEditorInput();
-		List list = ServerUtil.getModuleObjects(input);
-		if (!list.isEmpty()) {
-			launch(new StructuredSelection(input), mode);
-		} else if (input instanceof IFileEditorInput) {
-			IFileEditorInput fei = (IFileEditorInput) input;
-			ISelection sel = new StructuredSelection(fei.getFile());
-			launch(sel, mode);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchFilter#testAttribute(org.eclipse.core.resources.IResource, java.lang.String, java.lang.String)
-	 */
-	/*public boolean testAttribute(IResource target, String name, String value) {
-		return true;
-	}*/
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java
deleted file mode 100644
index 78cf660..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java
+++ /dev/null
@@ -1,403 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.wst.server.core.IPublishManager;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerPreferences;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.IServerUIPreferences;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The preference page that holds server properties.
- */
-public class ServerPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	protected Button publishDetailsButton;
-	protected Button publishBeforeStart;
-	protected Button autoRestart;
-
-	protected Combo publisherCombo;
-	protected Label publisherDescription;
-	protected String[] publisherIds;
-
-	protected Button promptIrreversible;
-	
-	protected byte saveEditors;
-	protected byte repairServers;
-	
-	protected Button saveNever;
-	protected Button savePrompt;
-	protected Button saveAuto;
-	
-	protected Button repairNever;
-	protected Button repairPrompt;
-	protected Button repairAlways;
-	
-	protected Button createInWorkspace;
-
-	protected IServerPreferences preferences;
-	protected IServerUIPreferences uiPreferences;
-
-	/**
-	 * ServerPreferencesPage constructor comment.
-	 */
-	public ServerPreferencePage() {
-		super();
-	
-		preferences = ServerCore.getServerPreferences();
-		uiPreferences = ServerUICore.getPreferences();
-	}
-	
-	/**
-	 * Create the preference options.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 3;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		WorkbenchHelp.setHelp(composite, ContextIds.PREF_GENERAL);
-		
-		publishBeforeStart = new Button(composite, SWT.CHECK);
-		publishBeforeStart.setText(ServerUIPlugin.getResource("%prefPublishBeforeStarting"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		publishBeforeStart.setLayoutData(data);
-		publishBeforeStart.setSelection(preferences.isAutoPublishing());
-		WorkbenchHelp.setHelp(publishBeforeStart, ContextIds.PREF_GENERAL_PUBLISH_BEFORE_START);
-		
-		publishDetailsButton = new Button(composite, SWT.CHECK);
-		publishDetailsButton.setText(ServerUIPlugin.getResource("%prefShowPublishingDetails"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		publishDetailsButton.setLayoutData(data);
-		publishDetailsButton.setSelection(uiPreferences.getShowPublishingDetails());
-		WorkbenchHelp.setHelp(publishDetailsButton, ContextIds.PREF_GENERAL_SHOW_PUBLISHING_DETAILS);
-	
-		autoRestart = new Button(composite, SWT.CHECK);
-		autoRestart.setText(ServerUIPlugin.getResource("%prefAutoRestart"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		autoRestart.setLayoutData(data);
-		autoRestart.setSelection(preferences.isAutoRestarting());
-		WorkbenchHelp.setHelp(autoRestart, ContextIds.PREF_GENERAL_AUTO_RESTART);
-		
-		promptIrreversible = new Button(composite, SWT.CHECK);
-		promptIrreversible.setText(ServerUIPlugin.getResource("%prefPromptIrreversible"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		promptIrreversible.setLayoutData(data);
-		promptIrreversible.setSelection(uiPreferences.getPromptBeforeIrreversibleChange());
-		WorkbenchHelp.setHelp(promptIrreversible, ContextIds.PREF_GENERAL_PROMPT_IRREVERSIBLE);
-		
-		createInWorkspace = new Button(composite, SWT.CHECK);
-		createInWorkspace.setText(ServerUIPlugin.getResource("%prefCreateInWorkspace"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		createInWorkspace.setLayoutData(data);
-		createInWorkspace.setSelection(preferences.isCreateResourcesInWorkspace());
-		WorkbenchHelp.setHelp(createInWorkspace, ContextIds.PREF_GENERAL_CREATE_IN_WORKSPACE);
-		
-		// save editors group
-		Group saveEditorGroup = new Group(composite, SWT.NONE);
-		saveEditorGroup.setText(ServerUIPlugin.getResource("%prefSaveEditorsGroup"));
-		
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		saveEditorGroup.setLayout(layout);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		saveEditorGroup.setLayoutData(data);
-		
-		saveNever = new Button(saveEditorGroup, SWT.RADIO);
-		saveNever.setText(ServerUIPlugin.getResource("%prefSaveEditorsNever"));
-		saveNever.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				saveEditors = IServerUIPreferences.SAVE_EDITORS_NEVER;
-			}
-		});
-		WorkbenchHelp.setHelp(saveNever, ContextIds.PREF_GENERAL_SAVE_EDITORS);
-		
-		savePrompt = new Button(saveEditorGroup, SWT.RADIO);
-		savePrompt.setText(ServerUIPlugin.getResource("%prefSaveEditorsPrompt"));
-		savePrompt.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				saveEditors = IServerUIPreferences.SAVE_EDITORS_PROMPT;
-			}
-		});
-		WorkbenchHelp.setHelp(savePrompt, ContextIds.PREF_GENERAL_SAVE_EDITORS);
-		
-		saveAuto = new Button(saveEditorGroup, SWT.RADIO);
-		saveAuto.setText(ServerUIPlugin.getResource("%prefSaveEditorsAutosave"));
-		saveAuto.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				saveEditors = IServerUIPreferences.SAVE_EDITORS_AUTO;
-			}
-		});
-		WorkbenchHelp.setHelp(saveAuto, ContextIds.PREF_GENERAL_SAVE_EDITORS);
-		
-		setSaveEditorStatus(uiPreferences.getSaveEditors());
-		
-		// repair group
-		Group repairGroup = new Group(composite, SWT.NONE);
-		repairGroup.setText(ServerUIPlugin.getResource("%prefRepairModuleGroup"));
-
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		repairGroup.setLayout(layout);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		repairGroup.setLayoutData(data);
-
-		repairNever = new Button(repairGroup, SWT.RADIO);
-		repairNever.setText(ServerUIPlugin.getResource("%prefRepairModuleNever"));
-		repairNever.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				repairServers = IServerPreferences.REPAIR_NEVER;
-			}
-		});
-		WorkbenchHelp.setHelp(repairNever, ContextIds.PREF_GENERAL_REPAIR);
-
-		repairPrompt = new Button(repairGroup, SWT.RADIO);
-		repairPrompt.setText(ServerUIPlugin.getResource("%prefRepairModulePrompt"));
-		repairPrompt.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				repairServers = IServerPreferences.REPAIR_PROMPT;
-			}
-		});
-		WorkbenchHelp.setHelp(repairPrompt, ContextIds.PREF_GENERAL_REPAIR);
-
-		repairAlways = new Button(repairGroup, SWT.RADIO);
-		repairAlways.setText(ServerUIPlugin.getResource("%prefRepairModuleAutomatic"));
-		repairAlways.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				repairServers = IServerPreferences.REPAIR_ALWAYS;
-			}
-		});
-		WorkbenchHelp.setHelp(repairAlways, ContextIds.PREF_GENERAL_REPAIR);
-		
-		setRepairStatus(preferences.getModuleRepairStatus());
-	
-		// publish combo
-		new Label(composite, SWT.NONE).setText(ServerUIPlugin.getResource("%prefPublisher"));
-		
-		publisherCombo = new Combo(composite, SWT.READ_ONLY | SWT.DROP_DOWN);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		publisherCombo.setLayoutData(data);
-	
-		Map map = ServerCore.getPublishManagers();
-		String[] s = new String[map.size()];
-		publisherIds = new String[map.size()];
-		int i = 0;
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			IPublishManager publisher = (IPublishManager) map.get(id);
-			publisherIds[i] = id;
-			s[i++] = publisher.getName();
-		}
-		publisherCombo.setItems(s);
-		publisherCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				handlePublisherSelection();
-			}
-		});
-		WorkbenchHelp.setHelp(publisherCombo, ContextIds.PREF_GENERAL_PUBLISHER);
-	
-		new Label(composite, SWT.NONE).setText("");
-	
-		publisherDescription = new Label(composite, SWT.WRAP);
-		publisherDescription.setText("");
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		data.widthHint = 200;
-		data.heightHint = 100;
-		data.horizontalSpan = 2;
-		publisherDescription.setLayoutData(data);
-	
-		selectPublisher(preferences.getPublishManager());
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-	
-	/**
-	 * Return the publisher id at the given index.
-	 * 
-	 * @return java.lang.String
-	 * @param index int
-	 */
-	protected String getPublisherId(int index) {
-		if (index < 0 || index >= publisherIds.length)
-			return null;
-		return publisherIds[index];
-	}
-	
-	/**
-	 * Handle a publisher selection
-	 */
-	protected void handlePublisherSelection() {
-		try {
-			int sel = publisherCombo.getSelectionIndex();
-			String id = getPublisherId(sel);
-			IPublishManager publisher = (IPublishManager) ServerCore.getPublishManagers().get(id);
-			publisherDescription.setText(publisher.getDescription());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error showing publisher description", e);
-			publisherDescription.setText("");
-		}
-	}
-	
-	protected void setSaveEditorStatus(byte status) {
-		saveEditors = status;
-		saveNever.setSelection(saveEditors == IServerUIPreferences.SAVE_EDITORS_NEVER);
-		savePrompt.setSelection(saveEditors == IServerUIPreferences.SAVE_EDITORS_PROMPT);
-		saveAuto.setSelection(saveEditors == IServerUIPreferences.SAVE_EDITORS_AUTO); 
-	}
-	
-	protected void setRepairStatus(byte status) {
-		repairServers = status;
-		repairNever.setSelection(repairServers == IServerPreferences.REPAIR_NEVER);
-		repairPrompt.setSelection(repairServers == IServerPreferences.REPAIR_PROMPT);
-		repairAlways.setSelection(repairServers == IServerPreferences.REPAIR_ALWAYS);
-	}
-	
-	/**
-	 * Initializes this preference page using the passed desktop.
-	 *
-	 * @param desktop the current desktop
-	 */
-	public void init(IWorkbench workbench) { }
-	
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 * <p>
-	 * This is a framework hook method for sublcasses to do special things when
-	 * the Defaults button has been pressed.
-	 * Subclasses may override, but should call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		publishDetailsButton.setSelection(uiPreferences.getDefaultShowPublishingDetails());
-		autoRestart.setSelection(preferences.isDefaultAutoRestarting());
-		publishBeforeStart.setSelection(preferences.isDefaultAutoPublishing());
-		selectPublisher(preferences.getDefaultPublishManager());
-		promptIrreversible.setSelection(uiPreferences.getDefaultPromptBeforeIrreversibleChange());
-		createInWorkspace.setSelection(preferences.isDefaultCreateResourcesInWorkspace());
-		
-		setRepairStatus(preferences.getDefaultModuleRepairStatus());
-		setSaveEditorStatus(uiPreferences.getDefaultSaveEditors());
-	
-		super.performDefaults();
-	}
-
-	/**
-	 * Method declared on IPreferencePage.
-	 * Subclasses should override
-	 */
-	public boolean performOk() {
-		uiPreferences.setShowPublishingDetails(publishDetailsButton.getSelection());
-		preferences.setAutoPublishing(publishBeforeStart.getSelection());
-		preferences.setAutoRestarting(autoRestart.getSelection());
-		preferences.setModuleRepairStatus(repairServers);
-		uiPreferences.setSaveEditors(saveEditors);
-		uiPreferences.setPromptBeforeIrreversibleChange(promptIrreversible.getSelection());
-		preferences.setCreateResourcesInWorkspace(createInWorkspace.getSelection());
-	
-		int sel = publisherCombo.getSelectionIndex();
-		preferences.setPublishManager(getPublisherId(sel));
-	
-		// auto restart any servers that are ready for restart
-		if (autoRestart.getSelection())
-			autoRestartAll();
-	
-		return true;
-	}
-
-	/**
-	 * Select a publisher.
-	 * 
-	 * @param id java.lang.String
-	 */
-	protected void selectPublisher(String id) {
-		if (id == null || id.length() == 0)
-			return;
-
-		for (int i = 0; i < publisherIds.length; i++) {
-			if (id.equals(publisherIds[i])) {
-				publisherCombo.select(i);
-				IPublishManager publisher = (IPublishManager) ServerCore.getPublishManagers().get(id);
-				publisherDescription.setText(publisher.getDescription());
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Automatically restart any servers that require it.
-	 */
-	protected static void autoRestartAll() {
-		Trace.trace(Trace.FINEST, "Auto restarting all dirty servers");
-	
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (server.isRestartNeeded()) {
-				byte state = server.getServerState();
-				String mode = ILaunchManager.RUN_MODE;
-				if (state == IServer.SERVER_STARTED_DEBUG)
-					mode = ILaunchManager.DEBUG_MODE;
-				else if (state == IServer.SERVER_STARTED_PROFILE)
-					mode = ILaunchManager.PROFILE_MODE;
-				if (server.canRestart(mode))
-					try {
-						Trace.trace(Trace.FINEST, "Attempting to auto restart " + server.getName());
-						server.restart(mode);
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error restarting: " + server, e);
-					}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java
deleted file mode 100644
index af7b159..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-
-/**
- * 
- */
-public class ServerPropertyTester extends PropertyTester {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-	 */
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		try {
-			IModule module = ServerUtil.getModule(receiver, false);
-			return (module != null);
-		} catch (Exception e) {
-			return true;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerStartupListener.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerStartupListener.java
deleted file mode 100644
index f449e24..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerStartupListener.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.server.core.IClient;
-import org.eclipse.wst.server.core.ILaunchableAdapter;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.ServerPreferences;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.ServerAdapter;
-import org.eclipse.wst.server.ui.ServerUICore;
-
-/**
- * A class that listens to the startup of a server. To use
- * it, just create an instance using one of the two constructors.
- *
- * This class will listen immediately for errors in the server
- * startup. However, it will not display an error until it has
- * been enabled. (setEnabled(true)) If you decide you want to
- * cancel the startup listener, just call setEnabled(false),
- * and the listener will be disposed of.
- */
-public class ServerStartupListener {
-	protected IServer server;
-	protected Shell shell;
-	protected IServerListener listener;
-
-	protected IClient client;
-	protected ILaunchableAdapter launchableAdapter;
-	protected IModuleObject moduleObject;
-	protected String launchMode;
-	protected IModule module;
-
-	// if true, ignores the first shutdown
-	protected boolean ignoreShutdown = false;
-
-	// if true, will output error messages
-	protected boolean isEnabled = false;
-
-	// if true, an error has occurred while this class was
-	// disabled
-	protected boolean isError = false;
-
-	/**
-	 * ServerStartupListener constructor comment.
-	 */
-	public ServerStartupListener(Shell shell, IServer server) {
-		super();
-		this.shell = shell;
-		this.server = server;
-	
-		listener = new ServerAdapter() {
-			public void serverStateChange(IServer server2) {
-				handleStateChange(server2.getServerState());
-			}
-		};
-		server.addServerListener(listener);
-	}
-
-	/**
-	 * ServerStartupListener constructor comment.
-	 */
-	public ServerStartupListener(Shell shell, IServer server, IClient client, ILaunchableAdapter launchableAdapter, IModuleObject moduleObject, String launchMode, IModule module) {
-		this(shell, server);
-		this.client = client;
-		this.launchableAdapter = launchableAdapter;
-		this.launchMode = launchMode;
-		this.module = module;
-		this.moduleObject = moduleObject;
-	}
-
-	/**
-	 * ServerStartupListener constructor comment.
-	 */
-	public ServerStartupListener(Shell shell, IServer server, IClient client, ILaunchableAdapter launchableAdapter, IModuleObject moduleObject, String launchMode, IModule module, boolean ignoreShutdown) {
-		this(shell, server, client, launchableAdapter, moduleObject, launchMode, module);
-		this.ignoreShutdown = ignoreShutdown;
-	}
-
-	/**
-	 * ServerStartupListener constructor comment.
-	 */
-	public ServerStartupListener(Shell shell, IServer server, boolean ignoreShutdown) {
-		this(shell, server);
-		this.ignoreShutdown = ignoreShutdown;
-	}
-	
-	/**
-	 * Display the startup error notice.
-	 */
-	protected void displayError() {
-		// display error notice
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				String message = ServerUIPlugin.getResource("%errorServerStartFailed", server.getName());
-				MessageDialog.openError(shell, ServerUIPlugin.getResource("%errorDialogTitle"), message);
-			}
-		});
-	}
-
-	/**
-	 * Dispose of the listener and quit.
-	 */
-	protected void dispose() {
-		if (listener != null)
-			server.removeServerListener(listener);
-		listener = null;
-	}
-
-	/**
-	 * Handle a state change in the starting server.
-	 *
-	 * @param state byte
-	 */
-	protected void handleStateChange(byte state) {
-		switch (state) {
-			case IServer.SERVER_STARTED:
-			case IServer.SERVER_STARTED_DEBUG:
-			case IServer.SERVER_STARTED_PROFILE: {
-				dispose();
-				openClient();
-				break;
-			}
-			case IServer.SERVER_STOPPED:
-			case IServer.SERVER_STOPPING: {
-				if (!ignoreShutdown) {
-					dispose();
-					if (isEnabled)
-						displayError();
-					else
-						isError = true;
-				} else if (ignoreShutdown && state == IServer.SERVER_STOPPED) {
-					ignoreShutdown = false;
-				}
-				break;
-			}
-		}
-	}
-
-	/**
-	 * Open the client, if one exists.
-	 */
-	protected void openClient() {
-		if (client == null)
-			return;
-		
-		launchClientUtil(server, module, launchableAdapter, moduleObject, launchMode, client);
-	}
-
-	/**
-	 * Allows the startup listener to be enabled or disabled.
-	 *
-	 * @param enabled boolean
-	 */
-	public void setEnabled(boolean enabled) {
-		if (enabled) {
-			if (isError)
-				displayError();
-			else
-				isEnabled = true;
-		} else
-			dispose();
-	}
-
-	public static void launchClientUtil(final IServer server, final IModule module, final ILaunchableAdapter la, final IModuleObject mo, final String launchMode, final IClient client) {
-		if (client == null || server == null)
-			return;
-	
-		// initial implementation - should just wait for a module state change event
-		if (server.getModuleState(module) == IServer.MODULE_STATE_STARTING) {
-			class DisplayClientJob extends Job {
-				public DisplayClientJob() {
-					super(ServerUIPlugin.getResource("%viewStatusStarting3"));
-				}
-
-				public IStatus run(IProgressMonitor monitor) {
-					IStatus status = new Status(IStatus.OK, ServerUICore.PLUGIN_ID, 0, "", null);
-
-					// wait for up to 5 minutes
-					byte state = server.getModuleState(module);
-					int count = ((ServerPreferences)ServerCore.getServerPreferences()).getModuleStartTimeout();
-					while (state == IServer.MODULE_STATE_STARTING && count > 0) {
-						if (monitor.isCanceled())
-							return status;
-						try {
-							Thread.sleep(2000);
-						} catch (Exception e) { }
-						count -= 2000;
-						state = server.getModuleState(module);
-					}
-					
-					if (monitor.isCanceled())
-						return status;
-					
-					if (state != IServer.MODULE_STATE_STARTED)
-						return status;
-					
-					// display client on UI thread
-					Display.getDefault().asyncExec(new Runnable() {
-						public void run() {
-							Trace.trace("Attempting to load client: " + client);
-							try {
-								ILaunchable launchable = la.getLaunchable(server, mo);
-								client.launch(server, launchable, launchMode, server.getExistingLaunch());
-							} catch (Exception e) {
-								Trace.trace("Server client failed", e);
-							}
-						}
-					});
-					return status;
-				}
-			}
-			DisplayClientJob job = new DisplayClientJob();
-			job.schedule();
-			return;
-		}
-	
-		// display client on UI thread
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Trace.trace("Attempting to load client: " + client);
-				try {
-					ILaunchable launchable = la.getLaunchable(server, mo);
-					client.launch(server, launchable, launchMode, server.getExistingLaunch());
-				} catch (Exception e) {
-					Trace.trace("Server client failed", e);
-				}
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerTree.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerTree.java
deleted file mode 100644
index 36160a5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerTree.java
+++ /dev/null
@@ -1,368 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.actions.NewServerAction;
-import org.eclipse.wst.server.ui.internal.view.servers.DeleteAction;
-import org.eclipse.wst.server.ui.internal.view.servers.OpenAction;
-import org.eclipse.wst.server.ui.internal.view.servers.PublishAction;
-import org.eclipse.wst.server.ui.internal.view.servers.RestartAction;
-import org.eclipse.wst.server.ui.internal.view.servers.StartAction;
-import org.eclipse.wst.server.ui.internal.view.tree.ServerElementAdapter;
-import org.eclipse.wst.server.ui.internal.view.tree.ServerTreeAction;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * 
- */
-public class ServerTree {
-	/**
-	 * Constants for actions
-	 */
-	public static final byte ACTION_OPEN = 0;
-	public static final byte ACTION_DELETE = 1;
-	public static final byte ACTION_BOOKMARK = 2;
-
-	private ServerTree() { }
-	
-	public static void fillContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		MenuManager newMenu = new MenuManager(ServerUIPlugin.getResource("%actionNew"));
-		fillNewContextMenu(shell, selection, newMenu);
-		menu.add(newMenu);
-		fillOtherContextMenu(shell, selection, menu);
-	}
-	
-	public static void fillNewContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		IAction newServerAction = new NewServerAction();
-		newServerAction.setText(ServerUIPlugin.getResource("%actionNewServer"));
-		menu.add(newServerAction);
-	}
-
-	public static void fillOtherContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		if (selection == null)
-			return;
-
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
-			return;
-
-		//IStructuredSelection sel = (IStructuredSelection) selection;
-		
-		//boolean singleSelect = (sel.size() == 1);
-		//Object first = sel.getFirstElement();
-
-		// open menu
-		/*if (singleSelect && first instanceof ServerResourceAdapter) {
-			ServerResourceAdapter adapter = (ServerResourceAdapter) first;
-			IServerResource resource = adapter.getServerResource();
-			menu.add(new OpenAction(resource));
-			menu.add(new Separator());
-		}
-		
-		// delete menu
-		List list = new ArrayList();
-		boolean canDelete = true;
-		Iterator iterator2 = sel.iterator();
-		while (iterator2.hasNext()) {
-			Object obj = iterator2.next();
-			
-			if (obj instanceof ServerResourceAdapter)
-				list.add(((ServerResourceAdapter) obj).getServerResource());
-			else
-				canDelete = false;
-		}
-		if (canDelete) {
-			IServerResource[] res = new IServerResource[list.size()];
-			list.toArray(res);
-			menu.add(new DeleteAction(shell, res));
-		}
-
-		if (singleSelect && first instanceof IServerElementTag)
-			menu.add(new Separator());
-
-		if (singleSelect && first instanceof ServerResourceAdapter) {
-			ServerResourceAdapter adapter = (ServerResourceAdapter) first;
-			IServerResource resource = adapter.getServerResource();
-
-			IServer server = null;
-			if (resource instanceof IServer)
-				server = (IServer) resource;
-
-			// switch configuration menu
-			if (server != null) {
-				addServerActions(shell, menu, server);
-
-				MenuManager menuManager = new MenuManager(ServerUIPlugin.getResource("%actionSwitchConfiguration"));
-				menuManager.add(new SwitchConfigurationAction(shell, ServerUIPlugin.getResource("%viewNoConfiguration"), server, null));
-
-				List configs = ServerUtil.getSupportedServerConfigurations(server);
-				Iterator iterator = configs.iterator();
-				while (iterator.hasNext()) {
-					IServerConfiguration config = (IServerConfiguration) iterator.next();
-					menuManager.add(new SwitchConfigurationAction(shell, ServerUtil.getName(config), server, config));
-				}
-
-				menu.add(menuManager);
-			}
-			
-			if (server != null && server instanceof IModuleRestartable) {
-				menu.add(new Separator());
-
-				MenuManager restartProjectMenu = new MenuManager(ServerUIPlugin.getResource("%actionRestartProject"));
-
-				IModuleRestartable restartable = (IModuleRestartable) server;
-
-				IServerConfiguration configuration = ServerUtil.getServerConfiguration(server);
-				if (configuration != null) {
-					Iterator iterator = ServerUtil.getAllContainedModules(configuration).iterator();
-					while (iterator.hasNext()) {
-						IModule module = (IModule) iterator.next();
-						Action action = new RestartModuleAction(restartable, module);
-						restartProjectMenu.add(action);
-					}
-				}
-				if (restartProjectMenu.isEmpty())
-					menu.add(new DisabledMenuManager(ServerUIPlugin.getResource("%actionRestartProject")));
-				else
-					menu.add(restartProjectMenu);
-			}
-		}
-		if (singleSelect && first instanceof ModuleResourceAdapter) {
-			ModuleResourceAdapter adapter = (ModuleResourceAdapter) first;
-			IServerConfiguration configuration = adapter.getServerConfiguration();
-			IModule module = adapter.getModule();
-			
-			IModule[] modules = configuration.getModules();
-			boolean found = false;
-			if (modules != null && module != null) {
-				int size = modules.length;
-				for (int i = 0; i < size; i++) {
-					if (module.equals(modules[i]) && configuration.canRemoveModule(module))
-						found = true;
-				}
-			}
-	
-			if (found)
-				menu.add(new ModifyConfigurationModulesAction(shell, configuration, module, false));
-		}
-		
-		if (singleSelect && first instanceof ServerResourceAdapter) {
-			ServerResourceAdapter adapter = (ServerResourceAdapter) first;
-			IServerResource resource = adapter.getServerResource();
-
-			IServer server = null;
-			IServerConfiguration configuration = null;
-			if (resource instanceof IServerConfiguration)
-				configuration = (IServerConfiguration) resource;
-			else if (resource instanceof IServer) {
-				server = (IServer) resource;
-				configuration = ServerUtil.getServerConfiguration(server);
-			}
-			
-			ServerAction.addServerMenuItems(shell, menu, server, configuration);
-		}*/
-	}
-
-	protected static void addServerActions(Shell shell, IMenuManager menu, IServer server) {
-		final ISelection selection = new StructuredSelection(server);
-		ISelectionProvider provider = new ISelectionProvider() {
-			public void addSelectionChangedListener(ISelectionChangedListener listener) { }
-			public ISelection getSelection() {
-				return selection;
-			}
-			public void removeSelectionChangedListener(ISelectionChangedListener listener) { }
-			public void setSelection(ISelection sel) { }
-		};
-	
-		// create the debug action
-		Action debugAction = new StartAction(shell, provider, "debug", ILaunchManager.DEBUG_MODE);
-		debugAction.setToolTipText(ServerUIPlugin.getResource("%actionDebugToolTip"));
-		debugAction.setText(ServerUIPlugin.getResource("%actionDebug"));
-		debugAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_DEBUG));
-		debugAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_DEBUG));
-		debugAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_DEBUG));
-		menu.add(debugAction);
-	
-		// create the start action
-		Action runAction = new StartAction(shell, provider, "start", ILaunchManager.RUN_MODE);
-		runAction.setToolTipText(ServerUIPlugin.getResource("%actionStartToolTip"));
-		runAction.setText(ServerUIPlugin.getResource("%actionStart"));
-		runAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START));
-		runAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START));
-		runAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START));
-		menu.add(runAction);
-		
-		// create the profile action
-		Action profileAction = new StartAction(shell, provider, "profile", ILaunchManager.PROFILE_MODE);
-		profileAction.setToolTipText(ServerUIPlugin.getResource("%actionProfileToolTip"));
-		profileAction.setText(ServerUIPlugin.getResource("%actionProfile"));
-		profileAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_PROFILE));
-		profileAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_PROFILE));
-		profileAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_PROFILE));
-		menu.add(profileAction);
-	
-		// create the restart action
-		MenuManager menuManager = new MenuManager(ServerUIPlugin.getResource("%actionRestart"));
-		
-		Action restartAction = new RestartAction(shell, provider, "restart", ILaunchManager.RUN_MODE);
-		restartAction.setToolTipText(ServerUIPlugin.getResource("%actionRestartToolTip"));
-		restartAction.setText(ServerUIPlugin.getResource("%actionRestart"));
-		restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_RESTART));
-		restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_RESTART));
-		restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_RESTART));
-		menuManager.add(restartAction);
-		//menu.add(restartAction);
-		menu.add(menuManager);
-
-		// create the stop action
-		/*Action stopAction = new StopAction(shell, provider, "stop", IServerFactory.SERVER_STATE_SET_MANAGED);
-		stopAction.setToolTipText(ServerUIPlugin.getResource("%actionStopToolTip"));
-		stopAction.setText(ServerUIPlugin.getResource("%actionStop"));
-		stopAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP));
-		stopAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP));
-		stopAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP));
-		menu.add(stopAction);
-
-		// create the disconnect action
-		Action disconnectAction = new StopAction(shell, provider, "disconnect", IServerFactory.SERVER_STATE_SET_ATTACHED);
-		disconnectAction.setToolTipText(ServerUIPlugin.getResource("%actionStopToolTip2"));
-		disconnectAction.setText(ServerUIPlugin.getResource("%actionStop2"));
-		disconnectAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_DISCONNECT));
-		disconnectAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_DISCONNECT));
-		disconnectAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_DISCONNECT));
-		menu.add(disconnectAction);*/
-
-		// create the publish action
-		Action publishAction = new PublishAction(shell, provider, "publish");
-		publishAction.setToolTipText(ServerUIPlugin.getResource("%actionPublishToolTip"));
-		publishAction.setText(ServerUIPlugin.getResource("%actionPublish"));
-		publishAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_PUBLISH));
-		publishAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_PUBLISH));
-		publishAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_PUBLISH));
-		menu.add(publishAction);
-	}
-
-	public static boolean isActionEnabled(ISelection selection, byte action) {
-		if (selection == null || action < 0)
-			return false;
-
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
-			return false;
-
-		IStructuredSelection sel = (IStructuredSelection) selection;
-		
-		if (action == ACTION_OPEN) {
-			if (sel.size() != 1)
-				return false;
-
-			Object obj = sel.getFirstElement();
-
-			return (obj instanceof ServerElementAdapter);
-		} else if (action == ACTION_DELETE) {
-			if (sel.size() == 0)
-				return false;
-			
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				
-				if (!(obj instanceof ServerElementAdapter) && !(obj instanceof IServer))
-					return false;
-			}
-			return true;
-		}
-
-		return false;
-	}
-
-	public static boolean performAction(Shell shell, ISelection selection, byte action) {
-		//if (!isActionEnabled(selection, action))
-		//	return false;
-
-		if (selection == null || action < 0)
-			return false;
-
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
-			return false;
-
-		IStructuredSelection sel = (IStructuredSelection) selection;
-
-		if (action == ACTION_OPEN) {
-			if (sel.size() != 1)
-				return false;
-
-			Object obj = sel.getFirstElement();
-			if (obj instanceof IServer) {
-				Action open = new OpenAction((IServer) obj);
-				open.run();
-				return true;
-			} else if (obj instanceof ServerElementAdapter) {
-				ServerElementAdapter adapter = (ServerElementAdapter) obj;
-				IElement element = adapter.getServerResource();
-				if (element instanceof IServer) {
-					Action open = new OpenAction((IServer) element);
-					open.run();
-					return true;
-				}
-				return false;
-			}
-			return false;
-		} else if (action == ACTION_DELETE) {
-			if (sel.size() == 0)
-				return false;
-			
-			List list = new ArrayList();
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				
-				if (obj instanceof IElement)
-					list.add(obj);
-				else if (obj instanceof ServerElementAdapter)
-					list.add(((ServerElementAdapter) obj).getServerResource());
-			}
-			
-			IElement[] res = new IElement[list.size()];
-			list.toArray(res);
-			
-			Action delete = new DeleteAction(shell, res);
-			delete.run();
-			return true;
-		}
-
-		return false;
-	}
-	
-	/**
-	 * Returns an action of the specified type, which can be used for global
-	 */
-	public static IAction getAction(Shell shell, ISelectionProvider provider, byte action) {
-		if (action == ACTION_DELETE) {
-			return new ServerTreeAction(shell, provider, ServerUIPlugin.getResource("%actionDelete"), ServerTree.ACTION_DELETE);
-		}
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerTreeContentProvider.java
deleted file mode 100644
index 19d14cf..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerTreeContentProvider.java
+++ /dev/null
@@ -1,447 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IModuleEvent;
-import org.eclipse.wst.server.core.model.IModuleEventsListener;
-import org.eclipse.wst.server.core.model.IModuleFactoryEvent;
-import org.eclipse.wst.server.core.model.IServerListener;
-import org.eclipse.wst.server.core.model.IServerResourceListener;
-import org.eclipse.wst.server.core.util.ServerAdapter;
-import org.eclipse.wst.server.core.util.ServerResourceAdapter;
-import org.eclipse.wst.server.ui.internal.view.tree.ConfigurationProxyResourceAdapter;
-import org.eclipse.wst.server.ui.internal.view.tree.ModuleResourceAdapter;
-import org.eclipse.wst.server.ui.internal.view.tree.ServerElementAdapter;
-import org.eclipse.wst.server.ui.internal.view.tree.TextResourceAdapter;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Provides tree contents for objects that have the IWorkbenchAdapter
- * adapter registered. 
- */
-public class ServerTreeContentProvider implements ITreeContentProvider {
-	protected TreeViewer viewer;
-	
-	// listeners
-	protected IServerResourceListener listener;
-	protected IServerListener serverListener;
-	protected IResourceChangeListener resourceChangeListener;
-	protected IModuleEventsListener moduleEventsListener;
-
-	/**
-	 * 
-	 */
-	public ServerTreeContentProvider() {
-		// add listeners
-		addServerResourceListener();
-		addServerConfigurationListener();
-		addModuleEventsListener();
-	}
-
-	public Object[] getServerTreeRoots(Object parent) {
-		/*looseConfig = getLooseConfigurations();
-		if (looseConfig.length == 0)
-			return new Object[] { new TextResourceAdapter(parent, TextResourceAdapter.STYLE_SERVERS) };
-		else*/
-			return new Object[] { new TextResourceAdapter(parent, TextResourceAdapter.STYLE_SERVERS) };
-				//new TextResourceAdapter(parent, TextResourceAdapter.STYLE_LOOSE_CONFIGURATIONS) };
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IContentProvider.
-	 */
-	public void dispose() {
-		// remove listeners
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			server.removeServerListener(serverListener);
-		}
-
-		ServerCore.getResourceManager().removeResourceListener(listener);
-		
-		if (moduleEventsListener != null)
-			ServerCore.getResourceManager().removeModuleEventsListener(moduleEventsListener);
-	}
-
-	/**
-	 * Returns the implementation of IWorkbenchAdapter for the given
-	 * object.  Returns null if the adapter is not defined or the
-	 * object is not adaptable.
-	 */
-	protected IWorkbenchAdapter getAdapter(Object o) {
-		if (!(o instanceof IAdaptable))
-			return null;
-
-		return (IWorkbenchAdapter)((IAdaptable)o).getAdapter(IWorkbenchAdapter.class);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ITreeContentProvider.
-	 */
-	public Object[] getChildren(Object element) {
-		if (element instanceof TextResourceAdapter) {
-			TextResourceAdapter adapter = (TextResourceAdapter) element;
-			Object[] children = adapter.getChildren(null);
-			if (children != null) {
-				int size = children.length;
-				for (int i = 0; i < size; i++) {
-					if (children[i] instanceof ServerElementAdapter) {
-						ServerElementAdapter adapter2 = (ServerElementAdapter) children[i];
-						adapter2.setFlags((byte) 1);
-					}
-				}
-			}
-			return children;
-		} else if (element instanceof ModuleResourceAdapter) {
-			ModuleResourceAdapter adapter = (ModuleResourceAdapter) element;
-			return adapter.getChildren(null);
-		} else if (element instanceof ServerElementAdapter) {
-			ServerElementAdapter adapter = (ServerElementAdapter) element;
-			return adapter.getChildren();
-		}
-		
-		IWorkbenchAdapter adapter = getAdapter(element);
-		if (adapter != null)
-		    return adapter.getChildren(element);
-
-		return new Object[0];
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IStructuredContentProvider.
-	 */
-	public Object[] getElements(Object element) {
-		return getChildren(element);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ITreeContentProvider.
-	 */
-	public Object getParent(Object element) {
-		IWorkbenchAdapter adapter = getAdapter(element);
-		if (adapter != null)
-		    return adapter.getParent(element);
-
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ITreeContentProvider.
-	 */
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IContentProvider.
-	 */
-	public void inputChanged(Viewer newViewer, Object oldInput, Object newInput) {
-		if (newViewer instanceof TreeViewer)
-			this.viewer = (TreeViewer) newViewer;
-	}
-	
-	/**
-	 * Add listeners for resource changes.
-	 */
-	private void addServerConfigurationListener() {
-		// add a listener for configuration child module changes
-		serverListener = new ServerAdapter() {
-			public void modulesChanged(final IServer server) {
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						handleServerModulesChanged(server);
-					}
-				});
-			}
-		};
-
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			server.addServerListener(serverListener);
-		}
-	}
-	
-	/**
-	 * Add listeners for server resource changes.
-	 */
-	private void addServerResourceListener() {
-		// add a listener for resources being added or removed
-		listener = new ServerResourceAdapter() {
-			public void serverAdded(final IServer server) {
-				server.addServerListener(serverListener);
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						handleServerResourceAdded(server);
-					}
-				});
-			}
-			public void serverRemoved(final IServer server) {
-				server.removeServerListener(serverListener);
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						handleServerResourceRemoved(server);
-					}
-				});
-			}
-			public void serverChanged(final IServer server) {
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						handleServerResourceChanged(server);
-					}
-				});
-			}
-			public void serverConfigurationAdded(final IServerConfiguration configuration) {
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						handleServerResourceAdded(configuration);
-					}
-				});
-			}
-			public void serverConfigurationRemoved(final IServerConfiguration configuration) {
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						handleServerResourceRemoved(configuration);
-					}
-				});
-			}
-			public void serverConfigurationChanged(final IServerConfiguration configuration) {
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						handleServerResourceChanged(configuration);
-					}
-				});
-			}
-		};
-		ServerCore.getResourceManager().addResourceListener(listener);
-	}
-	
-	/**
-	 * Add listener to refresh when modules are added.
-	 */
-	private void addModuleEventsListener() {
-		moduleEventsListener = new IModuleEventsListener() {
-			public void moduleEvents(IModuleFactoryEvent[] factoryEvent, IModuleEvent[] event) {
-				Display.getDefault().syncExec(new Runnable() {
-					public void run() {
-						if (viewer != null)
-							viewer.refresh(true);
-					}
-				});
-			}
-		};
-		
-		ServerCore.getResourceManager().addModuleEventsListener(moduleEventsListener);
-	}
-
-	/**
-	 * Updates an element in the tree.
-	 *
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handleServerModulesChanged(IServer server2) {
-		if (viewer != null) {
-			viewer.refresh(new ServerElementAdapter(null, server2));
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next(); 
-				if (server2.equals(server)) {
-					viewer.refresh(new ServerElementAdapter(null, server));
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Handles the add of a new server resource.
-	 *
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handleServerResourceAdded(IElement element) {
-		//Trace.trace("add: " + element);
-		if (viewer == null)
-			return;
-
-		ServerElementAdapter adapter = new ServerElementAdapter(null, element);
-		adapter.setFlags((byte) 1);
-		if (element instanceof IServer) {
-			viewer.add(new TextResourceAdapter(null, TextResourceAdapter.STYLE_SERVERS), adapter);
-		} else {
-			IServerConfiguration configuration = (IServerConfiguration) element;
-			//boolean used = false;
-
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				IServerConfiguration cfg = server.getServerConfiguration();
-				if (cfg != null && cfg.equals(configuration)) {
-					ServerElementAdapter adapter2 = new ServerElementAdapter(null, server);
-					adapter2.setFlags((byte) 1);
-					viewer.refresh(adapter2);
-					
-					//used = true;
-				}
-			}
-			
-			/*if (!used) {
-				ServerResourceAdapter adapter2 = new ServerResourceAdapter(null, configuration);
-				adapter2.setFlags((byte) 1);
-				viewer.add(new TextResourceAdapter(null, TextResourceAdapter.STYLE_LOOSE_CONFIGURATIONS), adapter2);
-			}*/
-		}
-	}
-
-	/**
-	 * Updates an element in the tree.
-	 *
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handleServerResourceChanged(IElement element) {
-		//Trace.trace("change: " + element);
-		if (viewer == null)
-			return;
-
-		if (element instanceof IServer) {
-			IServer server = (IServer) element;
-			ServerElementAdapter adapter = new ServerElementAdapter(null, element);
-			adapter.setFlags((byte) 1);
-			viewer.refresh(adapter);
-			
-			IServerConfiguration cfg = server.getServerConfiguration();
-			if (cfg != null) {
-				ServerElementAdapter adapter3 = new ServerElementAdapter(null, cfg);
-				adapter3.setFlags((byte) 1);
-				viewer.remove(adapter3);
-			}
-		} else {
-			IServerConfiguration configuration = (IServerConfiguration) element;
-			
-			// refresh servers
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				IServerConfiguration cfg = server.getServerConfiguration();
-				if (cfg != null && cfg.equals(configuration)) {
-					ServerElementAdapter adapter2 = new ServerElementAdapter(null, server);
-					adapter2.setFlags((byte) 1);
-					viewer.refresh(adapter2);
-				}
-			}
-			//viewer.refresh(new TextResourceAdapter(null, TextResourceAdapter.STYLE_LOOSE_CONFIGURATIONS));
-		}
-	}
-
-	/**
-	 * Handles the removal of a server resource.
-	 *
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handleServerResourceRemoved(IElement element) {
-		//Trace.trace("remove: " + element);
-		if (viewer == null)
-			return;
-		
-		TextResourceAdapter.deleted = element;
-		if (element instanceof IServerConfiguration)
-			ConfigurationProxyResourceAdapter.deleted = (IServerConfiguration) element;
-
-		if (element instanceof IServer) {
-			//IServer server = (IServer) element;
-			TextResourceAdapter adapter = new TextResourceAdapter(null, TextResourceAdapter.STYLE_SERVERS);
-			viewer.refresh(adapter);
-			/*IServerConfiguration configuration = Reference.getServerConfigurationByRef(server.getConfigurationRef());
-			
-			boolean used = false;
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server2 = (IServer) iterator.next();
-				if (!server.equals(server2)) {
-					IServerConfiguration cfg = Reference.getServerConfigurationByRef(server2.getConfigurationRef());
-					if (cfg != null && cfg.equals(configuration)) {
-						used = true;
-					}
-				}
-			}
-			if (!used) {
-				ServerResourceAdapter adapter2 = new ServerResourceAdapter(null, configuration);
-				adapter2.setFlags((byte) 1);
-				viewer.add(new TextResourceAdapter(null, TextResourceAdapter.STYLE_LOOSE_CONFIGURATIONS), adapter2);
-			}*/
-		} else {
-			//TextResourceAdapter adapter = new TextResourceAdapter(null, TextResourceAdapter.STYLE_CONFIGURATIONS);
-			//viewer.refresh(adapter);
-	
-			/*Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				ServerResourceAdapter adapter2 = new ServerResourceAdapter(null, server);
-				adapter2.setFlags((byte) 1);
-				viewer.refresh(adapter2);
-			}*/
-			IServerConfiguration configuration = (IServerConfiguration) element;
-			
-			// refresh servers
-			//boolean used = false;
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				IServerConfiguration cfg = server.getServerConfiguration();
-				if (cfg != null && cfg.equals(configuration)) {
-					ServerElementAdapter adapter2 = new ServerElementAdapter(null, server);
-					adapter2.setFlags((byte) 1);
-					viewer.refresh(adapter2);
-					
-					//used = true;
-				}
-			}
-			
-			/*if (!used) {
-				TextResourceAdapter adapter = new TextResourceAdapter(null, TextResourceAdapter.STYLE_LOOSE_CONFIGURATIONS);
-				viewer.refresh(adapter);
-			}*/
-		}
-		ConfigurationProxyResourceAdapter.deleted = null;
-		TextResourceAdapter.deleted = null;
-	}
-	
-	public static IServerConfiguration[] getLooseConfigurations() {
-		java.util.List configs = ServerCore.getResourceManager().getServerConfigurations();
-		
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (!server.equals(TextResourceAdapter.deleted)) {
-				IServerConfiguration cfg = server.getServerConfiguration();
-				if (cfg != null && configs.contains(cfg))
-					configs.remove(cfg);
-			}
-		}
-		
-		if (configs.contains(ConfigurationProxyResourceAdapter.deleted))
-			configs.remove(ConfigurationProxyResourceAdapter.deleted);
-		
-		IServerConfiguration[] config = new IServerConfiguration[configs.size()];
-		configs.toArray(config);
-		return config;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
deleted file mode 100644
index c559156..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogConstants;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IServerListener;
-import org.eclipse.wst.server.core.model.IStartableServer;
-import org.eclipse.wst.server.core.util.ServerAdapter;
-import org.eclipse.wst.server.ui.IServerUIPreferences;
-import org.eclipse.wst.server.ui.ServerUICore;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The server UI plugin class.
- */
-public class ServerUIPlugin extends AbstractUIPlugin {
-	public static final byte START = 0;
-	public static final byte STOP = 1;
-	public static final byte RESTART = 2;
-	
-	// singleton instance of this class
-	private static ServerUIPlugin singleton;
-
-	protected Map imageDescriptors = new HashMap();
-
-	protected static List terminationWatches = new ArrayList();
-	
-	protected ModuleRepairSupport moduleRepairSupport;
-
-	/**
-	 * Create the ServerUIPlugin.
-	 */
-	public ServerUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.server.ui.internal.plugin.ServerUIPlugin
-	 */
-	public static ServerUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key) {
-		try {
-			return Platform.getResourceString(getInstance().getBundle(), key);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arg java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, String arg) {
-		return getResource(key, new String[] {arg});
-	}
-
-	/**
-	 * Returns the translated String found with the given key,
-	 * and formatted with the given arguments using java.text.MessageFormat.
-	 *
-	 * @param key java.lang.String
-	 * @param arguments java.lang.Object[]
-	 * @return java.lang.String
-	 */
-	public static String getResource(String key, Object[] arguments) {
-		try {
-			String text = getResource(key);
-			return MessageFormat.format(text, arguments);
-		} catch (Exception e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	/**
-	 * Start up this plug-in.
-	 *
-	 * @throws Exception
-	 */
-	public void start(BundleContext context) throws Exception {
-		Trace.trace(Trace.CONFIG, "----->----- Server UI plugin start ----->-----");
-		super.start(context);
-	
-		moduleRepairSupport = new ModuleRepairSupport();
-		ServerCore.getResourceManager().addServerLifecycleEventHandler(1000, moduleRepairSupport);
-		
-		IServerUIPreferences prefs = ServerUICore.getPreferences();
-		((ServerUIPreferences) prefs).setDefaults();
-	}
-	
-	/**
-	 * Shuts down this plug-in and saves all plug-in state.
-	 *
-	 * @exception Exception
-	 */
-	public void stop(BundleContext context) throws Exception {
-		Trace.trace(Trace.CONFIG, "-----<----- Server UI plugin stop -----<-----");
-		super.stop(context);
-		
-		ServerCore.getResourceManager().removeServerLifecycleEventHandler(moduleRepairSupport);
-	
-		ImageResource.dispose();
-	}
-
-	/**
-	 * Adds a watch to this server. If it hasn't stopped in a
-	 * reasonable amount of time, the user will be prompted to
-	 * terminate the server.
-	 *
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public static void addTerminationWatch(final Shell shell, final IServer server, final int mode) {
-		if (terminationWatches.contains(server))
-			return;
-	
-		terminationWatches.add(server);
-	
-		class TerminateThread extends Thread {
-			public boolean alive = true;
-			public IServerListener listener;
-	
-			public void run() {
-				while (alive) {
-					final IStartableServer startable = (IStartableServer) server.getDelegate();
-					int delay = startable.getStartTimeout();
-					if (mode == 1)
-						delay = startable.getStopTimeout();
-					else if (mode == 2)
-						delay += startable.getStopTimeout();
-					try {
-						Thread.sleep(delay);
-					} catch (InterruptedException e) { }
-					
-					if (server.getServerState() == IServer.SERVER_STOPPED)
-						alive = false;
-	
-					if (alive) {
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								TerminationDialog dialog = new TerminationDialog(shell, server.getName());
-								dialog.open();
-								if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-									// only try calling terminate once. Also, make sure that it didn't stop while
-									// the dialog was open
-									if (server.getServerState() != IServer.SERVER_STOPPED)
-										server.terminate();
-									alive = false;
-								}
-							}
-						});
-					}
-					if (!alive) {
-						if (listener != null)
-							server.removeServerListener(listener);
-						terminationWatches.remove(server);
-					}
-				}
-			}
-		}
-	
-		final TerminateThread t = new TerminateThread();
-		t.setDaemon(true);
-		t.setPriority(Thread.NORM_PRIORITY - 2);
-	
-		// add listener to stop the thread if/when the server stops
-		IServerListener listener = new ServerAdapter() {
-			public void serverStateChange(IServer server2) {
-				if (server2.getServerState() == IServer.SERVER_STOPPED && t != null)
-					t.alive = false;
-			}
-		};
-		t.listener = listener;
-		server.addServerListener(listener);
-	
-		t.start();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java
deleted file mode 100644
index 8597b8c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.Preferences;
-
-import org.eclipse.wst.server.ui.IServerUIPreferences;
-/**
- * Helper class that stores preference information for
- * the server tools.
- */
-public class ServerUIPreferences implements IServerUIPreferences {
-	private static final String PREF_PUBLISHING_DETAILS = "publishing-details";
-	private static final String PREF_PROMPT_IRREVERSIBLE = "prompt-irreversible";
-	private static final String PREF_IMPORT_LOCATION = "import-location";
-	private static final String PREF_SAVE_EDITORS = "save-editors";
-	private static final String PREF_HOST_NAMES = "host-names";
-	
-	private static final int MAX_HOSTNAMES = 10;
-
-	private Preferences preferences;
-
-	/**
-	 * ServerUIPreference constructor comment.
-	 */
-	public ServerUIPreferences() {
-		super();
-		preferences = ServerUIPlugin.getInstance().getPluginPreferences();
-	}
-
-	public void setDefaults() {
-		preferences.setDefault(PREF_PUBLISHING_DETAILS, getDefaultShowPublishingDetails());
-		preferences.setDefault(PREF_PROMPT_IRREVERSIBLE, getDefaultPromptBeforeIrreversibleChange());
-		//preferences.setDefault(PREF_SERVER_SHUTDOWN_DELAY, getDefaultServerShutdownDelay());
-		preferences.setDefault(PREF_SAVE_EDITORS, getDefaultSaveEditors());
-		preferences.setDefault(PREF_HOST_NAMES, "localhost");
-	}
-
-	/**
-	 * Returns whether the publishing details should be shown.
-	 *
-	 * @return boolean
-	 */
-	public boolean getShowPublishingDetails() {
-		return preferences.getBoolean(PREF_PUBLISHING_DETAILS);
-	}
-	
-	/**
-	 * Returns whether the publishing details should be shown.
-	 *
-	 * @return boolean
-	 */
-	public boolean getDefaultShowPublishingDetails() {
-		return false;
-	}
-	
-	/**
-	 * Returns whether the publishing details should be shown.
-	 *
-	 * @return boolean
-	 */
-	public void setShowPublishingDetails(boolean b) {
-		preferences.setValue(PREF_PUBLISHING_DETAILS, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-	
-	/**
-	 * Returns whether the user should be prompted before making an
-	 * irreversible change in the editor.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getPromptBeforeIrreversibleChange() {
-		return preferences.getBoolean(PREF_PROMPT_IRREVERSIBLE);
-	}
-
-	/**
-	 * Returns the default value of whether the user should be prompted
-	 * before making an irreversible change in the editor.
-	 *
-	 * @return boolean
-	 */
-	public boolean getDefaultPromptBeforeIrreversibleChange() {
-		return true;
-	}
-
-	/**
-	 * Sets whether the user should be prompted before making an
-	 * irreversible change in the editor.
-	 *
-	 * @return boolean
-	 */
-	public void setPromptBeforeIrreversibleChange(boolean b) {
-		preferences.setValue(PREF_PROMPT_IRREVERSIBLE, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-	
-	/**
-	 * Returns the import location.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getImportLocation() {
-		return preferences.getString(PREF_IMPORT_LOCATION);
-	}
-	
-	/**
-	 * Sets the import location.
-	 *
-	 * @return java.lang.String
-	 */
-	public void setImportLocation(String s) {
-		preferences.setValue(PREF_IMPORT_LOCATION, s);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-	
-	/**
-	 * Returns the default setting for saving editors before launching.
-	 * 
-	 * @return byte
-	 */
-	public byte getDefaultSaveEditors() {
-		return SAVE_EDITORS_PROMPT;
-	}
-
-	/**
-	 * Returns the setting for saving editors before launching.
-	 * 
-	 * @return byte
-	 */
-	public byte getSaveEditors() {
-		return (byte) preferences.getInt(PREF_SAVE_EDITORS);
-	}
-
-	/**
-	 * Sets the value for saving editors before launching.
-	 * 
-	 * @param byte
-	 */
-	public void setSaveEditors(byte b) {
-		preferences.setValue(PREF_SAVE_EDITORS, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Return the list of most recently used hostnames.
-	 * 
-	 * @return
-	 */
-	public List getHostnames() {
-		String s = preferences.getString(PREF_HOST_NAMES);
-		StringTokenizer st = new StringTokenizer(s, "|*|");
-		List list = new ArrayList();
-		while (st.hasMoreTokens()) {
-			list.add(st.nextToken());
-		}
-		return list;
-	}
-
-	/**
-	 * Add a new hostname to the most recently used list.
-	 *  
-	 * @param hostname
-	 */
-	public void addHostname(String hostname) {
-		List list = getHostnames();
-		
-		// remove duplicates
-		if (list.contains(hostname))
-			list.remove(hostname);
-		
-		// always add second (leave localhost first)
-		list.add(1, hostname);
-		
-		// remove least used hostname
-		if (list.size() > MAX_HOSTNAMES)
-			list.remove(list.size() - 1);
-		
-		StringBuffer sb = new StringBuffer();
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			String s = (String) iterator.next();
-			sb.append(s);
-			sb.append("|*|");
-		}
-		preferences.setValue(PREF_HOST_NAMES, sb.toString());
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java
deleted file mode 100644
index 481e9ec..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.wst.server.ui.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-/**
- * Dialog that prompts a user to see if a server should
- * be terminated.
- */
-public class TerminationDialog extends Dialog {
-	protected String serverName;
-
-	/**
-	 * TerminationDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 * @
-	 */
-	protected TerminationDialog(Shell parentShell, String serverName) {
-		super(parentShell);
-		this.serverName = serverName;
-		setBlockOnOpen(true);
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(ServerUIPlugin.getResource("%terminateServerDialogTitle"));
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-	
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(ServerUIPlugin.getResource("%terminateServerDialogMessage", new String[] {serverName}));
-		GridData data = new GridData();
-		data.widthHint = 400;
-		label.setLayoutData(data);
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java
deleted file mode 100644
index 1fa61f9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-package org.eclipse.wst.server.ui.internal;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.wst.server.ui.ServerUICore;
-
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static byte CONFIG = 0;
-	public static byte INFO = 1;
-	public static byte WARNING = 2;
-	public static byte SEVERE = 3;
-	public static byte FINEST = 4;
-	public static byte FINER = 5;
-	public static byte PERFORMANCE = 6;
-	
-	protected static int pluginLength = -1;
-	
-	private static final String[] levelNames = new String[] {
-		"CONFIG ", "INFO   ", "WARNING", "SEVERE ", "FINER  ", "FINEST ", "PERF   "};
-	private static final String spacer = "                                   ";
-
-	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(byte level, String s) {
-		trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!ServerUIPlugin.getInstance().isDebugging())
-			return;
-
-		String pluginId = ServerUICore.PLUGIN_ID;
-		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);
-		System.out.println(sb.toString());
-		if (t != null)
-			t.printStackTrace();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(String s) {
-		trace(s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(String s, Throwable t) {
-		trace(FINEST, s, t);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java
deleted file mode 100644
index c38383b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate;
-
-/**
- * 
- */
-public abstract class AbstractServerActionDelegate implements IActionDelegate {
-	protected List servers;
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 *
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public abstract boolean accept(IServer server);
-
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public abstract void perform(Shell shell, IServer server);
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		Shell shell = EclipseUtil.getShell();
-		Iterator iterator = servers.iterator();
-		Object obj = iterator.next();
-		if (obj instanceof IServer) {
-			IServer server = (IServer) obj;
-			if (accept(server))
-				perform(shell, server);
-			selectionChanged(action, new StructuredSelection(servers));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		servers = new ArrayList();
-		if (selection.isEmpty() || !(selection instanceof StructuredSelection)) {
-			action.setEnabled(false);
-			return;
-		}
-		
-		boolean enabled = false;
-		Iterator iterator = ((StructuredSelection) selection).iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServer) {
-				IServer server = (IServer) obj;
-				if (accept(server)) {
-					servers.add(server);
-					enabled = true;
-				}
-			} else {
-				action.setEnabled(false);
-				return;
-			}
-		}
-		action.setEnabled(enabled);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AddRemoveModulesAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AddRemoveModulesAction.java
deleted file mode 100644
index b93f2a1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AddRemoveModulesAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.actions.IServerAction;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog;
-import org.eclipse.wst.server.ui.internal.wizard.ModifyModulesWizard;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * 
- */
-public class AddRemoveModulesAction implements IServerAction {
-	public boolean supports(IServer server, IServerConfiguration configuration) {
-		if (server == null)
-			return false;
-		return (!server.getServerType().hasServerConfiguration() || configuration != null);
-	}
-
-	public void run(Shell shell, IServer server, IServerConfiguration configuration) {
-		//if (!ServerUIUtil.promptIfDirty(shell, server))
-		//	return;
-		
-		// check if there are any projects first
-		// get currently deployed modules
-		List deployed = new ArrayList();
-		List modules = new ArrayList();
-		IModule[] currentModules = server.getModules();
-		if (currentModules != null) {
-			int size = currentModules.length;
-			for (int i = 0; i < size; i++) {
-				deployed.add(currentModules[i]);
-			}
-		}
-
-		// get remaining modules
-		Iterator iterator = ServerUtil.getModules().iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (!deployed.contains(module)) {
-				IStatus status = server.canModifyModules(new IModule[] { module }, null);
-				if (status != null && status.isOK())
-					modules.add(module);
-			}
-		}
-		
-		if (deployed.isEmpty() && modules.isEmpty()) {
-			MessageDialog.openInformation(shell, ServerUIPlugin.getResource("%defaultDialogTitle"), ServerUIPlugin.getResource("%dialogAddRemoveModulesNone"));
-			return;
-		}
-
-		ModifyModulesWizard wizard = new ModifyModulesWizard(server);
-		ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard);
-		dialog.open();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerActionDelegate.java
deleted file mode 100644
index 3173948..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerActionDelegate.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.debug.core.ILaunchManager;
-/**
- * 
- */
-public class DebugOnServerActionDelegate extends RunOnServerActionDelegate {
-	/**
-	 * Returns the start mode that the server should use.
-	 */
-	protected String getLaunchMode() {
-		return ILaunchManager.DEBUG_MODE;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java
deleted file mode 100644
index 68ebf95..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.ui.internal.view.servers.DeleteAction;
-import org.eclipse.wst.server.ui.internal.view.tree.ServerElementAdapter;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * 
- */
-public class DeleteActionDelegate implements IWorkbenchWindowActionDelegate {
-	protected IElement[] resources;
-	protected Shell shell;
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() { }
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		if (window != null)
-			shell = window.getShell();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		if (action != null && action.isEnabled() && resources != null)
-			return;
-		DeleteAction delete = new DeleteAction(shell, resources);
-		delete.run();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		resources = null;
-		if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			action.setEnabled(false);
-			return;
-		}
-
-		IStructuredSelection select = (IStructuredSelection) selection;
-		Iterator iterator = select.iterator();
-		
-		List list = new ArrayList();
-		
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IElement) {
-				list.add(obj);
-			} else if (obj instanceof ServerElementAdapter) {
-				list.add(((ServerElementAdapter) obj).getServerResource());
-			} else {
-				action.setEnabled(false);
-				return;
-			}
-		}
-		
-		resources = new IElement[list.size()];
-		list.toArray(resources);
-		action.setEnabled(true);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java
deleted file mode 100644
index 603c747..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.action.IAction;
-
-import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog;
-import org.eclipse.wst.server.ui.internal.wizard.NewServerWizard;
-/**
- * Action to create a new server.
- */
-public class NewServerAction extends NewWizardAction {
-	/**
-	 * NewServerAction constructor comment.
-	 */
-	public NewServerAction() {
-		super();
-	}
-
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action) {
-		NewServerWizard wizard = new NewServerWizard();
-		wizard.init(workbench, selection);
-		ClosableWizardDialog dialog = new ClosableWizardDialog(workbench.getActiveWorkbenchWindow().getShell(), wizard);
-		dialog.open();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerProjectAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerProjectAction.java
deleted file mode 100644
index f58b7a0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerProjectAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.wst.server.ui.internal.wizard.NewServerProjectWizard;
-/**
- * Action to create a new server project.
- */
-public class NewServerProjectAction extends NewWizardAction {
-	/**
-	 * NewServerProjectAction constructor comment.
-	 */
-	public NewServerProjectAction() {
-		super();
-	}
-
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action) {
-		NewServerProjectWizard wizard = new NewServerProjectWizard();
-		wizard.init(workbench, selection);
-		WizardDialog dialog = new WizardDialog(workbench.getActiveWorkbenchWindow().getShell(), wizard);
-		dialog.open();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java
deleted file mode 100644
index 1c7da0f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-/**
- * Action to create a new server element through a wizard.
- */
-public abstract class NewWizardAction implements IWorkbenchWindowActionDelegate {
-	protected IWorkbench workbench;
-	protected IStructuredSelection selection;
-
-	/**
-	 * NewWizardAction constructor comment.
-	 */
-	public NewWizardAction() {
-		super();
-	}
-
-	/**
-	 * Disposes this action delegate.  The implementor should unhook any references
-	 * to itself so that garbage collection can occur.
-	 */
-	public void dispose() {}
-
-	/**
-	 * Initializes this action delegate with the workbench window it will work in.
-	 *
-	 * @param window the window that provides the context for this delegate
-	 */
-	public void init(IWorkbenchWindow window) {
-		workbench = window.getWorkbench();
-	}
-
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the
-	 * action or to modify other presentation properties.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of the action
-	 * @param selection the current selection in the workbench
-	 */
-	public void selectionChanged(IAction action, ISelection sel) {
-		if (sel instanceof IStructuredSelection)
-			selection = (IStructuredSelection) sel;
-		else
-			selection = null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerActionDelegate.java
deleted file mode 100644
index 583c790..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerActionDelegate.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.debug.core.ILaunchManager;
-/**
- * 
- */
-public class ProfileOnServerActionDelegate extends RunOnServerActionDelegate {
-	/**
-	 * Returns the start mode that the server should use.
-	 */
-	protected String getLaunchMode() {
-		return ILaunchManager.PROFILE_MODE;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RestartProjectActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RestartProjectActionDelegate.java
deleted file mode 100644
index 5e6d36f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RestartProjectActionDelegate.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IProjectModule;
-import org.eclipse.wst.server.core.model.IRestartableModule;
-import org.eclipse.wst.server.core.model.IServerDelegate;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate;
-
-/**
- * Action delegate for restarting a project within a running
- * server.
- */
-public class RestartProjectActionDelegate implements IActionDelegate {
-	protected IProject project;
-
-	/**
-	 * RestartProjectAction constructor comment.
-	 */
-	public RestartProjectActionDelegate() {
-		super();
-	}
-	
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Shell shell = EclipseUtil.getShell();
-				MessageDialog dialog = new MessageDialog(shell, ServerUIPlugin.getResource("%defaultDialogTitle"), null, ServerUIPlugin.getResource("%dialogRestartingProject", project.getName()), MessageDialog.INFORMATION, new String[0], 0);
-				dialog.setBlockOnOpen(false);
-				dialog.open();
-	
-				IProjectModule module = ServerUtil.getModuleProject(project);
-				if (module != null) {
-					IServer[] servers = ServerUtil.getServersByModule(module);
-					if (servers != null) {
-						int size2 = servers.length;
-						for (int j = 0; j < size2; j++) {
-							byte state = servers[j].getServerState();
-							IServerDelegate delegate = servers[j].getDelegate();
-							if ((state == IServer.SERVER_STARTED || state == IServer.SERVER_STARTED_DEBUG) &&
-								(delegate instanceof IRestartableModule)) {
-								IRestartableModule restartable = (IRestartableModule)delegate;
-								if (restartable.canRestartModule(module)) {
-									try {
-										restartable.restartModule(module, new NullProgressMonitor());
-									} catch (Exception e) {
-										Trace.trace("Error restarting project", e);
-									}
-								}
-							}
-						}
-					}
-				}
-				dialog.close();
-			}
-		});
-	}
-	
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the
-	 * action or to modify other presentation properties.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of the action
-	 * @param selection the current selection in the workbench
-	 */
-	public void selectionChanged(IAction action, ISelection sel) {
-		if (sel.isEmpty() || !(sel instanceof IStructuredSelection)) {
-			action.setEnabled(false);
-			return;
-		}
-	
-		IStructuredSelection select = (IStructuredSelection) sel;
-		Iterator iterator = select.iterator();
-		Object selection = iterator.next();
-		if (iterator.hasNext() || selection == null) {
-			// more than one selection (should never happen)
-			action.setEnabled(false);
-			return;
-		}
-	
-		if (!(selection instanceof IProject)) {
-			action.setEnabled(false);
-			return;
-		}
-	
-		project = (IProject) selection;
-		if (!project.isOpen()) {
-			action.setEnabled(false);
-			return;
-		}
-	
-		IProjectModule module = ServerUtil.getModuleProject(project);
-		if (module != null) {
-			IServer[] servers = ServerUtil.getServersByModule(module);
-			if (servers != null) {
-				int size2 = servers.length;
-				for (int j = 0; j < size2; j++) {
-					byte state = servers[j].getServerState();
-					IServerDelegate delegate = servers[j].getDelegate();
-					if ((state == IServer.SERVER_STARTED || state == IServer.SERVER_STARTED_DEBUG) &&
-						(delegate instanceof IRestartableModule)) {
-						IRestartableModule restartable = (IRestartableModule)delegate;
-						if (restartable.canRestartModule(module)) {
-							action.setEnabled(true);
-							return;
-						}
-					}
-				}
-			}
-		}
-
-		action.setEnabled(false);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
deleted file mode 100644
index cb80538..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
+++ /dev/null
@@ -1,538 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.wizard.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Support for starting/stopping server and clients for resources running on a server.
- */
-public class RunOnServerActionDelegate implements IWorkbenchWindowActionDelegate {
-	protected static final String[] launchModes = {
-		ILaunchManager.RUN_MODE, ILaunchManager.DEBUG_MODE, ILaunchManager.PROFILE_MODE };
-
-	protected Object selection;
-
-	protected IWorkbenchWindow window;
-	
-	protected static boolean initialized = false;
-	
-	protected static Object globalSelection;
-
-	protected static Map globalLaunchMode;
-
-	private static transient List propertyListeners;
-
-	/**
-	 * RunOnServerActionDelegate constructor comment.
-	 */
-	public RunOnServerActionDelegate() {
-		super();
-	}
-
-	/**
-	 * Disposes this action delegate.  The implementor should unhook any references
-	 * to itself so that garbage collection can occur.
-	 */
-	public void dispose() {
-		window = null;
-	}
-
-	/**
-	 * Initializes this action delegate with the workbench window it will work in.
-	 *
-	 * @param window the window that provides the context for this delegate
-	 */
-	public void init(IWorkbenchWindow newWindow) {
-		window = newWindow;
-	}
-	
-	/**
-	 * Add a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public static void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners == null)
-			propertyListeners = new ArrayList();
-		propertyListeners.add(listener);
-	}
-	
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public static void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners != null)
-			propertyListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a property change event.
-	 */
-	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("Error firing property change event", e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace("Error in property event", e);
-		}
-	}
-
-	/**
-	 * Run the resource on a server.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	protected void run(IProgressMonitor monitor) {
-		String launchMode = getLaunchMode();
-		firePropertyChangeEvent("launchMode", null, launchMode);
-
-		List moduleObjects = ServerUtil.getModuleObjects(selection);
-		
-		Shell shell;
-		if (window != null)
-			shell = window.getShell();
-		else
-			shell = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-
-		if (moduleObjects == null || moduleObjects.isEmpty()) {
-			EclipseUtil.openError(ServerUIPlugin.getResource("%errorNoModules"));
-			Trace.trace(Trace.FINEST, "No modules");
-			return;
-		}
-		IModule module = ((IModuleObject) moduleObjects.get(0)).getModule();
-		if (moduleObjects.size() > 1) {
-			// check if the modules are all in the same module
-			int size = moduleObjects.size();
-			for (int i = 0; i < size; i++) {
-				IModule module2 = ((IModuleObject) moduleObjects.get(i)).getModule();
-				if (!module.equals(module2)) {
-					EclipseUtil.openError("Too many module objects");
-					Trace.trace(Trace.SEVERE, "Too many module objects! Unsupported!");
-					return;
-				}
-			}
-		}
-
-		// check for servers with the given start mode
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		boolean found = false;
-		while (!found && iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (ServerUtil.isCompatibleWithLaunchMode(server, launchMode)) {
-				try {
-					List parents = server.getParentModules(module);
-					if (parents != null && parents.size() > 0)
-						found = true;
-				} catch (Exception e) { }
-			}
-		}
-
-		if (!found) {
-			// no existing server supports the project and start mode!
-			// check if there might be another one that can be created
-			iterator = ServerCore.getServerTypes().iterator();
-			boolean found2 = false;
-			while (!found2 && iterator.hasNext()) {
-				IServerType type = (IServerType) iterator.next();
-				List moduleTypes = type.getRuntimeType().getModuleTypes();
-				if (type.supportsLaunchMode(launchMode) && ServerUtil.isSupportedModule(moduleTypes, module.getType(), module.getVersion())) {
-					found2 = true;
-				}
-			}
-			if (!found2) {
-				EclipseUtil.openError(ServerUIPlugin.getResource("%errorNoServer"));
-				Trace.trace(Trace.FINEST, "No server for start mode");
-				return;
-			}
-		}
-		
-		if (!ServerUIUtil.saveEditors())
-			return;
-
-		IServer server = null;
-		if (module instanceof IProjectModule) {
-			IProjectModule dp = (IProjectModule) module;
-			server = ServerCore.getProjectProperties(dp.getProject()).getDefaultServer();
-		}
-		
-		// ignore preference if the server doesn't support this mode.
-		if (server != null && !ServerUtil.isCompatibleWithLaunchMode(server, launchMode))
-			server = null;
-
-		boolean tasksRun = false;	
-		if (server == null) {
-			// try the full wizard
-			SelectServerWizard wizard = new SelectServerWizard(module, launchMode);
-			ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard);
-			if (dialog.open() == Window.CANCEL) {
-				return;
-			}
-
-			server = wizard.getServer();
-			boolean preferred = wizard.isPreferredServer();
-			tasksRun = true;
-
-			// set preferred server if requested
-			if (server != null && preferred && module instanceof IProjectModule) {
-				try {
-					IProjectModule dp = (IProjectModule) module;
-					ServerCore.getProjectProperties(dp.getProject()).setDefaultServer(server, new NullProgressMonitor());
-				} catch (CoreException ce) {
-					String message = ServerUIPlugin.getResource("%errorCouldNotSavePreference");
-					ErrorDialog.openError(shell, ServerUIPlugin.getResource("%errorDialogTitle"), message, ce.getStatus());
-				}
-			}
-		}
-		Trace.trace(Trace.FINEST, "Server: " + server);
-		
-		if (server == null) {
-			EclipseUtil.openError(ServerUIPlugin.getResource("%errorNoServer"));
-			Trace.trace(Trace.SEVERE, "No server found");
-			return;
-		}
-
-		if (!ServerUIUtil.promptIfDirty(shell, server))
-			return;
-		
-		if (!tasksRun) {
-			SelectTasksWizard wizard = new SelectTasksWizard(server);
-			if (wizard.hasTasks() && wizard.hasOptionalTasks()) {
-				WizardDialog dialog = new WizardDialog(shell, wizard);
-				if (dialog.open() == Window.CANCEL)
-					return;
-			} else
-				wizard.performFinish();
-		}
-		
-		// get the launchable adapter and module object
-		ILaunchableAdapter launchableAdapter = null;
-		IModuleObject moduleObject = null;
-		ILaunchable launchable = null;
-		iterator = moduleObjects.iterator();
-		while (moduleObject == null && iterator.hasNext()) {
-			IModuleObject moduleObject2 = (IModuleObject) iterator.next();
-			
-			Iterator iterator2 = ServerCore.getLaunchableAdapters().iterator();
-			while (moduleObject == null && iterator2.hasNext()) {
-				ILaunchableAdapter adapter = (ILaunchableAdapter) iterator2.next();
-				try {
-					ILaunchable launchable2 = adapter.getLaunchable(server, moduleObject2);
-					Trace.trace(Trace.FINEST, "adapter= " + adapter + ", launchable= " + launchable2);
-					if (launchable2 != null) {
-						launchableAdapter = adapter;
-						moduleObject = moduleObject2;
-						launchable = launchable2;
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error in launchable adapter", e);
-				}
-			}
-		}
-		
-		List list = new ArrayList();
-		if (launchable != null)
-			list = ServerUtil.getLaunchableClients(server, launchable, launchMode);
-
-		Trace.trace(Trace.FINEST, "Launchable clients: " + list);
-
-		IClient client = null;
-		if (list == null || list.isEmpty()) {
-			EclipseUtil.openError(ServerUIPlugin.getResource("%errorNoClient"));
-			Trace.trace(Trace.SEVERE, "No launchable clients!");
-			return;
-		} else if (list.size() == 1) {
-			client = (IClient) list.get(0);
-		} else {
-			SelectClientWizard wizard = new SelectClientWizard(list);
-			ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard);
-			dialog.open();
-			client = wizard.getSelectedClient();
-			if (client == null)
-				return;
-		}
-
-		Trace.trace(Trace.FINEST, "Ready to launch");
-
-		final IServerPreferences preferences = ServerCore.getServerPreferences();
-
-		// start server if it's not already started
-		// and cue the client to start
-		byte state = server.getServerState();
-		if (state == IServer.SERVER_STARTING) {
-			ServerStartupListener listener = new ServerStartupListener(shell, server, client, launchableAdapter, moduleObject, launchMode, module);
-			listener.setEnabled(true);
-		} else if (state == IServer.SERVER_STARTED || state == IServer.SERVER_STARTED_DEBUG || state == IServer.SERVER_STARTED_PROFILE) {
-			boolean restart = false;
-			if (state != IServer.SERVER_STARTED_DEBUG && ILaunchManager.DEBUG_MODE.equals(launchMode)) {
-				int result = openWarningDialog(shell, ServerUIPlugin.getResource("%dialogModeWarningDebug"));
-				if (result == 1) {
-					if (state == IServer.SERVER_STARTED)
-						launchMode = ILaunchManager.RUN_MODE;
-					else
-						launchMode = ILaunchManager.PROFILE_MODE;
-				} else if (result == 0)
-					restart = true;
-				else
-					return;
-			} else if (state != IServer.SERVER_STARTED_PROFILE && ILaunchManager.PROFILE_MODE.equals(launchMode)) {
-				int result = openWarningDialog(shell, ServerUIPlugin.getResource("%dialogModeWarningProfile"));
-				if (result == 1) {
-					if (state == IServer.SERVER_STARTED)
-						launchMode = ILaunchManager.RUN_MODE;
-					else
-						launchMode = ILaunchManager.DEBUG_MODE;
-				} else if (result == 0)
-					restart = true;
-				else
-					return;
-			}
-			if (restart) {
-				IServerDelegate delegate = server.getDelegate();
-				if (delegate instanceof IRestartableServer) {
-					new ServerStartupListener(shell, server, client, launchableAdapter, moduleObject, launchMode, module, true);
-					((IRestartableServer) delegate).restart(launchMode);
-				} else {
-					server.synchronousStop();
-				
-					ServerStartupListener listener = new ServerStartupListener(shell, server, client, launchableAdapter, moduleObject, launchMode, module);
-					if (preferences.isAutoPublishing() && !autoPublish(server))
-						return;
-	
-					try {
-						EclipseUtil.startServer(shell, server, launchMode, listener);
-					} catch (CoreException e) { }
-				}
-			} else {
-				if (preferences.isAutoPublishing() && !autoPublish(server))
-					return;
-	
-				// open client
-				ServerStartupListener.launchClientUtil(server, module, launchableAdapter, moduleObject, launchMode, client);
-			}
-		} else if (state != IServer.SERVER_STOPPING) {
-			ServerStartupListener listener = new ServerStartupListener(shell, server, client, launchableAdapter, moduleObject, launchMode, module);
-			if (preferences.isAutoPublishing() && !autoPublish(server))
-				return;
-
-			try {
-				EclipseUtil.startServer(shell, server, launchMode, listener);
-			} catch (CoreException e) { }
-		}
-	}
-
-	/**
-	 * Automatically publish to the given server.
-	 *
-	 * @param server
-	 * @return boolean - false if the current operation should be stopped
-	 */
-	protected boolean autoPublish(IServer server) {
-		// publish first
-		if (server.shouldPublish()) {
-			IStatus publishStatus = ServerUIUtil.publishWithDialog(server, false);
-	
-			if (publishStatus == null || publishStatus.getSeverity() == IStatus.ERROR)
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Open a message dialog.
-	 * 
-	 * @param shell
-	 * @param message
-	 * @return
-	 */
-	protected int openWarningDialog(Shell shell, String message) {
-		MessageDialog dialog = new MessageDialog(shell, ServerUIPlugin.getResource("%errorDialogTitle"), null,
-			message,	MessageDialog.WARNING, new String[] {ServerUIPlugin.getResource("%dialogModeWarningRestart"),
-			ServerUIPlugin.getResource("%dialogModeWarningContinue"), IDialogConstants.CANCEL_LABEL}, 0);
-		return dialog.open();
-	}
-
-	/**
-	 * The delegating action has been performed. Implement
-	 * this method to do the actual work.
-	 *
-	 * @param action action proxy that handles the presentation
-	 * portion of the plugin action
-	 */
-	public void run(IAction action) {
-		Trace.trace(Trace.FINEST, "Running on Server...");
-		if (!initialized) {
-			initialized = true;
-			
-			Iterator iterator = ServerCore.getModuleFactories().iterator();
-			while (iterator.hasNext()) {
-				IModuleFactory factory = (IModuleFactory) iterator.next();
-				factory.getModules();
-			}
-			
-			try {
-				IModule module = ServerUtil.getModule(globalSelection, true);
-				findGlobalLaunchModes(module);
-				action.setEnabled(isEnabled());
-			} catch (Exception e) { }
-			if (!isEnabled()) {
-				EclipseUtil.openError(ServerUIPlugin.getResource("%errorNoServer"));
-				Trace.trace(Trace.FINEST, "Uninitialized");
-				return;
-			}
-		}
-
-		try {
-			run(new NullProgressMonitor());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Run on Server Error", e);
-		}
-	}
-	
-	protected boolean isEnabled() {
-		try {
-			Boolean b = (Boolean) globalLaunchMode.get(getLaunchMode());
-			return b.booleanValue();
-		} catch (Exception e) { }
-		return false;
-	}
-
-	/**
-	 * Returns the start mode that the server should use.
-	 */
-	protected String getLaunchMode() {
-		return ILaunchManager.RUN_MODE;
-	}
-
-	/**
-	 * Determine which clients can act on the current selection.
-	 *
-	 * @param action action proxy that handles presentation
-	 * portion of the plugin action
-	 * @param selection current selection in the desktop
-	 */
-	public void selectionChanged(IAction action, ISelection sel) {
-		Trace.trace(Trace.FINEST, "> selectionChanged");
-		selection = null;
-		long time = System.currentTimeMillis();
-		if (sel == null || sel.isEmpty() || !(sel instanceof IStructuredSelection)) {
-			action.setEnabled(false);
-			globalSelection = null;
-			return;
-		}
-
-		IStructuredSelection select = (IStructuredSelection) sel;
-		Iterator iterator = select.iterator();
-		selection = iterator.next();
-		if (iterator.hasNext()) { // more than one selection (should never happen)
-			action.setEnabled(false);
-			selection = null;
-			globalSelection = null;
-			return;
-		}
-
-		if (selection != globalSelection || !initialized) {
-			Trace.trace(Trace.FINEST, "Selection: " + selection);
-			if (selection != null)	
-				Trace.trace(Trace.FINEST, "Selection type: " + selection.getClass().getName());
-			globalSelection = selection;
-			globalLaunchMode = new HashMap();
-			try {
-				Trace.trace(Trace.FINEST, "calling getModule() " + initialized);
-				IModule module = ServerUtil.getModule(globalSelection, initialized);
-				Trace.trace(Trace.FINEST, "module: " + module);
-				findGlobalLaunchModes(module);
-			} catch (Exception e) {
-				Trace.trace(Trace.FINEST, "not initialized");
-				globalLaunchMode.put(ILaunchManager.RUN_MODE, new Boolean(true));
-				globalLaunchMode.put(ILaunchManager.DEBUG_MODE, new Boolean(true));
-				globalLaunchMode.put(ILaunchManager.PROFILE_MODE, new Boolean(true));
-			}
-		}
-
-		action.setEnabled(isEnabled());
-		Trace.trace(Trace.FINEST, "< selectionChanged " + (System.currentTimeMillis() - time));
-	}
-	
-	/**
-	 * Determines whether there is a server factory available for the given module
-	 * and the various start modes.
-	 */
-	protected boolean findGlobalLaunchModes(IModule module) {
-		Iterator iterator = ServerCore.getServerTypes().iterator();
-		while (iterator.hasNext()) {
-			IServerType type = (IServerType) iterator.next();
-			if (isValidServerType(type, module)) {
-				for (byte b = 0; b < launchModes.length; b++) {
-					if (type.supportsLaunchMode(launchModes[b])) {
-						globalLaunchMode.put(launchModes[b], new Boolean(true));
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns true if the given server type can launch the module. 
-	 */
-	protected boolean isValidServerType(IServerType type, IModule module) {
-		try {
-			IRuntimeType runtimeType = type.getRuntimeType();
-			ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), module.getType(), module.getVersion());
-		} catch (Exception e) {
-			return false;
-		}
-		return true;
-	}
-
-	protected boolean supportsLaunchMode(IServer server, String launchMode) {
-		return server.getServerType().supportsLaunchMode(launchMode);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ServerAction.java
deleted file mode 100644
index 6433406..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ServerAction.java
+++ /dev/null
@@ -1,271 +0,0 @@
-package org.eclipse.wst.server.ui.internal.actions;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.IOrdered;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.actions.IServerAction;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- *
- */
-public class ServerAction implements IOrdered {
-	public static class RealServerAction extends Action {
-		protected Shell shell;
-		protected ServerAction action;
-		protected IServer server;
-		protected IServerConfiguration configuration;
-		
-		public RealServerAction(Shell shell, ServerAction action, IServer server, IServerConfiguration configuration) {
-			super(action.getLabel());
-			this.shell = shell;
-			this.action = action;
-			this.server = server;
-			this.configuration = configuration;
-			setImageDescriptor(action.getImageDescriptor());
-			setEnabled(action.getDelegate().supports(server, configuration));
-		}
-		
-		public void run() {
-			action.getDelegate().run(shell, server, configuration);
-		}
-	}
-	
-	private static List serverActions;
-
-	private IConfigurationElement element;
-	private IServerAction delegate;
-	private ImageDescriptor imageDescriptor;
-
-	/**
-	 * ServerAction constructor comment.
-	 */
-	public ServerAction(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 */
-	public IConfigurationElement getConfigurationElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the label.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getLabel() {
-		return element.getAttribute("label");
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	/**
-	 * Returns the icon.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getIcon() {
-		return element.getAttribute("icon");
-	}
-	
-	public String getCategory() {
-		return element.getAttribute("category");
-	}
-	
-	protected ImageDescriptor getImageDescriptor() {
-		if (imageDescriptor != null)
-			return imageDescriptor;
-		
-		try {
-			String pluginId = element.getDeclaringExtension().getNamespace();
-			imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, getIcon());
-		} catch (Exception e) {
-			// ignore
-		}
-		return imageDescriptor;
-	}
-
-	/**
-	 * Return the ids of the server resource factories (specified
-	 * using Java-import style) that this page may support.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getTypeIds() {
-		try {
-			List list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can use this action. This result is based on
-	 * the result of the getTypeIds() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsServerResource(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	public IServerAction getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IServerAction) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace("Could not create action delegate: " + getId(), e);
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Returns a List of all server actions.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerActions() {
-		if (serverActions == null)
-			loadServerActions();
-		return serverActions;
-	}
-
-	/**
-	 * Load the server action extension point.
-	 */
-	private static void loadServerActions() {
-		Trace.trace(Trace.CONFIG, "->- Loading .serverActions extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUICore.PLUGIN_ID, "serverActions");
-
-		int size = cf.length;
-		serverActions = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				serverActions.add(new ServerAction(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded serverAction: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverAction: " + cf[i].getAttribute("id"), t);
-			}
-		}
-
-		// sort actions
-		ServerUtil.sortOrderedList(serverActions);
-		Trace.trace(Trace.CONFIG, "-<- Done loading .serverActions extension point -<-");
-	}
-
-	public static void addServerMenuItems(Shell shell, IMenuManager menu, IServer server) {
-		addServerMenuItems(shell, menu, server, server.getServerConfiguration());
-	}
-	
-	/**
-	 * 
-	 */
-	public static void addServerMenuItems(Shell shell, IMenuManager menu, IServer server, IServerConfiguration configuration) {
-		boolean addedSeparator = false;
-		String category = null;
-		
-		Iterator iterator = getServerActions().iterator();
-		while (iterator.hasNext()) {
-			ServerAction serverAction = (ServerAction) iterator.next();
-			if (category == null)
-				category = serverAction.getCategory();
-			else if (!category.equals(serverAction.getCategory())) {
-				category = serverAction.getCategory();
-				menu.add(new Separator());
-			}
-			long time = System.currentTimeMillis();
-			if ((server != null && server.getServerType() != null && serverAction.supportsServerResource(server.getServerType().getId())) ||
-					(configuration != null && serverAction.supportsServerResource(configuration.getServerConfigurationType().getId()))) {
-				if (!addedSeparator) {
-					addedSeparator = true;
-					menu.add(new Separator());
-				}
-				try {
-					Action action = new RealServerAction(shell, serverAction, server, configuration);
-					Trace.trace(Trace.PERFORMANCE, "ServerAction.supports(): " + (System.currentTimeMillis() - time) + " " + serverAction.getId() + "/" + serverAction.getLabel());
-					menu.add(action);
-				} catch (Exception e) {
-					// could not add menu item
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ConfigurationCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ConfigurationCommand.java
deleted file mode 100644
index 0cdff87..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ConfigurationCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.wst.server.ui.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * Configuration command.
- */
-public abstract class ConfigurationCommand extends Task {
-	protected IServerConfigurationWorkingCopy configuration;
-
-	/**
-	 * ConfigurationCommand constructor comment.
-	 */
-	public ConfigurationCommand(IServerConfigurationWorkingCopy configuration) {
-		super();
-		this.configuration = configuration;
-	}
-
-	/**
-	 * Returns true if this command can be undone.
-	 * @return boolean
-	 */
-	public boolean canUndo() {
-		return true;
-	}
-	
-	public abstract boolean execute();
-	
-	public void execute(IProgressMonitor monitor) {
-		execute();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java
deleted file mode 100644
index b6a0cd0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.wst.server.ui.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * A command on a server.
- */
-public abstract class ServerCommand extends Task {
-	protected IServerWorkingCopy server;
-
-	/**
-	 * ServerCommand constructor comment.
-	 */
-	public ServerCommand(IServerWorkingCopy server) {
-		super();
-		this.server = server;
-	}
-
-	/**
-	 * Returns true if this command can be undone.
-	 * @return boolean
-	 */
-	public boolean canUndo() {
-		return true;
-	}
-	
-	public abstract boolean execute();
-	
-	public void execute(IProgressMonitor monitor) {
-		execute();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationNameCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationNameCommand.java
deleted file mode 100644
index eae0f0d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationNameCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.wst.server.ui.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Command to change the server configuration name.
- */
-public class SetServerConfigurationNameCommand extends ConfigurationCommand {
-	protected String name;
-	protected String oldName;
-
-	/**
-	 * SetServerConfigurationNameCommand constructor comment.
-	 */
-	public SetServerConfigurationNameCommand(IServerConfigurationWorkingCopy config, String name) {
-		super(config);
-		this.name = name;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldName = configuration.getName();
-		configuration.setName(name);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewServerConfigurationNameDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewServerConfigurationNameCommand");
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		configuration.setName(oldName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java
deleted file mode 100644
index 1499497..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.wst.server.ui.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Command to change the server hostname.
- */
-public class SetServerHostnameCommand extends ServerCommand {
-	protected String name;
-	protected String oldName;
-
-	/**
-	 * SetServerHostnameCommand constructor comment.
-	 */
-	public SetServerHostnameCommand(IServerWorkingCopy server, String name) {
-		super(server);
-		this.name = name;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldName = server.getHostname();
-		server.setHostname(name);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewServerHostnameDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewServerHostnameCommand");
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setHostname(oldName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java
deleted file mode 100644
index 8519fa9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.wst.server.ui.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Command to change the server name.
- */
-public class SetServerNameCommand extends ServerCommand {
-	protected String name;
-	protected String oldName;
-
-	/**
-	 * SetServerNameCommand constructor comment.
-	 */
-	public SetServerNameCommand(IServerWorkingCopy server, String name) {
-		super(server);
-		this.name = name;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldName = server.getName();
-		server.setName(name);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewServerNameDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewServerNameCommand");
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setName(oldName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java
deleted file mode 100644
index 787df10..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.wst.server.ui.internal.command;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-/**
- * Command to change the server runtime.
- */
-public class SetServerRuntimeCommand extends ServerCommand {
-	protected IRuntime runtime;
-	protected IRuntime oldRuntime;
-
-	/**
-	 * SetServerRuntimeCommand constructor comment.
-	 */
-	public SetServerRuntimeCommand(IServerWorkingCopy server, IRuntime runtime) {
-		super(server);
-		this.runtime = runtime;
-	}
-
-	/**
-	 * Execute the command.
-	 * @return boolean
-	 */
-	public boolean execute() {
-		oldRuntime = server.getRuntime();
-		server.setRuntime(runtime);
-		return true;
-	}
-
-	/**
-	 * Returns this command's description.
-	 * @return java.lang.String
-	 */
-	public String getDescription() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewRuntimeDescription");
-	}
-
-	/**
-	 * Returns this command's label.
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return ServerUIPlugin.getResource("%serverEditorOverviewRuntimeCommand");
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setRuntime(oldRuntime);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
deleted file mode 100644
index c0cdf9b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
+++ /dev/null
@@ -1,701 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.IElementWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.editor.ICommandManager;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
-import org.eclipse.wst.server.ui.editor.ServerEditorPartInput;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-
-public class GlobalCommandManager {
-	// maximum number of commands in the history
-	private static final int MAX_HISTORY = 200;
-
-	class ServerResourceCommand {
-		ITask command;
-		String id;
-	}
-	
-	// commands in the undo history
-	protected List undoList = new ArrayList();
-
-	// commands in the redo history
-	protected List redoList = new ArrayList();
-
-	class CommandManagerInfo {
-		// number of open editors on this resource
-		int count;
-		
-		// true if the resource has not been saved since
-		// the last change
-		boolean isDirty;
-		
-		// true if the resource is read-only
-		boolean isReadOnly;
-		
-		// true if all changes can be undone, false if
-		// a non-reversable change has been made
-		boolean canCompletelyUndo = true;
-		
-		// the element id
-		String id;
-		
-		// the working copy
-		IElementWorkingCopy wc;
-		
-		// files and timestamps
-		Map fileMap;
-		
-		int timestamp;
-	}
-
-	protected Map commandManagers = new HashMap();
-
-	// property change listeners
-	protected List propertyListeners;
-	public static final String PROP_DIRTY = "dirtyState";
-	public static final String PROP_UNDO = "undoAction";
-	public static final String PROP_REDO = "redoAction";
-	public static final String PROP_RELOAD = "reload";
-
-	protected static GlobalCommandManager instance;
-
-	public static GlobalCommandManager getInstance() {
-		if (instance == null)
-			instance = new GlobalCommandManager();
-		return instance;
-	}
-
-	/**
-	 * Add a property change listener to this instance.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners == null)
-			propertyListeners = new ArrayList();
-		propertyListeners.add(listener);
-	}
-
-	/**
-	 * Remove a property change listener from this instance.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners != null)
-			propertyListeners.remove(listener);
-	}
-
-	/**
-	 * Fire a property change event.
-	 */
-	protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		if (propertyListeners == null)
-			return;
-
-		PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
-		//Trace.trace("Firing: " + event + " " + oldValue);
-		try {
-			int size = propertyListeners.size();
-			PropertyChangeListener[] pcl = new PropertyChangeListener[size];
-			propertyListeners.toArray(pcl);
-			
-			for (int i = 0; i < size; i++)
-				try {
-					pcl[i].propertyChange(event);
-				} catch (Exception e) { }
-		} catch (Exception e) { }
-	}
-
-	/**
-	 * 
-	 */
-	public void getCommandManager(String id) {
-		Trace.trace("Getting command manager for " + id);
-		try {
-			CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id);
-			if (info != null) {
-				info.count ++;
-				return;
-			}
-		} catch (Exception e) {
-			Trace.trace("Could not find existing command manager", e);
-		}
-		Trace.trace("Creating new command manager for " + id);
-		try {
-			CommandManagerInfo info = new CommandManagerInfo();
-			info.count = 1;
-			info.id = id;
-			IServer server = ServerCore.getResourceManager().getServer(id);
-			if (server != null)
-				info.wc = server.getWorkingCopy();
-			else {
-				IServerConfiguration config = ServerCore.getResourceManager().getServerConfiguration(id);
-				if (config != null)
-					info.wc = config.getWorkingCopy();
-			}
-			info.isDirty = false;
-			info.isReadOnly = false;
-			commandManagers.put(id, info);
-			updateTimestamps(id);
-		} catch (Exception e) {
-			Trace.trace("Could not obtain command manager", e);
-		}
-		return;
-	}
-
-	/**
-	 * 
-	 */
-	public void releaseCommandManager(String id) {
-		Trace.trace("Releasing command manager for " + id);
-		try {
-			CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id);
-			if (info != null) {
-				info.count --;
-				if (info.count == 0) {
-					if (info.wc instanceof IServerWorkingCopy) {
-						IServerWorkingCopy wc = (IServerWorkingCopy) info.wc;
-						wc.release();
-					} else {
-						IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) info.wc;
-						wc.release();
-					}
-					
-					commandManagers.remove(id);
-					clearUndoList(id);
-					clearRedoList(id);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace("Could not release command manager", e);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void reload(String id, IProgressMonitor monitor) {
-		try {
-			CommandManagerInfo info = getExistingCommandManagerInfo(id);
-			if (info != null) {
-				IServer server = ServerCore.getResourceManager().getServer(id);
-				if (server != null)
-					info.wc = server.getWorkingCopy();
-				else {
-					IServerConfiguration config = ServerCore.getResourceManager().getServerConfiguration(id);
-					if (config != null)
-						info.wc = config.getWorkingCopy();
-				}
-				//info.serverElement = ServerCore.getResourceManager().getServer()
-				//info.serverElement = ServerCore.getEditManager().reloadEditModel(info.file, monitor);
-				firePropertyChangeEvent(PROP_RELOAD, id, null);
-			}
-		} catch (Exception e) {
-			Trace.trace("Could not release command manager", e);
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	protected CommandManagerInfo getExistingCommandManagerInfo(String id) {
-		try {
-			return (CommandManagerInfo) commandManagers.get(id);
-		} catch (Exception e) {
-			Trace.trace("Could not find existing command manager info");
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true if there is only one command manager.
-	 */
-	public boolean isOnlyCommandManager(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		return (info != null && info.count == 1);
-	}
-	
-	protected IServerEditorPartInput getPartInput(String serverId, ICommandManager serverCommandManager, String configurationId, ICommandManager configurationCommandManager) {
-		CommandManagerInfo serverInfo = null;
-		IServerWorkingCopy server = null;
-		boolean serverReadOnly = false;
-		if (serverId != null) {
-			serverInfo = getExistingCommandManagerInfo(serverId);
-			if (serverInfo == null)
-				return null;
-			
-			server = (IServerWorkingCopy) serverInfo.wc;
-			serverReadOnly = serverInfo.isReadOnly;
-		}
-		
-		CommandManagerInfo configurationInfo = null;
-		IServerConfigurationWorkingCopy configuration = null;
-		boolean configurationReadOnly = false;
-		if (configurationId != null) {
-			configurationInfo = getExistingCommandManagerInfo(configurationId);
-			if (configurationInfo == null)
-				return null;
-			
-			configuration = (IServerConfigurationWorkingCopy) configurationInfo.wc;
-			configurationReadOnly = configurationInfo.isReadOnly;
-		}
-
-		return new ServerEditorPartInput(serverCommandManager, server, serverReadOnly,
-			configurationCommandManager, configuration, configurationReadOnly);
-	}
-	
-	/**
-	 * 
-	 */
-	protected IElement getServerResource(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return null;
-			
-		return info.wc;
-	}
-
-	/**
-	 * Execute the given command and place it in the undo stack.
-	 * If the command cannot be undone, the user will be notifed
-	 * before it is executed.
-	 *
-	 * @param command ICommand
-	 */
-	public void executeCommand(String id, ITask command) {
-		if (!command.canUndo() && !undoList.isEmpty() && ServerUICore.getPreferences().getPromptBeforeIrreversibleChange()) {
-			try {
-				Display d = Display.getCurrent();
-				if (d == null)
-					d = Display.getDefault();
-		
-				Shell shell = d.getActiveShell();
-				if (!MessageDialog.openConfirm(shell, ServerUIPlugin.getResource("%editorServerEditor"), ServerUIPlugin.getResource("%editorPromptIrreversible")))
-					return;
-			} catch (Exception e) { }
-		}
-		
-		ServerResourceCommand src = new ServerResourceCommand();
-		src.id = id;
-		src.command = command;
-
-		try {
-			command.execute(new NullProgressMonitor());
-		} catch (CoreException ce) {
-			return;
-		}
-
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return;
-
-		if (command.canUndo())
-			addToUndoList(src);
-		else {
-			info.canCompletelyUndo = false;
-			clearUndoList(id);
-		}
-
-		// clear redo list since a new command has been executed.
-		clearRedoList(id);
-
-		setDirtyState(id, true);
-	}
-
-	/**
-	 * Add a command to the history.
-	 */
-	private void addToUndoList(ServerResourceCommand src) {
-		undoList.add(src);
-
-		// limit history growth
-		if (undoList.size() > MAX_HISTORY)
-			undoList.remove(0);
-
-		firePropertyChangeEvent(PROP_UNDO, src.id, null);
-	}
-
-	/**
-	 * Clears the undo of a particular resource.
-	 */
-	private void clearUndoList(String id) {
-		int i = 0;
-		boolean modified = false;
-		while (i < undoList.size()) {
-			ServerResourceCommand src = (ServerResourceCommand) undoList.get(i);
-			if (src.id.equals(id)) {
-				modified = true;
-				undoList.remove(i);
-			} else
-				i++;
-		}
-		if (modified)
-			firePropertyChangeEvent(PROP_UNDO, id, null);
-	}
-
-	/**
-	 * Clears the redo of a particular resource.
-	 */
-	private void clearRedoList(String id) {
-		int i = 0;
-		boolean modified = false;
-		while (i < redoList.size()) {
-			ServerResourceCommand src = (ServerResourceCommand) redoList.get(i);
-			if (src.id.equals(id)) {
-				redoList.remove(i);
-				modified = true;
-			} else
-				i++;
-		}
-		if (modified)
-			firePropertyChangeEvent(PROP_REDO, id, null);
-	}
-
-	/**
-	 * Returns true if there is a command that can be undone.
-	 * @return boolean
-	 */
-	protected boolean canUndo(String a, String b) {
-		Iterator iterator = undoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src = (ServerResourceCommand) iterator.next();
-			if (src.id == a || src.id == b)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns true if there is a command that can be redone.
-	 * @return boolean
-	 */
-	protected boolean canRedo(String a, String b) {
-		Iterator iterator = redoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src = (ServerResourceCommand) iterator.next();
-			if (src.id == a || src.id == b)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the command that would be undone next.
-	 * 
-	 * @return org.eclipse.wst.server.ui.editor.ICommand
-	 */
-	public ITask getUndoCommand(String a, String b) {
-		int size = undoList.size();
-		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = (ServerResourceCommand) undoList.get(i);
-			if (src.id == a || src.id == b)
-				return src.command;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the command that would be redone next.
-	 * 
-	 * @return org.eclipse.wst.server.ui.editor.ICommand
-	 */
-	public ITask getRedoCommand(String a, String b) {
-		int size = redoList.size();
-		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = (ServerResourceCommand) redoList.get(i);
-			if (src.id == a || src.id == b)
-				return src.command;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true if the server resource is "dirty".
-	 *
-	 * @return boolean
-	 */
-	public boolean isDirty(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		
-		return info.isDirty;
-	}
-	
-	/**
-	 * Returns true if the server resource is read-only.
-	 *
-	 * @return boolean
-	 */
-	public boolean isReadOnly(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		return info.isReadOnly;
-	}
-	
-	/**
-	 * Returns the server resource read-only flag.
-	 */
-	public void setReadOnly(String id, boolean readOnly) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return;
-		
-		if (info.isReadOnly == readOnly)
-			return;
-		info.isReadOnly = readOnly;
-		firePropertyChangeEvent(PROP_RELOAD, id, null);
-	}
-
-	/**
-	 * Returns true if the server resource files are read-only.
-	 *
-	 * @return boolean
-	 */
-	public boolean areFilesReadOnly(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		return (getReadOnlyFiles(id).length > 0);
-	}
-	
-	/**
-	 * Sets the dirty state and fires an event if needed.
-	 * @param dirty boolean
-	 */
-	private void setDirtyState(String id, boolean dirty) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info.isDirty == dirty)
-			return;
-
-		info.isDirty = dirty;
-		firePropertyChangeEvent(PROP_DIRTY, id, null);
-	}
-
-	/**
-	 * Undo the last command.
-	 */
-	protected void undo(String a, String b) {
-		ServerResourceCommand src = null;
-		Iterator iterator = undoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src2 = (ServerResourceCommand) iterator.next();
-			if (src2.id == a || src2.id == b)
-				src = src2;
-		}
-		if (src == null)
-			return;
-
-		src.command.undo();
-		undoList.remove(src);
-		firePropertyChangeEvent(PROP_UNDO, src.id, null);
-		redoList.add(src);
-		firePropertyChangeEvent(PROP_REDO, src.id, null);
-
-		CommandManagerInfo info = getExistingCommandManagerInfo(src.id);
-		if (info.canCompletelyUndo && getUndoCommand(src.id, null) == null)
-			setDirtyState(src.id, false);
-	}
-
-	/**
-	 * Redo the last command.
-	 */
-	protected void redo(String a, String b) {
-		ServerResourceCommand src = null;
-		Iterator iterator = redoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src2 = (ServerResourceCommand) iterator.next();
-			if (src2.id == a || src2.id == b)
-				src = src2;
-		}
-		if (src == null)
-			return;
-
-		try {
-			src.command.execute(new NullProgressMonitor());
-		} catch (CoreException ce) {
-			return;
-		}
-		redoList.remove(src);
-		firePropertyChangeEvent(PROP_REDO, src.id, null);
-		undoList.add(src);
-		firePropertyChangeEvent(PROP_UNDO, src.id, null);
-
-		setDirtyState(src.id, true);
-	}
-
-	/**
-	 * Clears the history list.
-	 */
-	public void resourceSaved(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		//clearUndoList(resource);
-		//clearRedoList(resource);
-		info.canCompletelyUndo = true;
-		setDirtyState(id, false);
-	}
-	
-	/**
-	 * 
-	 */
-	public static IFile[] getReadOnlyFiles(IElement element) {
-		try {
-			List list = new ArrayList();
-			IFile file = null;
-			if (element instanceof IServer)
-				file = ((IServer) element).getFile();
-			else if (element instanceof IServerConfiguration)
-				file = ((IServerConfiguration) element).getFile();
-			
-			if (file != null)
-				list.add(file);
-			
-			//if ()
-			//IServerConfiguration config = (IServerConfiguration) element;
-			// TODO
-			IFile[] files = new IFile[list.size()];
-			list.toArray(files);
-			return files;
-		} catch (Exception e) {
-			Trace.trace("getReadOnlyFiles", e);
-		}
-		return null;
-	}
-	
-	/**
-	 * 
-	 */
-	protected IFile[] getServerResourceFiles(String id) {
-		if (id == null)
-			return new IFile[0];
-
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return new IFile[0];
-
-		return getReadOnlyFiles(info.wc);
-	}
-	
-	protected IFile[] getReadOnlyFiles(String id) {
-		List list = new ArrayList();
-		IFile[] files = getServerResourceFiles(id);
-		int size = files.length;
-		for (int i = 0; i < size; i++) {
-			if (files[i].isReadOnly())
-				list.add(files[i]);
-		}
-		
-		IFile[] fileList = new IFile[list.size()];
-		list.toArray(fileList);
-		return fileList;
-	}
-
-	/**
-	 * 
-	 */
-	public void updateTimestamps(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return;
-		
-		info.fileMap = new HashMap();
-		IFile[] files = getServerResourceFiles(id);
-		if (files != null) {
-			int size = files.length;
-		
-			for (int i = 0; i < size; i++) {
-				if (files[i] != null) {
-					File f = files[i].getLocation().toFile();
-					if (f != null) {
-						long time = f.lastModified();
-						info.fileMap.put(files[i], new Long(time));
-					}
-				}
-			}
-		}
-		info.timestamp = getTimestamp(info);
-	}
-	
-	protected static int getTimestamp(CommandManagerInfo info) {
-		IElement element = info.wc;
-		IElement element2 = null;
-		if (element instanceof IServer)
-			element2 = ((IServerWorkingCopy) element).getOriginal();
-		else if (element instanceof IServerConfiguration)
-			element2 = ((IServerConfigurationWorkingCopy) element).getOriginal();
-
-		if (element2 != null)
-			return element2.getTimestamp();
-		return -1;
-	}
-
-	/**
-	 * 
-	 */
-	protected boolean hasChanged(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		IFile[] files = getServerResourceFiles(id);
-		int size = files.length;
-
-		int count = 0;
-		for (int i = 0; i < size; i++) {
-			count++;
-			File f = files[i].getLocation().toFile();
-			try {
-				Long time = (Long) info.fileMap.get(files[i]);
-				if (time.longValue() != f.lastModified())
-					return true;
-			} catch (Exception e) {
-				return true;
-			}
-		}
-		
-		int timestamp = getTimestamp(info);
-		if (info.timestamp != timestamp)
-			return true;
-
-		if (count != info.fileMap.size())
-			return true;
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorFactory.java
deleted file mode 100644
index 74bd92d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartFactoryDelegate;
-/**
- *
- */
-public class OverviewEditorFactory implements IServerEditorPartFactoryDelegate {
-	/*
-	 * @see IServerEditorPartFactoryDelegate#shouldCreatePage(IServer, IServerConfiguration)
-	 */
-	public boolean shouldCreatePage(IServer server, IServerConfiguration configuration) {
-		return true;
-	}
-
-	/*
-	 * @see IServerEditorPartFactoryDelegate#createPage()
-	 */
-	public IEditorPart createPage() {
-		return new OverviewEditorPart();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java
deleted file mode 100644
index ed8f36f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java
+++ /dev/null
@@ -1,352 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.util.SocketUtil;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.command.SetServerConfigurationNameCommand;
-import org.eclipse.wst.server.ui.internal.command.SetServerHostnameCommand;
-import org.eclipse.wst.server.ui.internal.command.SetServerNameCommand;
-import org.eclipse.wst.server.ui.internal.command.SetServerRuntimeCommand;
-/**
- * Server general editor page.
- */
-public class OverviewEditorPart extends ServerResourceEditorPart {
-	protected Text serverName;
-	protected Text serverConfigurationName;
-	protected Text hostname;
-	protected Combo runtimeCombo;
-	
-	protected boolean updating;
-	
-	protected List runtimes;
-
-	protected PropertyChangeListener listener;
-
-	/**
-	 * OverviewEditorPart constructor comment.
-	 */
-	protected OverviewEditorPart() {
-		super();
-	}
-	
-	protected ICommandManager getCommandManager() {
-		return commandManager;
-	}
-	
-	protected IServerWorkingCopy getServer() {
-		return server;
-	}
-	
-	protected IServerConfigurationWorkingCopy getServerConfiguration() {
-		return serverConfiguration;
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (updating)
-					return;
-				updating = true;
-				if (event.getPropertyName().equals("name"))
-					updateNames();
-				else if (event.getPropertyName().equals("hostname") && hostname != null) {
-					hostname.setText((String) event.getNewValue());
-				}
-				updating = false;
-			}
-		};
-		if (server != null)
-			server.addPropertyChangeListener(listener);
-		if (serverConfiguration != null)
-			serverConfiguration.addPropertyChangeListener(listener);
-	}
-
-	protected void updateNames() {
-		if (serverName != null)
-			serverName.setText(server.getName());
-		if (serverConfigurationName != null)
-			serverConfigurationName.setText(serverConfiguration.getName());
-	}
-
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 *
-	 * @param parent the parent control
-	 */
-	public final void createPartControl(Composite parent) {
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		ScrolledForm form = toolkit.createScrolledForm(parent);
-		form.setText(ServerUIPlugin.getResource("%serverEditorOverviewPageTitle"));
-		form.getBody().setLayout(new GridLayout());
-		form.getBody().setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Composite columnComp = toolkit.createComposite(form.getBody());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		//layout.marginHeight = 10;
-		//layout.marginWidth = 10;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 10;
-		columnComp.setLayout(layout);
-		columnComp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		// left column
-		Composite leftColumnComp = toolkit.createComposite(columnComp);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 10;
-		layout.horizontalSpacing = 0;
-		leftColumnComp.setLayout(layout);
-		leftColumnComp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Section section = toolkit.createSection(leftColumnComp, ExpandableComposite.TWISTIE|ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(ServerUIPlugin.getResource("%serverEditorOverviewSection"));
-		section.setDescription(ServerUIPlugin.getResource("%serverEditorOverviewDescription"));
-		section.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-
-		Composite composite = toolkit.createComposite(section);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		WorkbenchHelp.setHelp(composite, ContextIds.EDITOR_OVERVIEW_PAGE);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-
-		// server name
-		if (server != null) {
-			createLabel(toolkit, composite, ServerUIPlugin.getResource("%serverEditorOverviewServerName"));
-			
-			serverName = toolkit.createText(composite, server.getName());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			serverName.setLayoutData(data);
-			serverName.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					getCommandManager().executeCommand(new SetServerNameCommand(getServer(), serverName.getText()));
-					updating = false;
-				}
-			});
-		}
-		
-		// server configuration name
-		if (serverConfiguration != null) {
-			createLabel(toolkit, composite, ServerUIPlugin.getResource("%serverEditorOverviewServerConfigurationName"));
-			
-			serverConfigurationName = toolkit.createText(composite, serverConfiguration.getName());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			serverConfigurationName.setLayoutData(data);
-			serverConfigurationName.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					getCommandManager().executeCommand(new SetServerConfigurationNameCommand(getServerConfiguration(), serverConfigurationName.getText()));
-					updating = false;
-				}
-			});
-		}
-		
-		// hostname
-		if (server != null) {
-			createLabel(toolkit, composite, ServerUIPlugin.getResource("%serverEditorOverviewServerHostname"));
-			
-			hostname = toolkit.createText(composite, server.getHostname());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			hostname.setLayoutData(data);
-			hostname.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					getCommandManager().executeCommand(new SetServerHostnameCommand(getServer(), hostname.getText()));
-					updating = false;
-				}
-			});
-		}
-		
-		if (server != null && server.getServerType() != null && server.getServerType().hasRuntime()) {
-			IRuntime runtime = server.getRuntime();
-			createLabel(toolkit, composite, ServerUIPlugin.getResource("%serverEditorOverviewRuntime"));
-			
-			IRuntimeType runtimeType = server.getServerType().getRuntimeType();
-			runtimes = ServerCore.getResourceManager().getRuntimes(runtimeType);
-			
-			if (runtimes.size() < 2) {
-				if (runtime == null)
-					toolkit.createLabel(composite, "");
-				else
-					toolkit.createLabel(composite, runtime.getName());
-			} else {
-				runtimeCombo = new Combo(composite, SWT.READ_ONLY);
-				GridData data = new GridData(GridData.FILL_HORIZONTAL);
-				runtimeCombo.setLayoutData(data);
-				updateRuntimeCombo();
-				
-				int index = runtimes.indexOf(runtime);
-				if (index >= 0)
-					runtimeCombo.select(index);
-				
-				runtimeCombo.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent e) {
-						try {
-							if (updating)
-								return;
-							updating = true;
-							IRuntime newRuntime = (IRuntime) runtimes.get(runtimeCombo.getSelectionIndex());
-							getCommandManager().executeCommand(new SetServerRuntimeCommand(getServer(), newRuntime));
-							updating = false;
-						} catch (Exception ex) { }
-					}
-					public void widgetDefaultSelected(SelectionEvent e) {
-						widgetSelected(e);
-					}
-				});
-			}
-		}
-		
-		insertSections(leftColumnComp, "org.eclipse.wst.server.editor.overview.left");
-		
-		// left column
-		Composite rightColumnComp = toolkit.createComposite(columnComp);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 10;
-		layout.horizontalSpacing = 0;
-		rightColumnComp.setLayout(layout);
-		rightColumnComp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		insertSections(rightColumnComp, "org.eclipse.wst.server.editor.overview.right");
-
-		initialize();
-	}
-	
-	protected void updateRuntimeCombo() {
-		IRuntimeType runtimeType = server.getServerType().getRuntimeType();
-		runtimes = ServerCore.getResourceManager().getRuntimes(runtimeType);
-		
-		if (SocketUtil.isLocalhost(server.getHostname())) {
-			int size = runtimes.size();
-			int i = 0;
-			while (i < size) {
-				IRuntime runtime2 = (IRuntime) runtimes.get(i);
-				if (runtime2.getAttribute("stub", false)) {
-					size --;
-					runtimes.remove(i);
-				} else
-					i++;
-			}
-		}
-		
-		int size = runtimes.size();
-		String[] items = new String[size];
-		for (int i = 0; i < size; i++) {
-			IRuntime runtime2 = (IRuntime) runtimes.get(i);
-			items[i] = runtime2.getName();
-		}
-		runtimeCombo.setItems(items);
-	}
-
-	protected Label createLabel(FormToolkit toolkit, Composite parent, String text) {
-		Label label = toolkit.createLabel(parent, text);
-		label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-		return label;
-	}
-	
-	public void dispose() {
-		super.dispose();
-		
-		if (server != null)
-			server.removePropertyChangeListener(listener);
-		if (serverConfiguration != null)
-			serverConfiguration.removePropertyChangeListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		addChangeListener();
-		initialize();
-	}
-	
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (serverName == null)
-			return;
-		updating = true;
-		
-		if (server != null) {
-			serverName.setText(server.getName());
-			if (readOnly)
-				serverName.setEnabled(false);
-			else
-				serverName.setEnabled(true);
-		}
-		if (serverConfiguration != null) {
-			serverConfigurationName.setText(serverConfiguration.getName());
-			if (readOnly)
-				serverConfigurationName.setEnabled(false);
-			else
-				serverConfigurationName.setEnabled(true);
-		}
-		
-		updating = false;
-	}
-	
-	protected void validate() { }
-
-	/**
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (serverName != null)
-			serverName.setFocus();
-		else if (serverConfigurationName != null)
-			serverConfigurationName.setFocus();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
deleted file mode 100644
index 992b8bd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
+++ /dev/null
@@ -1,995 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.ServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.core.model.IServerResourceListener;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.ServerResourceAdapter;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.wst.server.ui.internal.*;
-/**
- * A multi-page server resource editor.
- */
-public class ServerEditor extends MultiPageEditorPart {
-	/**
-	 * Internal part and shell activation listener
-	 */
-	class ActivationListener extends ShellAdapter implements IPartListener {
-		private IWorkbenchPart fActivePart;
-		private boolean fIsHandlingActivation = false;
-		
-		public void partActivated(IWorkbenchPart part) {
-			fActivePart = part;
-			handleActivation();
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part) { }
-
-		public void partClosed(IWorkbenchPart part) { }
-
-		public void partDeactivated(IWorkbenchPart part) {
-			fActivePart = null;
-		}
-
-		public void partOpened(IWorkbenchPart part) { }
-
-		public void shellActivated(ShellEvent e) {
-			handleActivation();
-		}
-
-		private void handleActivation() {
-			if (fIsHandlingActivation)
-				return;
-			
-			if (fActivePart == ServerEditor.this) {
-				fIsHandlingActivation = true;
-				try {
-					checkResourceState();
-				} finally {
-					fIsHandlingActivation= false;
-				}
-			}
-		}
-	}
-
-	protected IServerWorkingCopy server;
-	protected IServerConfigurationWorkingCopy serverConfiguration;
-	protected String serverId;
-	protected String serverConfigurationId;
-
-	protected GlobalCommandManager commandManager;
-
-	protected PropertyChangeListener listener;
-
-	protected IAction undoAction;
-	protected IAction redoAction;
-	
-	protected TextAction cutAction;
-	protected TextAction copyAction;
-	protected TextAction pasteAction;
-	protected boolean updatingActions;
-	
-	protected IAction[] editorActions;
-
-	protected java.util.List serverPages;
-	
-	// on focus change flag
-	protected boolean resourceDeleted;
-	
-	// input given to the contained pages
-	protected IServerEditorPartInput editorPartInput;
-	
-	// status line and status
-	protected IStatusLineManager status;
-	protected StatusLineContributionItem statusItem;
-	
-	private ActivationListener activationListener = new ActivationListener();
-	protected IServerResourceListener resourceListener;
-	
-	// Used for disabling resource change check when saving through editor.
-	protected boolean isSaving = false;
-
-	/**
-	 * ServerEditor constructor comment.
-	 */
-	public ServerEditor() {
-		super();
-		
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-
-		undoAction = new Action() {
-			public void run() {
-				getCommandManager().undo(serverId, serverConfigurationId);
-			}
-		};
-		undoAction.setEnabled(false);
-		undoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO));
-		//undoAction.setHoverImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_HOVER));
-		//undoAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED));
-	
-		redoAction = new Action() {
-			public void run() {
-				getCommandManager().redo(serverId, serverConfigurationId);
-			}
-		};
-		redoAction.setEnabled(false);
-		redoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO));
-		//redoAction.setHoverImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO_HOVER));
-		//redoAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO_DISABLED));
-	}
-
-	/**
-	 * Close the editor correctly.
-	 */
-	protected void closeEditor() {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				getEditorSite().getPage().closeEditor(ServerEditor.this, false);
-			}
-		});
-	}
-	
-	protected void createActions() {
-		List actionList = new ArrayList();
-		
-		// add server actions
-		if (server != null && server.getServerType() != null) {
-			Iterator iterator = ServerEditorCore.getServerEditorActionFactories().iterator();
-			String id = server.getServerType().getId();
-			while (iterator.hasNext()) {
-				ServerEditorActionFactory factory = (ServerEditorActionFactory) iterator.next();
-				if (factory.supportsServerElementType(id) && factory.shouldDisplay(server, serverConfiguration))
-					actionList.add(factory.createAction(getEditorSite(), editorPartInput));
-			}
-		}
-		
-		// add server configuration actions
-		if (serverConfiguration != null && serverConfiguration.getServerConfigurationType() != null) {
-			Iterator iterator = ServerEditorCore.getServerEditorActionFactories().iterator();
-			String id = serverConfiguration.getServerConfigurationType().getId();
-			while (iterator.hasNext()) {
-				ServerEditorActionFactory factory = (ServerEditorActionFactory) iterator.next();
-				if (factory.supportsServerElementType(id) && factory.shouldDisplay(server, serverConfiguration))
-					actionList.add(factory.createAction(getEditorSite(), editorPartInput));
-			}
-		}
-
-		editorActions = new IAction[actionList.size()];
-		actionList.toArray(editorActions);
-	}
-
-	/**
-	 * Creates the pages of this multi-page editor.
-	 * <p>
-	 * Subclasses of <code>MultiPageEditor</code> must implement this method.
-	 * </p>
-	 */
-	protected void createPages() {	
-		try {
-			int index = 0;
-			serverPages = new ArrayList();
-			
-			// add editor pages
-			int pageCount = 0;
-			
-			String serverTypeId = null;
-			String serverConfigurationTypeId = null;
-			if (server != null && server.getServerType() != null)
-				serverTypeId = server.getServerType().getId();
-			if (serverConfiguration != null && serverConfiguration.getServerConfigurationType() != null)
-				serverConfigurationTypeId = serverConfiguration.getServerConfigurationType().getId();
-	
-			Iterator iterator = ServerEditorCore.getServerEditorPageFactories().iterator();
-			while (iterator.hasNext()) {
-				IServerEditorPartFactory factory = (IServerEditorPartFactory) iterator.next();
-				if (((serverTypeId != null && factory.supportsType(serverTypeId)) || 
-						(serverConfigurationTypeId != null && factory.supportsType(serverConfigurationTypeId)))
-						&& factory.shouldCreatePage(server, serverConfiguration)) {
-					Trace.trace(Trace.FINEST, "Adding page: " + factory.getId() + " " + editorPartInput);
-					try {
-						IEditorPart page = factory.createPage();
-						if (page instanceof ServerResourceEditorPart) {
-							ServerResourceEditorPart srep = (ServerResourceEditorPart) page;
-							srep.setPageFactory(factory);
-						}
-						index = addPage(page, editorPartInput);
-						serverPages.add(page);
-	
-						setPageText(index, factory.getName());
-				
-						pageCount ++;
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Could not display editor page " + factory.getId(), e);
-					}
-				}
-			}
-			
-			setActivePage(0);
-			
-			// register for events that might change the cut/copy/paste actions
-			int count = getPageCount();
-			for (int i = 0; i < count; i++) {
-				Control control = getControl(i);
-				registerEvents(control);
-			}
-			updateActions();
-		} catch (Exception e) {
-			Trace.trace("Error creating server editor pages", e);
-		}
-	}
-
-	public void dispose() {
-		if (activationListener != null) {
-			IWorkbenchWindow window = getSite().getWorkbenchWindow();
-			window.getPartService().removePartListener(activationListener);
-			Shell shell = window.getShell();
-			if (shell != null && !shell.isDisposed())
-				shell.removeShellListener(activationListener);
-			activationListener = null;
-		}
-		
-		if (resourceListener != null)
-			ServerCore.getResourceManager().removeResourceListener(resourceListener);
-
-		super.dispose();
-		if (commandManager != null)
-			commandManager.removePropertyChangeListener(listener);
-
-		if (serverId != null)
-			commandManager.releaseCommandManager(serverId);
-			
-		if (serverConfigurationId != null)
-			commandManager.releaseCommandManager(serverConfigurationId);
-	}
-
-	/* (non-Javadoc)
-	 * Saves the contents of this editor.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		// Set the isSaving flag to true.
-		isSaving = true;
-		
-		// check pages for errors first
-		java.util.List errors = new ArrayList();
-		Iterator iterator = serverPages.iterator();
-		int count = 0;
-		while (iterator.hasNext()) {
-			IEditorPart part = (IEditorPart) iterator.next();
-			if (part instanceof ServerResourceEditorPart) {
-				IStatus[] status2 = ((ServerResourceEditorPart) part).getSaveStatus();
-				if (status2 != null) {
-					int size = status2.length;
-					for (int i = 0; i < size; i++)
-						errors.add("[" + getPageText(count) + "] " + status2[i].getMessage());
-				}
-			}
-			count ++;
-		}
-		if (!errors.isEmpty()) {
-			StringBuffer sb = new StringBuffer();
-			sb.append(ServerUIPlugin.getResource("%errorEditorCantSave") + "\n");
-			iterator = errors.iterator();
-			while (iterator.hasNext())
-				sb.append("\t" + ((String) iterator.next()) + "\n");
-
-			EclipseUtil.openError(getEditorSite().getShell(), sb.toString());
-			monitor.setCanceled(true);
-			// Reset the isSaving flag.
-			isSaving = false;
-			return;
-		}
-		
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			int ticks = 2000;
-			String name = "";
-			if (server != null)
-				name = server.getName();
-			else
-				name = serverConfiguration.getName();
-			monitor.beginTask(ServerUIPlugin.getResource("%savingTask", name), ticks);
-			if (server != null && serverConfiguration != null)
-				ticks /= 2;
-
-			if (server != null)  {
-				((ServerWorkingCopy)server).save(ProgressUtil.getSubMonitorFor(monitor, ticks), false);
-				getCommandManager().resourceSaved(serverId);
-				commandManager.updateTimestamps(serverId);
-			}
-
-			if (serverConfiguration != null) {
-				((ServerConfigurationWorkingCopy)serverConfiguration).save(ProgressUtil.getSubMonitorFor(monitor, ticks), false);
-				getCommandManager().resourceSaved(serverConfigurationId);
-				commandManager.updateTimestamps(serverConfigurationId);
-			}
-			
-			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-			if (server != null)
-				setPartName(labelProvider.getText(server));
-			else
-				setPartName(labelProvider.getText(serverConfiguration));
-		} catch (Exception e) {
-			Trace.trace("Error saving from configuration editor", e);
-	
-			monitor.setCanceled(true);
-	
-			String title = ServerUIPlugin.getResource("%editorSaveErrorDialog");
-			String message = ServerUIPlugin.getResource("%editorSaveErrorMessage", e.getLocalizedMessage());
-			MessageDialog.openError(getEditorSite().getShell(), title,  message);
-		} finally {
-			monitor.done();
-		}
-		// Reset the isSaving flag.
-		isSaving = false;
-	}
-
-	/* (non-Javadoc)
-	 * Saves the contents of this editor to another object.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public void doSaveAs() { }
-
-	/**
-	 * Fire a property change event.
-	 *
-	 * @param i int
-	 */
-	protected void firePropertyChange(int i) {
-		if (i == ServerResourceEditorPart.PROP_ERROR)
-			updateStatusError();
-		super.firePropertyChange(i);
-	}
-
-	/**
-	 * 
-	 */
-	public GlobalCommandManager getCommandManager() {
-		return commandManager;
-	}
-
-	/**
-	 * Return the redo action.
-	 *
-	 * @return org.eclipse.jface.action.Action
-	 */
-	public IAction getRedoAction() {
-		return redoAction;
-	}
-
-	/**
-	 * Return the undo action.
-	 *
-	 * @return org.eclipse.jface.action.Action
-	 */
-	public IAction getUndoAction() {
-		return undoAction;
-	}
-
-	/* (non-Javadoc)
-	 * Sets the cursor and selection state for this editor to the passage defined
-	 * by the given marker.
-	 * <p>
-	 * Subclasses may override.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public void gotoMarker(IMarker marker) { }
-
-	/**
-	 * Update the cut, copy, and paste actions.
-	 */
-	public void updateActionsImpl() {
-		if (updatingActions)
-			return;
-		
-		updatingActions = true;
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				updatingActions = false;
-				updateActions();
-			}
-		});
-	}
-
-	/**
-	 * Update the cut, copy, and paste actions.
-	 */
-	public void updateActions() {
-		cutAction.update();
-		copyAction.update();
-		pasteAction.update();
-	}
-	
-	/**
-	 * Update the cut, copy, and paste actions.
-	 */
-	protected void updateStatusLine() {
-		if (statusItem != null) {
-			boolean readOnly = false;
-			if (server != null && commandManager.isReadOnly(serverId))
-				readOnly = true;
-			else if (serverConfiguration != null && commandManager.areFilesReadOnly(serverConfigurationId))
-				readOnly = true;
-			
-			if (readOnly)
-				statusItem.setText(ServerUIPlugin.getResource("%editorReadOnly"));
-			else
-				statusItem.setText(ServerUIPlugin.getResource("%editorWritable"));
-		}
-
-		if (status != null) {
-			StringBuffer sb = new StringBuffer();
-			boolean first = true;
-			if (server != null) {
-				IFile[] files = commandManager.getReadOnlyFiles(serverId);
-				for (int i = 0; i < files.length; i++) {
-					if (!first)
-						sb.append(", ");
-					sb.append(files[i].getName());
-					first = false;
-				}
-			}
-			if (serverConfiguration != null) {
-				IFile[] files = commandManager.getReadOnlyFiles(serverConfigurationId);
-				for (int i = 0; i < files.length; i++) {
-					if (!first)
-						sb.append(", ");
-					sb.append(files[i].getName());
-					first = false;
-				}
-			}
-			if (sb.length() > 1)
-				status.setMessage(ServerUIPlugin.getResource("%editorReadOnlyFiles", sb.toString()));
-			else
-				status.setMessage("");
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	public void updateStatusError() {
-		if (status == null)
-			return;
-
-		String error = null;
-		IEditorPart part = getActiveEditor();
-		if (part instanceof ServerResourceEditorPart)
-			error = ((ServerResourceEditorPart) part).getErrorMessage();
-		
-		Iterator iterator = serverPages.iterator();
-		int count = 0;
-		while (error == null && iterator.hasNext()) {
-			part = (IEditorPart) iterator.next();
-			if (part instanceof ServerResourceEditorPart) {
-				error = ((ServerResourceEditorPart) part).getErrorMessage();
-				if (error != null)
-					error = "[" + getPageText(count) + "] " + error;
-			}
-			count ++;
-		}
-		status.setErrorMessage(error);
-	}
-	
-	/**
-	 * 
-	 */
-	protected void pageChange(int newPageIndex) {
-		super.pageChange(newPageIndex);
-		updateStatusError();
-	}
-	
-	/**
-	 * 
-	 */
-	public void setStatus(IStatusLineManager status, StatusLineContributionItem item) {
-		this.status = status;
-		this.statusItem = item;
-		updateStatusError();
-	}
-	
-	/**
-	 * Register for key and traversal events to enable/disable the cut/copy/paste actions.
-	 */
-	protected void registerEvents(Control control) {
-		if (control == null)
-			return;
-		
-		if (control instanceof Text || control instanceof Combo) {
-			// register the world... any of these actions could cause the state to change
-			control.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent event) {
-					updateActionsImpl();
-				}
-			});
-			control.addKeyListener(new KeyListener() {
-				public void keyPressed(KeyEvent event) {
-					updateActionsImpl();
-				}
-				public void keyReleased(KeyEvent event) {
-					updateActionsImpl();
-				}
-			});
-			control.addMouseListener(new MouseListener() {
-				public void mouseDown(MouseEvent event) { }
-				public void mouseUp(MouseEvent event) {
-					updateActionsImpl();
-				}
-				public void mouseDoubleClick(MouseEvent event) {
-					updateActionsImpl();
-				}
-			});
-			control.addFocusListener(new FocusListener() {
-				public void focusGained(FocusEvent event) {
-					updateActionsImpl();
-				}
-				public void focusLost(FocusEvent event) {
-					updateActionsImpl();
-				}
-			});
-			if (control instanceof Text) {
-				Text text = (Text) control;
-				text.addModifyListener(new ModifyListener() {
-					public void modifyText(ModifyEvent event) {
-						updateActionsImpl();
-					}
-				});
-				text.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-					public void widgetDefaultSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-				});
-			} else {
-				Combo combo = (Combo) control;
-				combo.addModifyListener(new ModifyListener() {
-					public void modifyText(ModifyEvent event) {
-						updateActionsImpl();
-					}
-				});
-				combo.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-					public void widgetDefaultSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-				});
-			}
-		}
-		
-		if (control instanceof Composite) {
-			Control[] children = ((Composite)control).getChildren();
-			if (children != null) {
-				int size = children.length;
-				for (int i = 0; i < size; i++)
-					registerEvents(children[i]);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 * <p>
-	 * Subclasses of <code>EditorPart</code> must implement this method.  Within
-	 * the implementation subclasses should verify that the input type is acceptable
-	 * and then save the site and input.  Here is sample code:
-	 * </p>
-	 * <pre>
-	 *		if (!(input instanceof IFileEditorInput))
-	 *			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
-	 *		setSite(site);
-	 *		setInput(editorInput);
-	 * </pre>
-	 */
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		commandManager = GlobalCommandManager.getInstance();
-		
-		super.init(site, input);
-
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput fei = (IFileEditorInput) input;
-			IFile file = fei.getFile();
-			if (file != null && file.exists()) {
-				IResourceManager rm = ServerCore.getResourceManager();
-				IServer server2 = rm.getServer(file);
-				if (server2 != null) {
-					serverId = server2.getId();
-					if (server2.getServerConfiguration() != null)
-						serverConfigurationId = server2.getServerConfiguration().getId();
-				} else {
-					IServerConfiguration configuration = rm.getServerConfiguration(file);
-					if (configuration != null)
-						serverConfigurationId = configuration.getId();
-				}
-			}
-			if (serverId == null && serverConfigurationId == null)
-				throw new PartInitException(ServerUIPlugin.getResource("%errorEditor", file.getName()));
-		} else if (input instanceof IServerEditorInput) {
-			IServerEditorInput sei = (IServerEditorInput) input;
-			serverId = sei.getServerId();
-			serverConfigurationId = sei.getServerConfigurationId();
-		}
-
-		if (serverId != null) {
-			commandManager.getCommandManager(serverId);
-			server = (IServerWorkingCopy) commandManager.getServerResource(serverId);
-		}
-
-		if (serverConfigurationId != null) {
-			commandManager.getCommandManager(serverConfigurationId);
-			serverConfiguration = (IServerConfigurationWorkingCopy) commandManager.getServerResource(serverConfigurationId);
-		}
-
-		ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-		if (server != null) {
-			setPartName(labelProvider.getText(server));
-			setTitleImage(labelProvider.getImage(server));
-			setTitleToolTip(serverId);
-		} else if (serverConfiguration != null) {
-			setPartName(labelProvider.getText(serverConfiguration));
-			setTitleImage(labelProvider.getImage(serverConfiguration));
-			setTitleToolTip(serverConfigurationId);
-		} else {
-			setPartName("-");	
-		}
-
-		cutAction = new TextAction(site.getShell().getDisplay(), TextAction.CUT_ACTION);
-		copyAction = new TextAction(site.getShell().getDisplay(), TextAction.COPY_ACTION);
-		pasteAction = new TextAction(site.getShell().getDisplay(), TextAction.PASTE_ACTION);
-
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (GlobalCommandManager.PROP_DIRTY.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId || obj == serverConfigurationId)
-						firePropertyChange(PROP_DIRTY);
-				} else if (GlobalCommandManager.PROP_UNDO.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId || obj == serverConfigurationId)
-						updateUndoAction();
-				} else if (GlobalCommandManager.PROP_REDO.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId || obj == serverConfigurationId)
-						updateRedoAction();
-				} else if (GlobalCommandManager.PROP_RELOAD.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId) {
-						server = (IServerWorkingCopy) commandManager.getServerResource(serverId);
-						refresh();
-					} else if (obj == serverConfigurationId) {
-						serverConfiguration = (IServerConfigurationWorkingCopy) commandManager.getServerResource(serverConfigurationId);
-						refresh();
-					}
-				}
-			}
-		};
-		if ((server != null && commandManager.isDirty(serverId)) ||
-			(serverConfiguration != null && commandManager.isDirty(serverConfigurationId)))
-			firePropertyChange(PROP_DIRTY);
-
-		commandManager.addPropertyChangeListener(listener);
-		
-		// create editor input
-		ICommandManager serverCommandManager = null;
-		if (server != null)
-			serverCommandManager = new ServerResourceCommandManager(this, serverId, commandManager);
-		ICommandManager configurationCommandManager = null;
-		if (serverConfiguration != null)
-			configurationCommandManager = new ServerResourceCommandManager(this, serverConfigurationId, commandManager);
-		editorPartInput = commandManager.getPartInput(serverId, serverCommandManager, serverConfigurationId, configurationCommandManager);
-		
-		createActions();
-		
-		// add resource listener
-		ServerCore.getResourceManager().addResourceListener(new ServerResourceAdapter() {
-			public void serverRemoved(IServer oldServer) {
-				if (oldServer.equals(server) && !isDirty())
-					closeEditor();
-			}
-
-			public void serverConfigurationRemoved(IServerConfiguration oldServerConfiguration) {
-				if (oldServerConfiguration.equals(serverConfiguration) && !isDirty())
-					closeEditor();
-			}
-		});
-		
-		IWorkbenchWindow window = getSite().getWorkbenchWindow();
-		window.getPartService().addPartListener(activationListener);
-		window.getShell().addShellListener(activationListener);
-	}
-
-	/* (non-Javadoc)
-	 * Returns whether the contents of this editor have changed since the last save
-	 * operation.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public boolean isDirty() {
-		if (commandManager != null) {
-			if (server != null && commandManager.isDirty(serverId))
-				return true;
-			if (serverConfiguration != null && commandManager.isDirty(serverConfigurationId))
-				return true;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * Returns whether the "save as" operation is supported by this editor.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * Update the undo action.
-	 */
-	protected void updateUndoAction() {
-		ITask command = commandManager.getUndoCommand(serverId, serverConfigurationId);
-		if (command == null) {
-			undoAction.setText(ServerUIPlugin.getResource("%editorUndoDisabled"));
-			undoAction.setToolTipText("");
-			undoAction.setDescription("");
-			undoAction.setEnabled(false);
-		} else {
-			String text = ServerUIPlugin.getResource("%editorUndoEnabled", new Object[] {command.getName()});
-			undoAction.setText(text);
-			undoAction.setToolTipText(command.getDescription());
-			undoAction.setDescription(command.getDescription());
-			undoAction.setEnabled(true);
-		}
-	}
-
-	/**
-	 * Update the redo action.
-	 */
-	protected void updateRedoAction() {
-		ITask command = commandManager.getRedoCommand(serverId, serverConfigurationId);
-		if (command == null) {
-			redoAction.setText(ServerUIPlugin.getResource("%editorRedoDisabled"));
-			redoAction.setToolTipText("");
-			redoAction.setDescription("");
-			redoAction.setEnabled(false);
-		} else {
-			String text = ServerUIPlugin.getResource("%editorRedoEnabled", new Object[] {command.getName()});
-			redoAction.setText(text);
-			redoAction.setToolTipText(command.getDescription());
-			redoAction.setDescription(command.getDescription());
-			redoAction.setEnabled(true);
-		}
-	}
-	
-	/**
-	 * Return the cut action.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCutAction() {
-		return cutAction;
-	}
-	
-	/**
-	 * Return the copy action.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCopyAction() {
-		return copyAction;
-	}
-	
-	/**
-	 * Return the paste action.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getPasteAction() {
-		return pasteAction;
-	}
-	
-	/**
-	 * Returns the editor actions.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction[] getEditorActions() {
-		return editorActions;
-	}
-	
-	/**
-	 * Update the server pages with new input.
-	 */
-	protected void refresh() {
-		// create editor input
-		ICommandManager serverCommandManager = null;
-		if (server != null)
-			serverCommandManager = new ServerResourceCommandManager(this, serverId, commandManager);
-		ICommandManager configurationCommandManager = null;
-		if (serverConfiguration != null)
-			configurationCommandManager = new ServerResourceCommandManager(this, serverConfigurationId, commandManager);
-		editorPartInput = commandManager.getPartInput(serverId, serverCommandManager, serverConfigurationId, configurationCommandManager);
-		
-		Iterator iterator = serverPages.iterator();
-		while (iterator.hasNext()) {
-			IEditorPart part = (IEditorPart) iterator.next();						
-			try {
-				part.init(part.getEditorSite(), editorPartInput);
-			} catch (Exception e) {
-				Trace.trace("Error refresh()ing editor part", e);
-			}
-		}	
-	}
-	
-	/**
-	 * 
-	 */
-	protected void promptReadOnlyServerFile(String id) {
-		commandManager.setReadOnly(id, true);
-		String title = ServerUIPlugin.getResource("%editorResourceModifiedTitle");
-		String message = ServerUIPlugin.getResource("%editorReadOnlyMessage");
-		MessageDialog.openInformation(getEditorSite().getShell(), title, message);
-	}
-
-	/**
-	 * 
-	 */
-	protected void promptReloadServerFile(String id, IElement serverFile2) {
-		String title = ServerUIPlugin.getResource("%editorResourceModifiedTitle");
-		String message = null;
-		if (serverFile2 instanceof IServer)
-			message = ServerUIPlugin.getResource("%editorServerModifiedMessage");
-		else
-			message = ServerUIPlugin.getResource("%editorServerConfigurationModifiedMessage");
-
-		if (MessageDialog.openQuestion(getEditorSite().getShell(), title, message)) {
-			try {
-				//file.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
-				//TODO
-			} catch (Exception e) {
-				Trace.trace("Error refreshing server", e);
-			}
-			commandManager.reload(id, new NullProgressMonitor());
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void setFocus() {
-		super.setFocus();
-	}
-	
-	/**
-	 * 
-	 */
-	protected void checkResourceState() {
-		// Do not check the resource state change if saving through the editor.
-		if (isSaving) {
-			// Do nothing.
-			return;
-		}
-		
-		// check for deleted files
-		if (resourceDeleted) {
-			String title = ServerUIPlugin.getResource("%editorResourceDeleteTitle");
-			String message = null;
-			if (server != null && serverConfiguration != null)
-				message = ServerUIPlugin.getResource("%editorResourceDeleteBothMessage", new String[] {server.getName(), serverConfiguration.getName()});
-			else if (server != null)
-				message = ServerUIPlugin.getResource("%editorResourceDeleteServerMessage", server.getName());
-			else
-				message = ServerUIPlugin.getResource("%editorResourceDeleteServerConfigurationMessage", serverConfiguration.getName());
-			String[] labels = new String[] {ServerUIPlugin.getResource("%editorResourceDeleteSave"), IDialogConstants.CLOSE_LABEL};
-			MessageDialog dialog = new MessageDialog(getEditorSite().getShell(), title, null, message, MessageDialog.INFORMATION, labels, 0);
-
-			if (dialog.open() == 0)
-				doSave(new NullProgressMonitor());
-			else
-				closeEditor();
-			return;
-		}
-		resourceDeleted = false;
-
-		// check for server changes
-		if (serverId != null) {
-			if (!commandManager.isDirty(serverId)) {
-				if (commandManager.hasChanged(serverId))
-					promptReloadServerFile(serverId, server);
-			} else {
-				if (commandManager.hasChanged(serverId) && !commandManager.areFilesReadOnly(serverId))
-					promptReloadServerFile(serverId, server);
-				else if (commandManager.areFilesReadOnly(serverId) && !commandManager.isReadOnly(serverId))
-					promptReadOnlyServerFile(serverId);
-			}
-			if (commandManager.isReadOnly(serverId) && !commandManager.areFilesReadOnly(serverId))
-				commandManager.setReadOnly(serverId, false);
-			commandManager.updateTimestamps(serverId);
-		}
-
-		// check for server configuration changes
-		if (serverConfigurationId != null) {
-			if (!commandManager.isDirty(serverConfigurationId)) {
-				if (commandManager.hasChanged(serverConfigurationId))
-					promptReloadServerFile(serverConfigurationId, serverConfiguration);
-			} else {
-				if (commandManager.hasChanged(serverConfigurationId) && !commandManager.areFilesReadOnly(serverConfigurationId))
-					promptReloadServerFile(serverConfigurationId, serverConfiguration);
-				else if (commandManager.areFilesReadOnly(serverConfigurationId) && !commandManager.isReadOnly(serverConfigurationId))
-					promptReadOnlyServerFile(serverConfigurationId);
-			}		
-			if (commandManager.isReadOnly(serverConfigurationId) && !commandManager.areFilesReadOnly(serverConfigurationId))
-				commandManager.setReadOnly(serverConfigurationId, false);
-			commandManager.updateTimestamps(serverConfigurationId);
-		}
-
-		updateStatusLine();
-	}
-	
-	/**
-	 * Set the tooltip.
-	 */
-	public String getTitleToolTip() {
-		if (server != null && server.getFile() != null)
-			return server.getFile().getFullPath().toString();
-		else if (serverConfiguration != null && serverConfiguration.getFile() != null)
-			return serverConfiguration.getFile().getFullPath().toString();
-		else if (server != null)
-			return server.getName();
-		else if (serverConfiguration != null)
-			return serverConfiguration.getName();
-		else
-			return "error";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java
deleted file mode 100644
index 3516513..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.EditorActionBarContributor;
-/**
- * Server editor action bar contributor.
- */
-public class ServerEditorActionBarContributor extends EditorActionBarContributor {
-	public static final String SERVER_EDITOR_SEPARATOR = "server-editor-additions";
-
-	// current editor
-	protected ServerEditor editor;
-
-	/**
-	 * ServerEditorActionBarContributor constructor comment.
-	 */
-	public ServerEditorActionBarContributor() {
-		super();
-	}
-
-	/**
-	 * Sets the active editor for the contributor.
-	 * <p>
-	 * The <code>EditorActionBarContributor</code> implementation of this method does
-	 * nothing. Subclasses may reimplement. This generally entails disconnecting
-	 * from the old editor, connecting to the new editor, and updating the actions
-	 * to reflect the new editor.
-	 * </p>
-	 * 
-	 * @param targetEditor the new target editor
-	 */
-	public void setActiveEditor(IEditorPart targetEditor) {
-		super.setActiveEditor(targetEditor);
-
-		if (targetEditor != null && targetEditor.equals(editor))
-			return;
-		
-		IActionBars actionBars = getActionBars();
-		boolean actionBarsUpdated = false;
-
-		if (editor != null) {
-			editor.setStatus(null, null);
-			
-			IStatusLineManager status = actionBars.getStatusLineManager();
-			status.removeAll();
-
-			IToolBarManager tbm = actionBars.getToolBarManager();
-			tbm.removeAll();
-			
-			actionBarsUpdated = true;
-		}
-
-		if (targetEditor instanceof ServerEditor) {
-			editor = (ServerEditor) targetEditor;
-			Trace.trace(Trace.FINEST, "Editor action bar contributor for: " + editor);
-			editor.updateUndoAction();
-			editor.updateRedoAction();
-			
-			actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), editor.getUndoAction());
-			actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), editor.getRedoAction());
-			
-			actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), editor.getCopyAction());
-			actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), editor.getCutAction());
-			actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), editor.getPasteAction());
-			
-			IStatusLineManager status = actionBars.getStatusLineManager();
-			StatusLineContributionItem item = new StatusLineContributionItem("id");
-			status.add(item);
-
-			editor.setStatus(status, item);
-			editor.updateStatusLine();
-
-			IAction[] actions = editor.getEditorActions();
-			IToolBarManager tbm = actionBars.getToolBarManager();
-			tbm.add(new Separator(SERVER_EDITOR_SEPARATOR));
-			boolean modified = false;
-			if (actions != null) {
-				int size = actions.length;
-				Trace.trace(Trace.FINEST, "Attempting to add editor actions: " + size);
-				for (int i = 0; i < size; i++) {
-					Trace.trace(Trace.FINEST, "action: " + actions[i]);
-					tbm.appendToGroup(SERVER_EDITOR_SEPARATOR, actions[i]);
-					modified = true;
-				}
-			}
-			
-			if (modified)
-				tbm.update(false);
-			actionBarsUpdated = true;
-		} else
-			editor = null;
-		
-		if (actionBarsUpdated)
-			actionBars.updateActionBars();
-	}
-	
-	/**
-	 * Contributes to the given tool bar.
-	 * <p>
-	 * The <code>EditorActionBarContributor</code> implementation of this method
-	 * does nothing. Subclasses may reimplement to add to the tool bar portion of
-	 * this contribution.
-	 * </p>
-	 *
-	 * @param toolBarManager the manager that controls the workbench tool bar
-	 */
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		super.contributeToToolBar(toolBarManager);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java
deleted file mode 100644
index 8192efc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.IServerEditorActionFactory;
-import org.eclipse.wst.server.ui.editor.IServerEditorActionFactoryDelegate;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.ui.IEditorSite;
-
-/**
- * A default server that can be created for a set of given
- * natures.
- */
-public class ServerEditorActionFactory implements IServerEditorActionFactory {
-	private IConfigurationElement element;
-	private IServerEditorActionFactoryDelegate delegate;
-
-	/**
-	 * ServerEditorActionFactory constructor comment.
-	 */
-	public ServerEditorActionFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 */
-	public IConfigurationElement getConfigurationElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-
-	/**
-	 * Return the ids of the server resource factories (specified
-	 * using Java-import style) that this page may support.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getTypeIds() {
-		try {
-			List list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str);
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the getServerResources() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsServerElementType(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * @see IPublishManager#getDelegate()
-	 */
-	public IServerEditorActionFactoryDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IServerEditorActionFactoryDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace("Could not create server editorpage delegate", e);
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Returns true if this editor page should be visible with the given
-	 * server instance and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the instance or configuration is being opened by itself, the
-	 * other value (instance or configuration) will be null.
-	 */
-	public boolean shouldDisplay(IServer server, IServerConfiguration serverConfiguration) {
-		try {
-			return getDelegate().shouldDisplay(server, serverConfiguration);
-		} catch (Exception e) {
-			Trace.trace("Error calling delegate", e);
-			return false;
-		}
-	}
-
-	/**
-	 * Create the editor page.
-	 */
-	public IAction createAction(IEditorSite site, IServerEditorPartInput input) {
-		try {
-			return getDelegate().createAction(site, input);
-		} catch (Exception e) {
-			Trace.trace("Error calling delegate", e);
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
deleted file mode 100644
index 5dbc227..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * 
- */
-public class ServerEditorCore {
-	// cached copy of all editor factories and actions
-	private static List editorPageFactories;
-	private static List editorPageSectionFactories;
-	private static List editorActionFactories;
-	
-	/**
-	 * Returns a List of all editor page factories
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerEditorPageFactories() {
-		if (editorPageFactories == null)
-			loadEditorPageFactories();
-		return editorPageFactories;
-	}
-	
-	/**
-	 * Returns a List of all editor page section factories
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerEditorPageSectionFactories() {
-		if (editorPageSectionFactories == null)
-			loadEditorPageSectionFactories();
-		return editorPageSectionFactories;
-	}
-	
-	/**
-	 * Load the editor page factory extension point.
-	 */
-	private static void loadEditorPageFactories() {
-		Trace.trace(Trace.CONFIG, "->- Loading .editorPages extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUICore.PLUGIN_ID, "editorPages");
-
-		int size = cf.length;
-		editorPageFactories = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				editorPageFactories.add(new ServerEditorPartFactory(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded editorPage: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load editorPage: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		// sort pages
-		ServerUtil.sortOrderedList(editorPageFactories);
-		Trace.trace(Trace.CONFIG, "-<- Done loading .editorPages extension point -<-");
-	}
-	
-	/**
-	 * Load the editor page section factory extension point.
-	 */
-	private static void loadEditorPageSectionFactories() {
-		Trace.trace(Trace.CONFIG, "->- Loading .editorPageSections extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUICore.PLUGIN_ID, "editorPageSections");
-
-		int size = cf.length;
-		editorPageSectionFactories = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				editorPageSectionFactories.add(new ServerEditorPageSectionFactory(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded editorPageSection: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load editorPageSection: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		// sort sections
-		ServerUtil.sortOrderedList(editorPageSectionFactories);
-		Trace.trace(Trace.CONFIG, "-<- Done loading .editorPageSections extension point -<-");
-	}
-
-	/**
-	 * Returns a List of all editor action factories.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerEditorActionFactories() {
-		if (editorActionFactories == null)
-			loadEditorActionFactories();
-		return editorActionFactories;
-	}
-	
-	/**
-	 * Load the editor action factories extension point.
-	 */
-	private static void loadEditorActionFactories() {
-		Trace.trace(Trace.CONFIG, "->- Loading .editorActions extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUICore.PLUGIN_ID, "editorActions");
-
-		int size = cf.length;
-		editorActionFactories = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				editorActionFactories.add(new ServerEditorActionFactory(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded editorAction: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load editorAction: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		// sort pages
-		ServerUtil.sortOrderedList(editorActionFactories);
-		Trace.trace(Trace.CONFIG, "-<- Done loading .editorActions extension point -<-");
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java
deleted file mode 100644
index 5a90f46..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.IResourceManager;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.editor.IServerEditorInput;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-/**
- * The editor input for server configurations and instances. The
- * input points to a resource that is either an instance or
- * configuration.
- *
- * <p>Editors supporting this editor input should use the ResourceManager
- * to load their own copy of the resource. Each editor is responsible
- * for managing this resource and making sure that only one copy is
- * loaded from disk when multiple editors are opened on the same
- * resource.</p>
- *
- * <p>When the editor saves back to the resource, the server tooling
- * will notice the change and reload the new configuration.</p>
- *
- * <p>Editors should call setEditing(resource, true) when the first
- * editor opens on a particular resource, and setEditing(resource,
- * false) when the last editor on a resource closes. This will
- * ensure that the server tooling does not try to edit the resource
- * and cause conflicting changes while an editor is open.</p>
- */
-public class ServerEditorInput implements IServerEditorInput, IPersistableElement {
-	private String serverId;
-	private String configurationId;
-
-	/**
-	 * ServerEditorInput constructor comment.
-	 */
-	public ServerEditorInput(String serverId, String configurationId) {
-		super();
-		this.serverId = serverId;
-		this.configurationId = configurationId;
-	}
-	
-	/**
-	 * Returns the server id.
-	 * @return org.eclipse.core.resources.IResource
-	 */
-	public String getServerId() {
-		return serverId;
-	}
-
-	/**
-	 * Returns the server configuration id.
-	 * @return org.eclipse.core.resources.IResource
-	 */
-	public String getServerConfigurationId() {
-		return configurationId;
-	}
-
-	/**
-	 * Indicates whether some other object is "equal to" this one.
-	 * In this case it means that the underlying IFolders are equal.
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!(obj instanceof ServerEditorInput))
-			return false;
-		ServerEditorInput other = (ServerEditorInput) obj;
-		if (serverId == null) {
-			if (other.serverId != null)
-				return false;	
-		} else if (!serverId.equals(other.serverId))
-			return false;
-		if (configurationId == null) {
-			if (other.configurationId != null)
-				return false;	
-		} else if (!configurationId.equals(other.configurationId))
-			return false;
-		return true;
-	}
-
-	/**
-	 * Returns whether the editor input exists.  
-	 * <p>
-	 * This method is primarily used to determine if an editor input should 
-	 * appear in the "File Most Recently Used" menu.  An editor input will appear 
-	 * in the list until the return value of <code>exists</code> becomes 
-	 * <code>false</code> or it drops off the bottom of the list.
-	 *
-	 * @return <code>true</code> if the editor input exists; <code>false</code>
-	 *		otherwise
-	 */
-	public boolean exists() {
-		IResourceManager rm = ServerCore.getResourceManager();
-		if (serverId != null && rm.getServer(serverId) == null)
-			return false;
-		else if (configurationId != null && rm.getServerConfiguration(configurationId) == null)
-			return false;
-		else
-			return true;
-	}
-
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> if
-	 * no such object can be found.
-	 *
-	 * @param adapter the adapter class to look up
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * Returns the ID of an element factory which can be used to recreate 
-	 * this object.  An element factory extension with this ID must exist
-	 * within the workbench registry.
-	 * 
-	 * @return the element factory ID
-	 */
-	public String getFactoryId() {
-		return ServerEditorInputFactory.FACTORY_ID;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		if (serverId != null)
-			return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER);
-		
-		return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_CONFIGURATION);
-	}
-	
-	/**
-	 * Returns the name of this editor input for display purposes.
-	 * <p>
-	 * For instance, if the fully qualified input name is
-	 * <code>"a\b\MyFile.gif"</code>, the return value would be just
-	 * <code>"MyFile.gif"</code>.
-	 *
-	 * @return the file name string
-	 */
-	public String getName() {
-		IResourceManager rm = ServerCore.getResourceManager();
-		if (serverId != null) {
-			IServer server = rm.getServer(serverId);
-			if (server != null)
-				return server.getName();
-			return serverId;
-		} else if (configurationId != null) {
-			IServerConfiguration configuration = rm.getServerConfiguration(configurationId);
-			if (configuration != null)
-				return configuration.getName();
-			return configurationId;
-		} else
-			return "";
-	}
-
-	/*
-	 * Returns an object that can be used to save the state of this editor input.
-	 *
-	 * @return the persistable element, or <code>null</code> if this editor input
-	 *   cannot be persisted
-	 */
-	public IPersistableElement getPersistable() {
-		return this;
-	}
-
-	public String getToolTipText() {
-		String s = null;
-		IResourceManager rm = ServerCore.getResourceManager();
-		if (serverId != null) {
-			IServer server = rm.getServer(serverId);
-			if (server != null) {
-				if (server.getFile() != null) {
-					s = server.getFile().getFullPath().makeRelative().toString();
-					if (s.startsWith("/"))
-						s = s.substring(1);
-				} else
-					s = server.getName();
-			}
-		}
-		if (s == null && configurationId != null) {
-			IServerConfiguration configuration = rm.getServerConfiguration(configurationId);
-			if (configuration != null) {
-				if (configuration.getFile() != null) {
-					s = configuration.getFile().getFullPath().makeRelative().toString();
-					if (s.startsWith("/"))
-						s = s.substring(1);
-				} else
-					s = configuration.getName();
-			}
-		}
-		if (s == null)
-			s = "";
-		return s;
-	}
-
-	/**
-	 * Saves the state of an element within a memento.
-	 *
-	 * @param memento the storage area for element state
-	 */
-	public void saveState(IMemento memento) {
-		ServerEditorInputFactory.saveState(memento, this);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java
deleted file mode 100644
index a0d20a6..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-/**
- * This factory is used in the persistence of ServerResourceEditorInput
- * instances. This allows the user to close the workbench with an
- * open editor and reopen to the same editor.
- */
-public class ServerEditorInputFactory implements IElementFactory {
-	protected final static String FACTORY_ID = "org.eclipse.wst.server.ui.editor.input.factory";
-	protected final static String SERVER_ID = "server-id";
-	protected final static String SERVER_CONFIGURATION_ID = "server-configuration-id";
-
-	/**
-	 * ServerEditorInputFactory constructor comment.
-	 */
-	public ServerEditorInputFactory() {
-	}
-
-	/**
-	 * Creates an <code>IElement</code> from the state captured within 
-	 * an <code>IMemento</code>.
-	 *
-	 * @param memento a memento containing the state for an element
-	 * @return an element, or <code>null</code> if the element could not be created
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		// get the resource names
-		String serverId = memento.getString(SERVER_ID);
-		String configurationId = memento.getString(SERVER_CONFIGURATION_ID);
-
-		return new ServerEditorInput(serverId, configurationId);
-	}
-
-	/**
-	 * Saves the state of an element within a memento.
-	 *
-	 * @param memento the storage area for element state
-	 */
-	public static void saveState(IMemento memento, ServerEditorInput input) {
-		if (input == null)
-			return;
-			
-		if (input.getServerId() != null)
-			memento.putString(SERVER_ID, input.getServerId());
-		if (input.getServerConfigurationId() != null)
-			memento.putString(SERVER_CONFIGURATION_ID, input.getServerConfigurationId());
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java
deleted file mode 100644
index 8f7eaeb..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * 
- */
-public class ServerEditorPageSectionFactory implements IServerEditorPageSectionFactory {
-	private IConfigurationElement element;
-	private IServerEditorPageSectionFactoryDelegate delegate;
-
-	/**
-	 * ServerEditorPageSectionFactory constructor comment.
-	 */
-	public ServerEditorPageSectionFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 */
-	public IConfigurationElement getConfigurationElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	/**
-	 * Returns the insertion id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getInsertionId() {
-		return element.getAttribute("insertionId");
-	}
-
-	/**
-	 * Return the ids of the server resource factories (specified
-	 * using Java-import style) that this page may support.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	protected String[] getTypeIds() {
-		try {
-			List list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the getServerResources() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * 
-	 */
-	public IServerEditorPageSectionFactoryDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IServerEditorPageSectionFactoryDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace("Could not create server editorpage delegate", e);
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Returns true if this editor page should be visible with the given
-	 * server instance and configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the instance or configuration is being opened by itself, the
-	 * other value (instance or configuration) will be null.
-	 */
-	public boolean shouldCreateSection(IServer server, IServerConfiguration serverConfiguration) {
-		try {
-			return getDelegate().shouldCreateSection(server, serverConfiguration);
-		} catch (Exception e) {
-			Trace.trace("Error calling delegate", e);
-			return false;
-		}
-	}
-
-	/**
-	 * Create the editor page.
-	 */
-	public IServerEditorSection createSection() {
-		try {
-			return getDelegate().createSection();
-		} catch (Exception e) {
-			Trace.trace("Error calling delegate", e);
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
deleted file mode 100644
index ce5f01e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartFactory;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartFactoryDelegate;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * 
- */
-public class ServerEditorPartFactory implements IServerEditorPartFactory {
-	private IConfigurationElement element;
-	private IServerEditorPartFactoryDelegate delegate;
-
-	/**
-	 * ServerEditorPartFactory constructor comment.
-	 */
-	public ServerEditorPartFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 */
-	public IConfigurationElement getConfigurationElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this part factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the name of this part factory. 
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	protected String[] getInsertionIds() {
-		try {
-			List list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("insertionIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	public boolean supportsInsertionId(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getInsertionIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	/**
-	 * Return the ids of the server and server configuration type ids (specified
-	 * using Java-import style) that this page may support.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	protected String[] getTypeIds() {
-		try {
-			List list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns true if the given server or server configuration type id
-	 * can be opened with this editor. This result is based on
-	 * the result of the getTypeIds() method.
-	 *
-	 * @return boolean
-	 */
-	public boolean supportsType(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	public IServerEditorPartFactoryDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (IServerEditorPartFactoryDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace("Could not create server editorpage delegate", e);
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * Returns true if this editor page should be visible with the given
-	 * server and server configuration combination. This allows (for
-	 * instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 *
-	 * <p>If the server or server configuration is being opened by itself, the
-	 * other value (server or configuration) will be null.
-	 */
-	public boolean shouldCreatePage(IServer server, IServerConfiguration serverConfiguration) {
-		try {
-			return getDelegate().shouldCreatePage(server, serverConfiguration);
-		} catch (Exception e) {
-			Trace.trace("Error calling delegate", e);
-			return false;
-		}
-	}
-
-	/**
-	 * Create the editor page.
-	 */
-	public IEditorPart createPage() {
-		try {
-			return getDelegate().createPage();
-		} catch (Exception e) {
-			Trace.trace("Error calling delegate", e);
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java
deleted file mode 100644
index 5a897d2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.ui.editor.ICommandManager;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * A command manager for a single server resource.
- */
-public class ServerResourceCommandManager implements ICommandManager {
-	protected ServerEditor editor;
-	protected GlobalCommandManager commandManager;
-	protected String id;
-
-	public ServerResourceCommandManager(ServerEditor editor, String id, GlobalCommandManager commandManager) {
-		this.editor = editor;
-		this.commandManager = commandManager;
-		this.id = id;
-	}
-	
-	public boolean isReadOnly() {
-		return commandManager.isReadOnly(id);
-	}
-
-	/**
-	 * Execute the given command and place it in the undo stack.
-	 * If the command cannot be undone, the user will be notifed
-	 * before it is executed.
-	 *
-	 * @param command ICommand
-	 */
-	public void executeCommand(ITask command) {
-		if (!validateEdit())
-			return;
-
-		if (commandManager.isReadOnly(id)) {
-			warnReadOnly();
-			return;
-		}
-		commandManager.executeCommand(id, command);
-	}
-
-	protected void warnReadOnly() {
-		String title = ServerUIPlugin.getResource("%editorfileWarnTitle");
-		String message = ServerUIPlugin.getResource("%editorfileWarnMessage");
-		
-		MessageDialog.openWarning(editor.getEditorSite().getShell(), title, message);
-	}
-
-	/**
-	 * 
-	 */
-	protected boolean validateEdit() {
-		if (commandManager.isDirty(id))
-			return true;
-
-		IFile[] files = commandManager.getReadOnlyFiles(id);
-		if (files.length == 0)
-			return true;
-		
-		IStatus status = ResourcesPlugin.getWorkspace().validateEdit(files, editor.getEditorSite().getShell());
-		
-		if (status.getSeverity() == IStatus.ERROR) {
-			// inform user
-			String message = ServerUIPlugin.getResource("%editorValidateEditFailureMessage");
-			ErrorDialog.openError(editor.getEditorSite().getShell(), ServerUIPlugin.getResource("%errorDialogTitle"), message, status);
-			
-			// change to read-only
-			commandManager.setReadOnly(id, true);
-			
-			// do not execute command
-			return false;
-		}
-		// check file timestamp
-		IElement serverfile = commandManager.getServerResource(id);
-		if (commandManager.hasChanged(id))
-			editor.promptReloadServerFile(id, serverfile);
-		
-		// allow edit
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java
deleted file mode 100644
index b877a9a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.texteditor.IStatusField;
-/**
- * Contribution item for the status line.
- */
-public class StatusLineContributionItem extends ContributionItem implements IStatusField {
-
-	static class StatusLineLabel extends CLabel {
-		
-		private static int INDENT= 3; // left and right margin used in CLabel
-		
-		private Point fFixedSize;
-		
-		public StatusLineLabel(Composite parent, int style) {
-			super(parent, style);
-			
-			GC gc= new GC(parent);
-			gc.setFont(parent.getFont());
-			Point extent= gc.textExtent("MMMMMMMMM"); //$NON-NLS-1$
-			gc.dispose();
-			
-			fFixedSize= new Point(extent.x + INDENT * 2, 10);
-		}
-		
-		public Point computeSize(int wHint, int hHint, boolean changed) {
-			return fFixedSize;
-		}
-	}
-	
-	private String fText;
-	private Image fImage;
-	private StatusLineLabel fLabel;
-	
-	/**
-	 * Creates a new item with the given id.
-	 * 
-	 * @param id the item's id
-	 */
-	StatusLineContributionItem(String id) {
-		super(id);
-	}
-	
-	/*
-	 * @see IStatusField#setText
-	 */
-	public void setText(String text) {
-		fText= text;
-		if (fLabel != null && !fLabel.isDisposed()) {
-			fLabel.setText(fText);
-		}		
-	}
-	
-	/*
-	 * @see IStatusField#setImage(Image)
-	 */
-	public void setImage(Image image) {
-		fImage= image;
-		if (fLabel != null && !fLabel.isDisposed()) {
-			fLabel.setImage(fImage);
-		}
-	}
-	
-	/*
-	 * @see IContributionItem#fill(Composite)
-	 */
-	public void fill(Composite parent) {
-		fLabel= new StatusLineLabel(parent, SWT.SHADOW_IN);
-		fLabel.setData(this);
-		
-		if (fText != null)
-			fLabel.setText(fText);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java
deleted file mode 100644
index 8a83d56..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package org.eclipse.wst.server.ui.internal.editor;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Text;
-/**
- * Text actions (cut, copy, paste) for the Web browser.
- */
-public class TextAction extends Action {
-	protected Display display;
-	protected Clipboard clipboard;
-	protected byte type;
-
-	public static final byte CUT_ACTION = 0;
-	public static final byte COPY_ACTION = 1;
-	public static final byte PASTE_ACTION = 2;
-	
-	/**
-	 * TextAction constructor comment.
-	 */
-	protected TextAction(Display display, byte type) {
-		super("Text action: " + type);
-		this.display = display;
-		clipboard = new Clipboard(display);
-		this.type = type;
-	}
-
-	protected Control getControl() {
-		Control control = display.getFocusControl();
-		return control;
-	}
-	
-	protected Point getControlSelection() {
-		Control control = getControl();
-		if (control == null)
-			return null;
-
-		if (control instanceof Text) {
-			Text text = (Text) control;
-			return text.getSelection();
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			return combo.getSelection();
-		} else
-			return null;
-	}
-	
-	protected void setControlSelection(Point sel) {
-		Control control = getControl();
-		if (control == null)
-			return;
-
-		if (control instanceof Text) {
-			Text text = (Text) control;
-			text.setSelection(sel);
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			combo.setSelection(sel);
-		}
-	}
-	
-	protected String getControlText() {
-		Control control = getControl();
-		if (control == null)
-			return null;
-
-		if (control instanceof Text) {
-			Text text = (Text) control;
-			return text.getText();
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			return combo.getText();
-		} else
-			return null;
-	}
-	
-	protected void setControlText(String text) {
-		Control control = getControl();
-		if (control == null)
-			return;
-
-		if (control instanceof Text) {
-			Text text2 = (Text) control;
-			text2.setText(text);
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			combo.setText(text);
-		}
-	}
-	
-	/**
-	 * Copies the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format.
-	 * <p>
-	 *
-	 * @exception SWTException <ul>
-	 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-	 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-	 * </ul>
-	 */
-	public void copy() {
-		Point selection = getControlSelection();
-		String text = getControlText();
-		if (selection == null || text == null)
-			return;
-	
-		int length = selection.y - selection.x;
-		if (length > 0) {
-			TextTransfer plainTextTransfer = TextTransfer.getInstance();
-			try {
-				clipboard.setContents(
-					new String[] { text.substring(selection.x, selection.y) }, 
-					new Transfer[] { plainTextTransfer });
-			} catch (SWTError error) {
-				// Copy to clipboard failed. This happens when another application 
-				// is accessing the clipboard while we copy. Ignore the error.
-			}
-		}
-	}
-	
-	/**
-	 * Moves the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format and RTF format.
-	 * <p>
-	 *
-	 * @exception SWTException <ul>
-	 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-	 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-	 * </ul>
-	 */
-	public void cut(){
-		Point selection = getControlSelection();
-		if (selection == null)
-			return;
-
-		if (selection.y > selection.x) {
-			copy();
-			delete();
-		}
-	}
-	
-	/**
-	 * Deletes the character to the right of the caret. Delete the selected text if any.
-	 */
-	public void delete() {
-		Point selection = getControlSelection();
-		String text = getControlText();
-		if (selection == null || text == null)
-			return;
-	
-		if (selection.x != selection.y) {
-			text = text.substring(0, selection.x) + text.substring(selection.y);
-			setControlText(text);
-			setControlSelection(new Point(selection.x, selection.x));
-		}
-	}
-	
-	/** 
-	 * Replaces the selection with the clipboard text or insert the text at 
-	 * the current caret offset if there is no selection. 
-	 * If the widget has the SWT.SINGLE style and the clipboard text contains
-	 * more than one line, only the first line without line delimiters is 
-	 * inserted in the widget.
-	 * <p>
-	 *
-	 * @exception SWTException <ul>
-	 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-	 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-	 * </ul>
-	 */
-	public void paste() {
-		TextTransfer transfer = TextTransfer.getInstance();
-		Point selection = getControlSelection();
-		String text = getControlText();
-		if (selection == null)
-			return;
-		
-		String newText = (String) clipboard.getContents(transfer);
-		if (newText != null && newText.length() > 0) {
-			if (text == null)
-				text = newText;
-			else
-				text = text.substring(0, selection.x) + newText + text.substring(selection.y);
-			setControlText(text);
-	
-			// set the selection to the end of the paste
-			int x = selection.x + newText.length();
-			setControlSelection(new Point(x, x));
-		}
-	}
-	
-	/**
-	 * Execute the action.
-	 */
-	public void run() {
-		if (display == null)
-			return;
-		if (type == CUT_ACTION)
-			cut();
-		else if (type == COPY_ACTION)
-			copy();
-		else if (type == PASTE_ACTION)
-			paste();
-	}
-	
-	/**
-	 * Update the actions enabled/disabled state.
-	 */
-	protected void update() {
-		if (getControl() == null) {
-			setEnabled(false);
-			return;
-		}
-		Point selection = getControlSelection();
-		String text = getControlText();
-
-		try {
-			if (type == CUT_ACTION)
-				setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y);
-			else if (type == COPY_ACTION)
-				setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y);
-			else if (type == PASTE_ACTION) {
-				Control control = getControl();
-				if (!control.isEnabled()) {
-					setEnabled(false);
-					return;
-				}
-				if (!(control instanceof Text)) {
-					setEnabled(false);
-					return;
-				}
-
-				Text text2 = (Text) control;
-				if (!text2.getEditable()) {
-					setEnabled(false);
-					return;
-				}
-				TextTransfer transfer = TextTransfer.getInstance();
-				String newText = (String) clipboard.getContents(transfer);
-				setEnabled(newText != null && newText.length() > 0);
-			}
-		} catch (Exception e) {
-			Trace.trace("Error updating text action", e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/ModuleDeletedResourceFolder.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/ModuleDeletedResourceFolder.java
deleted file mode 100644
index 6a38e2a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/ModuleDeletedResourceFolder.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.wst.server.core.model.IModule;
-/**
- * Folder of deleted resources for a project.
- */
-public class ModuleDeletedResourceFolder {
-	protected IModule module;
-	
-	/**
-	 * ProjectDeletedResourceFolder constructor comment.
-	 */
-	public ModuleDeletedResourceFolder(IModule module) {
-		super();
-		this.module = module;
-	}
-
-	/**
-	 * Returns true if the object is equal to this one.
-	 *
-	 * @param obj java.lang.Object
-	 * @return boolean
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ModuleDeletedResourceFolder))
-			return false;
-
-		ModuleDeletedResourceFolder folder = (ModuleDeletedResourceFolder) obj;
-		return (module != null && module.equals(folder.getModule()));
-	}
-
-	/**
-	 * Returns the project.
-	 *
-	 * @return org.eclipse.core.resources.IProject
-	 */
-	public IModule getModule() {
-		return module;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/ModuleRemoteResource.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/ModuleRemoteResource.java
deleted file mode 100644
index 55eb582..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/ModuleRemoteResource.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-/**
- * Helper class to keep a reference to the project that a
- * remote resource belongs to.
- */
-public class ModuleRemoteResource {
-	protected IRemoteResource remote;
-	protected ModuleDeletedResourceFolder folder;
-	protected IModule module;
-
-	/**
-	 * ProjectRemoteResource constructor comment.
-	 */
-	public ModuleRemoteResource(ModuleDeletedResourceFolder folder, IModule module, IRemoteResource remote) {
-		super();
-		this.folder = folder;
-		this.module = module;
-		this.remote = remote;
-	}
-
-	/**
-	 * Returns true if the object is equal to this one.
-	 *
-	 * @param obj java.lang.Object
-	 * @return boolean
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ModuleRemoteResource))
-			return false;
-
-		ModuleRemoteResource remote2 = (ModuleRemoteResource) obj;
-		return (module != null && module.equals(remote2.getModule()) &&
-			remote != null && remote.equals(remote2.getRemote()));
-	}
-
-	/**
-	 * Returns the folder.
-	 *
-	 * @return 
-	 */
-	public ModuleDeletedResourceFolder getFolder() {
-		return folder;
-	}
-
-	/**
-	 * Returns the project.
-	 *
-	 * @return org.eclipse.core.resources.IProject
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Returns the remote resource.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IRemoteResource
-	 */
-	public IRemoteResource getRemote() {
-		return remote;
-	}
-
-	/**
-	 * Converts to a String.
-	 *
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return remote.toString();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishDialog.java
deleted file mode 100644
index 545608f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishDialog.java
+++ /dev/null
@@ -1,849 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressIndicator;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.wst.server.core.IPublishManager;
-import org.eclipse.wst.server.core.IPublishStatus;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerPreferences;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IPublishListener;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A modal dialog for publishing.
- */
-public class PublishDialog extends Dialog implements IRunnableContext {
-	// name to use for task when normal task name is empty string.
-	protected static final String DEFAULT_TASKNAME = JFaceResources.getString("ProgressMonitorDialog.message"); //$NON-NLS-1$
-
-	// The progress indicator control.
-	protected ProgressIndicator progressIndicator;
-
-	// The label control for the task.
-	protected Label taskLabel;
-
-	// The label control for the subtask.
-	protected Label subTaskLabel;
-
-	// list of previous tasks
-	protected ArrayList taskList;
-
-	protected Table statusTable;
-	protected TableItem currentTableItem = null;
-
-	// buttons
-	protected Button cancel;
-	protected Button ok;
-	protected Button detailsButton;
-
-	protected Composite details;
-	protected boolean detailsVisible;
-	protected static IStatus globalStatus;
-
-	protected boolean remainOpen = false;
-	protected boolean showCancel = false;
-
-	protected WorkbenchLabelProvider workbenchLabelProvider;
-
-	// The progress monitor.
-	protected ProgressMonitor progressMonitor = new ProgressMonitor();
-
-	// The name of the current task (used by ProgressMonitor).
-	protected String task;
-
-	// The number of currently running runnables.
-	private int runningRunnables;
-
-	// The cursors used.
-	private Cursor cancelArrowCursor;
-
-	// The cursor used in the shell;
-	private Cursor waitCursor;
-
-	protected List publishInfo = new ArrayList();
-
-	// Internal progress monitor implementation.
-	private class ProgressMonitor implements IProgressMonitor {
-
-		private String fSubTask= "";//$NON-NLS-1$
-		private boolean fIsCanceled;
-
-		public void beginTask(String name, int totalWork) {
-			if (progressIndicator.isDisposed())
-				return;
-
-			if (name == null)
-				task = "";//$NON-NLS-1$
-			else
-				task = name;
-
-			String s = task;
-			if (s.length() <= 0)
-				s = DEFAULT_TASKNAME;
-			taskLabel.setText(s);
-
-			if (totalWork == UNKNOWN)
-				progressIndicator.beginAnimatedTask();
-			else
-				progressIndicator.beginTask(totalWork);
-		}
-
-		public void done() {
-			if (!progressIndicator.isDisposed()) {
-				progressIndicator.sendRemainingWork();
-				//progressIndicator.done();
-				ok.setEnabled(true);
-				ok.setFocus();
-			}
-		}
-
-		public void setTaskName(final String name) {
-			if (taskLabel.isDisposed())
-				return;
-			if (name == null)
-				task = "";//$NON-NLS-1$
-			else
-				task = name;
-
-			String s = task;
-			if (s.length() <= 0)
-				s= DEFAULT_TASKNAME;
-			taskLabel.setText(s);
-		}
-	
-		public boolean isCanceled() {
-			return fIsCanceled;
-		}
-
-		public void setCanceled(boolean b) {
-			fIsCanceled = b;
-		}
-
-		public void subTask(final String name) {
-			if (subTaskLabel.isDisposed())
-				return;
-				
-			if (name == null)
-				fSubTask = "";//$NON-NLS-1$
-			else
-				fSubTask = name;
-
-			subTaskLabel.setText(fSubTask);
-		}
-
-		public void worked(int work) {
-			internalWorked(work);
-		}
-
-		public void internalWorked(double work) {
-			if (!progressIndicator.isDisposed())
-				progressIndicator.worked(work);
-		}
-	}
-
-	/**
-	 * Creates a progress monitor dialog under the given shell.
-	 * The dialog has a standard title and no image. 
-	 * <code>open</code> is non-blocking.
-	 *
-	 * @param parent the parent shell
-	 */
-	public PublishDialog(Shell parent, boolean keepOpen) {
-		super(parent);
-		setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL | SWT.RESIZE); // no close button
-		setBlockOnOpen(false);
-		taskList = new ArrayList();
-	
-		remainOpen = keepOpen;
-		if (!remainOpen) // part of a bigger task
-			showCancel = true;
-		
-		workbenchLabelProvider = new WorkbenchLabelProvider();
-	}
-
-	/**
-	 * Add a single publish event to the UI.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	protected void addPublishEvent(final IModule module, final IStatus status) {
-		Trace.trace(Trace.FINEST, "PublishDialog.addPublishEvent: " + module + " " + status);
-		if (status != null && !status.isOK())
-			remainOpen = true;
-	
-		if (module == null) {
-			if (status != null)
-				globalStatus = status;
-			return;
-		}
-	
-		if (status == null) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					currentTableItem = new TableItem(statusTable, SWT.NONE);
-					currentTableItem.setImage(new Image[] {ServerUICore.getLabelProvider().getImage(module)});
-					currentTableItem.setText(new String[] {ServerUICore.getLabelProvider().getText(module), ServerUIPlugin.getResource("%publishingBusy")});
-				}
-			});
-		} else {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					currentTableItem.setImage(1, getStatusImage(status));
-					currentTableItem.setText(1, getStatusText(status));
-				}
-			});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 * Handles the pressing of the Ok or Details button in this dialog.
-	 * If the Ok button was pressed then close this dialog.  If the Details
-	 * button was pressed then toggle the displaying of the error details area.
-	 * Note that the Details button will only be visible if the error being
-	 * displayed specifies child details.
-	 */
-	protected void buttonPressed(int id) {
-		if (id == IDialogConstants.DETAILS_ID) // was the details button pressed?
-			toggleDetailsArea();
-		else
-			super.buttonPressed(id);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	public boolean close() {
-		if (runningRunnables <= 0) {
-			workbenchLabelProvider.dispose();
-		
-			cancel.setCursor(null);
-			getShell().setCursor(null);
-			if (cancelArrowCursor != null)
-				cancelArrowCursor.dispose();
-			cancelArrowCursor = null;
-	
-			// Make sure that all events in the asynchronous event queue
-			// are dispatched.
-			Display display = getShell().getDisplay();
-			display.syncExec(new Runnable() {
-				public void run() {
-					// do nothing
-				}
-			});
-					
-			// Stop event dispatching
-			Cursor temp = waitCursor;
-			waitCursor = null;
-					
-			// Force the event loop to return from sleep () so that
-			// it stops event dispatching.
-			display.asyncExec(null);
-	
-			try {
-				synchronized (temp) {
-					temp.notifyAll();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error notifying publish dialog closure", e);
-			}
-			if (temp != null)
-				temp.dispose();
-			return super.close();
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(ServerUIPlugin.getResource("%publishingTitle"));
-		if (waitCursor == null)
-			waitCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		ok = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, false);
-		//ok.setCursor(arrowCursor);
-		ok.setEnabled(false);
-		
-		// cancel button
-		cancel = createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, true);
-		if (cancelArrowCursor == null)
-			cancelArrowCursor = new Cursor(cancel.getDisplay(), SWT.CURSOR_ARROW);
-		cancel.setCursor(cancelArrowCursor);
-		cancel.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				remainOpen = true;
-				cancel.setEnabled(false);
-				progressMonitor.setCanceled(true);
-			}
-		});
-	
-		detailsButton = createButton(parent, IDialogConstants.DETAILS_ID, IDialogConstants.SHOW_DETAILS_LABEL, false);
-		detailsButton.setEnabled(false);
-		WorkbenchHelp.setHelp(detailsButton, ContextIds.PUBLISH_DETAILS_DIALOG_DETAILS_BUTTON);
-	}
-	
-	/**
-	 * Create this dialog's drop-down list component.
-	 *
-	 * @param parent the parent composite
-	 * @return the drop-down list component
-	 */
-	protected Composite createDetails(Composite parent) {
-		Color bg = getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-		Font font = JFaceResources.getFontRegistry().get(JFaceResources.BANNER_FONT);
-	
-		details = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		details.setLayout(layout);
-	
-		GridData data = new GridData(
-			GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL |
-			GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		data.heightHint = 300;
-		details.setLayoutData(data);
-		
-		// Create the title area which will contain
-		// a title, message, and image.
-		ScrolledComposite sc = new ScrolledComposite(details, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-		data = new GridData(
-			GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL |
-			GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		sc.setLayoutData(data);
-	
-		Composite infoArea = new Composite(sc, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.verticalSpacing = 0;
-		layout.numColumns = 2;
-		infoArea.setLayout(layout);
-		data = new GridData(
-			GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL |
-			GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		infoArea.setLayoutData(data);
-		infoArea.setBackground(bg);
-		WorkbenchHelp.setHelp(infoArea, ContextIds.PUBLISH_DETAILS_DIALOG_DETAILS);
-	
-		// fill in the details
-		if (globalStatus != null) {
-		IStatus[] children = globalStatus.getChildren();
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				IStatus status = children[i];
-	
-				if (status != null) {
-	
-				if (status instanceof IPublishStatus) {
-					IPublishStatus ps = (IPublishStatus) status;
-					createPublishStatusDetails(ps, infoArea);
-				} else {
-					String title = null;
-					title = status.getMessage();
-			
-					Label label = new Label(infoArea, SWT.NONE);
-					label.setBackground(bg);
-	
-					label = new Label(infoArea, SWT.NONE);
-					label.setText(title);
-					label.setFont(font);
-					label.setBackground(bg);
-	
-					IStatus[] status2 = status.getChildren();
-					if (status2 != null && status2.length > 0) {
-						label = new Label(infoArea, SWT.NONE); // spacer
-		
-						StyledText styledText = new StyledText(infoArea, SWT.MULTI | SWT.READ_ONLY);
-						styledText.setCursor(null);
-						styledText.getCaret().setVisible(false);
-						styledText.setBackground(bg);
-	
-						StringBuffer sb = new StringBuffer();
-						int size2 = status2.length;
-						for (int j = 0; j < size2; j++)
-							if (status2[j] != null)
-								sb.append(status2[j].getMessage() + "\n");
-	
-						styledText.setText(sb.toString());
-						data = new GridData(GridData.FILL_HORIZONTAL);
-						styledText.setLayoutData(data);
-					}
-	
-					// add final status, indented
-					label = new Label(infoArea, SWT.NONE); // spacer
-		
-					Composite statusComp = new Composite(infoArea, SWT.NONE);
-					layout = new GridLayout();
-					layout.numColumns = 2;
-					layout.marginHeight = 4;
-					layout.marginWidth = 0;
-					layout.verticalSpacing = 0;
-					layout.horizontalSpacing = 4;
-					statusComp.setLayout(layout);
-					statusComp.setBackground(bg);
-	
-					label = new Label(statusComp, SWT.NONE);
-					label.setBackground(bg);
-					label.setImage(getStatusImage(status));
-	
-					label = new Label(statusComp, SWT.NONE);
-					label.setBackground(bg);
-					label.setText(getStatusText(status));
-				}
-				}
-			}
-		}
-		}
-	
-		detailsVisible = true;
-	
-		sc.setContent(infoArea);
-		Point p = infoArea.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		sc.setMinHeight(p.y);
-		sc.setMinWidth(p.x);
-		sc.setExpandHorizontal(true);
-		sc.setExpandVertical(true);
-	
-		return details;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite c = (Composite) super.createDialogArea(parent);
-		((GridLayout) c.getLayout()).numColumns = 2;
-		((GridData) c.getLayoutData()).widthHint = 450;
-		WorkbenchHelp.setHelp(c, ContextIds.PUBLISH_DETAILS_DIALOG);
-	
-		// icon
-		Label iconLabel = new Label(c, SWT.LEFT);
-		GridData gd = new GridData();
-		iconLabel.setLayoutData(gd);
-		iconLabel.setFont(parent.getFont());
-		Image i = iconLabel.getDisplay().getSystemImage(SWT.ICON_INFORMATION);
-		if (i != null)
-			iconLabel.setImage(i);
-		else
-			iconLabel.setText(JFaceResources.getString("Image_not_found")); //$NON-NLS-1$
-	
-		// label on right hand side of icon
-		taskLabel = new Label(c, SWT.LEFT | SWT.WRAP);
-		taskLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		taskLabel.setText(DEFAULT_TASKNAME);
-		taskLabel.setFont(parent.getFont());
-	
-		statusTable = new Table(c, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY | SWT.FULL_SELECTION);
-		gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		gd.heightHint = 55;
-		gd.horizontalSpan = 2;
-		statusTable.setLayoutData(gd);
-		statusTable.setHeaderVisible(false);
-		statusTable.setLinesVisible(false);
-		WorkbenchHelp.setHelp(statusTable, ContextIds.PUBLISH_DETAILS_DIALOG_STATUS);
-	
-		// add columns
-		TableColumn column = new TableColumn(statusTable, SWT.SINGLE);
-		column.setWidth(175);
-	
-		column = new TableColumn(statusTable, SWT.SINGLE);
-		column.setWidth(225);
-	
-		// progress indicator
-		progressIndicator = new ProgressIndicator(c);
-		gd = new GridData();
-		gd.heightHint = 15;
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalSpan = 2;
-		progressIndicator.setLayoutData(gd);
-	
-		// label showing current task
-		subTaskLabel = new Label(c, SWT.LEFT | SWT.WRAP);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 40;	
-		gd.horizontalSpan = 2;
-		subTaskLabel.setLayoutData(gd);
-		subTaskLabel.setFont(parent.getFont());
-		
-		Dialog.applyDialogFont(c);
-	
-		return c;
-	}
-	
-	/**
-	 * 
-	 * @param comp org.eclipse.swt.widgets.Composite
-	 */
-	protected void createPublishStatusDetails(IPublishStatus status, Composite infoArea) {
-		Color bg = getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-		Font font = JFaceResources.getFontRegistry().get(JFaceResources.BANNER_FONT);
-	
-		String title = null;
-		Image image = null;
-		title = status.getMessage();
-		image = ServerUICore.getLabelProvider().getImage(status.getModule());
-	
-		Label label = new Label(infoArea, SWT.NONE);
-		label.setImage(image);
-		label.setBackground(bg);
-	
-		Composite comp = new Composite(infoArea, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 2;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 2;
-		layout.horizontalSpacing = 0;
-		comp.setLayout(layout);
-		comp.setBackground(bg);
-	
-		label = new Label(comp, SWT.NONE);
-		label.setText(title);
-		label.setFont(font);
-		label.setBackground(bg);
-	
-		IStatus[] status2 = status.getChildren();
-		if (status2 != null) {
-			int size2 = status2.length;
-			for (int j = 0; j < size2; j++) {
-				if (status2[j] != null) {
-					label = new Label(infoArea, SWT.NONE); // spacer
-		
-					StyledText styledText = new StyledText(infoArea, SWT.MULTI | SWT.READ_ONLY);
-					styledText.setCursor(null);
-					styledText.getCaret().setVisible(false);
-					styledText.setBackground(bg);
-					String text = status2[j].getMessage();
-					//if (!status2[j].isOK()) {
-						IStatus[] children = status2[j].getChildren();
-						if (children != null && children.length > 0)
-							for (int k = 0; k < children.length; k++) {
-								text += "\n\t" + children[k].getMessage();
-							}
-						styledText.setForeground(getStatusColor(status2[j]));
-					//}
-		
-					styledText.setText(text);
-					GridData data = new GridData(GridData.FILL_HORIZONTAL);
-					styledText.setLayoutData(data);
-				}
-			}
-		}
-	
-		// add final status, indented
-		label = new Label(infoArea, SWT.NONE); // spacer
-	
-		Composite statusComp = new Composite(infoArea, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 4;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 4;
-		statusComp.setLayout(layout);
-		statusComp.setBackground(bg);
-	
-		label = new Label(statusComp, SWT.NONE);
-		label.setBackground(bg);
-		label.setImage(getStatusImage(status));
-	
-		label = new Label(statusComp, SWT.NONE);
-		label.setBackground(bg);
-		String text = getStatusText(status);
-	
-		long time = status.getTime();
-		if (time > 5) {
-			NumberFormat format = NumberFormat.getNumberInstance();
-			format.setMinimumFractionDigits(2);
-			format.setMaximumFractionDigits(2);
-			text += " (" + ServerUIPlugin.getResource("%publishingTime", format.format(time / 1000.0)) + ")";
-		}
-	
-		label.setText(text);
-	}
-
-	/**
-	 * Returns the progress monitor to use for operations run in 
-	 * this progress dialog.
-	 *
-	 * @return the progress monitor
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		return progressMonitor;
-	}
-	
-	/**
-	 * 
-	 * @return java.lang.String
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	protected Color getStatusColor(IStatus status) {
-		switch (status.getSeverity()) {
-			case IStatus.OK:
-				return getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-			case IStatus.INFO:
-				return getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE);
-			case IStatus.WARNING:
-				return getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_MAGENTA);
-			case IStatus.ERROR:
-				return getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_RED);
-		}
-		return null;
-	}
-	
-	/**
-	 * 
-	 * @return java.lang.String
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	protected static Image getStatusImage(IStatus status) {
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		switch (status.getSeverity()) {
-			case IStatus.OK:
-				return sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-			case IStatus.INFO:
-				return sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-			case IStatus.WARNING:
-				return sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK);
-			case IStatus.ERROR:
-				return sharedImages.getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
-		}
-		return null;
-	}
-	
-	/**
-	 * 
-	 * @return java.lang.String
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	protected static String getStatusText(IStatus status) {
-		if (status == null)
-			return "n/a";
-	
-		switch (status.getSeverity()) {
-			case IStatus.OK:
-				return ServerUIPlugin.getResource("%publishingOK");
-			case IStatus.INFO:
-				return ServerUIPlugin.getResource("%publishingInfo");
-			case IStatus.WARNING:
-				return ServerUIPlugin.getResource("%publishingWarning");
-			case IStatus.ERROR:
-				return ServerUIPlugin.getResource("%publishingError");
-		}
-		return "getStatusText() invalid";
-	}
-	
-	/**
-	 * Publish to the given server instance control using the current publisher.
-	 *
-	 * @param control org.eclipse.wst.server.core.IServerControl
-	 * @param keepOpen boolean
-	 */
-	public static IStatus publish(Shell shell, final IServer server2, boolean keepOpen) {
-		globalStatus = null;
-	
-		// create listener
-		IPublishListener listener = null;
-	
-		// publish the code
-		try {
-			final PublishDialog dialog = new PublishDialog(shell, keepOpen);
-	
-			listener = new IPublishListener() {
-				public void moduleStateChange(IServer server, List parents, IModule module) { }
-	
-				public void publishStarting(IServer server, List[] parents, IModule[] modules) { }
-				
-				public void publishStarted(IServer server, IPublishStatus status) {
-					dialog.addPublishEvent(null, status);
-				}
-	
-				public void moduleStarting(IServer server, List parents, IModule module) {
-					dialog.addPublishEvent(module, null);
-				}
-	
-				public void moduleResourcesPublished(IServer server, List parents, IModule module, IModuleResource[] published, IPublishStatus[] status) { }
-				
-				public void moduleResourcesDeleted(IServer server, List parents, IModule module, IRemoteResource[] deleted, IPublishStatus[] status) { }
-	
-				public void moduleFinished(IServer server, List parents, IModule module, IPublishStatus status) {
-					dialog.addPublishEvent(module, status);
-				}
-	
-				public void publishFinished(IServer server, IPublishStatus globalStatus2) {
-					dialog.addPublishEvent(null, globalStatus2);
-				}
-			};
-	
-			server2.addPublishListener(listener);
-	
-			IRunnableWithProgress runnable = new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) {
-					IServerPreferences preferences = ServerCore.getServerPreferences();
-					IPublishManager publisher = (IPublishManager) ServerCore.getPublishManagers().get(preferences.getPublishManager());
-					if (publisher == null)
-						publisher = (IPublishManager) ServerCore.getPublishManagers().get(preferences.getDefaultPublishManager());
-	
-					globalStatus = server2.publish(publisher, monitor);
-					Trace.trace(Trace.FINEST, "Publishing done: " + globalStatus);
-				}
-			};
-	
-			dialog.run(true, true, runnable);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error in publishing dialog", e);
-			return new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerUIPlugin.getResource("%errorPublishing"), e);
-		} finally {
-			server2.removePublishListener(listener);
-		}
-	
-		return globalStatus;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IRunnableContext.
-	 * Runs the given <code>IRunnableWithProgress</code> with the progress monitor for this
-	 * progress dialog.  The dialog is opened before it is run, and closed after it completes.
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-		open();
-		try {
-			runningRunnables++;
-			ModalContext.run(runnable, fork, getProgressMonitor(), getShell().getDisplay());
-		} finally {	
-			runningRunnables--;
-			if (remainOpen || ServerUICore.getPreferences().getShowPublishingDetails()) {
-				try {
-					updateTaskLabel();
-					cancel.setEnabled(showCancel);
-					ok.setEnabled(true);
-					detailsButton.setEnabled(true);
-					subTaskLabel.setText("");
-					progressIndicator.setEnabled(false);
-					getShell().setCursor(null);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error reseting publishing dialog", e);
-				}
-			} else
-				close();
-	
-			if (waitCursor != null)
-				waitForClose();
-		}
-	}
-	
-	/**
-	 * Toggles the unfolding of the details area.  This is triggered by
-	 * the user pressing the details button.
-	 */
-	private void toggleDetailsArea() {
-		Point windowSize = getShell().getSize();
-		Point windowComputeSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		
-		if (detailsVisible) {
-			details.dispose();
-			detailsVisible = false;
-			detailsButton.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		} else {
-			details = createDetails((Composite)getContents());
-			detailsButton.setText(IDialogConstants.HIDE_DETAILS_LABEL);
-		}
-	
-		Point newSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		int height = Math.max(newSize.y, windowSize.y + (newSize.y - windowComputeSize.y));
-		
-		getShell().setSize(new Point(windowSize.x, height));
-	}
-	
-	/**
-	 * 
-	 */
-	protected void updateTaskLabel() {
-		if (getProgressMonitor().isCanceled())
-			taskLabel.setText(ServerUIPlugin.getResource("%publishingCancelled"));
-		else
-			taskLabel.setText(getStatusText(globalStatus));
-	}
-	
-	/**
-	 * 
-	 */
-	private void waitForClose() {
-		// keep the dialog open...
-		
-		Display display = getShell().getDisplay();
-		if (display == Display.getCurrent()) {
-			while (waitCursor != null) {
-				if (!display.readAndDispatch())
-					display.sleep();
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTableTreeViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTableTreeViewer.java
deleted file mode 100644
index 45360b6..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTableTreeViewer.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckboxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.TableTreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.resources.IModuleFolder;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteFolder;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-/**
- * Publish tree viewer.
- */
-public class PublishTableTreeViewer extends TableTreeViewer {
-	protected VisualPublisher visualPublisher;
-	protected PublishViewerFilter filter;
-
-	/**
-	 * PublishTableTreeViewer constructor comment.
-	 * @param tree org.eclipse.swt.custom.TableTree
-	 */
-	public PublishTableTreeViewer(TableTree tree, VisualPublisher visualPublisher2) {
-		super(tree);
-		this.visualPublisher = visualPublisher2;
-	
-		setContentProvider(new PublishTreeContentProvider(visualPublisher));
-		setLabelProvider(new PublishTreeLabelProvider(visualPublisher));
-		setInput(visualPublisher.getModules());
-		setSorter(new ViewerSorter() {
-			public int category(Object element) {
-				if (element instanceof IModuleFolder)
-					return 0;
-				else if (element instanceof IModuleResource)
-					return 1;
-				else if (element instanceof IRemoteFolder)
-					return 0;
-				else if (element instanceof IRemoteResource)
-					return 1;
-				else
-					return 2;
-			}
-		});
-	
-		filter = new PublishViewerFilter(visualPublisher);
-		addFilter(filter);
-	
-		setColumnProperties(new String[] {"local", "remote", "status", "action"});
-		setCellEditors(new CellEditor[] {null, null, null, new CheckboxCellEditor(tree)});
-	
-		ICellModifier cellModifier = new ICellModifier() {
-			public Object getValue(Object element, String property) {
-				//Trace.trace("getValue " + element + " " + property);
-	
-				if (element instanceof IModuleResource) {
-					IModuleResource resource = (IModuleResource) element;
-					IPath path = visualPublisher.getPublishControl(resource.getModule()).getMappedLocation(resource);
-					if (path == null || path.toString() == null)
-						return new Boolean(false);
-					
-					if (visualPublisher.getResourcesToPublish(resource.getModule()).contains(resource))
-						return new Boolean(true);
-					return new Boolean(false);
-				} else if (element instanceof ModuleRemoteResource) {
-					ModuleRemoteResource prr = (ModuleRemoteResource) element;
-					IRemoteResource remote = prr.getRemote();
-					IPath path = remote.getPath();
-					if (path == null || path.toString() == null)
-						return new Boolean(false);
-					
-					IModule module = prr.getModule();
-					if (visualPublisher.getResourcesToDelete(module).contains(remote))
-						return new Boolean(true);
-					
-					return new Boolean(false);
-				}
-				return new Boolean(false);
-			}
-	
-			public boolean canModify(Object element, String property) {
-				//Trace.trace("canModify " + element + " " + property);
-				if ("action".equals(property)) {
-					// check that it is mapped!!
-					if (element instanceof IModuleResource) {
-						IModuleResource resource = (IModuleResource) element;
-						IPath path = visualPublisher.getPublishControl(resource.getModule()).getMappedLocation(resource);
-						if (path == null)
-							return false;
-						if (resource instanceof IModuleFolder) {
-							byte status = visualPublisher.getResourceStatus(resource, path);
-							if (status != VisualPublisher.STATUS_NEW)
-								return false;
-						}
-						return true;
-					}
-					return true;
-				}
-				return false;
-			}
-	
-			public void modify(Object element, String property, Object value) {
-				if (!"action".equals(property))
-					return;
-	
-				TableTreeItem tti = (TableTreeItem) element;
-				Object obj = tti.getData();
-				//Trace.trace("modify " + element + " " + property + " " + value + " " + obj);
-				boolean val = ((Boolean) value).booleanValue();
-	
-				if (obj instanceof IModuleResource) {
-					IModuleResource resource = (IModuleResource) obj;
-					IModule module = resource.getModule();
-					List publishList = visualPublisher.getResourcesToPublish(module);
-					if (val) {
-						publishList.add(resource);
-						handlePublishResource(module, publishList, resource);
-					} else {
-						publishList.remove(resource);
-						if (resource instanceof IModuleFolder)
-							handleUnpublishContainer(module, publishList, (IModuleFolder) resource);
-					}
-				} else if (obj instanceof ModuleRemoteResource) {
-					ModuleRemoteResource prr = (ModuleRemoteResource) obj;
-					IRemoteResource remote = prr.getRemote();
-					IModule module = prr.getModule();
-					List deleteList = visualPublisher.getResourcesToDelete(module);
-					if (val) {
-						deleteList.add(remote);
-						if (remote instanceof IRemoteFolder)
-							handleDeleteRemoteFolder(module, deleteList, prr.getFolder(), (IRemoteFolder) remote);
-					} else {
-						deleteList.remove(remote);
-						handleUndeleteRemoteResource(module, deleteList, prr.getFolder(), remote);
-					}
-				}
-				refresh(obj);
-			}
-		};
-		setCellModifier(cellModifier);
-		expandToLevel(3);
-	}
-
-	/**
-	 * Returns the filter.
-	 *
-	 * @return org.eclipse.wst.server.ui.internal.publish.PublishViewerFilter
-	 */
-	public PublishViewerFilter getFilter() {
-		return filter;
-	}
-
-	/**
-	 * Handles a deletion by making sure that the child resources
-	 * are also deleted.
-	 *
-	 * @param remote IRemoteResource
-	 */
-	protected void handleDeleteRemoteFolder(IModule module, List deleteList, ModuleDeletedResourceFolder folder, IRemoteFolder remoteFolder) {
-		Iterator iterator = remoteFolder.getContents().iterator();
-		while (iterator.hasNext()) {
-			IRemoteResource remote = (IRemoteResource) iterator.next();
-	
-			if (!deleteList.contains(remote)) {
-				deleteList.add(remote);
-				refresh(new ModuleRemoteResource(folder, module, remote));
-			}
-			if (remote instanceof IRemoteFolder)
-				handleDeleteRemoteFolder(module, deleteList, folder, (IRemoteFolder) remote);
-		}
-	}
-
-	/**
-	 * Handles a file publishing by making sure that the
-	 * parent directories are published.
-	 * !Should really check remote parent instead of local parent!
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 */
-	protected void handlePublishResource(IModule module, List publishList, IModuleResource resource) {
-		IModuleFolder container = resource.getParent();
-		while (container != null) {
-			IPath path = visualPublisher.getPublishControl(module).getMappedLocation(container);
-			if (path != null) {
-				byte status = visualPublisher.getResourceStatus(container, path);
-				if (status == VisualPublisher.STATUS_NEW && !publishList.contains(container)) {
-					publishList.add(container);
-					refresh(container);
-				}
-			}
-			container = container.getParent();
-		}
-	}
-	
-	/**
-	 * Handles a deletion by making sure that the parent resources
-	 * are also deleted.
-	 *
-	 * @param remote IRemoteResource
-	 */
-	protected void handleUndeleteRemoteResource(IModule module, List deleteList, ModuleDeletedResourceFolder folder, IRemoteResource remote) {
-		IRemoteFolder remoteFolder = remote.getParent();
-		while (remoteFolder != null) {
-			if (deleteList.contains(remoteFolder)) {
-				deleteList.remove(remoteFolder);
-				refresh(new ModuleRemoteResource(folder, module, remoteFolder));
-			}
-	
-			remoteFolder = remoteFolder.getParent();
-		}
-	}
-
-	/**
-	 * Handles a container not being published by deselecting anything
-	 * in the container,
-	 * !Should really check remote children instead of local children!
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 */
-	protected void handleUnpublishContainer(IModule module, List publishList, IModuleFolder container) {
-		IModuleResource[] children = null;
-		try {
-			children = container.members();
-		} catch (Exception e) {
-		}
-		if (children == null)
-			return;
-	
-		int size = children.length;
-		for (int i = 0; i < size; i++) {
-			IPath path = visualPublisher.getPublishControl(module).getMappedLocation(children[i]);
-			if (path != null && publishList.contains(children[i])) {
-				publishList.remove(children[i]);
-				refresh(children[i]);
-			}
-	
-			if (children[i] instanceof IModuleFolder)
-				handleUnpublishContainer(module, publishList, (IModuleFolder) children[i]);
-		}
-	}
-
-	/**
-	 * Updates the filter.
-	 *
-	 * @param filter org.eclipse.wst.server.ui.internal.publish.PublishViewerFilter
-	 */
-	public void updateFilter() {
-		removeFilter(filter);
-		addFilter(filter);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTreeContentProvider.java
deleted file mode 100644
index b5b7ca9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTreeContentProvider.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.resources.IModuleFolder;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Content provider for the publisher wizard.
- */
-public class PublishTreeContentProvider implements ITreeContentProvider {
-	protected VisualPublisher visualPublisher;
-
-	protected Map remoteToProject = new HashMap();
-	
-	/**
-	 * PublishTreeContentProvider constructor comment.
-	 */
-	public PublishTreeContentProvider(VisualPublisher visualPublisher) {
-		super();
-		this.visualPublisher = visualPublisher;
-	}
-
-	/**
-	 * Disposes of this content provider.  
-	 * This is called by the viewer when it is disposed.
-	 */
-	public void dispose() {}
-
-	/**
-	 * Returns the child elements of the given parent element.
-	 * <p>
-	 * The difference between this method and <code>IStructuredContentProvider.getElements</code> 
-	 * is that <code>getElements</code> is called to obtain the 
-	 * tree viewer's root elements, whereas <code>getChildren</code> is used
-	 * to obtain the children of a given parent element in the tree (including a root).
-	 * </p>
-	 * The result is not modified by the viewer.
-	 *
-	 * @param parentElement the parent element
-	 * @return an array of child elements
-	 */
-	public Object[] getChildren(Object element) {
-		if (element instanceof IModule) {
-			try {
-				IModule module = (IModule) element;
-				IModuleResource[] children = module.members();
-				
-				// add deleted remote elements
-				List del = visualPublisher.getDeletedResources((IModule) element);
-				if (del == null || del.size() == 0)
-					return children;
-	
-				Object[] res = new Object[children.length + 1];
-				System.arraycopy(children, 0, res, 0, children.length);
-				res[children.length] = new ModuleDeletedResourceFolder((IModule) element);
-				return res;
-			} catch (Exception e) {
-				Trace.trace("Error getting module children", e);
-			}
-		} else if (element instanceof IModuleFolder) {
-			IModuleFolder folder = (IModuleFolder) element;
-			try {
-				return folder.members();
-			} catch (Exception e) {
-				Trace.trace("Error getting ModuleFolder members", e);
-			}
-		} else if (element instanceof ModuleDeletedResourceFolder) {
-			ModuleDeletedResourceFolder folder = (ModuleDeletedResourceFolder) element;
-			IModule module = folder.getModule();
-			List del = visualPublisher.getDeletedResources(module);
-			if (del == null || del.size() == 0)
-				return new Object[0];
-	
-			int size = del.size();
-			ModuleRemoteResource[] remote = new ModuleRemoteResource[size];
-			for (int i = 0; i < size; i++)
-				remote[i] = new ModuleRemoteResource(folder, module, (IRemoteResource) del.get(i));
-	
-			return remote;
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 * These elements can be presented as rows in a table, items in a list, etc.
-	 * The result is not modified by the viewer.
-	 *
-	 * @param inputElement the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public Object[] getElements(Object element) {
-		if (element instanceof List) {
-			List l = (List) element;
-			return l.toArray();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the parent for the given element, or <code>null</code> 
-	 * indicating that the parent can't be computed. 
-	 * In this case the tree-structured viewer can't expand
-	 * a given node correctly if requested.
-	 *
-	 * @param element the element
-	 * @return the parent element, or <code>null</code> if it
-	 *   has none or if the parent cannot be computed
-	 */
-	public Object getParent(Object element) {
-		if (element instanceof IModuleResource) {
-			IModuleResource resource = (IModuleResource) element;
-			if (resource.getParent() != null)
-				return resource.getParent();
-			return resource.getModule();
-		} else if (element instanceof ModuleDeletedResourceFolder) {
-			ModuleDeletedResourceFolder folder = (ModuleDeletedResourceFolder) element;
-			return folder.getModule();
-		} else if (element instanceof ModuleRemoteResource) {
-			ModuleRemoteResource remote = (ModuleRemoteResource) element;
-			if (remote.getFolder() != null)
-				return remote.getFolder();
-			return remote.getModule();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns whether the given element has children.
-	 * <p>
-	 * Intended as an optimization for when the viewer does not
-	 * need the actual children.  Clients may be able to implement
-	 * this more efficiently than <code>getChildren</code>.
-	 * </p>
-	 *
-	 * @param element the element
-	 * @return <code>true</code> if the given element has children,
-	 *  and <code>false</code> if it has no children
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof IModuleFolder) {
-			IModuleFolder container = (IModuleFolder) element;
-			try {
-				IModuleResource[] children = container.members();
-				if (children != null && children.length > 0)
-					return true;
-				else if (container instanceof IModule) {
-					return (!visualPublisher.getDeletedResources((IModule) element).isEmpty());
-				}
-				return false;
-			} catch (Exception e) {
-				Trace.trace("Project members", e);
-			}
-		} else if (element instanceof ModuleDeletedResourceFolder) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 * <p>
-	 * A typical use for this method is registering the content provider as a listener
-	 * to changes on the new input (using model-specific means), and deregistering the viewer 
-	 * from the old input. In response to these change notifications, the content provider
-	 * propagates the changes to the viewer.
-	 * </p>
-	 *
-	 * @param viewer the viewer
-	 * @param oldInput the old input element, or <code>null</code> if the viewer
-	 *   did not previously have an input
-	 * @param newInput the new input element, or <code>null</code> if the viewer
-	 *   does not have an input
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTreeLabelProvider.java
deleted file mode 100644
index 34eb0b3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishTreeLabelProvider.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.resources.IModuleFolder;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.graphics.Image;
-/**
- * Label provider for the publisher wizard tree.
- */
-public class PublishTreeLabelProvider implements ITableLabelProvider {
-	protected VisualPublisher visualPublisher;
-	protected static final ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-
-	protected static final String[] statusStrings = new String[] {
-		ServerUIPlugin.getResource("%wizPublishStateNew"),
-		ServerUIPlugin.getResource("%wizPublishStateUnmodified"),
-		ServerUIPlugin.getResource("%wizPublishStateModifiedLocal"),
-		ServerUIPlugin.getResource("%wizPublishStateModifiedRemote"),
-		ServerUIPlugin.getResource("%wizPublishStateModifiedBoth")};
-
-	/**
-	 * PublishTreeLabelProvider constructor comment.
-	 */
-	public PublishTreeLabelProvider(VisualPublisher visualPublisher) {
-		super();
-		this.visualPublisher = visualPublisher;
-	}
-
-	/**
-	 * Adds a listener to this label provider. 
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * Label provider listeners are informed about state changes 
-	 * that affect the rendering of the viewer that uses this label provider.
-	 * </p>
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void addListener(ILabelProviderListener listener) {}
-
-	/**
-	 * Disposes of this label provider.  When a label provider is
-	 * attached to a viewer, the viewer will automatically call
-	 * this method when the viewer is being closed.  When label providers
-	 * are used outside of the context of a viewer, it is the client's
-	 * responsibility to ensure that this method is called when the
-	 * provider is no longer needed.
-	 */
-	public void dispose() { }
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 * @param columnIndex the zero-based index of the column in which
-	 *   the label appears
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (element instanceof IModule) {
-			if (columnIndex == 0)
-				return labelProvider.getImage(element);
-			return null;
-		} else if (element instanceof IModuleResource) {
-			IModuleResource resource = (IModuleResource) element;
-			IPath path = visualPublisher.getPublishControl(resource.getModule()).getMappedLocation(resource);
-			if (columnIndex == 3) {
-				if (resource instanceof IModuleFolder) {
-					byte status = visualPublisher.getResourceStatus(resource, path);
-					if (status != VisualPublisher.STATUS_NEW)
-						return null;
-				}
-				if (path == null || path.toString() == null)
-					return null;
-				
-				if (visualPublisher.getResourcesToPublish(resource.getModule()).contains(resource))
-					return ImageResource.getImage(ImageResource.IMG_PUBLISH_ENABLED);
-				return ImageResource.getImage(ImageResource.IMG_PUBLISH_DISABLED);
-			}
-		} else if (element instanceof ModuleRemoteResource) {
-			ModuleRemoteResource prr = (ModuleRemoteResource) element;
-			IRemoteResource remote = prr.getRemote();
-			IPath path = remote.getPath();
-			if (columnIndex == 3) {
-				if (path == null || path.toString() == null)
-					return null;
-				
-				IModule module = prr.getModule();
-				if (visualPublisher.getResourcesToDelete(module).contains(remote))
-					return ImageResource.getImage(ImageResource.IMG_PUBLISH_ENABLED);
-				return ImageResource.getImage(ImageResource.IMG_PUBLISH_DISABLED);
-			}
-		}
-	
-		return null;
-	}
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or
-	 *   <code>null</code> indicating that no input object is set
-	 *   in the viewer
-	 * @param columnIndex the zero-based index of the column in which the label appears
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof IModule) {
-			if (columnIndex == 0)
-				return labelProvider.getText(element);
-			return "";
-		} else if (element instanceof IModuleResource) {
-			IModuleResource resource = (IModuleResource) element;
-			IPath path = visualPublisher.getPublishControl(resource.getModule()).getMappedLocation(resource);
-			byte status = visualPublisher.getResourceStatus(resource, path);
-			if (columnIndex == 0)
-				return resource.getName();
-			else if (columnIndex == 1) {
-				if (path == null || path.toString() == null)
-					return "";
-				return path.toString();
-			} else if (columnIndex == 2) {
-				if (path == null || path.toString() == null)
-					return "";
-				return statusStrings[status];
-			} else if (columnIndex == 3) {
-				if (path == null || path.toString() == null)
-					return "";
-				if (resource instanceof IModuleFolder && status != VisualPublisher.STATUS_NEW)
-					return "";
-				return ServerUIPlugin.getResource("%wizPublishActionPublish");
-			}
-		} else if (element instanceof ModuleRemoteResource) {
-			if (columnIndex == 0)
-				return ServerUIPlugin.getResource("%wizPublishDeletedResource");
-			else if (columnIndex == 1) {
-				ModuleRemoteResource prr = (ModuleRemoteResource) element;
-				IPath path = prr.getRemote().getPath();
-				if (path == null || path.toString() == null)
-					return "";
-				return path.toString();
-			} else if (columnIndex == 2) {
-				return ServerUIPlugin.getResource("%wizPublishStateDeleted");
-			} else if (columnIndex == 3)
-				return ServerUIPlugin.getResource("%wizPublishActionDelete");
-		} else if (element instanceof ModuleDeletedResourceFolder) {
-			if (columnIndex == 0)
-				return ServerUIPlugin.getResource("%wizPublishDeletedFolder");
-			return "";
-		}
-		return "";
-	}
-
-	/**
-	 * Returns whether the label would be affected 
-	 * by a change to the given property of the given element.
-	 * This can be used to optimize a non-structural viewer update.
-	 * If the property mentioned in the update does not affect the label,
-	 * then the viewer need not update the label.
-	 *
-	 * @param element the element
-	 * @param property the property
-	 * @return <code>true</code> if the label would be affected,
-	 *    and <code>false</code> if it would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return "action".equals(property);
-	}
-
-	/**
-	 * Removes a listener to this label provider.
-	 * Has no affect if an identical listener is not registered.
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void removeListener(ILabelProviderListener listener) { }
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishViewerFilter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishViewerFilter.java
deleted file mode 100644
index 998d6c0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishViewerFilter.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-import org.eclipse.wst.server.core.resources.IModuleFolder;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-/**
- * A filter for the visual publisher's dialog.
- */
-public class PublishViewerFilter extends ViewerFilter {
-	protected VisualPublisher visualPublisher;
-
-	protected boolean filterUnpublishable = true;
-	protected boolean filterDeleted = false;
-	protected boolean filterNew = false;
-	protected boolean filterModified = false;
-	protected boolean filterUnmodified = false;
-
-	/**
-	 * PublishViewerFilter constructor comment.
-	 */
-	protected PublishViewerFilter(VisualPublisher visualPublisher) {
-		super();
-		this.visualPublisher = visualPublisher;
-	}
-
-	/**
-	 * Returns true if deleted files are filtered.
-	 *
-	 * @return boolean
-	 */
-	public boolean isFilteringDeleted() {
-		return filterDeleted;
-	}
-
-	/**
-	 * Returns true if modified files are filtered.
-	 *
-	 * @return boolean
-	 */
-	public boolean isFilteringModified() {
-		return filterModified;
-	}
-
-	/**
-	 * Returns true if new files are filtered.
-	 *
-	 * @return boolean
-	 */
-	public boolean isFilteringNew() {
-		return filterNew;
-	}
-
-	/**
-	 * Returns true if unmodified files are filtered.
-	 *
-	 * @return boolean
-	 */
-	public boolean isFilteringUnmodified() {
-		return filterUnmodified;
-	}
-
-	/**
-	 * Returns true if files that are not publishable are filtered.
-	 *
-	 * @return boolean
-	 */
-	public boolean isFilteringUnpublishable() {
-		return filterUnpublishable;
-	}
-
-	/**
-	 * Returns whether the given element makes it through this filter.
-	 *
-	 * @param viewer the viewer
-	 * @param parentElement the parent element
-	 * @param element the element
-	 * @return <code>true</code> if element is included in the
-	 *   filtered set, and <code>false</code> if excluded
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		if (element instanceof IModuleResource) {
-			IModuleResource resource = (IModuleResource) element;
-			IPath path = visualPublisher.getPublishControl(resource.getModule()).getMappedLocation(resource);
-			if (filterUnpublishable && path == null) {
-				if (resource instanceof IModuleFolder) {
-					if (visualPublisher.getPublishControl(resource.getModule()).shouldMapMembers((IModuleFolder) resource))
-						return true;
-					return false;
-				}
-				return false;
-			}
-			byte status = visualPublisher.getResourceStatus(resource, path);
-			if (status == VisualPublisher.STATUS_NEW && filterNew)
-				return false;
-			
-			if (status == VisualPublisher.STATUS_UNCHANGED && filterUnmodified)
-				return false;
-	
-			if ((status == VisualPublisher.STATUS_NEWER_LOCALLY || status == VisualPublisher.STATUS_NEWER_REMOTELY) &&
-				filterModified)
-				return false;
-		} else if (element instanceof ModuleRemoteResource) {
-			if (filterDeleted)
-				return false;
-			return true;
-		} else if (element instanceof ModuleDeletedResourceFolder) {
-			if (filterDeleted)
-				return false;
-			return true;
-		}
-		return true;
-	}
-
-	/**
-	 * Set whether deleted files are filtered.
-	 *
-	 * @param boolean
-	 */
-	public void setFilteringDeleted(boolean b) {
-		filterDeleted = b;
-	}
-
-	/**
-	 * Set whether modified files are filtered.
-	 *
-	 * @param boolean
-	 */
-	public void setFilteringModified(boolean b) {
-		filterModified = b;
-	}
-
-	/**
-	 * Set whether new files are filtered.
-	 *
-	 * @param boolean
-	 */
-	public void setFilteringNew(boolean b) {
-		filterNew = b;
-	}
-
-	/**
-	 * Set whether unmodified files are filtered.
-	 *
-	 * @param boolean
-	 */
-	public void setFilteringUnmodified(boolean b) {
-		filterUnmodified = b;
-	}
-
-	/**
-	 * Set whether unpublishable files are filtered.
-	 *
-	 * @param boolean
-	 */
-	public void setFilteringUnpublishable(boolean b) {
-		filterUnpublishable = b;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishViewerFilterDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishViewerFilterDialog.java
deleted file mode 100644
index 0e8a2f1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublishViewerFilterDialog.java
+++ /dev/null
@@ -1,197 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.help.WorkbenchHelp;
-/**
- * Dialog to modify the filter used in the publish viewer
- * of the visual publisher.
- */
-public class PublishViewerFilterDialog extends Dialog {
-	protected PublishViewerFilter filter;
-	protected CheckboxTableViewer viewer;
-
-	protected static final String[] filterStrings = new String[] {
-		ServerUIPlugin.getResource("%wizPublishFilterUnpublished"),
-		ServerUIPlugin.getResource("%wizPublishFilterNew"),
-		ServerUIPlugin.getResource("%wizPublishFilterUnmodified"),
-		ServerUIPlugin.getResource("%wizPublishFilterModified"),
-		ServerUIPlugin.getResource("%wizPublishFilterDeleted")};
-
-	protected static final String[] filterDescriptions = new String[] {
-		ServerUIPlugin.getResource("%wizPublishFilterUnpublishedDescription"),
-		ServerUIPlugin.getResource("%wizPublishFilterNewDescription"),
-		ServerUIPlugin.getResource("%wizPublishFilterUnmodifiedDescription"),
-		ServerUIPlugin.getResource("%wizPublishFilterModifiedDescription"),
-		ServerUIPlugin.getResource("%wizPublishFilterDeletedDescription")};
-
-	public class FilterLabelProvider implements ITableLabelProvider {
-		public void addListener(ILabelProviderListener listener) { }
-		public void dispose() { }
-		
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-		
-		public String getColumnText(Object element, int columnIndex) {
-			return filterStrings[((Integer) element).intValue()];
-		}
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-		public void removeListener(ILabelProviderListener listener) { }
-	}
-	
-	public class FilterContentProvider implements IStructuredContentProvider {
-		public void dispose() { }
-	
-		public Object[] getElements(Object element) {
-			return new Integer[] {
-				new Integer(0), new Integer(1), new Integer(2),
-				new Integer(3), new Integer(4)};
-		}
-	
-		public void inputChanged(Viewer newViewer, Object oldInput, Object newInput) { }
-	}
-
-	/**
-	 * PublishViewerFilterDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public PublishViewerFilterDialog(Shell parentShell, PublishViewerFilter filter) {
-		super(parentShell);
-		this.filter = filter;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(ServerUIPlugin.getResource("%wizPublishFilterTitle"));
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(composite, ContextIds.PUBLISHER_DIALOG_FILTER_DIALOG);
-	
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%wizPublishFilterMessage"));
-	
-		viewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
-		viewer.setContentProvider(new FilterContentProvider());
-		viewer.setLabelProvider(new FilterLabelProvider());
-		viewer.setInput("root");
-		WorkbenchHelp.setHelp(viewer.getTable(), ContextIds.PUBLISHER_DIALOG_FILTER_DIALOG);
-	
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 200;
-		data.heightHint = 90;
-		viewer.getTable().setLayoutData(data);
-	
-		if (filter.isFilteringUnpublishable())
-			viewer.setChecked(new Integer(0), true);
-		if (filter.isFilteringNew())
-			viewer.setChecked(new Integer(1), true);
-		if (filter.isFilteringUnmodified())
-			viewer.setChecked(new Integer(2), true);
-		if (filter.isFilteringModified())
-			viewer.setChecked(new Integer(3), true);
-		if (filter.isFilteringDeleted())
-			viewer.setChecked(new Integer(4), true);
-	
-		final Label description = new Label(composite, SWT.WRAP);
-		description.setText(" \n ");
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		data.heightHint = 35;
-		description.setLayoutData(data);
-		
-		viewer.getTable().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				try {
-					TableItem item = viewer.getTable().getSelection()[0];
-					Integer in = (Integer) item.getData();
-					description.setText(filterDescriptions[in.intValue()]);
-				} catch (Exception e) {
-					description.setText("");
-				}
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-			}
-		});
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-
-	/**
-	 * Return the filter.
-	 *
-	 * @return org.eclipse.wst.server.ui.internal.publish.PublishViewerFilter
-	 */
-	public PublishViewerFilter getFilter() {
-		return filter;
-	}
-
-	protected void okPressed() {
-		filter.setFilteringUnpublishable(viewer.getChecked(new Integer(0)));
-		filter.setFilteringNew(viewer.getChecked(new Integer(1)));
-		filter.setFilteringUnmodified(viewer.getChecked(new Integer(2)));
-		filter.setFilteringModified(viewer.getChecked(new Integer(3)));
-		filter.setFilteringDeleted(viewer.getChecked(new Integer(4)));
-	
-		super.okPressed();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublisherWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublisherWizard.java
deleted file mode 100644
index 6b38ff7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublisherWizard.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * PublisherWizard
- */
-public class PublisherWizard extends Wizard {
-	protected VisualPublisher visualPublisher;
-
-	/**
-	 * PublisherWizard constructor comment.
-	 */
-	public PublisherWizard(VisualPublisher visualPublisher) {
-		super();
-		setWindowTitle(ServerUIPlugin.getResource("%wizPublishWizardTitle"));
-	
-		this.visualPublisher = visualPublisher;
-	}
-
-	public void addPages() {
-		PublisherWizardPage page = new PublisherWizardPage(visualPublisher);
-		addPage(page);
-	}
-
-	/**
-	 * Subclasses must implement this <code>IWizard</code> method 
-	 * to perform any special finish processing for their wizard.
-	 */
-	public boolean performFinish() {
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublisherWizardPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublisherWizardPage.java
deleted file mode 100644
index e05fe12..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/PublisherWizardPage.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-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.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Publish Wizard that allows that user to select which files
- * to publish.
- */
-public class PublisherWizardPage extends WizardPage {
-	protected TableTree tableTree;
-
-	protected VisualPublisher visualPublisher;
-
-	protected static final String[] descriptionStrings = new String[] {
-		ServerUIPlugin.getResource("%wizPublishStateNewDescription"),
-		ServerUIPlugin.getResource("%wizPublishStateUnmodifiedDescription"),
-		ServerUIPlugin.getResource("%wizPublishStateModifiedLocalDescription"),
-		ServerUIPlugin.getResource("%wizPublishStateModifiedRemoteDescription"),
-		ServerUIPlugin.getResource("%wizPublishStateModifiedBothDescription"),
-		ServerUIPlugin.getResource("%wizPublishStateDeletedDescription")};
-
-	/**
-	 * PublisherWizardPage constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public PublisherWizardPage(VisualPublisher visualPublisher) {
-		super("publish wizard page");
-		this.visualPublisher = visualPublisher;
-	
-		setTitle(ServerUIPlugin.getResource("%wizPublishTitle"));
-		setDescription(ServerUIPlugin.getResource("%wizPublishDescription"));
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_VISUAL_PUBLISHER));
-	}
-
-	/**
-	 * Creates the top level control for this dialog
-	 * page under the given parent composite.
-	 * <p>
-	 * Implementors are responsible for ensuring that
-	 * the created control can be accessed via <code>getControl</code>
-	 * </p>
-	 *
-	 * @param parent the parent composite
-	 */
-	public void createControl(Composite parent) {
-		Composite c = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		c.setLayout(layout);
-	
-		tableTree = new TableTree(c, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.SINGLE);
-	
-		Table table = tableTree.getTable();
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-	
-		TableColumn column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%wizPublishColumnLocal"));
-		column.setWidth(150);
-	
-		column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%wizPublishColumnRemote"));
-		column.setWidth(140);
-	
-		column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%wizPublishColumnStatus"));
-		column.setWidth(135);
-	
-		column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%wizPublishColumnAction"));
-		column.setWidth(120);
-	
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 550;
-		data.heightHint = 400;
-		tableTree.setLayoutData(data);
-	
-		final PublishTableTreeViewer viewer = new PublishTableTreeViewer(tableTree, visualPublisher);
-	
-		final Label description = new Label(c, SWT.WRAP);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		description.setLayoutData(data);
-	
-		tableTree.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				try {
-					TableTreeItem item = tableTree.getSelection()[0];
-					Object obj = item.getData();
-					description.setText(getDescription(obj));
-				} catch (Exception e) {
-					description.setText("!");
-				}
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-			}
-		});
-	
-		final Button filter = new Button(c, SWT.NONE);
-		filter.setText(ServerUIPlugin.getResource("%wizPublishFilter"));
-		filter.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				PublishViewerFilterDialog dialog = new PublishViewerFilterDialog(getShell(), viewer.getFilter());
-				if (dialog.open() == Window.OK)
-					viewer.updateFilter();
-			}
-		});
-		
-		Dialog.applyDialogFont(c);
-		
-		setControl(c);
-	}
-
-	/**
-	 * Returns a description for the element.
-	 *
-	 * @param element java.lang.Object
-	 * @return java.lang.String
-	 */
-	protected String getDescription(Object element) {
-		if (element instanceof IModuleResource) {
-			IModuleResource resource = (IModuleResource) element;
-			IPath path = visualPublisher.getPublishControl(resource.getModule()).getMappedLocation(resource);
-			if (path == null || path.toString() == null)
-				return "";
-			
-			byte status = visualPublisher.getResourceStatus(resource, path);
-			return descriptionStrings[status];
-		} else if (element instanceof ModuleRemoteResource) {
-			return descriptionStrings[5];
-		}
-		return "";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/VisualPublisher.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/VisualPublisher.java
deleted file mode 100644
index 5f6e0a0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/publish/VisualPublisher.java
+++ /dev/null
@@ -1,373 +0,0 @@
-package org.eclipse.wst.server.ui.internal.publish;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.wst.server.core.IPublishControl;
-import org.eclipse.wst.server.core.internal.AbstractPublisher;
-import org.eclipse.wst.server.core.internal.SmartPublisher;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IPublishManagerDelegate;
-import org.eclipse.wst.server.core.resources.IModuleFolder;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteFolder;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A visual publisher that allows the user to select
- * which files to publish from a tree table.
- */
-public class VisualPublisher implements IPublishManagerDelegate {
-	//protected IPublishControl control;
-	protected Map publishControls;
-	protected List modules;
-
-	// use a smart publisher to initially fill in publish selection
-	protected SmartPublisher smartPublisher;
-
-	protected Map deleteMap;
-	protected Map publishMap;
-
-	protected Map deletedResources;
-
-	public static final byte STATUS_NEW = 0;
-	public static final byte STATUS_UNCHANGED = 1;
-	public static final byte STATUS_NEWER_LOCALLY = 2;
-	public static final byte STATUS_NEWER_REMOTELY = 3;
-	public static final byte STATUS_NEWER_UNKNOWN = 4;
-
-	/**
-	 * VisualPublisher constructor comment.
-	 */
-	public VisualPublisher() {
-		super();
-	}
-
-	protected IRemoteResource findRemoteResource(IRemoteFolder folder, IPath path) {
-		Iterator iterator = folder.getContents().iterator();
-		while (iterator.hasNext()) {
-			IRemoteResource remote = (IRemoteResource) iterator.next();
-			if (path.equals(remote.getPath()))
-				return remote;
-			if (remote instanceof IRemoteFolder) {
-				IRemoteFolder folder2 = (IRemoteFolder) remote;
-				IPath folderPath = folder2.getPath();
-				if (folderPath.isPrefixOf(path)) {
-					IRemoteResource rem = findRemoteResource(folder2, path);
-					if (rem != null)
-						return rem;
-				}
-			}
-		}
-		return null;
-	}
-
-	protected IRemoteResource findRemoteResource(IModule module, IPath path) {
-		if (path == null)
-			return null;
-	
-		IRemoteResource[] remoteResources = getPublishControl(module).getRemoteResources();
-		if (remoteResources != null) {
-			int size = remoteResources.length;
-			for (int i = 0; i < size; i++) {
-				IRemoteResource remote = remoteResources[i];
-				if (path.equals(remote.getPath()))
-					return remote;
-				if (remote instanceof IRemoteFolder) {
-					IRemoteFolder folder2 = (IRemoteFolder) remote;
-					IPath folderPath = folder2.getPath();
-					if (folderPath.isPrefixOf(path)) {
-						IRemoteResource rem = findRemoteResource(folder2, path);
-						if (rem != null)
-							return rem;
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the resources that should be deleted from
-	 * the server because they no longer exist in the
-	 * workbench.
-	 *
-	 * @return java.util.List
-	 */
-	public List getDeletedResources(IModule module) {
-		try {
-			List list = (List) deletedResources.get(module);
-			if (list != null)
-				return list;
-		} catch (Exception e) {
-		}
-	
-		List visited = new ArrayList();
-		List unvisited = new ArrayList();
-	
-		try {
-			IModuleResource resources[] = module.members();
-			int size = resources.length;
-			for (int i = 0; i < size; i++) {
-				visit(module, visited, resources[i]);
-			}
-		} catch (Exception e) {
-			Trace.trace("Error visiting resources", e);
-		}
-	
-		IRemoteResource[] remoteResources = getPublishControl(module).getRemoteResources();
-		if (remoteResources != null) {
-			int size = remoteResources.length;
-			for (int i = 0; i < size; i++) {
-				IRemoteResource remote = remoteResources[i];
-				IPath path = remote.getPath();
-				if (!visited.contains(path) && !unvisited.contains(remote))
-					unvisited.add(remote);
-	
-				if (remote instanceof IRemoteFolder)
-					unvisit(visited, unvisited, (IRemoteFolder) remote);
-			}
-		}
-	
-		deletedResources.put(module, unvisited);
-		return unvisited;
-	}
-
-	/**
-	 * Returns the publish control, used to obtain information about
-	 * the publishing.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IPublishControl
-	 */
-	public IPublishControl getPublishControl(IModule module) {
-		try {
-			return (IPublishControl) publishControls.get(module);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns the modules.
-	 *
-	 * @return java.util.List
-	 */
-	public List getModules() {
-		return modules;
-	}
-
-	/**
-	 * Returns the resource state.
-	 *
-	 * @return byte
-	 */
-	public byte getResourceStatus(IModuleResource resource, IPath path) {
-		IModule module = resource.getModule();
-		IRemoteResource remote = findRemoteResource(module, path);
-		if (remote == null)
-			return STATUS_NEW;
-	
-		if (resource instanceof IModuleFolder) {
-			return STATUS_UNCHANGED;
-		}
-	
-		boolean changedRemote = false;
-		long timestamp = getPublishControl(module).getPublishedTimestamp(remote);
-		if (timestamp == IRemoteResource.TIMESTAMP_UNKNOWN || remote.getTimestamp() != timestamp)
-			changedRemote = true;
-	
-		boolean changedLocally = false;
-		timestamp = getPublishControl(module).getPublishedTimestamp(resource);
-		if (timestamp == IRemoteResource.TIMESTAMP_UNKNOWN || resource.getTimestamp() != timestamp)
-			changedLocally = true;
-	
-		if (changedLocally && changedRemote)
-			return STATUS_NEWER_UNKNOWN;
-		else if (changedLocally)
-			return STATUS_NEWER_LOCALLY;
-		else if (changedRemote)
-			return STATUS_NEWER_REMOTELY;
-		else
-			return STATUS_UNCHANGED;
-	}
-
-	/**
-	 * Returns the list of remote resources to delete from the
-	 * remote system.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return java.util.List
-	 */
-	public List getResourcesToDelete(IModule module) {
-		try {
-			List list = (List) deleteMap.get(module);
-			if (list != null)
-				return list;
-		} catch (Exception e) {	}
-	
-		List list = new ArrayList();
-		deleteMap.put(module, list);
-		return list;
-	}
-
-	/**
-	 * Returns the list of resources to publish to the remote
-	 * system.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return java.util.List
-	 */
-	public List getResourcesToPublish(IModule module) {
-		try {
-			List list = (List) publishMap.get(module);
-			if (list != null)
-				return list;
-		} catch (Exception e) {	}
-	
-		List list = new ArrayList();
-		publishMap.put(module, list);
-		return list;
-	}
-
-	/**
-	 * Sets the publish control, used to obtain information about
-	 * the publishing.
-	 *
-	 * Sets the publish state, used to determine the timestamps
-	 * of the last publishing action.
-	 * 
-	 * Resolve which resources to publish or delete.
-	 *
-	 * @param control org.eclipse.wst.server.core.IPublishControl[]
-	 * @param module org.eclipse.wst.server.core.model.IModule[]
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public void resolve(IPublishControl[] control, IModule[] module, IProgressMonitor monitor) {
-		int size = control.length;
-		
-		deleteMap = new HashMap();
-		publishMap = new HashMap();
-		deletedResources = new HashMap();
-		
-		publishControls = new HashMap(size);
-		modules = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			publishControls.put(module[i], control[i]);
-			modules.add(module[i]);
-		}
-		
-		smartPublisher = new SmartPublisher();	
-		smartPublisher.resolve(control, module, new NullProgressMonitor());
-	
-		Iterator iterator = getModules().iterator();
-		while (iterator.hasNext()) {
-			IModule module2 = (IModule) iterator.next();
-			
-			List publish = smartPublisher.getResourcesToPublish(module2);
-			publishMap.put(module2, publish);
-			
-			List delete = smartPublisher.getResourcesToDelete(module2);
-			deleteMap.put(module2, delete);
-		}
-		
-		class Temp {
-			boolean cancel = false;
-		}
-		final Temp temp = new Temp();
-		Display.getDefault().syncExec(new Runnable() {
-			public void run() {
-				Shell shell = EclipseUtil.getShell();
-				PublisherWizard wizard = new PublisherWizard(VisualPublisher.this);
-				WizardDialog dialog = new WizardDialog(shell, wizard);
-				temp.cancel = (dialog.open() == Window.CANCEL);
-			}
-		});
-		if (temp.cancel) {
-			deleteMap = new HashMap();
-			publishMap = new HashMap();
-			monitor.setCanceled(true);
-			return;
-		}
-		
-		// sort delete and publish lists
-		iterator = getModules().iterator();
-		while (iterator.hasNext()) {
-			IModule module2 = (IModule) iterator.next();
-			
-			List publish = getResourcesToPublish(module2);
-			AbstractPublisher.sortPublishList(publish);
-	
-			List delete = getResourcesToDelete(module2);
-			AbstractPublisher.sortDeletionList(delete);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void unvisit(List visited, List unvisited, IRemoteFolder folder) {
-		try {
-			Iterator iterator = folder.getContents().iterator();
-			while (iterator.hasNext()) {
-				IRemoteResource remote = (IRemoteResource) iterator.next();
-				IPath path = remote.getPath();
-				if (!visited.contains(path) && !unvisited.contains(remote))
-					unvisited.add(remote);
-	
-				if (remote instanceof IRemoteFolder)
-					unvisit(visited, unvisited, (IRemoteFolder) remote);
-			}
-		} catch (Exception e) {
-			Trace.trace("Error unvisiting in visual publish", e);
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	private void visit(IModule module, List visited, IModuleResource resource) {
-		try {
-			IPath path = getPublishControl(module).getMappedLocation(resource);
-			if (path != null && !visited.contains(path))
-				visited.add(path);
-		
-			if (resource instanceof IModuleFolder) {
-				IModuleResource[] resources = ((IModuleFolder) resource).members();
-				int size = resources.length;
-				for (int i = 0; i < size; i++) {
-					if (resources[i] instanceof IModuleFolder) {
-						visit(module, visited, resources[i]);
-					} else {
-						path = getPublishControl(module).getMappedLocation(resources[i]);
-						if (path != null && !visited.contains(path))
-							visited.add(path);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace("Error in visual publish visit", e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/AddModuleTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/AddModuleTask.java
deleted file mode 100644
index 54e8456..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/AddModuleTask.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.util.Task;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * 
- */
-public class AddModuleTask extends Task {
-	protected IModule module;
-
-	public AddModuleTask(IModule module) {
-		this.module = module;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		if (module == null)
-			return;
-
-		IServer server = (IServer) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		IModule parentModule = null;
-		try {
-			List parents = server.getParentModules(module);
-			if (parents != null && parents.size() > 0) {
-				parentModule = (IModule) parents.get(0);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not find parent module", e);
-		}
-		
-		if (parentModule == null) {
-			// Use the original module since no parent module is available.
-			parentModule = module;
-		}
-
-		IModule[] modules = server.getModules();
-		int size = modules.length;
-		for (int i = 0; i < size; i++) {
-			if (parentModule.equals(modules[i]))
-				return;
-		}
-
-		IServerWorkingCopy workingCopy = server.getWorkingCopy();
-		workingCopy.modifyModules(new IModule[] { parentModule }, new IModule[0], monitor);
-		getTaskModel().putObject(ITaskModel.TASK_SERVER, workingCopy.save(monitor));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/CompositeTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/CompositeTask.java
deleted file mode 100644
index a9376fd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/CompositeTask.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * 
- */
-public class CompositeTask extends Task {
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.Task#doTask(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void execute(IProgressMonitor monitor) { }
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/FinishWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/FinishWizardFragment.java
deleted file mode 100644
index 95a15b1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/FinishWizardFragment.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * 
- */
-public class FinishWizardFragment extends WizardFragment {
-	protected ITask finishTask;
-	
-	public FinishWizardFragment(ITask finishTask) {
-		this.finishTask = finishTask;
-	}
-	
-	public ITask createFinishTask() {
-		return finishTask;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/InputTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/InputTask.java
deleted file mode 100644
index 88ed63d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/InputTask.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.util.Task;
-/**
- * 
- */
-public class InputTask extends Task {
-	protected String[] ids;
-	protected Object[] values;
-	
-	public InputTask(String id, Object value) {
-		this(new String[] { id }, new Object[] { value });
-	}
-
-	public InputTask(String[] ids, Object[] values) {
-		this.ids = ids;
-		this.values = values;
-	}
-	
-	public void execute(IProgressMonitor monitor) {
-		int size = ids.length;
-		for (int i = 0; i < size; i++) {
-			getTaskModel().putObject(ids[i], values[i]);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/InputWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/InputWizardFragment.java
deleted file mode 100644
index acd26b9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/InputWizardFragment.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class InputWizardFragment extends WizardFragment {
-	protected String[] ids;
-	protected Object[] values;
-	
-	public InputWizardFragment(String id, Object value) {
-		this(new String[] { id }, new Object[] { value });
-	}
-
-	public InputWizardFragment(String[] ids, Object[] values) {
-		this.ids = ids;
-		this.values = values;
-	}
-	
-	public void enter() {
-		int size = ids.length;
-		for (int i = 0; i < size; i++) {
-			getTaskModel().putObject(ids[i], values[i]);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ModifyModulesTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ModifyModulesTask.java
deleted file mode 100644
index 5e23283..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ModifyModulesTask.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IRunningActionServer;
-import org.eclipse.wst.server.core.model.IServerDelegate;
-import org.eclipse.wst.server.core.util.Task;
-
-/**
- * 
- */
-public class ModifyModulesTask extends Task {
-	protected List add;
-	protected List remove;
-	
-	public ModifyModulesTask() { }
-	
-	public void setAddModules(List add) {
-		this.add = add;
-	}
-	
-	public void setRemoveModules(List remove) {
-		this.remove = remove;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		if ((add == null || add.isEmpty()) && (remove == null || remove.isEmpty()))
-			return;
-
-		IServerWorkingCopy workingCopy = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		
-		IServerDelegate delegate = workingCopy.getDelegate();
-		if (delegate instanceof IRunningActionServer) {
-			byte state = workingCopy.getServerState();
-			if (state == IServer.SERVER_STOPPED || state == IServer.SERVER_UNKNOWN) {
-				String mode = (String) getTaskModel().getObject(ITaskModel.TASK_LAUNCH_MODE);
-				if (mode == null || mode.length() == 0)
-					mode = ILaunchManager.DEBUG_MODE;
-				
-				workingCopy.synchronousStart(mode, monitor);
-			}
-		}
-
-		// modify modules
-		IModule[] remove2 = new IModule[0];
-		if (remove != null) {
-			remove2 = new IModule[remove.size()];
-			remove.toArray(remove2);
-		}
-		
-		IModule[] add2 = new IModule[0];
-		if (add != null) {
-			add2 = new IModule[add.size()];
-			add.toArray(add2);
-		}
-		
-		IFile file = workingCopy.getFile();
-		if (file != null && !file.getProject().exists()) {
-			IProject project = file.getProject();
-			ServerCore.createServerProject(project.getName(), null, monitor);
-		}
-		
-		workingCopy.modifyModules(add2, remove2, monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ReleaseServerConfigurationTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ReleaseServerConfigurationTask.java
deleted file mode 100644
index 15c2b63..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ReleaseServerConfigurationTask.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.util.Task;
-
-/**
- * 
- */
-public class ReleaseServerConfigurationTask extends Task {
-	public ReleaseServerConfigurationTask() { }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServerConfigurationWorkingCopy workingCopy = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-		if (workingCopy != null)
-			workingCopy.release();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ReleaseServerTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ReleaseServerTask.java
deleted file mode 100644
index ef3a9a1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/ReleaseServerTask.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.util.Task;
-
-/**
- * 
- */
-public class ReleaseServerTask extends Task {
-	public ReleaseServerTask() { }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServerWorkingCopy workingCopy = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		if (workingCopy != null)
-			workingCopy.release();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveRuntimeTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveRuntimeTask.java
deleted file mode 100644
index bbf8f5f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveRuntimeTask.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.util.Task;
-
-/**
- * 
- */
-public class SaveRuntimeTask extends Task {
-	public SaveRuntimeTask() { }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IRuntime runtime = (IRuntime) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-		if (runtime != null && runtime instanceof IRuntimeWorkingCopy) {
-			IRuntimeWorkingCopy workingCopy = (IRuntimeWorkingCopy) runtime;
-			if (workingCopy.isDirty())
-				getTaskModel().putObject(ITaskModel.TASK_RUNTIME, workingCopy.save(monitor));
-			else {
-				workingCopy.release();
-				getTaskModel().putObject(ITaskModel.TASK_RUNTIME, workingCopy.getOriginal());
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveServerConfigurationTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveServerConfigurationTask.java
deleted file mode 100644
index c9577b5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveServerConfigurationTask.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.util.Task;
-
-/**
- * 
- */
-public class SaveServerConfigurationTask extends Task {
-	public SaveServerConfigurationTask() { }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServerConfiguration sc = (IServerConfiguration) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-		if (sc != null && sc instanceof IServerConfigurationWorkingCopy) {
-			IServerConfigurationWorkingCopy workingCopy = (IServerConfigurationWorkingCopy) sc;
-			if (workingCopy.isDirty()) {
-				IFile file = workingCopy.getFile();
-				if (file != null && !file.getProject().exists()) {
-					IProject project = file.getProject();
-					ServerCore.createServerProject(project.getName(), null, monitor);
-				}
-				getTaskModel().putObject(ITaskModel.TASK_SERVER_CONFIGURATION, workingCopy.save(monitor));
-			} else {
-				workingCopy.release();
-				getTaskModel().putObject(ITaskModel.TASK_SERVER_CONFIGURATION, workingCopy.getOriginal());
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveServerTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveServerTask.java
deleted file mode 100644
index 388a11d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/SaveServerTask.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.util.Task;
-
-/**
- * 
- */
-public class SaveServerTask extends Task {
-	public SaveServerTask() { }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServer server = (IServer) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		if (server != null && server instanceof IServerWorkingCopy) {
-			IServerWorkingCopy workingCopy = (IServerWorkingCopy) server;
-			if (workingCopy.isDirty()) {
-				IFile file = workingCopy.getFile();
-				if (file != null && !file.getProject().exists()) {
-					IProject project = file.getProject();
-					ServerCore.createServerProject(project.getName(), null, monitor);
-				}
-				getTaskModel().putObject(ITaskModel.TASK_SERVER, workingCopy.save(monitor));
-			} else {
-				workingCopy.release();
-				getTaskModel().putObject(ITaskModel.TASK_SERVER, workingCopy.getOriginal());
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveRuntimeTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveRuntimeTask.java
deleted file mode 100644
index 984d0bf..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveRuntimeTask.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.util.Task;
-
-
-/**
- * 
- */
-public class TempSaveRuntimeTask extends Task {
-	public TempSaveRuntimeTask() { }
-
-	/* (non-Javadoc)
-	 * @see com.ibm.wtp.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IRuntime runtime = (IRuntime) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-		if (runtime != null && runtime instanceof IRuntimeWorkingCopy) {
-			IRuntimeWorkingCopy workingCopy = (IRuntimeWorkingCopy) runtime;
-			if (!workingCopy.isDirty())
-				return;
-		
-			runtime = workingCopy.save(monitor);
-			getTaskModel().putObject(ITaskModel.TASK_RUNTIME, runtime.getWorkingCopy());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveServerConfigurationTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveServerConfigurationTask.java
deleted file mode 100644
index 3cb9e5e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveServerConfigurationTask.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.util.Task;
-
-
-/**
- * 
- */
-public class TempSaveServerConfigurationTask extends Task {
-	public TempSaveServerConfigurationTask() { }
-
-	/* (non-Javadoc)
-	 * @see com.ibm.wtp.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServerConfiguration sc = (IServerConfiguration) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
-		if (sc != null && sc instanceof IServerConfigurationWorkingCopy) {
-			IServerConfigurationWorkingCopy workingCopy = (IServerConfigurationWorkingCopy) sc;
-			if (!workingCopy.isDirty())
-				return;
-			
-			IFile file = workingCopy.getFile();
-			if (file != null && !file.getProject().exists()) {
-				IProject project = file.getProject();
-				ServerCore.createServerProject(project.getName(), null, monitor);
-			}
-			sc = workingCopy.save(monitor);
-			
-			workingCopy = sc.getWorkingCopy();
-			try {
-				IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-				if (server.getServerType().hasServerConfiguration() &&server != null)
-					server.setServerConfiguration(workingCopy);
-			} catch (Exception e) { }
-			getTaskModel().putObject(ITaskModel.TASK_SERVER_CONFIGURATION, workingCopy);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveServerTask.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveServerTask.java
deleted file mode 100644
index a12a7ba..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/task/TempSaveServerTask.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.task;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.util.Task;
-
-
-/**
- * 
- */
-public class TempSaveServerTask extends Task {
-	public TempSaveServerTask() { }
-
-	/* (non-Javadoc)
-	 * @see com.ibm.wtp.server.ui.internal.task.ITask#doTask()
-	 */
-	public void execute(IProgressMonitor monitor) throws CoreException {
-		IServer server = (IServer) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		if (server != null && server instanceof IServerWorkingCopy) {
-			IServerWorkingCopy workingCopy = (IServerWorkingCopy) server;
-			if (!workingCopy.isDirty())
-				return;
-			
-			IFile file = workingCopy.getFile();
-			if (file != null && !file.getProject().exists()) {
-				IProject project = file.getProject();
-				ServerCore.createServerProject(project.getName(), null, monitor);
-			}
-			IRuntime runtime = workingCopy.getRuntime();
-			IServerConfiguration config = workingCopy.getServerConfiguration();
-			
-			server = workingCopy.save(monitor);
-			workingCopy = server.getWorkingCopy();
-			
-			workingCopy.setServerConfiguration(config);
-			workingCopy.setRuntime(runtime);
-			getTaskModel().putObject(ITaskModel.TASK_SERVER, workingCopy);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java
deleted file mode 100644
index 4672a4d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * An abstract class for an action on a server.
- */
-public abstract class AbstractServerAction extends SelectionProviderAction {
-	public Shell shell;
-
-	public AbstractServerAction(Shell shell, ISelectionProvider selectionProvider, String name) {
-		super(selectionProvider, name);
-		this.shell = shell;
-		setEnabled(false);
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 *
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public abstract boolean accept(IServer server);
-
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public abstract void perform(IServer server);
-
-	public void run() {
-		Iterator iterator = getStructuredSelection().iterator();
-		Object obj = iterator.next();
-		if (obj instanceof IServer) {
-			IServer server = (IServer) obj;
-			if (accept(server))
-				perform(server);
-			selectionChanged(getStructuredSelection());
-		}
-	}
-
-	/**
-	 * Update the enable state.
-	 */
-	public void selectionChanged(IStructuredSelection sel) {
-		if (sel.isEmpty()) {
-			setEnabled(false);
-			return;
-		}
-		boolean enabled = false;
-		Iterator iterator = sel.iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServer) {
-				IServer server = (IServer) obj;
-				if (accept(server))
-					enabled = true;
-			} else {
-				setEnabled(false);
-				return;
-			}
-		}
-		setEnabled(enabled);	
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java
deleted file mode 100644
index 2e465e9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.DeleteServerDialog;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Action for deleting server resources.
- */
-public class DeleteAction extends Action {
-	protected List deleteList = new ArrayList();
-	protected List deleteExtraList = new ArrayList();
-	protected Shell shell;
-
-	/**
-	 * DeleteAction constructor comment.
-	 */
-	public DeleteAction(Shell shell, IElement serverResource) {
-		this(shell, new IElement[] { serverResource });
-	}
-
-	/**
-	 * DeleteAction constructor comment.
-	 */
-	public DeleteAction(Shell shell, IElement[] serverResources) {
-		super(ServerUIPlugin.getResource("%actionDelete"));
-		this.shell = shell;
-		
-		int size = serverResources.length;
-		for (int i = 0; i < size; i++) {
-			deleteList.add(serverResources[i]);
-		}
-		
-		for (int i = 0; i < size; i++) {
-			if (serverResources[i] instanceof IServer) {
-				IServer server = (IServer) serverResources[i];
-				IServerConfiguration config = server.getServerConfiguration();
-				if (config != null && !deleteList.contains(config))
-					deleteExtraList.add(config);
-			}
-		}
-		
-		// remove configurations that are still referenced
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (!deleteList.contains(server)) {
-				IServerConfiguration config = server.getServerConfiguration();
-				if (deleteExtraList.contains(config))
-					deleteExtraList.remove(config);
-			}
-		}
-	}
-
-	/**
-	 * Invoked when an action occurs. 
-	 */
-	public void run() {
-		DeleteServerDialog dsd = new DeleteServerDialog(shell, deleteList, deleteExtraList);
-		dsd.open();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
deleted file mode 100644
index ff236c7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * 
- */
-public class ModuleSloshAction extends AbstractServerAction {
-	public ModuleSloshAction(Shell shell, ISelectionProvider selectionProvider, String name) {
-		super(shell, selectionProvider, name);
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public boolean accept(IServer server) {
-		return true;
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public void perform(final IServer server) {
-		/*if (!ServerUIUtil.promptIfDirty(shell, server))
-			return;
-
-		IServerConfiguration configuration = ServerUtil.getServerConfiguration(server);
-		ModifyModulesWizard wizard = new ModifyModulesWizard(configuration);
-		ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard);
-		if (dialog.open() == Window.CANCEL)
-			return;*/
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerAction.java
deleted file mode 100644
index b7fa424..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Action for monitoring a server.
- */
-public class MonitorServerAction extends Action {
-	protected IServer server;
-	protected Shell shell;
-
-	/**
-	 * MonitorServerAction constructor comment.
-	 */
-	public MonitorServerAction(Shell shell, IServer server) {
-		super(ServerUIPlugin.getResource("%actionMonitorProperties"));
-		this.shell = shell;
-		this.server = server;
-	}
-
-	/**
-	 * Invoked when an action occurs. 
-	 */
-	public void run() {
-		MonitorServerDialog msd = new MonitorServerDialog(shell, server);
-		msd.open();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerDialog.java
deleted file mode 100644
index 1bb395b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerDialog.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.viewers.MonitorComposite;
-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.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog that prompts a user to monitor ports from a given server.
- */
-public class MonitorServerDialog extends Dialog {
-	protected IServer server;
-	protected MonitorComposite monitorComp;
-
-	/**
-	 * MonitorServerDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 * @
-	 */
-	public MonitorServerDialog(Shell parentShell, IServer server) {
-		super(parentShell);
-		this.server = server;
-
-		setBlockOnOpen(true);
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(ServerUIPlugin.getResource("%dialogMonitorTitle"));
-	}
-	
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	}
-
-	/**
-	 * 
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 550;
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		//WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-	
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(ServerUIPlugin.getResource("%dialogMonitorDescription", new String[] { server.getName() } ));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		label.setLayoutData(data);
-
-		monitorComp = new MonitorComposite(composite, SWT.NONE, null, server);
-		monitorComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java
deleted file mode 100644
index df75ffe..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Monitor a server port.
- */
-public class MonitorServerPortAction extends Action {
-	protected Shell shell;
-	protected IServer server;
-	protected IServerPort port;
-	protected IMonitoredServerPort monitoredPort;
-	protected boolean checked;
-	
-	public MonitorServerPortAction(Shell shell, IServer server, IServerPort port) {
-		super(ServerUIPlugin.getResource("%actionMonitorPort", new String[] { port.getPort() + "", port.getName() }));
-		
-		this.shell = shell;
-		this.server = server;
-		this.port = port;
-		
-		Iterator iterator = ServerCore.getServerMonitorManager().getMonitoredPorts(server).iterator();
-		while (iterator.hasNext()) {
-			IMonitoredServerPort msp = (IMonitoredServerPort) iterator.next();
-			if (port.equals(msp.getServerPort()) && msp.isStarted() &&
-					(msp.getContentTypes() == null || (port.getContentTypes() != null && msp.getContentTypes().length == port.getContentTypes().length)))
-				monitoredPort = msp;
-		}
-
-		checked = monitoredPort != null && monitoredPort.isStarted();
-		setChecked(checked);
-	}
-
-	/**
-	 * Enable or disable monitoring.
-	 */
-	public void run() {
-		if (checked) {
-			ServerCore.getServerMonitorManager().removeMonitor(monitoredPort);
-		} else {
-			IServerMonitorManager smm = ServerCore.getServerMonitorManager();
-			if (monitoredPort == null)
-				monitoredPort = smm.createMonitor(server, port, -1, null);
-			
-			try {
-				smm.startMonitor(monitoredPort);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not monitor", e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java
deleted file mode 100644
index 359a48e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * "Open" menu action.
- */
-public class OpenAction extends Action {
-	protected IServer server;
-
-	/**
-	 * OpenAction constructor comment.
-	 */
-	public OpenAction(IServer server) {
-		super(ServerUIPlugin.getResource("%actionOpen"));
-	
-		this.server = server;
-		setEnabled(server.getServerType() != null);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		try {
-			ServerUIUtil.editServer(server, server.getServerConfiguration());
-		} catch (Exception e) {
-			Trace.trace("Error editing element", e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java
deleted file mode 100644
index d2b38d4..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Publish to a server.
- */
-public class PublishAction extends AbstractServerAction {
-	public PublishAction(Shell shell, ISelectionProvider selectionProvider, String name) {
-		super(shell, selectionProvider, name);
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) { }
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public boolean accept(IServer server) {
-		return server.canPublish();
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public void perform(final IServer server) {
-		if (!ServerUIUtil.promptIfDirty(shell, server))
-			return;
-		
-		if (!ServerUIUtil.saveEditors())
-			return;
-
-		ServerUIUtil.publishWithDialog(server, true);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartAction.java
deleted file mode 100644
index fa02a22..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartAction.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IRestartableServer;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.wst.server.ui.internal.ServerStartupListener;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Restart a server.
- */
-public class RestartAction extends AbstractServerAction {
-	protected String mode;
-
-	public RestartAction(Shell shell, ISelectionProvider selectionProvider, String name) {
-		this(shell, selectionProvider, name, null);
-	}
-
-	public RestartAction(Shell shell, ISelectionProvider selectionProvider, String name, String mode) {
-		super(shell, selectionProvider, name);
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) { }
-		this.mode = mode;
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 *
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public boolean accept(IServer server) {
-		String newMode = mode;
-		if (mode == null) {
-			byte state = server.getServerState();
-			newMode = ILaunchManager.RUN_MODE;
-			if (state == IServer.SERVER_STARTED_DEBUG)
-				newMode = ILaunchManager.DEBUG_MODE;
-			else if (state == IServer.SERVER_STARTED_PROFILE)
-				newMode = ILaunchManager.PROFILE_MODE;
-		}
-		return server.getServerType() != null && server.getServerType().getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED && server.canRestart(newMode);
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public void perform(IServer server) {
-		if (!ServerUIUtil.promptIfDirty(shell, server))
-			return;
-	
-		if (ServerCore.getServerPreferences().isAutoPublishing() && server.shouldPublish()) {
-			// publish first
-			IStatus status = status = ServerUIUtil.publishWithDialog(server, false);
-	
-			if (status == null || status.getSeverity() == IStatus.ERROR) // user cancelled
-				return;
-		}
-	
-		if (!(server instanceof IRestartableServer)) {
-			ServerStartupListener listener = new ServerStartupListener(shell, server, true);
-			listener.setEnabled(true);
-			ServerTableViewer.registerStartupListener(server, listener);
-	
-			ServerUIPlugin.addTerminationWatch(shell, server, ServerUIPlugin.RESTART);
-		}
-	
-		String newMode = mode;
-		if (mode == null) {
-			byte state = server.getServerState();
-			newMode = ILaunchManager.RUN_MODE;
-			if (state == IServer.SERVER_STARTED_DEBUG)
-				newMode = ILaunchManager.DEBUG_MODE;
-			else if (state == IServer.SERVER_STARTED_PROFILE)
-				newMode = ILaunchManager.PROFILE_MODE;
-		}
-		server.restart(newMode);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java
deleted file mode 100644
index 2294203..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IProjectModule;
-import org.eclipse.wst.server.core.model.IRestartableModule;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-
-/**
- * Restart a module on a server.
- */
-public class RestartModuleAction extends Action {
-	protected IRestartableModule rm;
-	protected IModule module;
-
-	public RestartModuleAction(IRestartableModule rm, IModule module) {
-		super();
-		this.rm = rm;
-		this.module = module;
-	
-		setText(module.getName());
-		
-		if (module instanceof IProjectModule) {
-			IProjectModule project = (IProjectModule) module;
-			ImageDescriptor descriptor = EclipseUtil.getProjectImageDescriptor(project.getProject());
-			if (descriptor != null)
-				setImageDescriptor(descriptor);
-		}
-	
-		// enable or disable
-		if (rm == null || module == null) {
-			setEnabled(false);
-			return;
-		}
-
-		/*if (!(dr.getServerState() == IServer2.SERVER_STARTED ||
-			dr.getServerState() == IServer2.SERVER_STARTED_DEBUG) ||
-			!dr.canRestartModule(module)) {
-			setEnabled(false);
-			return;
-		}*/
-	
-		setEnabled(rm.canRestartModule(module));
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		try {
-			rm.restartModule(module, new NullProgressMonitor());
-		} catch (CoreException e) {
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java
deleted file mode 100644
index 208fe72..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.ui.internal.DefaultServerLabelDecorator;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Server table label provider.
- */
-public class ServerTableLabelProvider implements ITableLabelProvider {
-	private static final Image[] serverStateImage = new Image[] {
-		null,
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED),
-		null};
-	
-	private static final Image[] startingImages = new Image[] {
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_2),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_3)
-	};
-	
-	private static final Image[] stoppingImages = new Image[] {
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2),
-		ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2)
-	};
-	
-	private static final String[] serverState = new String[] {
-		"",
-		ServerUIPlugin.getResource("%viewStatusStarting"),
-		ServerUIPlugin.getResource("%viewStatusStarted"),
-		ServerUIPlugin.getResource("%viewStatusStartedDebug"),
-		ServerUIPlugin.getResource("%viewStatusStartedProfile"),
-		ServerUIPlugin.getResource("%viewStatusStopping"),
-		ServerUIPlugin.getResource("%viewStatusStopped"),
-		ServerUIPlugin.getResource("%viewStatusUnsupported")};
-		
-	private static final String[] serverStateUnmanaged = new String[] {
-		"",
-		ServerUIPlugin.getResource("%viewStatusStarting4"),
-		ServerUIPlugin.getResource("%viewStatusStarted2"),
-		ServerUIPlugin.getResource("%viewStatusStartedDebug2"),
-		ServerUIPlugin.getResource("%viewStatusStartedProfile2"),
-		ServerUIPlugin.getResource("%viewStatusStopping4"),
-		ServerUIPlugin.getResource("%viewStatusStopped2"),
-		ServerUIPlugin.getResource("%viewStatusUnsupported2")};
-
-	public static final String[] syncState = new String[] {
-		ServerUIPlugin.getResource("%viewSyncOkay"),
-		ServerUIPlugin.getResource("%viewSyncRestart"),
-		ServerUIPlugin.getResource("%viewSyncPublish"),
-		ServerUIPlugin.getResource("%viewSyncRestartPublish"),
-		ServerUIPlugin.getResource("%viewSyncPublishing")};
-	
-	public static final String[] syncStateUnmanaged = new String[] {
-		ServerUIPlugin.getResource("%viewSyncOkay2"),
-		ServerUIPlugin.getResource("%viewSyncRestart2"),
-		ServerUIPlugin.getResource("%viewSyncPublish2"),
-		ServerUIPlugin.getResource("%viewSyncRestartPublish2"),
-		ServerUIPlugin.getResource("%viewSyncPublishing2")};
-		
-	private static final String[] startingText = new String[] {
-		ServerUIPlugin.getResource("%viewStatusStarting1"),
-		ServerUIPlugin.getResource("%viewStatusStarting2"),
-		ServerUIPlugin.getResource("%viewStatusStarting3")};
-	
-	private static final String[] stoppingText = new String[] {
-		ServerUIPlugin.getResource("%viewStatusStopping1"),
-		ServerUIPlugin.getResource("%viewStatusStopping2"),
-		ServerUIPlugin.getResource("%viewStatusStopping3")};
-
-	private int count = 0;
-	
-	protected DefaultServerLabelDecorator decorator = new DefaultServerLabelDecorator();
-	
-	protected IServer defaultServer;
-
-	/**
-	 * ServerTableLabelProvider constructor comment.
-	 */
-	public ServerTableLabelProvider() {
-		super();
-	}
-
-	public void addListener(ILabelProviderListener listener) { }
-
-	public void dispose() {
-		decorator.dispose();
-	}
-
-	public void setDefaultServer(IServer ds) {
-		defaultServer = ds;
-	}
-	
-	public IServer getDefaultServer() {
-		return defaultServer;
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		IServer server = (IServer) element;
-		if (columnIndex == 0) {
-			if (server.getServerType() != null) {
-				Image image = ImageResource.getImage(server.getServerType().getId());
-				if (defaultServer != null && defaultServer.equals(server)) {
-					Image decorated = decorator.decorateImage(image, element);
-					if (decorated != null)
-						return decorated;
-				}
-				return image;
-			}
-			return null;
-		} else if (columnIndex == 2) {
-			IServerType serverType = server.getServerType();
-			if (serverType == null)
-				return null;
-			if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_PUBLISHED)
-				return null;
-			return getServerStateImage(server);
-		} else
-			return null;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		IServer server = (IServer) element;
-		if (columnIndex == 0)
-			return notNull(server.getName());
-		else if (columnIndex == 1) {
-			return notNull(server.getHostname());
-		} else if (columnIndex == 2) {
-			IServerType serverType = server.getServerType();
-			if (serverType != null)
-				return getServerStateLabel(server, serverType.getServerStateSet());
-			
-			return "";
-		} else if (columnIndex == 3) {
-			if (server.getServerType() == null)
-				return "";
-			
-			if (server.getServerType().hasServerConfiguration() && server.getServerConfiguration() == null)
-				return ServerUIPlugin.getResource("%viewNoConfiguration");
-			
-			if (server.getServerState() == IServer.SERVER_UNKNOWN)
-				return "";
-			
-			String serverId = server.getId();
-			if (ServerTableViewer.publishing.contains(serverId))
-				return syncState[4];
-			
-			int i = 0;
-			if (server.isRestartNeeded())
-				i = 1;
-			
-			// republish
-			if (server.getConfigurationSyncState() != IServer.SYNC_STATE_IN_SYNC)
-				i += 2;
-			else {
-				if (!server.getUnpublishedModules().isEmpty())
-					i += 2;
-			}
-			
-			IServerType serverType = server.getServerType();
-			if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED)
-				return syncState[i];
-			return syncStateUnmanaged[i];
-		} else
-			return "X";
-	}
-	
-	protected String notNull(String s) {
-		if (s == null)
-			return "";
-		return s;
-	}
-
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	public void removeListener(ILabelProviderListener listener) { }
-
-	/**
-	 * Returns an image representing the server's state.
-	 * @return org.eclipse.jface.parts.IImage
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected Image getServerStateImage(IServer server) {
-		byte state = server.getServerState();
-		if (state == IServer.SERVER_STARTING)
-			return startingImages[count];
-		else if (state == IServer.SERVER_STOPPING)
-			return stoppingImages[count];
-		else
-			return serverStateImage[server.getServerState()];
-	}
-	
-	/**
-	 * Returns a string representing the server's state.
-	 *
-	 * @return java.lang.String
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	protected String getServerStateLabel(IServer server, byte stateSet) {
-		if (stateSet == IServerType.SERVER_STATE_SET_PUBLISHED) {
-			return "";
-		}
-		if (stateSet == IServerType.SERVER_STATE_SET_MANAGED) {
-			byte state = server.getServerState();
-			if (state == IServer.SERVER_STARTING)
-				return startingText[count];
-			else if (state == IServer.SERVER_STOPPING)
-				return stoppingText[count];
-			else
-				return serverState[server.getServerState()];
-		}
-		return serverStateUnmanaged[server.getServerState()];
-	}
-	
-	protected void animate() {
-		count ++;
-		if (count > 2)
-			count = 0;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
deleted file mode 100644
index 900e01c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
+++ /dev/null
@@ -1,477 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.*;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IPublishListener;
-import org.eclipse.wst.server.core.model.IServerListener;
-import org.eclipse.wst.server.core.model.IServerResourceListener;
-import org.eclipse.wst.server.core.util.PublishAdapter;
-import org.eclipse.wst.server.core.util.ServerResourceAdapter;
-import org.eclipse.wst.server.ui.internal.ServerStartupListener;
-import org.eclipse.wst.server.ui.internal.ServerTree;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.view.tree.ServerTreeAction;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionFactory;
-
-/**
- * Tree view showing servers and their associations.
- */
-public class ServerTableViewer extends TableViewer {
-	protected static final String ROOT = "root";
-
-	protected IServerResourceListener serverResourceListener;
-	protected IPublishListener publishListener;
-	protected IServerListener serverListener;
-
-	protected static IElement deletedElement = null;
-
-	// servers that are currently publishing and starting
-	protected static List publishing = new ArrayList();
-	protected static List starting = new ArrayList();
-	
-	protected ServerTableLabelProvider labelProvider;
-	protected ISelectionListener dsListener;
-
-	protected static Map startupWatch = new HashMap();
-
-	protected ServersView view;
-	
-	public class ServerContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			List list = new ArrayList();
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				if (!server.isPrivate())
-					list.add(server);
-			}
-			return list.toArray();
-		}
-
-		public void inputChanged(Viewer theViewer, Object oldInput, Object newInput) { }
-		
-		public void dispose() { }
-	}
-
-	/*protected void createHover(Shell parent, Point p) {
-		final Shell fShell = new Shell(parent, SWT.NO_FOCUS | SWT.ON_TOP | SWT.RESIZE | SWT.NO_TRIM);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 1;
-		layout.marginWidth = 1;
-		fShell.setLayout(layout);
-		
-		Display display = parent.getDisplay();
-		StyledText text = new StyledText(fShell, SWT.NONE);
-		text.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-		text.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		text.append("Testing <b>me</b>");
-		
-		fShell.setLocation(p.x, p.y);
-		fShell.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-		fShell.pack();
-		fShell.setVisible(true);
-		
-		Thread t = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(2000);
-				} catch (Exception e) { }
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						fShell.dispose();
-					}
-				});
-			}
-		};
-		t.start();
-	}*/
-	
-	protected Thread thread = null;
-	protected boolean stopThread = false;
-	
-	protected void startThread() {
-		stopThread = false;
-		if (thread != null)
-			return;
-		
-		thread = new Thread("Servers view animator") {
-			public void run() {
-				while (!stopThread) {
-					try {
-						labelProvider.animate();
-						Display.getDefault().asyncExec(new Runnable() {
-							public void run() {
-								if (getTable() != null && !getTable().isDisposed())
-									refresh();
-							}
-						});
-						Thread.sleep(200);
-					} catch (Exception e) {
-						Trace.trace(Trace.FINEST, "Error in animated server view", e);
-					}
-					thread = null;
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	}
-	
-	protected void stopThread() {
-		stopThread = true;
-	}
-	
-	/**
-	 * ServerTableViewer constructor comment.
-	 */
-	public ServerTableViewer(final ServersView view, final Table table) {
-		super(table);
-		this.view = view;
-		/*table.addMouseTrackListener(new MouseTrackListener() {
-			public void mouseEnter(MouseEvent event) {
-			}
-
-			public void mouseExit(MouseEvent event) {
-			}
-
-			public void mouseHover(MouseEvent event) {
-				createHover(table.getShell(), table.toDisplay(event.x, event.y));
-			}
-		});*/
-	
-		setContentProvider(new ServerContentProvider());
-		labelProvider = new ServerTableLabelProvider();
-		setLabelProvider(labelProvider);
-		setSorter(new ViewerSorter() { });
-	
-		setInput(ROOT);
-	
-		addListeners();
-		
-		IActionBars actionBars = view.getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), new ServerTreeAction(getControl().getShell(), this, "Delete it!", ServerTree.ACTION_DELETE));
-		
-		dsListener = new ISelectionListener() {
-			public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-				if (!(selection instanceof IStructuredSelection))
-					return;
-				IStructuredSelection sel = (IStructuredSelection) selection;
-				final Object obj = sel.getFirstElement();
-				IProject proj = null;
-				if (obj instanceof IResource) {
-					IResource res = (IResource) obj;
-					proj = res.getProject();
-				}
-				if (proj == null) {
-					try {
-						IResource res = (IResource) Platform.getAdapterManager().getAdapter(obj, IResource.class);
-						if (res != null)
-							proj = res.getProject();
-					} catch (Exception e) { }
-				}
-				if (proj != null) {
-					final IProject project = proj;
-					Display.getDefault().asyncExec(new Runnable() {
-						public void run() {
-							if (getTable() == null || getTable().isDisposed())
-								return;
-
-							IServer defaultServer = null;
-							if (project != null) {
-								IProjectProperties props = ServerCore.getProjectProperties(project);
-								defaultServer = props.getDefaultServer();
-							}
-							IServer oldDefaultServer = labelProvider.getDefaultServer();
-							if ((oldDefaultServer == null && defaultServer == null)
-									|| (oldDefaultServer != null && oldDefaultServer.equals(defaultServer)))
-								return;
-							labelProvider.setDefaultServer(defaultServer);
-							
-							if (oldDefaultServer != null)
-								refresh(oldDefaultServer);
-							if (defaultServer != null)
-								refresh(defaultServer);
-						}
-					});
-				}
-			}
-		};
-		view.getViewSite().getPage().addSelectionListener(dsListener);
-	}
-
-	protected void addListeners() {
-		serverResourceListener = new ServerResourceAdapter() {
-			public void serverAdded(IServer server) {
-				addServer(server);
-				server.addServerListener(serverListener);
-				server.addPublishListener(publishListener);
-			}
-			public void serverChanged(IServer server) {
-				refreshServer(server);
-			}
-			public void serverRemoved(IServer server) {
-				removeServer(server);
-				server.removeServerListener(serverListener);
-				server.removePublishListener(publishListener);
-			}
-		};
-		ServerCore.getResourceManager().addResourceListener(serverResourceListener);
-		
-		publishListener = new PublishAdapter() {
-			public void moduleStateChange(IServer server, List parents, IModule module) {
-				refreshServer(server);
-			}
-			
-			public void publishStarting(IServer server, List[] parents, IModule[] module) {
-				handlePublishChange(server, true);
-			}
-			
-			public void publishFinished(IServer server, IPublishStatus globalStatus) {
-				handlePublishChange(server, false);
-			}
-		};
-		
-		serverListener = new IServerListener() {
-			public void serverStateChange(IServer server) {
-				refreshServer(server);
-				int state = server.getServerState();
-				String id = server.getId();
-				if (state == IServer.SERVER_STARTING || state == IServer.SERVER_STOPPING) {
-					if (!starting.contains(id)) {
-						if (starting.isEmpty())
-							startThread();
-						starting.add(id);
-					}
-				} else {
-					if (starting.contains(id)) {
-						starting.remove(id);
-						if (starting.isEmpty())
-							stopThread();
-					}
-				}
-			}
-			public void configurationSyncStateChange(IServer server) {
-				refreshServer(server);
-			}
-			public void restartStateChange(IServer server) {
-				refreshServer(server);
-			}
-			public void modulesChanged(IServer server) {
-				handleServerModulesChanged(server);
-			}
-			public void moduleStateChange(IServer server, IModule module) { }
-		};
-		
-		// add listeners to servers
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			server.addServerListener(serverListener);
-			server.addPublishListener(publishListener);
-		}
-	}
-	
-	/**
-	 * Respond to a configuration being added or deleted.
-	 * @param configuration org.eclipse.wst.server.core.model.IServerConfiguration
-	 * @param add boolean
-	 */
-	protected void configurationChange(IServerConfiguration configuration, boolean add) {
-		if (configuration == null)
-			return;
-
-		if (!add)
-			deletedElement = configuration;
-	
-		List servers = ServerCore.getResourceManager().getServers();
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (configuration.equals(server.getServerConfiguration()))
-				refresh(server);
-		}
-		deletedElement = null;
-	}
-	
-	protected void refreshServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					refresh(server);
-					ISelection sel = ServerTableViewer.this.getSelection();
-					ServerTableViewer.this.setSelection(sel);
-				} catch (Exception e) { }
-			}
-		});
-	}
-
-	protected void handleDispose(DisposeEvent event) {
-		stopThread();
-		view.getViewSite().getPage().removeSelectionListener(dsListener);
-
-		IResourceManager rm = ServerCore.getResourceManager();
-		rm.removeResourceListener(serverResourceListener);
-		
-		// remove listeners from server
-		List servers = rm.getServers();
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			server.removeServerListener(serverListener);
-			server.removePublishListener(publishListener);
-		}
-	
-		super.handleDispose(event);
-	}
-
-	/**
-	 * Called when the publish state changes.
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handlePublishChange(IServer server, boolean isPublishing) {
-		String serverId = server.getId();
-		if (isPublishing)
-			publishing.add(serverId);
-		else
-			publishing.remove(serverId);
-	
-		refreshServer(server);
-	}
-	
-	/**
-	 * 
-	 */
-	protected void handleServerModulesChanged(IServer server2) {
-		if (server2 == null)
-			return;
-
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (server2.equals(server))
-				refresh(server);
-		}
-	}
-	
-	/**
-	 * Called when an element is added.
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handleServerResourceAdded(IElement element) {
-		if (element instanceof IServer) {
-			IServer server = (IServer) element;
-			add(server);
-
-		} else if (element instanceof IServerConfiguration) {
-			IServerConfiguration configuration = (IServerConfiguration) element;
-			configurationChange(configuration, true);
-		}
-	}
-	
-	/**
-	 * Called when an element is changed.
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handleServerResourceChanged(IElement element) {
-		if (element instanceof IServer) {
-			refresh(element);
-		} else if (element instanceof IServerConfiguration) {
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				IServerConfiguration config = server.getServerConfiguration();
-				if (element.equals(config))
-					refresh(server);
-			}
-		}
-	}
-	
-	/**
-	 * Called when an element is removed.
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 */
-	protected void handleServerResourceRemoved(IElement element) {
-		if (element instanceof IServer) {
-			IServer server = (IServer) element;
-			remove(server);
-	
-			String serverId = server.getId();
-			publishing.remove(serverId);
-	
-			view.getViewSite().getActionBars().getStatusLineManager().setMessage(null, null);
-		} else if (element instanceof IServerConfiguration) {
-			IServerConfiguration configuration = (IServerConfiguration) element;
-			configurationChange(configuration, false);
-		}
-	}
-	
-	/**
-	 * Register a startup listener.
-	 *
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 * @param listener org.eclipse.wst.server.core.internal.ServerStartupListener
-	 */
-	protected static void registerStartupListener(IServer server, ServerStartupListener listener) {
-		String id = server.getId();
-		startupWatch.put(id, listener);
-	}
-	
-	/**
-	 * Remove a startup listener.
-	 *
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	protected static void removeStartupListener(IServer server) {
-		/*String ref = ServerCore.getServerRef(server);
-		try {
-			ServerStartupListener listener = (ServerStartupListener) startupWatch.get(ref);
-			if (listener != null)
-				listener.setEnabled(false);
-		} catch (Exception e) {
-		}
-	
-		startupWatch.remove(ref);*/
-	}
-	
-	protected void addServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				add(server);
-			}
-		});
-	}
-	
-	protected void removeServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				remove(server);
-			}
-		});
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
deleted file mode 100644
index 0bd0d37..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
+++ /dev/null
@@ -1,404 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.actions.ServerAction;
-import org.eclipse.wst.server.ui.internal.view.tree.DisabledMenuManager;
-import org.eclipse.wst.server.ui.internal.view.tree.SwitchConfigurationAction;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * View of server, their configurations and status.
- */
-public class ServersView extends ViewPart {
-	//private static final String LAUNCH_CONFIGURATION_TYPE_ID = "org.eclipse.wst.server.core.launchConfigurationTypes";
-
-	protected Table table;
-	protected ServerTableViewer tableViewer;
-
-	// actions on a server
-	protected Action[] actions;
-	protected MenuManager restartMenu;
-
-	/**
-	 * ServersView constructor comment.
-	 */
-	public ServersView() {
-		super();
-	}
-	
-	/**
-	 * createPartControl method comment.
-	 */
-	public void createPartControl(Composite parent) {
-		table = new Table(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.NONE);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(false);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		table.setFont(parent.getFont());
-		WorkbenchHelp.setHelp(table, ContextIds.VIEW_CONTROL);
-		
-		TableLayout tableLayout = new TableLayout();
-	
-		// add columns
-		TableColumn column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%viewServer"));
-		ColumnWeightData colData = new ColumnWeightData(200, 200, true);
-		tableLayout.addColumnData(colData);
-		
-		column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%viewHost"));
-		colData = new ColumnWeightData(100, 150, true);
-		tableLayout.addColumnData(colData);
-	
-		column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%viewStatus"));
-		colData = new ColumnWeightData(100, 150, true);
-		tableLayout.addColumnData(colData);
-	
-		column = new TableColumn(table, SWT.SINGLE);
-		column.setText(ServerUIPlugin.getResource("%viewSync"));
-		colData = new ColumnWeightData(100, 150, true);
-		tableLayout.addColumnData(colData);
-		
-		table.setLayout(tableLayout);
-	
-		tableViewer = new ServerTableViewer(this, table);
-		initializeActions(tableViewer);
-	
-		table.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				try {
-					/*TableItem item = table.getSelection()[0];
-					IServerResource resource = (IServerResource) item.getData();
-					IServerResourceFactory factory = ServerUtil.getServerResourceFactory(resource);
-					String label = ServerLabelProvider.getInstance().getText(factory);
-					label += " (";
-					label += ServerCore.getResourceManager().getServerResourceLocation(resource).getFullPath().toString().substring(1);
-					label += ")";
-					getViewSite().getActionBars().getStatusLineManager().setMessage(ServerLabelProvider.getInstance().getImage(factory), label);
-					
-					if (resource instanceof IServer) {
-						IServer server = (IServer) resource;
-						ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-						ILaunch[] launches = launchManager.getLaunches();
-						int size = launches.length;
-						for (int i = size-1; i >= 0; i--) {
-							ILaunchConfiguration config = launches[i].getLaunchConfiguration();
-							if (LAUNCH_CONFIGURATION_TYPE_ID.equals(config.getType().getIdentifier()) &&
-									ServerCore.getServerRef(server).equals(config.getAttribute(SERVER_REF, (String)null))) {
-								selectServerProcess(launches[i]);
-								return;
-							}
-						}
-					}*/
-				} catch (Exception e) {
-					getViewSite().getActionBars().getStatusLineManager().setMessage(null, "");
-				}
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				try {
-					TableItem item = table.getSelection()[0];
-					IServer server = (IServer) item.getData();
-					ServerUIUtil.editServer(server, server.getServerConfiguration());
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not open server", e);
-				}
-			}
-		});
-		
-		MenuManager menuManager = new MenuManager("#PopupMenu");
-		menuManager.setRemoveAllWhenShown(true);
-		final Shell shell = table.getShell();
-		menuManager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				fillContextMenu(shell, mgr);
-			}
-		});
-		Menu menu = menuManager.createContextMenu(parent);
-		table.setMenu(menu);
-		getSite().registerContextMenu(menuManager, tableViewer);
-	}
-
-	protected void selectServerProcess(Object process) {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow() ;
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IWorkbenchPart part = page.findView(IDebugUIConstants.ID_DEBUG_VIEW);
-				if (part != null) {
-					IDebugView view = (IDebugView)part.getAdapter(IDebugView.class);
-					if (view != null) {
-						Viewer viewer = view.getViewer();
-						if (viewer != null) {
-							viewer.setSelection(new StructuredSelection(process));
-						}
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Initialize actions
-	 */
-	public void initializeActions(ISelectionProvider provider) {
-		Shell shell = getSite().getShell();
-
-		// create the debug action
-		Action debugAction = new StartAction(shell, provider, "debug", ILaunchManager.DEBUG_MODE);
-		debugAction.setToolTipText(ServerUIPlugin.getResource("%actionDebugToolTip"));
-		debugAction.setText(ServerUIPlugin.getResource("%actionDebug"));
-		debugAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_DEBUG));
-		debugAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_DEBUG));
-		debugAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_DEBUG));
-	
-		// create the start action
-		Action runAction = new StartAction(shell, provider, "start", ILaunchManager.RUN_MODE);
-		runAction.setToolTipText(ServerUIPlugin.getResource("%actionStartToolTip"));
-		runAction.setText(ServerUIPlugin.getResource("%actionStart"));
-		runAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START));
-		runAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START));
-		runAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START));
-		
-		// create the profile action
-		Action profileAction = new StartAction(shell, provider, "profile", ILaunchManager.PROFILE_MODE);
-		profileAction.setToolTipText(ServerUIPlugin.getResource("%actionProfileToolTip"));
-		profileAction.setText(ServerUIPlugin.getResource("%actionProfile"));
-		profileAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_PROFILE));
-		profileAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_PROFILE));
-		profileAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_PROFILE));
-	
-		// create the restart menu
-		restartMenu = new MenuManager(ServerUIPlugin.getResource("%actionRestart"));
-		
-		Action restartAction = new RestartAction(shell, provider, "restartDebug", ILaunchManager.DEBUG_MODE);
-		restartAction.setToolTipText(ServerUIPlugin.getResource("%actionDebugToolTip"));
-		restartAction.setText(ServerUIPlugin.getResource("%actionDebug"));
-		restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_DEBUG));
-		restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_DEBUG));
-		restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_DEBUG));
-		restartMenu.add(restartAction);
-		
-		restartAction = new RestartAction(shell, provider, "restartRun", ILaunchManager.RUN_MODE);
-		restartAction.setToolTipText(ServerUIPlugin.getResource("%actionRestartToolTip"));
-		restartAction.setText(ServerUIPlugin.getResource("%actionStart"));
-		restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START));
-		restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START));
-		restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START));
-		restartMenu.add(restartAction);
-		
-		restartAction = new RestartAction(shell, provider, "restartProfile", ILaunchManager.PROFILE_MODE);
-		restartAction.setToolTipText(ServerUIPlugin.getResource("%actionRestartToolTip"));
-		restartAction.setText(ServerUIPlugin.getResource("%actionProfile"));
-		restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_PROFILE));
-		restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_PROFILE));
-		restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_PROFILE));
-		restartMenu.add(restartAction);
-		
-		// create the restart action
-		restartAction = new RestartAction(shell, provider, "restart");
-		restartAction.setToolTipText(ServerUIPlugin.getResource("%actionRestartToolTip"));
-		restartAction.setText(ServerUIPlugin.getResource("%actionRestart"));
-		restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_RESTART));
-		restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_RESTART));
-		restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_RESTART));
-
-		// create the stop action
-		Action stopAction = new StopAction(shell, provider, "stop", IServerType.SERVER_STATE_SET_MANAGED);
-		stopAction.setToolTipText(ServerUIPlugin.getResource("%actionStopToolTip"));
-		stopAction.setText(ServerUIPlugin.getResource("%actionStop"));
-		stopAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP));
-		stopAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP));
-		stopAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP));
-
-		// create the disconnect action
-		Action disconnectAction = new StopAction(shell, provider, "disconnect", IServerType.SERVER_STATE_SET_ATTACHED);
-		disconnectAction.setToolTipText(ServerUIPlugin.getResource("%actionStopToolTip2"));
-		disconnectAction.setText(ServerUIPlugin.getResource("%actionStop2"));
-		disconnectAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_DISCONNECT));
-		disconnectAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_DISCONNECT));
-		disconnectAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_DISCONNECT));
-
-		// create the publish action
-		Action publishAction = new PublishAction(shell, provider, "publish");
-		publishAction.setToolTipText(ServerUIPlugin.getResource("%actionPublishToolTip"));
-		publishAction.setText(ServerUIPlugin.getResource("%actionPublish"));
-		publishAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_PUBLISH));
-		publishAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_PUBLISH));
-		publishAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_PUBLISH));
-		
-		// create the module slosh dialog action
-		Action addModuleAction = new ModuleSloshAction(shell, provider, "modules");
-		addModuleAction.setToolTipText(ServerUIPlugin.getResource("%actionModifyModulesToolTip"));
-		addModuleAction.setText(ServerUIPlugin.getResource("%actionModifyModules"));
-		addModuleAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_MODIFY_MODULES));
-		addModuleAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_MODIFY_MODULES));
-		addModuleAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_MODIFY_MODULES));
-		
-		actions = new Action[8];
-		actions[0] = debugAction;
-		actions[1] = runAction;
-		actions[2] = profileAction;
-		actions[3] = restartAction;
-		actions[4] = stopAction;
-		actions[5] = disconnectAction;
-		actions[6] = publishAction;
-		actions[7] = addModuleAction;
-		
-		// add toolbar buttons
-		IContributionManager cm = getViewSite().getActionBars().getToolBarManager();
-		for (int i = 0; i < actions.length - 1; i++) {
-			cm.add(actions[i]);
-		}
-	}
-	
-	protected void fillContextMenu(Shell shell, IMenuManager menu) {
-		// get selection but avoid no selection or multiple selection
-		IServer server = null;
-		IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
-		if (!selection.isEmpty()) {
-			Iterator iterator = selection.iterator();
-			server = (IServer) iterator.next();
-			if (iterator.hasNext())
-				server = null;
-		}
-		
-		// new action
-		MenuManager newMenu = new MenuManager(ServerUIPlugin.getResource("%actionNew"));
-		ServerTree.fillNewContextMenu(null, selection, newMenu);
-		menu.add(newMenu);
-		
-		// open action
-		if (server != null) {
-			menu.add(new OpenAction(server));
-			menu.add(new Separator());
-			
-			menu.add(new DeleteAction(shell, server));
-			menu.add(new Separator());
-		
-			// server actions
-			for (int i = 0; i < actions.length - 1; i++) {
-				if (i == 3)
-					menu.add(restartMenu);
-				else
-					menu.add(actions[i]);
-			}
-		
-			// switch config
-			if (server.getServerType() != null && server.getServerType().hasServerConfiguration()) {
-				MenuManager menuManager = new MenuManager(ServerUIPlugin.getResource("%actionSwitchConfiguration"));
-				menuManager.add(new SwitchConfigurationAction(shell, ServerUIPlugin.getResource("%viewNoConfiguration"), server, null));
-	
-				List configs = ServerUtil.getSupportedServerConfigurations(server);
-				Iterator iterator = configs.iterator();
-				while (iterator.hasNext()) {
-					IServerConfiguration config = (IServerConfiguration) iterator.next();
-					menuManager.add(new SwitchConfigurationAction(shell, config.getName(), server, config));
-				}
-	
-				menu.add(menuManager);
-			}
-			
-			// monitor
-			if (server.getServerType() != null && server.getServerType().isMonitorable()) {
-				final MenuManager menuManager = new MenuManager(ServerUIPlugin.getResource("%actionMonitor"));
-				
-				final IServer server2 = server;
-				final Shell shell2 = shell;
-				menuManager.addMenuListener(new IMenuListener() {
-					public void menuAboutToShow(IMenuManager manager) {
-						menuManager.removeAll();
-						if (server2.isDelegatePluginActivated()) {
-							IServerDelegate delegate = server2.getDelegate();
-							if (delegate instanceof IMonitorableServer) {
-								Iterator iterator = ((IMonitorableServer) delegate).getServerPorts().iterator();
-								while (iterator.hasNext()) {
-									IServerPort port = (IServerPort) iterator.next();
-									if (!port.isAdvanced()) {
-										menuManager.add(new MonitorServerPortAction(shell2, server2, port));
-									}
-								}
-							}
-						}
-						
-						menuManager.add(new MonitorServerAction(shell2, server2));
-					}
-				});
-				
-				// add an initial menu item so that the menu appears correctly
-				menuManager.add(new MonitorServerAction(shell, server));
-				menu.add(menuManager);
-			}
-		}
-	
-		if (server != null && server.isDelegateLoaded()) {
-			IServerDelegate delegate = server.getDelegate();
-			if (delegate instanceof IRestartableModule) {
-				menu.add(new Separator());
-		
-				MenuManager restartProjectMenu = new MenuManager(ServerUIPlugin.getResource("%actionRestartProject"));
-				IRestartableModule restartable = (IRestartableModule) delegate;
-		
-				if (server != null) {
-					Iterator iterator = ServerUtil.getAllContainedModules(server).iterator();
-					while (iterator.hasNext()) {
-						IModule module = (IModule) iterator.next();
-						Action action = new RestartModuleAction(restartable, module);
-						restartProjectMenu.add(action);
-					}
-				}
-				if (restartProjectMenu.isEmpty())
-					menu.add(new DisabledMenuManager(ServerUIPlugin.getResource("%actionRestartProject")));
-				else
-					menu.add(restartProjectMenu);
-			}
-		}
-		
-		if (server != null) {
-			ServerAction.addServerMenuItems(shell, menu, server);
-		}
-	
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS+"-end"));
-	}
-	
-	/**
-	 * 
-	 */
-	public void setFocus() {
-		if (table != null)
-			table.setFocus();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java
deleted file mode 100644
index ee418ec..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ServerStartupListener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Start a server.
- */
-public class StartAction extends AbstractServerAction {
-	protected String launchMode = ILaunchManager.RUN_MODE;
-	
-	public StartAction(Shell shell, ISelectionProvider selectionProvider, String name, String launchMode) {
-		super(shell, selectionProvider, name);
-		this.launchMode = launchMode;
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) { }
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public boolean accept(IServer server) {
-		return server.canStart(launchMode);
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public void perform(final IServer server) {
-		if (!ServerUIUtil.promptIfDirty(shell, server))
-			return;				
-	
-		if (!ServerUIUtil.saveEditors())
-			return;
-		
-		if (!ServerUIUtil.publish(server))
-			return;
-		
-		ServerStartupListener listener = new ServerStartupListener(shell, server);
-		try {
-			EclipseUtil.startServer(shell, server, launchMode, listener);
-		} catch (CoreException e) { }
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
deleted file mode 100644
index 705201c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.servers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Stop (terminate) a server.
- */
-public class StopAction extends AbstractServerAction {
-	protected byte serverStateSet;
-
-	public StopAction(Shell shell, ISelectionProvider selectionProvider, String name, byte serverStateSet) {
-		super(shell, selectionProvider, name);
-		this.serverStateSet = serverStateSet;
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) { }
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public boolean accept(IServer server) {
-		if (server.getServerType() == null || server.getServerType().getServerStateSet() != serverStateSet)
-			return false;
-		return server.getServerType() != null && server.canStop();
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.model.IServer
-	 */
-	public void perform(final IServer server) {
-		ServerTableViewer.removeStartupListener(server);
-		
-		ServerUIPlugin.addTerminationWatch(shell, server, ServerUIPlugin.STOP);
-	
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				MessageDialog dialog = new MessageDialog(shell, ServerUIPlugin.getResource("%defaultDialogTitle"), null,
-					ServerUIPlugin.getResource("%dialogStoppingServer", server.getName()), MessageDialog.INFORMATION, new String[0], 0);
-				dialog.setBlockOnOpen(false);
-				dialog.open();
-	
-				server.stop();
-				dialog.close();
-			}
-		});
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ConfigurationProxyResourceAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ConfigurationProxyResourceAdapter.java
deleted file mode 100644
index 8baf7dc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ConfigurationProxyResourceAdapter.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.view.tree;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-/**
- *
- */
-public class ConfigurationProxyResourceAdapter implements IAdaptable, IWorkbenchAdapter, IServerElementTag {
-	private static final Object[] NO_CHILDREN = new Object[0];
-	
-	public static IServerConfiguration deleted;
-
-	protected IServer server;
-	protected Object parent;
-
-	public ConfigurationProxyResourceAdapter(Object parent, IServer server) {
-		super();
-		this.parent = parent;
-		this.server = server;
-	}
-
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IAdaptable.class))
-			return this;
-		else if (adapter.equals(IWorkbenchAdapter.class))
-			return this;
-		else
-			return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-	
-	public Object[] getChildren(Object o) {
-		return NO_CHILDREN;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		IServerConfiguration config = server.getServerConfiguration();
-		if (config != null && config != deleted)
-			return ((ServerLabelProvider)ServerUICore.getLabelProvider()).getImageDescriptor(config);
-		
-		return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_CONFIGURATION_MISSING);
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object o) {
-		IServerConfiguration config = server.getServerConfiguration();
-		if (config != null && config != deleted)
-			return config.getName();
-		
-		return ServerUIPlugin.getResource("%viewNoConfiguration");
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object o) {
-		return parent;
-	}
-
-	/**
-	 * Return true if the object is the same as this object.
-	 * @return boolean
-	 * @param obj java.lang.Object
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof ConfigurationProxyResourceAdapter) {
-			ConfigurationProxyResourceAdapter proxy = (ConfigurationProxyResourceAdapter) obj;
-
-			IServer inst = proxy.getServer();
-			if ((server == null && inst != null) ||
-				server != null && !server.equals(inst))
-				return false;
-	
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Return the server.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IServer
-	 */
-	public IServer getServer() {
-		return server;
-	}
-	
-	public int hashCode() {
-		if (server != null) {
-			IFile file = server.getFile();
-			return file.hashCode();
-		}
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/DisabledMenuManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/DisabledMenuManager.java
deleted file mode 100644
index f124d58..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/DisabledMenuManager.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.tree;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.action.MenuManager;
-/**
- * 
- */
-public class DisabledMenuManager extends MenuManager {
-	public DisabledMenuManager(String label) {
-		super(label);
-	}
-	public boolean isEnabled() {
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/IServerElementTag.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/IServerElementTag.java
deleted file mode 100644
index edea318..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/IServerElementTag.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.tree;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-/**
- * Tagging interface for identifying elements on a server tree.
- */
-public interface IServerElementTag {
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ModuleResourceAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ModuleResourceAdapter.java
deleted file mode 100644
index f76e8a3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ModuleResourceAdapter.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.tree;
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.util.MissingModule;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- *
- */
-public class ModuleResourceAdapter implements IAdaptable, IWorkbenchAdapter, IServerElementTag {
-	private static final Object[] NO_CHILDREN = new Object[0];
-
-	protected IServer server;
-	protected IModule module;
-	protected Object parent;
-
-	public ModuleResourceAdapter(Object parent, IServer server, IModule module) {
-		super();
-		this.parent = parent;
-		this.server = server;
-		this.module = module;
-	}
-
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IAdaptable.class))
-			return this;
-		else if (adapter.equals(IWorkbenchAdapter.class))
-			return this;
-		else
-			return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getChildren(Object)
-	 */
-	public Object[] getChildren(Object o) {
-		List childModules = server.getChildModules(module);
-		if (childModules == null)
-			return NO_CHILDREN;
-		Iterator iterator = childModules.iterator();
-
-		List child = new ArrayList();
-		while (iterator.hasNext()) {
-			IModule module2 = (IModule) iterator.next();
-			child.add(new ModuleResourceAdapter(this, server, module2));
-		}
-
-		ModuleResourceAdapter[] adapters = new ModuleResourceAdapter[child.size()];
-		child.toArray(adapters);
-		return adapters;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return ((ServerLabelProvider)ServerUICore.getLabelProvider()).getImageDescriptor(module);
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object o) {
-		if (module == null)
-			return "";
-		else if (module instanceof MissingModule)
-			return "(" + module.getName() + ")";
-		else
-			return module.getName();
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object o) {
-		return parent;
-	}
-	
-	public IModule getModules() {
-		return module;
-	}
-	
-	public IServer getServer() {
-		return server;
-	}
-	
-	public int hashCode() {
-		int hash = 0;
-		if (server != null) {
-			IFile file = server.getFile();
-			if (file != null)
-				hash = file.hashCode();
-		}
-		if (module != null)
-			hash += module.hashCode();
-		return hash;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerElementAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerElementAdapter.java
deleted file mode 100644
index f396dcc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerElementAdapter.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.view.tree;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-/**
- * 
- */
-public class ServerElementAdapter implements IAdaptable, IWorkbenchAdapter, IServerElementTag {
-	private static final Object[] NO_CHILDREN = new Object[0];
-
-	protected IElement resource;
-	protected Object parent;
-	protected byte flags;
-
-	public ServerElementAdapter(Object parent, IElement resource) {
-		this.parent = parent;
-		this.resource = resource;
-	}
-	
-	public void setFlags(byte b) {
-		flags = b;
-	}
-	
-	public byte getFlags() {
-		return flags;
-	}
-
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IAdaptable.class))
-			return this;
-		else if (adapter.equals(IWorkbenchAdapter.class))
-			return this;
-		/*else if (adapter.equals(IResource.class)) {
-			IResourceManager rm = ServerCore.getResourceManager();
-			return rm.getServerResourceLocation(resource);
-		}*/
-		else
-			return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	public Object[] getChildren(Object o) {
-		return NO_CHILDREN;
-	}
-	
-	/*
-	 * @see IWorkbenchAdapter#getChildren(Object)
-	 */
-	public Object[] getChildren() {
-		if (resource instanceof IServer) {
-			IServer server = (IServer) resource;
-			IServerConfiguration configuration = server.getServerConfiguration();
-			if (configuration == null)
-				//return new Object[] { new TextResourceAdapter(this, TextResourceAdapter.STYLE_NO_CONFIGURATION) };
-				return new Object[] { new ConfigurationProxyResourceAdapter(this, server) };
-				//return NO_CHILDREN;
-
-			IModule[] modules = server.getModules();
-			if (modules == null || modules.length == 0) {
-				//return new Object[] { new TextResourceAdapter(this, TextResourceAdapter.STYLE_NO_MODULES)};
-				return NO_CHILDREN;
-			}
-			int size = modules.length;
-			Object[] obj = new Object[size];
-			for (int i = 0; i < size; i++)
-				obj[i] = new ModuleResourceAdapter(this, server, modules[i]);
-
-			return obj;
-		}/* else if (resource instanceof IServerConfiguration) {
-			IServerConfiguration configuration = (IServerConfiguration) resource;
-			
-			List list = new ArrayList();
-			
-			// add modules
-			IModule[] modules = server.getModules();
-			if (modules == null || modules.length == 0) {
-				//list.add(new TextResourceAdapter(this, TextResourceAdapter.STYLE_NO_MODULES));
-			} else {
-				int size = modules.length;
-				for (int i = 0; i < size; i++)
-					list.add(new ModuleResourceAdapter(this, configuration, modules[i]));
-			}
-
-			Object[] obj = new Object[list.size()];
-			list.toArray(obj);
-			return obj;
-		}*/
-		return NO_CHILDREN;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		/*try {
-			IServerResourceFactory factory = ServerUtil.getServerResourceFactory(resource);
-			String icon = factory.getConfigurationElement().getAttribute("icon");
-			URL url = factory.getConfigurationElement().getDeclaringExtension().getDeclaringPluginDescriptor().getInstallURL();
-			return ImageDescriptor.createFromURL(new URL(url, icon));
-		} catch (Exception e) {
-			Trace.trace("Error getting image descriptor", e);
-		}*/
-		return ((ServerLabelProvider)ServerUICore.getLabelProvider()).getImageDescriptor(resource);
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object o) {
-		return ServerUICore.getLabelProvider().getText(resource);
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object o) {
-		return parent;
-	}
-
-	public IElement getServerResource() {
-		return resource;
-	}
-
-	protected IFile getFile() {
-		if (resource instanceof IServer)
-			return ((IServer) resource).getFile();
-		else if (resource instanceof IServerConfiguration)
-			return ((IServerConfiguration) resource).getFile();
-		else
-			return null;
-	}
-	
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ServerElementAdapter))
-			return false;
-		
-		ServerElementAdapter adapter = (ServerElementAdapter) obj;
-		IFile file1 = getFile();
-		IFile file2 = adapter.getFile();
-		return ((file1 == null && file2 == null)) ||
-			(file1 != null && file1.equals(file2));
-	}
-	
-	public int hashCode() {
-		return getFile().hashCode();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerRootAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerRootAdapter.java
deleted file mode 100644
index c2909ce..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerRootAdapter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.tree;
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-/**
- * 
- */
-public class ServerRootAdapter implements IAdaptable, IWorkbenchAdapter {
-	protected Object[] children;
-
-	public ServerRootAdapter() { }
-	
-	public void setChildren(Object[] obj) {
-		children = obj;
-	}
-
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IAdaptable.class))
-			return this;
-		else if (adapter.equals(IWorkbenchAdapter.class))
-			return this;
-		else
-			return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getChildren(Object)
-	 */
-	public Object[] getChildren(Object o) {
-		return children;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return null;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object o) {
-		return "Server Root";
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object o) {
-		return null;
-	}
-	
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ServerRootAdapter))	
-			return false;
-		
-		ServerRootAdapter adapter = (ServerRootAdapter) obj;
-		return (adapter.children.equals(children));
-	}
-	
-	public int hashCode() {
-		return 0;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerTreeAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerTreeAction.java
deleted file mode 100644
index b74a40b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/ServerTreeAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.tree;
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.ui.internal.ServerTree;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionProviderAction;
-/**
- * 
- */
-public class ServerTreeAction extends SelectionProviderAction {
-	protected Shell shell;
-	protected byte action;
-
-	public ServerTreeAction(Shell shell, ISelectionProvider provider, String label, byte action) {
-		super(provider, label);
-		this.shell = shell;
-		this.action = action;
-		setEnabled(ServerTree.isActionEnabled(getSelection(), action));
-	}
-	
-	/**
-	 * Notifies this action that the given (non-structured) selection has changed
-	 * in the selection provider.
-	 * <p>
-	 * The <code>SelectionProviderAction</code> implementation of this method
-	 * does nothing. Subclasses may reimplement to react to this selection change.
-	 * </p>
-	 *
-	 * @param selection the new selection
-	 */
-	public void selectionChanged(ISelection selection) {
-		setEnabled(ServerTree.isActionEnabled(selection, action));
-	}
-	
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(ServerTree.isActionEnabled(selection, action));
-	}
-	
-	/**
-	 * The default implementation of this <code>IAction</code> method
-	 * does nothing.  Subclasses should override this method
-	 * if they do not need information from the triggering event,
-	 * or override <code>run(Event)</code> if they do.
-	 */
-	public void run() {
-		ServerTree.performAction(shell, getSelection(), action);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/SwitchConfigurationAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/SwitchConfigurationAction.java
deleted file mode 100644
index b69110b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/SwitchConfigurationAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.tree;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Action to add or remove configuration to/from a server.
- */
-public class SwitchConfigurationAction extends Action {
-	protected IServer server;
-	protected IServerConfiguration config;
-	protected Shell shell;
-	protected IStatus status;
-
-	/**
-	 * SwitchConfigurationAction constructor comment.
-	 */
-	public SwitchConfigurationAction(Shell shell, String label, IServer server, IServerConfiguration config) {
-		super(label);
-		this.shell = shell;
-		this.server = server;
-		this.config = config;
-
-		IServerConfiguration tempConfig = server.getServerConfiguration();
-		if ((tempConfig == null && config == null) || (tempConfig != null && tempConfig.equals(config)))
-			setChecked(true);
-
-		if (config == null)
-			setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_CONFIGURATION_NONE));
-		else
-			setImageDescriptor(((ServerLabelProvider)ServerUICore.getLabelProvider()).getImageDescriptor(config));
-		
-		IServerType type = server.getServerType();
-		if (type.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED &&
-				server.getServerState() != IServer.SERVER_STOPPED)
-			setEnabled(false);
-	}
-	
-	public void run() {
-		IServerConfiguration tempConfig = server.getServerConfiguration();
-		if ((tempConfig == null && config == null) || (tempConfig != null && tempConfig.equals(config)))
-			return;
-			
-		if (!EclipseUtil.validateEdit(shell, server))
-			return;
-
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				try {
-					monitor = ProgressUtil.getMonitorFor(monitor);
-					IServerWorkingCopy workingCopy = server.getWorkingCopy();
-					workingCopy.setServerConfiguration(config);
-					workingCopy.save(monitor);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not save configuration", e);
-				}
-			}
-		};
-
-		try {
-			ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
-			dialog.run(true, true, runnable);
-		} catch (Exception e) {
-			Trace.trace("Error switching server configuration", e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/TextResourceAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/TextResourceAdapter.java
deleted file mode 100644
index bb1c693..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/tree/TextResourceAdapter.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.wst.server.ui.internal.view.tree;
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.IElement;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.ServerImageResource;
-import org.eclipse.wst.server.ui.internal.ServerTreeContentProvider;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * 
- */
-public class TextResourceAdapter implements IAdaptable, IWorkbenchAdapter, IServerElementTag {
-	protected Object parent;
-	protected byte thisStyle;
-	
-	public static IElement deleted;
-	
-	public final static byte STYLE_SERVERS = 0;
-	public final static byte STYLE_CONFIGURATIONS = 1;
-	//public final static byte STYLE_SERVERS_AND_CONFIGURATIONS = 2;
-	//public final static byte STYLE_NO_CONFIGURATION = 3;
-	public final static byte STYLE_NO_MODULES = 4;
-	public final static byte STYLE_NO_SERVERS = 5;
-	public final static byte STYLE_LOOSE_CONFIGURATIONS = 6;
-
-	public TextResourceAdapter(Object parent, byte thisStyle) {
-		this.parent = parent;
-		this.thisStyle = thisStyle;
-	}
-	
-	public byte getStyle() {
-		return thisStyle;
-	}
-	
-	public void setStyle(byte b) {
-		thisStyle = b;
-	}
-
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IAdaptable.class))
-			return this;
-		else if (adapter.equals(IWorkbenchAdapter.class))
-			return this;
-		else
-			return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getChildren(Object)
-	 */
-	public Object[] getChildren(Object o) {
-		if (thisStyle == STYLE_NO_MODULES || thisStyle == STYLE_NO_SERVERS)
-			return new Object[0];
-		if (thisStyle == STYLE_LOOSE_CONFIGURATIONS) {
-			IServerConfiguration[] looseCfg = ServerTreeContentProvider.getLooseConfigurations();
-			int size = looseCfg.length;
-			Object[] obj = new Object[size];
-			for (int i = 0; i < size; i++) {
-				obj[i] = new ServerElementAdapter(this, looseCfg[i]);
-			}
-			
-			return obj;
-		}
-		/*else if (thisStyle == STYLE_SERVERS_AND_CONFIGURATIONS) 
-			return new Object[] {
-				new TextResourceAdapter(this, STYLE_SERVERS),
-				new TextResourceAdapter(this, STYLE_CONFIGURATIONS)
-			};*/
-
-		Iterator iterator = null;
-		if (thisStyle == STYLE_SERVERS)
-			iterator = ServerCore.getResourceManager().getServers().iterator();
-		else if (thisStyle == STYLE_CONFIGURATIONS)
-			iterator = ServerCore.getResourceManager().getServerConfigurations().iterator();
-
-		List list = new ArrayList();
-		while (iterator.hasNext()) {
-			IElement resource = (IElement) iterator.next();
-			if (resource != deleted)
-				list.add(new ServerElementAdapter(this, resource));
-		}
-		return list.toArray();
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		if (thisStyle == STYLE_SERVERS)
-			return ServerImageResource.getImageDescriptor(ServerImageResource.IMG_SERVER_FOLDER);
-		else if (thisStyle == STYLE_CONFIGURATIONS || thisStyle == STYLE_LOOSE_CONFIGURATIONS)
-			return ServerImageResource.getImageDescriptor(ServerImageResource.IMG_SERVER_CONFIGURATION_FOLDER);
-		//else if (thisStyle == STYLE_SERVERS_AND_CONFIGURATIONS)
-		//	return ServerImageResource.getImageDescriptor(ServerImageResource.IMG_SERVER_PROJECT);
-		//else if (thisStyle == STYLE_NO_CONFIGURATION)
-		//	return ServerImageResource.getImageDescriptor(ServerImageResource.IMG_SERVER_CONFIGURATION_NONE);
-		else if (thisStyle == STYLE_NO_MODULES) {
-			ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-			return sharedImages.getImageDescriptor(IDE.SharedImages.IMG_OBJ_PROJECT);
-		}
-		else if (thisStyle == STYLE_NO_SERVERS)
-			return ServerImageResource.getImageDescriptor(ServerImageResource.IMG_SERVER_CONFIGURATION_MISSING);
-		else
-			return null;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object o) {
-		if (thisStyle == STYLE_SERVERS)
-			return ServerUIPlugin.getResource("%viewServers");
-		else if (thisStyle == STYLE_CONFIGURATIONS)
-			return ServerUIPlugin.getResource("%viewConfigurations");
-		//else if (thisStyle == STYLE_SERVERS_AND_CONFIGURATIONS)
-		//	return "Server Info";
-		//else if (thisStyle == STYLE_NO_CONFIGURATION)
-		//	return "No configuration";
-		else if (thisStyle == STYLE_NO_MODULES)
-			return ServerUIPlugin.getResource("%viewNoModules");
-		else if (thisStyle == STYLE_NO_SERVERS)
-			return ServerUIPlugin.getResource("%viewConfigurationUnused");
-		else if (thisStyle == STYLE_LOOSE_CONFIGURATIONS)
-			return ServerUIPlugin.getResource("%viewLooseConfigurations");
-		else
-			return "n/a";
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object o) {
-		return parent;
-	}
-	
-	public boolean equals(Object obj) {
-		if (!(obj instanceof TextResourceAdapter))	
-			return false;
-		
-		TextResourceAdapter adapter = (TextResourceAdapter) obj;
-		return (adapter.getStyle() == thisStyle);
-	}
-	
-	public int hashCode() {
-		return thisStyle;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java
deleted file mode 100644
index 0207305..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-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.swt.widgets.Table;
-/**
- * 
- */
-public abstract class AbstractTableComposite extends Composite {
-	protected Table table;
-	protected TableViewer tableViewer;
-
-	public AbstractTableComposite(Composite parent, int style) {
-		super(parent, style);
-		
-		createWidgets();
-	}
-
-	protected void createWidgets() {
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		setLayout(layout);
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-		
-		createTable();
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		table.setLayoutData(data);
-		table.setLinesVisible(true);
-		createTableViewer();
-	}
-	
-	protected void createTable() {
-		table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-	}
-	
-	protected void createTableViewer() {
-		tableViewer = new LockedTableViewer(table);
-	}
-
-	protected TableViewer getTableViewer() {
-		return tableViewer;
-	}
-
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-	
-	public void refresh() {
-		tableViewer.refresh();
-	}
-	
-	public void refresh(Object obj) {
-		tableViewer.refresh(obj);
-	}
-
-	public void remove(Object obj) {
-		tableViewer.remove(obj);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java
deleted file mode 100644
index 93e7906..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Tree;
-
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public abstract class AbstractTreeComposite extends Composite {
-	protected Tree tree;
-	protected TreeViewer treeViewer;
-	protected Label description;
-	
-	public AbstractTreeComposite(Composite parent, int style) {
-		super(parent, style);
-		
-		createWidgets();
-	}
-	
-	protected void createWidgets() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = 3;
-		layout.verticalSpacing = 3;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		setLayout(layout);
-
-		//GridData data = new GridData(GridData.FILL_BOTH);
-		//setLayoutData(data);
-		
-		String descriptionText = getDescriptionLabel();
-		if (descriptionText != null) {
-			Label label = new Label(this, SWT.WRAP);
-			label.setText(descriptionText);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-			data.horizontalSpan = 2;
-			label.setLayoutData(data);
-		}
-		
-		Label label = new Label(this, SWT.WRAP);
-		label.setText(getTitleLabel());
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		tree = new Tree(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-		data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		tree.setLayoutData(data);
-		treeViewer = new TreeViewer(tree);
-		
-		treeViewer.setSorter(new ViewerSorter());
-		
-		label = new Label(this, SWT.NONE);
-		label.setText("");
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		label.setLayoutData(data);
-		
-		// view composite
-		Composite comp = new Composite(this, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 3;
-		layout.verticalSpacing = 0;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		comp.setLayout(layout);
-
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER);
-		comp.setLayoutData(data);
-		
-		label = new Label(comp, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%viewBy"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER);
-		label.setLayoutData(data);
-	
-		final Combo combo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setItems(getComboOptions());
-		combo.select(1);
-		combo.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER));
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				int sel = combo.getSelectionIndex();
-				viewOptionSelected((byte) sel);
-			}
-		});
-		
-		if (hasDescription()) {
-			description = new Label(this, SWT.WRAP);
-			description.setText(ServerUIPlugin.getResource("%wizDescription"));
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-			data.horizontalSpan = 2;
-			data.heightHint = 35;
-			description.setLayoutData(data);
-		}
-	}
-	
-	protected abstract String getDescriptionLabel();
-	
-	protected abstract String getTitleLabel();
-	
-	protected abstract String[] getComboOptions();
-	
-	protected boolean hasDescription() {
-		return true;
-	}
-	
-	protected void setDescription(String text) {
-		if (description != null && text != null)
-			description.setText(ServerUIPlugin.getResource("%wizDescription") + " " + text);
-	}
-	
-	protected abstract void viewOptionSelected(byte option);
-	
-	protected TreeViewer getTreeViewer() {
-		return treeViewer;
-	}
-
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-	
-	public void refresh() {
-		treeViewer.refresh();
-	}
-	
-	public void refresh(Object obj) {
-		treeViewer.refresh(obj);
-	}
-
-	public void remove(Object obj) {
-		treeViewer.remove(obj);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java
deleted file mode 100644
index 33dd796..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-/**
- * Runtime type content provider.
- */
-public abstract class AbstractTreeContentProvider implements ITreeContentProvider {
-	public static final byte STYLE_FLAT = 0;
-
-	public static final String ROOT = "root";
-	
-	protected byte style;
-	
-	protected Object initialSelection;
-	protected int initialSelectionOrder;
-	
-	public class TreeElement {
-		String text;
-		List contents;
-	}
-
-	protected Object[] elements;
-	protected Map elementToParentMap = new HashMap(2);
-	protected Map textMap = new HashMap(2);
-
-	/**
-	 * AbstractTreeContentProvider constructor comment.
-	 */
-	public AbstractTreeContentProvider(byte style) {
-		super();
-		this.style = style;
-		
-		fillTree();
-	}
-	
-	public AbstractTreeContentProvider(byte style, boolean init) {
-		super();
-		this.style = style;
-	}
-	
-	protected abstract void fillTree();
-
-	protected void clean() {
-		elements = null;
-		elementToParentMap = new HashMap(2);
-		textMap = new HashMap(2);
-		
-		initialSelection = null;
-		initialSelectionOrder = -1000;
-	}
-
-	protected TreeElement getOrCreate(List list, String text) {
-		try {
-			Object obj = textMap.get(text);
-			if (obj != null)
-				return (TreeElement) obj;
-		} catch (Exception e) {
-			return null;
-		}
-		
-		TreeElement element = new TreeElement();
-		element.text = text;
-		element.contents = new ArrayList();
-		textMap.put(text, element);
-		list.add(element);
-		return element;
-	}
-	
-	protected TreeElement getOrCreate(List list, String id, String text) {
-		try {
-			Object obj = textMap.get(id);
-			if (obj != null)
-				return (TreeElement) obj;
-		} catch (Exception e) {
-			return null;
-		}
-		
-		TreeElement element = new TreeElement();
-		element.text = text;
-		element.contents = new ArrayList();
-		textMap.put(id, element);
-		list.add(element);
-		return element;
-	}
-
-	protected TreeElement getByText(String text) {
-		try {
-			return (TreeElement) textMap.get(text);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	protected TreeElement getParentImpl(Object obj) {
-		try {
-			return (TreeElement) elementToParentMap.get(obj);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Disposes of this content provider.  
-	 * This is called by the viewer when it is disposed.
-	 */
-	public void dispose() { }
-
-	/**
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 * These elements can be presented as rows in a table, items in a list, etc.
-	 * The result is not modified by the viewer.
-	 *
-	 * @param inputElement the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public Object[] getElements(Object element) {
-		return elements;
-	}
-
-	public Object[] getChildren(Object element) {
-		if (style == STYLE_FLAT)
-			return null;
-		else if (!(element instanceof TreeElement))
-			return null;
-		
-		TreeElement rte = (TreeElement) element;
-		return rte.contents.toArray();
-	}
-
-	public Object getParent(Object element) {
-		if (style == STYLE_FLAT)
-			return null;
-		//else if (element instanceof TreeElement)
-		//	return null;
-
-		return getParentImpl(element);
-	}
-
-	public boolean hasChildren(Object element) {
-		if (style == STYLE_FLAT)
-			return false;
-		//else if (!(element instanceof TreeElement))
-		//	return false;
-		Object[] children = getChildren(element);
-		return children != null && children.length > 0;
-
-		//return true;
-	}
-
-	/**
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 * <p>
-	 * A typical use for this method is registering the content provider as a listener
-	 * to changes on the new input (using model-specific means), and deregistering the viewer 
-	 * from the old input. In response to these change notifications, the content provider
-	 * propagates the changes to the viewer.
-	 * </p>
-	 *
-	 * @param viewer the viewer
-	 * @param oldInput the old input element, or <code>null</code> if the viewer
-	 *   did not previously have an input
-	 * @param newInput the new input element, or <code>null</code> if the viewer
-	 *   does not have an input
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { }
-	
-	public Object getInitialSelection() {
-		return initialSelection;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java
deleted file mode 100644
index a61c735..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-/**
- * Abstract tree label provider.
- */
-public abstract class AbstractTreeLabelProvider extends BaseLabelProvider {
-	/**
-	 * AbstractTreeLabelProvider constructor comment.
-	 */
-	public AbstractTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 * @param columnIndex the zero-based index of the column in which
-	 *   the label appears
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-			return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
-		}
-		return getImageImpl(element);
-	}
-	
-	protected abstract Image getImageImpl(Object element);
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or
-	 *   <code>null</code> indicating that no input object is set
-	 *   in the viewer
-	 * @param columnIndex the zero-based index of the column in which the label appears
-	 */
-	public String getText(Object element) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			return ((ServerTreeContentProvider.TreeElement) element).text;
-		}
-		return getTextImpl(element);
-	}
-	
-	protected abstract String getTextImpl(Object element);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
deleted file mode 100644
index 0cf1128..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-/**
- * A basic label provider.
- */
-public abstract class BaseLabelProvider implements ILabelProvider {
-	/**
-	 * BaseLabelProvider constructor comment.
-	 */
-	public BaseLabelProvider() {
-		super();
-	}
-
-	/**
-	 * Adds a listener to this label provider. 
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * Label provider listeners are informed about state changes 
-	 * that affect the rendering of the viewer that uses this label provider.
-	 * </p>
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void addListener(ILabelProviderListener listener) { }
-
-	/**
-	 * Disposes of this label provider.  When a label provider is
-	 * attached to a viewer, the viewer will automatically call
-	 * this method when the viewer is being closed.  When label providers
-	 * are used outside of the context of a viewer, it is the client's
-	 * responsibility to ensure that this method is called when the
-	 * provider is no longer needed.
-	 */
-	public void dispose() { }
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 * @param columnIndex the zero-based index of the column in which
-	 *   the label appears
-	 */
-	public Image getImage(Object element) {
-		return null;
-	}
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or
-	 *   <code>null</code> indicating that no input object is set
-	 *   in the viewer
-	 * @param columnIndex the zero-based index of the column in which the label appears
-	 */
-	public String getText(Object element) {
-		return "";
-	}
-
-	/**
-	 * Returns whether the label would be affected 
-	 * by a change to the given property of the given element.
-	 * This can be used to optimize a non-structural viewer update.
-	 * If the property mentioned in the update does not affect the label,
-	 * then the viewer need not update the label.
-	 *
-	 * @param element the element
-	 * @param property the property
-	 * @return <code>true</code> if the label would be affected,
-	 *    and <code>false</code> if it would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * Removes a listener to this label provider.
-	 * Has no affect if an identical listener is not registered.
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void removeListener(ILabelProviderListener listener) { }
-	
-	protected String notNull(String s) {
-		if (s == null)
-			return "";
-		return s;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java
deleted file mode 100644
index bebc7a9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-/**
- * Extends <code>ITableLabelProvider</code> with methods to provide
- * lock information.
- *
- * @see TableViewer
- */
-public interface ILockedLabelProvider {
-	/**
-	 * Returns the lock info for the element. This value will be used
-	 * to change the presentation of the table row.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 */
-	public boolean isLocked(Object element);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java
deleted file mode 100644
index ed219c2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-/**
- *
- */
-public class LockedCheckboxTableViewer extends CheckboxTableViewer {
-	protected Color color;
-
-	public LockedCheckboxTableViewer(Table table) {
-		super(table);
-		createColor(table);
-	}
-
-	protected void createColor(Control c) {
-		color = new Color(c.getDisplay(), 255, 255, 225);
-		c.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				color.dispose();
-			}
-		});
-	}
-
-	public void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-		if (color == null)
-			return;
-		if (widget instanceof TableItem) {
-			TableItem item = (TableItem) widget;
-			if (getLabelProvider() instanceof ILockedLabelProvider) {
-				ILockedLabelProvider provider = (ILockedLabelProvider) getLabelProvider();
-				if (provider.isLocked(element)) {
-					item.setBackground(color);
-					item.setImage(0, null);
-				} else
-					item.setBackground(null);
-			}
-		}
-		super.doUpdateItem(widget, element, fullMap);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java
deleted file mode 100644
index 5380d61..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-/**
- *
- */
-public class LockedTableViewer extends TableViewer {
-	protected Color color;
-
-	public LockedTableViewer(Composite parent) {
-		super(parent);
-		createColor(parent);
-	}
-	
-	public LockedTableViewer(Composite parent, int style) {
-		super(parent, style);
-		createColor(parent);
-	}
-
-	public LockedTableViewer(Table table) {
-		super(table);
-		createColor(table);
-	}
-
-	protected void createColor(Control c) {
-		color = new Color(c.getDisplay(), 255, 255, 225);
-		c.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				color.dispose();
-			}
-		});
-	}
-
-	public void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-		if (color == null)
-			return;
-		if (widget instanceof TableItem) {
-			TableItem item = (TableItem) widget;
-			if (getLabelProvider() instanceof ILockedLabelProvider) {
-				ILockedLabelProvider provider = (ILockedLabelProvider) getLabelProvider();
-				if (provider.isLocked(element)) {
-					item.setBackground(color);
-					item.setImage(0, null);
-				} else
-					item.setBackground(null);
-			}
-		}
-		super.doUpdateItem(widget, element, fullMap);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java
deleted file mode 100644
index 49918fe..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.server.core.IMonitoredServerPort;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerMonitorManager;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class MonitorComposite extends Composite {
-	//protected IServerPort selection;
-	protected PortSelectionListener listener;
-	protected IServer server;
-	
-	protected IServerMonitorManager smm;
-	
-	protected Table monitorTable;
-	protected TableViewer monitorTableViewer;
-	
-	public interface PortSelectionListener {
-		public void portSelected(IServerPort port);
-	}
-	
-	public MonitorComposite(Composite parent, int style, PortSelectionListener listener2, IServer server) {
-		super(parent, style);
-		this.listener = listener2;
-		this.server = server;
-		
-		smm = ServerCore.getServerMonitorManager();
-		
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		setLayout(layout);
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-		
-		monitorTable = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		//data.horizontalSpan = 2;
-		data.heightHint = 150;
-		//data.widthHint = 340;
-		monitorTable.setLayoutData(data);
-		monitorTable.setLinesVisible(true);
-		monitorTableViewer = new TableViewer(monitorTable);
-		
-		TableLayout tableLayout = new TableLayout();
-		monitorTable.setLayout(tableLayout);
-		monitorTable.setHeaderVisible(true);
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		TableColumn col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%dialogMonitorColumnStatus"));
-		
-		tableLayout.addColumnData(new ColumnWeightData(12, 120, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%dialogMonitorColumnType"));
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%dialogMonitorColumnPort"));
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%dialogMonitorColumnMonitorPort"));
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%dialogMonitorColumnContentType"));
-		
-		monitorTableViewer.setContentProvider(new MonitorContentProvider(server));
-		monitorTableViewer.setLabelProvider(new MonitorLabelProvider(server));
-		monitorTableViewer.setInput(AbstractTreeContentProvider.ROOT);
-		
-		monitorTableViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				IMonitoredServerPort port1 = (IMonitoredServerPort) e1;
-				IMonitoredServerPort port2 = (IMonitoredServerPort) e2;
-				if (port1.getServerPort().getPort() == port2.getServerPort().getPort()) {
-					if (port1.getMonitorPort() == port2.getMonitorPort()) {
-						return 0;
-					} else if (port1.getMonitorPort() > port2.getMonitorPort())
-						return 1;
-					else
-						return -1;
-				} else if (port1.getServerPort().getPort() > port2.getServerPort().getPort())
-					return 1;
-				else
-					return -1;
-			}
-		});
-		
-		Composite buttonComp = new Composite(this, SWT.NONE);
-		buttonComp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		buttonComp.setLayout(layout);
-		
-		final IServer server2 = server;
-		Button add = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%add"));
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MonitorDialog dialog = new MonitorDialog(getShell(), server2);
-				if (dialog.open() != Window.CANCEL) {
-					IServerPort port = dialog.getServerPort();
-					IMonitoredServerPort sp = smm.createMonitor(server2, port, dialog.getMonitorPort(), dialog.getContentTypes());
-					if (sp != null)
-						monitorTableViewer.add(sp);
-				}
-			}
-		});
-		
-		final Button edit = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%edit"));
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection();
-				IMonitoredServerPort port = (IMonitoredServerPort) sel.getFirstElement();
-				MonitorDialog dialog = new MonitorDialog(getShell(), server2, port.getServerPort(), port.getMonitorPort(), port.getContentTypes());
-				if (dialog.open() != Window.CANCEL) {
-					smm.removeMonitor(port);
-					monitorTableViewer.remove(port);
-					port = smm.createMonitor(server2, dialog.getServerPort(), dialog.getMonitorPort(), dialog.getContentTypes());
-					if (port != null) {
-						monitorTableViewer.add(port);
-						monitorTableViewer.setSelection(new StructuredSelection(port));
-					}
-				}
-			}
-		});
-		edit.setEnabled(false);
-		
-		final Button remove = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%remove"));
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IMonitoredServerPort msp = (IMonitoredServerPort) getSelection(monitorTableViewer.getSelection());
-				if (msp.isStarted())
-					smm.stopMonitor(msp);
-				smm.removeMonitor(msp);
-				monitorTableViewer.remove(msp);
-			}
-		});
-		remove.setEnabled(false);
-		
-		final Button start = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%start"));
-		start.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection();
-				IMonitoredServerPort msp = (IMonitoredServerPort) sel.getFirstElement();
-				try {
-					smm.startMonitor(msp);
-				} catch (CoreException ce) {
-					EclipseUtil.openError(getShell(), ce.getLocalizedMessage());
-				}
-				monitorTableViewer.refresh(msp);
-				monitorTableViewer.setSelection(new StructuredSelection(msp));
-			}
-		});
-		start.setEnabled(false);
-		
-		final Button stop = SWTUtil.createButton(buttonComp, ServerUIPlugin.getResource("%stop"));
-		stop.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection();
-				IMonitoredServerPort msp = (IMonitoredServerPort) sel.getFirstElement();
-				smm.stopMonitor(msp);
-				monitorTableViewer.refresh(msp);
-				monitorTableViewer.setSelection(new StructuredSelection(msp));
-			}
-		});
-		stop.setEnabled(false);
-		
-		monitorTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IMonitoredServerPort port = (IMonitoredServerPort) getSelection(monitorTableViewer.getSelection());
-				if (port != null) {
-					edit.setEnabled(!port.isStarted());
-					remove.setEnabled(true);
-					start.setEnabled(!port.isStarted());
-					stop.setEnabled(port.isStarted());
-				} else {
-					edit.setEnabled(false);
-					remove.setEnabled(false);
-					start.setEnabled(false);
-					stop.setEnabled(false);
-				}
-			}
-		});
-		
-		List list = ServerCore.getServerMonitorManager().getMonitoredPorts(server); 
-		if (!list.isEmpty())
-			monitorTableViewer.setSelection(new StructuredSelection(list.get(0)));
-	}
-	
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java
deleted file mode 100644
index 0e696ff..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-/**
- * Monitor port content provider.
- */
-public class MonitorContentProvider implements IStructuredContentProvider {
-	protected IServer server;
-
-	public MonitorContentProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public void dispose() { }
-
-	public Object[] getElements(Object inputElement) {
-		return ServerCore.getServerMonitorManager().getMonitoredPorts(server).toArray();
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java
deleted file mode 100644
index ca9fcf1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Dialog that prompts a user to add or edit a server monitor.
- */
-public class MonitorDialog extends Dialog {
-	protected IServer server;
-	protected IServerPort port;
-	protected int monitorPort = -1;
-	protected String[] portContentTypes;
-	protected String[] contentTypes;
-	protected boolean isEdit = false;
-	protected boolean portChanged = false;
-	
-	protected Button ok;
-	
-	protected Table table;
-	protected TableViewer tableViewer;
-	protected boolean init;
-
-	/**
-	 * MonitorDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 * @
-	 */
-	public MonitorDialog(Shell parentShell, IServer server) {
-		super(parentShell);
-
-		this.server = server;
-	}
-	
-	public MonitorDialog(Shell parentShell, IServer server, IServerPort port, int monitorPort, String[] contentTypes) {
-		this(parentShell, server);
-		this.monitorPort = monitorPort;
-		this.contentTypes = contentTypes;
-		this.port = port;
-		isEdit = true;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(ServerUIPlugin.getResource("%dialogMonitorTitle"));
-	}
-	
-	protected void createButtonsForButtonBar(Composite parent) {
-		ok = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	/**
-	 * 
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		//WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(ServerUIPlugin.getResource("%dialogMonitorAddDescription", new String[] { server.getName() } ));
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		data.widthHint = 275;
-		label.setLayoutData(data);
-		
-		table = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		data.heightHint = 100;
-		data.horizontalSpan = 2;
-		table.setLayoutData(data);
-		table.setLinesVisible(true);
-		tableViewer = new TableViewer(table);
-		
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		
-		tableLayout.addColumnData(new ColumnWeightData(12, 120, true));
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%dialogMonitorColumnType"));
-		
-		tableLayout.addColumnData(new ColumnWeightData(4, 40, true));
-		col = new TableColumn(table, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%dialogMonitorColumnPort"));
-		
-		tableViewer.setContentProvider(new PortContentProvider(server));
-		tableViewer.setLabelProvider(new PortLabelProvider(server));
-		tableViewer.setInput(AbstractTreeContentProvider.ROOT);
-		
-		tableViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				IServerPort port1 = (IServerPort) e1;
-				IServerPort port2 = (IServerPort) e2;
-				if (port1.getPort() == port2.getPort())
-					return 0;
-				else if (port1.getPort() > port2.getPort())
-					return 1;
-				else
-					return -1;
-			}
-		});
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%dialogMonitorMonitorPort"));
-		
-		final Text portText = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 150;
-		portText.setLayoutData(data);
-		if (monitorPort >= 0)
-			portText.setText(monitorPort + "");
-
-		portText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				try {
-					monitorPort = Integer.parseInt(portText.getText());
-					if (ok != null)
-						ok.setEnabled(true);
-				} catch (Exception ex) {
-					monitorPort = -1;
-					if (ok != null)
-						ok.setEnabled(false);
-				}
-				portChanged = true;
-			}
-		});
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%dialogMonitorContentType"));
-		
-		final Combo combo = new Combo(composite, SWT.READ_ONLY);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 150;
-		combo.setLayoutData(data);
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				int size = combo.getItemCount();
-				int sel = combo.getSelectionIndex();
-				if (sel == size - 1)
-					contentTypes = portContentTypes;
-				else
-					contentTypes = new String[] { portContentTypes[sel] };
-			}
-		});
-		
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				port = (IServerPort) getSelection(tableViewer.getSelection());
-				if (port == null)
-					return;
-				if (!portChanged) {
-					portText.setText((port.getPort() + 1) + "");
-					portChanged = false;
-				}
-				portContentTypes = port.getContentTypes();
-				String[] s = null;
-				String all = ServerUIPlugin.getResource("%dialogMonitorContentTypeAll");
-				if (portContentTypes == null || portContentTypes.length == 1) {
-					s = new String[] { all };
-				} else {
-					int size = portContentTypes.length;
-					s = new String[size+1];
-					for (int i = 0; i < size; i++) {
-						s[i] = MonitorLabelProvider.getContentTypeString(portContentTypes[i]);
-					}
-					s[size] = all;
-				}
-				combo.setItems(s);
-				combo.setText(all);
-			}
-		});
-		
-		Dialog.applyDialogFont(composite);
-		
-		if (port != null) {
-			portChanged = true;
-			String[] ct = contentTypes;
-			tableViewer.setSelection(new StructuredSelection(port));
-			if (ct != null)
-				combo.setText(MonitorLabelProvider.getContentTypeString(ct[0]));
-		} else if (tableViewer != null) {
-			try {
-				Object obj = tableViewer.getElementAt(0);
-				if (obj != null)
-				tableViewer.setSelection(new StructuredSelection(obj));
-			} catch (Exception e) { }
-		}
-		
-		portChanged = false;
-	
-		return composite;
-	}
-	
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-	
-	public int getMonitorPort() {
-		return monitorPort;
-	}
-
-	public IServerPort getServerPort() {
-		return port;
-	}
-
-	public String[] getContentTypes() {
-		return contentTypes;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java
deleted file mode 100644
index 02b8344..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.wst.server.core.IMonitoredServerPort;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Monitor port label provider.
- */
-public class MonitorLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
-	protected IServer server;
-
-	public MonitorLabelProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		IMonitoredServerPort port = (IMonitoredServerPort) element;
-		if (columnIndex == 0) {
-			if (port.isStarted())
-				return ImageResource.getImage(ImageResource.IMG_MONITOR_ON);
-			return ImageResource.getImage(ImageResource.IMG_MONITOR_OFF);
-		}
-		return null;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		IMonitoredServerPort port = (IMonitoredServerPort) element;
-		if (columnIndex == 0) {
-			if (port.isStarted())
-				return ServerUIPlugin.getResource("%started");
-			return ServerUIPlugin.getResource("%stopped");
-		} else if (columnIndex == 1)
-			return notNull(port.getServerPort().getName());
-		else if (columnIndex == 2)
-			return port.getServerPort().getPort() + "";
-		else if (columnIndex == 3)
-			return port.getMonitorPort() + "";
-		else {
-			String[] content = port.getContentTypes();
-			if (content == null || content.length == 0)
-				return ServerUIPlugin.getResource("%dialogMonitorContentTypeAll");
-			
-			StringBuffer sb = new StringBuffer();
-			int size = content.length;
-			for (int i = 0; i < size; i++) {
-				if (i > 0)
-					sb.append(",");
-				sb.append(getContentTypeString(content[i]));
-			}
-			return sb.toString();
-		}
-	}
-	
-	protected static String getContentTypeString(String s) {
-		if ("web".equals(s))
-			return ServerUIPlugin.getResource("%dialogMonitorContentTypeWeb");
-		else if ("webservices".equals(s))
-			return ServerUIPlugin.getResource("%dialogMonitorContentTypeWebServices");
-		else
-			return s;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java
deleted file mode 100644
index bf1401a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IMonitorableServer;
-/**
- * Monitor port content provider.
- */
-public class PortContentProvider implements IStructuredContentProvider {
-	protected IServer server;
-
-	public PortContentProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public void dispose() { }
-
-	public Object[] getElements(Object inputElement) {
-		IMonitorableServer monitorableServer = (IMonitorableServer) server.getDelegate();
-		return monitorableServer.getServerPorts().toArray();
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java
deleted file mode 100644
index a5c2d86..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IServerPort;
-/**
- * Server port label provider.
- */
-public class PortLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
-	protected IServer server;
-
-	public PortLabelProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		IServerPort port = (IServerPort) element;
-		if (columnIndex == 0)
-			return notNull(port.getName());
-		else if (columnIndex == 1)
-			return port.getPort() + "";
-		else
-			return "";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
deleted file mode 100644
index c39a957..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * 
- */
-public class RuntimeComposite extends AbstractTableComposite {
-	protected IRuntime selection;
-	protected IRuntime defaultRuntime;
-	protected RuntimeSelectionListener listener;
-	
-	public interface RuntimeSelectionListener {
-		public void runtimeSelected(IRuntime runtime);
-	}
-	
-	public RuntimeComposite(Composite parent, int style, RuntimeSelectionListener listener2) {
-		super(parent, style);
-		this.listener = listener2;
-		
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-
-		tableLayout.addColumnData(new ColumnWeightData(60, 160, true));
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%columnName"));
-		
-		/*tableLayout.addColumnData(new ColumnWeightData(12, 120, true));
-		col = new TableColumn(table, SWT.NONE);
-		col.setText("Location");*/
-
-		tableLayout.addColumnData(new ColumnWeightData(45, 125, true));
-		col = new TableColumn(table, SWT.NONE);
-		col.setText(ServerUIPlugin.getResource("%columnType"));
-		
-		tableViewer.setContentProvider(new RuntimeContentProvider());
-		tableViewer.setLabelProvider(new RuntimeTableLabelProvider());
-		tableViewer.setInput(AbstractTreeContentProvider.ROOT);
-		tableViewer.setColumnProperties(new String[] {"name", "location", "type"});
-
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IRuntime)
-					selection = (IRuntime) obj;
-				else
-					selection = null;
-				listener.runtimeSelected(selection);
-			}
-		});
-		
-		table.addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == 'l') {
-					try {
-						IRuntime runtime = getSelectedRuntime();
-						IRuntimeWorkingCopy wc = runtime.getWorkingCopy();
-						wc.setLocked(!runtime.isLocked());
-						wc.save(new NullProgressMonitor());
-						refresh(runtime);
-					} catch (Exception ex) { }
-				}
-			}
-
-			public void keyReleased(KeyEvent e) { }
-		});
-		
-		defaultRuntime = ServerCore.getResourceManager().getDefaultRuntime();
-		if (defaultRuntime != null)
-			((CheckboxTableViewer)tableViewer).setChecked(defaultRuntime, true);
-
-		((CheckboxTableViewer)tableViewer).addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				try {
-					IRuntime runtime = (IRuntime) event.getElement();
-					if (event.getChecked()) {
-						if (defaultRuntime != null)
-							((CheckboxTableViewer)tableViewer).setChecked(defaultRuntime, false);
-						ServerCore.getResourceManager().setDefaultRuntime(runtime);
-						defaultRuntime = runtime;
-					} else
-						ServerCore.getResourceManager().setDefaultRuntime(null);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error setting default runtime", e);
-				}
-			}
-		});
-	}
-
-	protected void createTable() {
-		table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.CHECK);
-	}
-
-	protected void createTableViewer() {
-		tableViewer = new LockedCheckboxTableViewer(table);
-	}
-
-	public IRuntime getSelectedRuntime() {
-		return selection;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java
deleted file mode 100644
index a2855dd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerCore;
-/**
- * Runtime content provider.
- */
-public class RuntimeContentProvider implements IStructuredContentProvider {
-	/**
-	 * RuntimeContentProvider constructor comment.
-	 */
-	public RuntimeContentProvider() {
-		super();
-	}
-
-	/**
-	 * Disposes of this content provider.  
-	 * This is called by the viewer when it is disposed.
-	 */
-	public void dispose() { }
-
-	/**
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 */
-	public Object[] getElements(Object inputElement) {
-		List list = new ArrayList();
-		Iterator iterator = ServerCore.getResourceManager().getRuntimes().iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			if (!runtime.isPrivate())
-				list.add(runtime);
-		}
-		return list.toArray();
-	}
-
-	/**
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java
deleted file mode 100644
index e257b65..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java
+++ /dev/null
@@ -1,80 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-/**
- * Runtime table label provider.
- */
-public class RuntimeTableLabelProvider extends BaseLabelProvider implements ITableLabelProvider, ILockedLabelProvider {
-	/**
-	 * RuntimeTableLabelProvider constructor comment.
-	 */
-	public RuntimeTableLabelProvider() {
-		super();
-	}
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 * @param columnIndex the zero-based index of the column in which
-	 *   the label appears
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (columnIndex == 0) {
-			IRuntime runtime = (IRuntime) element;
-			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null)
-				return ImageResource.getImage(runtimeType.getId());
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or
-	 *   <code>null</code> indicating that no input object is set
-	 *   in the viewer
-	 * @param columnIndex the zero-based index of the column in which the label appears
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		IRuntime runtime = (IRuntime) element;
-		if (columnIndex == 0)
-			return notNull(runtime.getName());
-		/*else if (columnIndex == 1) {
-			IPath location = runtime.getLocation();
-			if (location == null)
-				return "";
-			else
-				return notNull(location.toOSString());
-		}*/
-		else if (columnIndex == 1) {
-			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null)
-				return notNull(runtimeType.getName());
-			return "";
-		} else
-			return "X";
-	}
-	
-	public boolean isLocked(Object element) {
-		IRuntime runtime = (IRuntime) element;
-		return runtime.isLocked();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
deleted file mode 100644
index f4e19fa..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * Runtime content provider.
- */
-public class RuntimeTreeContentProvider extends AbstractTreeContentProvider {
-	public static final byte STYLE_VENDOR = 1;
-	public static final byte STYLE_VERSION = 2;
-	public static final byte STYLE_TYPE = 3;
-
-	/**
-	 * RuntimeTreeContentProvider constructor comment.
-	 */
-	public RuntimeTreeContentProvider(byte style) {
-		super(style);
-	}
-	
-	public void fillTree() {
-		clean();
-		List list = new ArrayList();
-		if (style != STYLE_FLAT) {
-			Iterator iterator = ServerCore.getResourceManager().getRuntimes().iterator();
-			while (iterator.hasNext()) {
-				IRuntime runtime = (IRuntime) iterator.next();
-				IRuntimeType runtimeType = runtime.getRuntimeType();
-				try {
-					TreeElement ele = null;
-					if (style == STYLE_VENDOR)
-						ele = getOrCreate(list, runtimeType.getVendor());
-					else if (style == STYLE_VERSION)
-						ele = getOrCreate(list, runtimeType.getVersion());
-					else if (style == STYLE_TYPE)
-						ele = getOrCreate(list, runtimeType.getName());
-					ele.contents.add(runtime);
-					elementToParentMap.put(runtime, ele);
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Error in runtime content provider", e);
-				}
-			}
-		} else {
-			Iterator iterator = ServerCore.getResourceManager().getRuntimes().iterator();
-			while (iterator.hasNext()) {
-				IRuntime runtime = (IRuntime) iterator.next();
-				list.add(runtime);
-			}
-		}
-		elements = list.toArray();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java
deleted file mode 100644
index 2dd33de..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java
+++ /dev/null
@@ -1,81 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-/**
- * Runtime label provider.
- */
-public class RuntimeTreeLabelProvider extends AbstractTreeLabelProvider implements ITableLabelProvider {
-	/**
-	 * RuntimeTreeLabelProvider constructor comment.
-	 */
-	public RuntimeTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected Image getImageImpl(Object element) {
-		IRuntime runtime = (IRuntime) element;
-		if (runtime.getRuntimeType() != null)
-			return ImageResource.getImage(runtime.getRuntimeType().getId());
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	protected String getTextImpl(Object element) {
-		IRuntime runtime = (IRuntime) element;
-		return notNull(runtime.getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (columnIndex == 0) {
-			if (element instanceof ServerTreeContentProvider.TreeElement) {
-				ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-				return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
-			}
-			return getImageImpl(element);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			if (columnIndex == 0)
-				return ((ServerTreeContentProvider.TreeElement) element).text;
-			return "";
-		}
-		IRuntime runtime = (IRuntime) element;
-		if (columnIndex == 0)
-			return runtime.getName();
-		else if (columnIndex == 1) {
-			if (runtime.getRuntimeType() != null)
-				return notNull(runtime.getRuntimeType().getName());
-			return "";
-		}
-		return "X";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
deleted file mode 100644
index 0fc8990..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class RuntimeTypeComposite extends AbstractTreeComposite {
-	protected IRuntimeType selection;
-	protected RuntimeTypeSelectionListener listener;
-	protected boolean creation;
-	protected String type;
-	protected String version;
-	protected String runtimeTypeId;
-	
-	protected RuntimeTypeTreeContentProvider contentProvider;
-	protected boolean initialSelection = true;
-	
-	public interface RuntimeTypeSelectionListener {
-		public void runtimeTypeSelected(IRuntimeType runtimeType);
-	}
-	
-	public RuntimeTypeComposite(Composite parent, int style, boolean creation, RuntimeTypeSelectionListener listener2, String type, String version, String runtimeTypeId) {
-		super(parent, style);
-		this.listener = listener2;
-		this.creation = creation;
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-	
-		contentProvider = new RuntimeTypeTreeContentProvider(RuntimeTypeTreeContentProvider.STYLE_VENDOR, creation, type, version, runtimeTypeId);
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(new RuntimeTypeTreeLabelProvider());
-		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IRuntimeType) {
-					selection = (IRuntimeType) obj;
-					setDescription(selection.getDescription());
-				} else {
-					selection = null;
-					setDescription("");
-				}
-				listener.runtimeTypeSelected(selection);
-			}
-		});
-		
-		treeViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				if (e1 instanceof IRuntimeType && !(e2 instanceof IRuntimeType))
-					return 1;
-				if (!(e1 instanceof IRuntimeType) && e2 instanceof IRuntimeType)
-					return -1;
-				if (!(e1 instanceof IRuntimeType && e2 instanceof IRuntimeType))
-					return super.compare(viewer, e1, e2);
-				IRuntimeType r1 = (IRuntimeType) e1;
-				IRuntimeType r2 = (IRuntimeType) e2;
-				if (r1.getOrder() > r2.getOrder())
-					return -1;
-				else if (r1.getOrder() < r2.getOrder())
-					return 1;
-				else
-					return super.compare(viewer, e1, e2);
-			}
-		});
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible && initialSelection) {
-			initialSelection = false;
-			if (contentProvider.getInitialSelection() != null)
-				treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true);
-		}
-	}
-	
-	protected String getTitleLabel() {
-		return ServerUIPlugin.getResource("%runtimeTypeCompTree");
-	}
-
-	protected String getDescriptionLabel() {
-		return ServerUIPlugin.getResource("%runtimeTypeCompDescription");
-	}
-
-	protected String[] getComboOptions() {
-		return new String[] { ServerUIPlugin.getResource("%name"),
-			ServerUIPlugin.getResource("%vendor"), ServerUIPlugin.getResource("%version"),
-			ServerUIPlugin.getResource("%moduleSupport") };
-	}
-
-	protected void viewOptionSelected(byte option) {
-		ISelection sel = treeViewer.getSelection();
-		treeViewer.setContentProvider(new RuntimeTypeTreeContentProvider(option, creation, type, version, runtimeTypeId));
-		treeViewer.setSelection(sel);
-	}
-
-	public IRuntimeType getSelectedRuntimeType() {
-		return selection;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
deleted file mode 100644
index dd351a7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IModuleKind;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * Runtime type content provider.
- */
-public class RuntimeTypeTreeContentProvider extends AbstractTreeContentProvider {
-	public static final byte STYLE_VENDOR = 1;
-	public static final byte STYLE_VERSION = 2;
-	public static final byte STYLE_MODULE_TYPE = 3;
-	
-	protected boolean creation;
-	protected String type;
-	protected String version;
-	protected String runtimeTypeId;
-
-	/**
-	 * RuntimeTypeContentProvider constructor comment.
-	 */
-	public RuntimeTypeTreeContentProvider(byte style, boolean creation) {
-		super(style);
-		this.creation = creation;
-	}
-	
-	public RuntimeTypeTreeContentProvider(byte style, boolean creation, String type, String version, String runtimeTypeId) {
-		super(style, false);
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-		this.creation = creation;
-		
-		fillTree();
-	}
-	
-	public void fillTree() {
-		clean();
-		List list = new ArrayList();
-		if (style != STYLE_FLAT) {
-			Iterator iterator = ServerUtil.getRuntimeTypes(type, version, runtimeTypeId).iterator();
-			while (iterator.hasNext()) {
-				IRuntimeType runtimeType = (IRuntimeType) iterator.next();
-				if (!creation || runtimeType.canCreate()) {
-					if (runtimeType.getOrder() > initialSelectionOrder) {
-						initialSelection = runtimeType;
-						initialSelectionOrder = runtimeType.getOrder();
-					}
-					TreeElement ele = null;
-					if (style == STYLE_VENDOR) {
-						ele = getOrCreate(list, runtimeType.getVendor());
-						ele.contents.add(runtimeType);
-						elementToParentMap.put(runtimeType, ele);
-					} else if (style == STYLE_VERSION) {
-						ele = getOrCreate(list, runtimeType.getVersion());
-						ele.contents.add(runtimeType);
-						elementToParentMap.put(runtimeType, ele);
-					} else if (style == STYLE_MODULE_TYPE) {
-						Iterator iterator2 = runtimeType.getModuleTypes().iterator();
-						while (iterator2.hasNext()) {
-							IModuleType mb = (IModuleType) iterator2.next();
-							IModuleKind mt = ServerCore.getModuleKind(mb.getType());
-							if (mt != null) {
-								ele = getOrCreate(list, mt.getName());
-								TreeElement ele2 = getOrCreate(ele.contents, mt.getName() + "/" + mb.getVersion(), mb.getVersion());
-								ele2.contents.add(runtimeType);
-								elementToParentMap.put(runtimeType, ele2);
-								elementToParentMap.put(ele2, ele);
-							}
-						}
-					}
-				}
-			}
-		} else {
-			Iterator iterator = ServerUtil.getRuntimeTypes(type, version, runtimeTypeId).iterator();
-			while (iterator.hasNext()) {
-				IRuntimeType runtimeType = (IRuntimeType) iterator.next();
-				if (!creation || runtimeType.canCreate()) {
-					if (runtimeType.getOrder() > initialSelectionOrder) {
-						initialSelection = runtimeType;
-						initialSelectionOrder = runtimeType.getOrder();
-					}
-					list.add(runtimeType);
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java
deleted file mode 100644
index 7ddfcb4..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Runtime type label provider.
- */
-public class RuntimeTypeTreeLabelProvider extends AbstractTreeLabelProvider {
-	/**
-	 * RuntimeTypeTreeLabelProvider constructor comment.
-	 */
-	public RuntimeTypeTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected Image getImageImpl(Object element) {
-		IRuntimeType runtimeType = (IRuntimeType) element;
-		return ImageResource.getImage(runtimeType.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected String getTextImpl(Object element) {
-		IRuntimeType runtimeType = (IRuntimeType) element;
-		return notNull(runtimeType.getName());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/SView.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/SView.java
deleted file mode 100644
index f2ee95b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/SView.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package org.eclipse.wst.server.ui.internal.viewers;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.graphics.Region;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.TypedListener;
-/**
- * Simple SWT widget with an image banner and a label.
- */
-public class SView extends Canvas {
-	protected Color focusColor;
-	protected boolean mouseOver = false;
-	protected boolean hasFocus = false;
-	//protected boolean isOpen = true;
-	
-	//protected String name;
-	//protected String description;
-	
-	protected Color one;
-	protected Color two;
-	protected Color three;
-	
-	protected Color grone;
-	protected Color grtwo;
-	protected Color grthree;
-	
-	private Cursor cursor;
-
-	public SView(Composite parent, int style) {
-		super(parent, style);
-		
-		cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
-		setCursor(cursor);
-		
-		one = new Color(getDisplay(), 224, 244, 252);
-		two = new Color(getDisplay(), 178, 212, 247);
-		three = new Color(getDisplay(), 138, 185, 242);
-		
-		grone = new Color(getDisplay(), 229, 255, 193);
-		grtwo = new Color(getDisplay(), 63, 214, 16);
-		grthree = new Color(getDisplay(), 21, 157, 4);
-
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				SView.this.paintControl(e);
-			}
-		});
-		addMouseListener(new MouseListener() {
-			public void mouseDown(MouseEvent e) {
-				//changeTwistie(!isOpen);
-			}
-			public void mouseUp(MouseEvent e) {
-			}
-			public void mouseDoubleClick(MouseEvent e) {
-			}
-		});
-		addMouseTrackListener(new MouseTrackListener() {
-			public void mouseEnter(MouseEvent e) {
-				mouseOver = true;
-				SView.this.redraw();
-			}
-			public void mouseExit(MouseEvent e) {
-				mouseOver = false;
-				SView.this.redraw();
-			}
-			public void mouseHover(MouseEvent e) {
-			}
-		});
-		addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				//changeTwistie(!isOpen);
-				redraw();
-			}
-		});
-		addListener(SWT.Traverse, new Listener () {
-			public void handleEvent(Event e) {
-				if (e.detail != SWT.TRAVERSE_RETURN)
-					e.doit = true;
-			}
-		});
-		addFocusListener(new FocusListener() {
-			public void focusGained(FocusEvent e) {
-				hasFocus = true;
-				redraw();
-			}
-			public void focusLost(FocusEvent e) {
-				hasFocus = false;
-				redraw();
-			}
-		});
-		addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == '\r') {
-					// Activation
-					notifyListeners(SWT.Selection);
-				}
-			}
-		});
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				disposeImpl();
-			}
-		});
-		
-		getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				//e.result = name;
-			}
-
-			public void getDescription(AccessibleEvent e) {
-				//e.result = description;
-			}
-		});
-
-		getAccessible().addAccessibleControlListener(new AccessibleControlAdapter() {
-			public void getLocation(AccessibleControlEvent e) {
-				Rectangle location = getBounds();
-				Point pt = toDisplay(new Point(location.x, location.y));
-				e.x = pt.x;
-				e.y = pt.y;
-				e.width = location.width;
-				e.height = location.height;
-			}
-
-			public void getChildCount(AccessibleControlEvent e) {
-				e.detail = 0;
-			}
-
-			public void getRole(AccessibleControlEvent e) {
-				e.detail = ACC.ROLE_TREE;
-			}
-
-			public void getState(AccessibleControlEvent e) {
-				//e.detail = isOpen ? ACC.STATE_EXPANDED : ACC.STATE_COLLAPSED;
-			}
-		});
-	}
-	
-	protected void disposeImpl() {
-		if (cursor != null) {
-			cursor.dispose();
-			cursor = null;
-			one.dispose();
-			two.dispose();
-			three.dispose();
-			
-			grone.dispose();
-			grtwo.dispose();
-			grthree.dispose();
-		}
-	}
-
-	public void addSelectionListener(SelectionListener listener) {
-		checkWidget ();
-		if (listener == null) return;
-		TypedListener typedListener = new TypedListener (listener);
-		addListener (SWT.Selection,typedListener);
-	}
-	
-	public void removeSelectionListener(SelectionListener listener) {
-		checkWidget ();
-		if (listener == null) return;
-		removeListener (SWT.Selection, listener);
-	}
-	
-	protected void notifyListeners(int eventType) {
-		Event event = new Event();
-		event.type = eventType;
-		event.widget = this;
-		notifyListeners(eventType, event);
-	}
-	
-	protected void paintRect(GC gc, int x, int y, Color a, Color b, Color c) {
-		int[] p = new int[] { 0, 2, 2, 0, 30, 0, 32, 2, 32, 30, 30, 32, 2, 32, 0, 30};
-		
-		int[] q = new int[p.length];
-		for (int i = 0; i < p.length / 2; i++) {
-			q[i*2] = p[i*2] + x;
-			q[i*2+1] = p[i*2+1] + y;
-		}
-		
-		Region region = new Region(getDisplay());
-		region.add(q);
-		
-		gc.setClipping(region);
-		
-		gc.setBackground(a);
-		gc.setForeground(b);
-		gc.fillGradientRectangle(x, y, 32, 32, true);
-		gc.setClipping((Region)null);
-		gc.setForeground(c);
-		gc.drawPolygon(q);
-		
-		gc.setForeground(getForeground());
-		gc.setBackground(getBackground());
-		String st = "Tomcat Test Environment";
-		Point stp = gc.stringExtent(st);
-		gc.drawString(st, x+16 - stp.x / 2, y + 32 + 2);
-	}
-
-	void paintControl(PaintEvent e) {
-		GC gc = e.gc;
-		
-		Point s = getSize();
-
-		gc.setBackground(getBackground());
-		gc.fillRectangle(0, 0, s.x, s.y);
-
-		/*if (mouseOver)
-			gc.setBackground(getFocusColor());
-		else
-			gc.setBackground(getForeground());*/
-		
-		// one
-		paintRect(gc, 60, 0, one, two, three);
-		
-		paintRect(gc, 140, 0, grone, grtwo, grthree);
-		
-		/*if (hasFocus) {
-			gc.setBackground(getBackground());
-	   		gc.setForeground(getFocusColor());
-	   		gc.drawFocus(0, 0, 10, 11);
-		}*/
-	}
-
-	/*public Color getFocusColor() {
-		return focusColor;
-	}
-
-	public void setFocusColor(Color color) {
-		focusColor = color;
-	}*/
-
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		return new Point(200, 60);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
deleted file mode 100644
index c102f33..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class ServerComposite extends AbstractTreeComposite {
-	protected IServer selection;
-	protected ServerSelectionListener listener;
-	protected ServerTreeContentProvider contentProvider;
-	protected boolean initialSelection = true;
-	protected byte viewOption;
-	
-	protected IModule module;
-	protected String launchMode;
-	protected boolean includeIncompatibleVersions;
-	
-	public interface ServerSelectionListener {
-		public void serverSelected(IServer server);
-	}
-	
-	public ServerComposite(Composite parent, int style, ServerSelectionListener listener2, IModule module, String launchMode) {
-		super(parent, style);
-		this.module = module;
-		this.launchMode = launchMode;
-		
-		this.listener = listener2;
-		
-		contentProvider = new ServerTreeContentProvider(ServerTreeContentProvider.STYLE_HOST, module, launchMode);
-		viewOption = ServerTreeContentProvider.STYLE_HOST;
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(new ServerTreeLabelProvider());
-		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-		treeViewer.expandToLevel(1);
-
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IServer) {
-					selection = (IServer) obj;
-					setDescription(selection.getServerType().getRuntimeType().getDescription());
-				} else {
-					selection = null;
-					setDescription("");
-				}
-				listener.serverSelected(selection);
-			}
-		});
-	}
-
-	public ServerComposite(Composite parent, int style, ServerSelectionListener listener2) {
-		this(parent, style, listener2, null, null);
-	}
-	
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		ISelection sel = treeViewer.getSelection();
-		contentProvider.setIncludeIncompatibleVersions(b);
-		treeViewer.refresh();
-		treeViewer.setSelection(sel, true);
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible && initialSelection) {
-			initialSelection = false;
-			if (contentProvider.getInitialSelection() != null)
-				treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true);
-		}
-	}
-
-	public void refreshAll() {
-		ISelection sel = treeViewer.getSelection();
-		contentProvider = new ServerTreeContentProvider(viewOption, module, launchMode);
-		contentProvider.setIncludeIncompatibleVersions(includeIncompatibleVersions);
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setSelection(sel);
-	}
-
-	protected String getDescriptionLabel() {
-		return null; //ServerUIPlugin.getResource("%serverTypeCompDescription");
-	}
-	
-	protected String getTitleLabel() {
-		return ServerUIPlugin.getResource("%wizNewServerSelectExisting");
-	}
-
-	protected String[] getComboOptions() {
-		return new String[] { ServerUIPlugin.getResource("%name"), ServerUIPlugin.getResource("%host"), 
-			ServerUIPlugin.getResource("%vendor"), ServerUIPlugin.getResource("%version") };
-	}
-
-	protected void viewOptionSelected(byte option) {
-		ISelection sel = treeViewer.getSelection();
-		viewOption = option;
-		contentProvider = new ServerTreeContentProvider(option, module, launchMode);
-		contentProvider.setIncludeIncompatibleVersions(includeIncompatibleVersions);
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setSelection(sel);
-	}
-	
-	public IServer getSelectedServer() {
-		return selection;
-	}
-	
-	public void setSelection(IServer server) {
-		treeViewer.setSelection(new StructuredSelection(server), true);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeComposite.java
deleted file mode 100644
index e738982..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeComposite.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServerConfigurationType;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class ServerConfigurationTypeComposite extends AbstractTreeComposite {
-	protected IServerConfigurationType selection;
-	protected ServerConfigurationTypeSelectionListener listener;
-	
-	public interface ServerConfigurationTypeSelectionListener {
-		public void configurationTypeSelected(IServerConfigurationType type);
-	}
-	
-	public ServerConfigurationTypeComposite(Composite parent, int style, ServerConfigurationTypeSelectionListener listener2) {
-		super(parent, style);
-		this.listener = listener2;
-	
-		treeViewer.setContentProvider(new ServerConfigurationTypeTreeContentProvider(AbstractTreeContentProvider.STYLE_FLAT));
-		treeViewer.setLabelProvider(new ServerConfigurationTypeTreeLabelProvider());
-		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IServerConfigurationType) {
-					selection = (IServerConfigurationType) obj;
-					setDescription(selection.getDescription());
-				} else {
-					selection = null;
-					setDescription("");
-				}
-				listener.configurationTypeSelected(selection);
-			}
-		});
-	}
-	
-	protected String getDescriptionLabel() {
-		return null;
-	}
-
-	protected boolean hasDescription() {
-		return false;
-	}
-
-	protected String getTitleLabel() {
-		return ServerUIPlugin.getResource("%wizImportConfigurationType");
-	}
-
-	protected String[] getComboOptions() {
-		return new String[] { ServerUIPlugin.getResource("%name") };
-			//, ServerUIPlugin.getResource("%vendor"), ServerUIPlugin.getResource("%version") }; 
-	}
-
-	protected void viewOptionSelected(byte option) {
-		ISelection sel = treeViewer.getSelection();
-		treeViewer.setContentProvider(new ServerConfigurationTypeTreeContentProvider(option));
-		treeViewer.setSelection(sel);
-	}
-
-	public IServerConfigurationType getSelectedServerConfigurationType() {
-		return selection;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeTreeContentProvider.java
deleted file mode 100644
index 3dfead8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeTreeContentProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IServerConfigurationType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * Server configuration type content provider.
- */
-public class ServerConfigurationTypeTreeContentProvider extends AbstractTreeContentProvider {
-	public static final byte STYLE_VENDOR = 1;
-	public static final byte STYLE_VERSION = 2;
-	public static final byte STYLE_HOST = 3;
-	public static final byte STYLE_TYPE = 4;
-
-	/**
-	 * ServerConfigurationTypeTreeContentProvider constructor comment.
-	 */
-	public ServerConfigurationTypeTreeContentProvider(byte style) {
-		super(style);
-	}
-	
-	public void fillTree() {
-		clean();
-		List list = new ArrayList();
-		Iterator iterator = ServerCore.getServerConfigurationTypes().iterator();
-		while (iterator.hasNext()) {
-			IServerConfigurationType type = (IServerConfigurationType) iterator.next();
-			if (style == STYLE_FLAT) {
-				list.add(type);
-			} else {
-				try {
-					/*TreeElement ele = null;
-					if (style == STYLE_VENDOR)
-						ele = getOrCreate(list, type.getVendor());
-					else if (style == STYLE_VERSION)
-						ele = getOrCreate(list, type.getVersion());
-					else if (style == STYLE_TYPE)
-						ele = getOrCreate(list, type.getLabel());
-					ele.contents.add(type);
-					elementToParentMap.put(type, ele);*/
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Error in server configuration content provider", e);
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeTreeLabelProvider.java
deleted file mode 100644
index 08b91d6..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerConfigurationTypeTreeLabelProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IServerConfigurationType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Server configuration type label provider.
- */
-public class ServerConfigurationTypeTreeLabelProvider extends AbstractTreeLabelProvider {
-	/**
-	 * ServerConfigurationTypeTreeLabelProvider constructor comment.
-	 */
-	public ServerConfigurationTypeTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected Image getImageImpl(Object element) {
-		IServerConfigurationType type = (IServerConfigurationType) element;
-		return ImageResource.getImage(type.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected String getTextImpl(Object element) {
-		IServerConfigurationType type = (IServerConfigurationType) element;
-		return notNull(type.getName());
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java
deleted file mode 100644
index bde3068..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Runtime type content provider.
- */
-public class ServerTreeContentProvider extends AbstractTreeContentProvider {
-	public static final byte STYLE_HOST = 1;
-	public static final byte STYLE_VENDOR = 2;
-	public static final byte STYLE_VERSION = 3;
-	
-	protected IModule module;
-	protected String launchMode;
-	protected boolean includeIncompatibleVersions;
-
-	/**
-	 * ServerTreeContentProvider constructor comment.
-	 */
-	public ServerTreeContentProvider(byte style) {
-		super(style);
-	}
-	
-	public ServerTreeContentProvider(byte style, IModule module, String launchMode) {
-		super(style, false);
-		this.module = module;
-		this.launchMode = launchMode;
-		
-		fillTree();
-	}
-	
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		fillTree();
-	}
-	
-	protected void fillTree() {
-		clean();
-		List list = new ArrayList();
-		if (style != STYLE_FLAT) {
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				if (acceptServer(server)) {
-					IServerType serverType = server.getServerType();
-					IRuntimeType runtimeType = serverType.getRuntimeType();
-					if (serverType.getOrder() > initialSelectionOrder) {
-						initialSelection = server;
-						initialSelectionOrder = serverType.getOrder();
-					}
-					TreeElement te = null;
-					if (style == STYLE_HOST) {
-						te = getOrCreate(list, server.getHostname());
-					} else if (style == STYLE_VERSION) {
-						String version = ServerUIPlugin.getResource("%elementUnknownName");
-						if (runtimeType != null)
-							version = runtimeType.getVersion();
-						te = getOrCreate(list, version);
-					} else if (style == STYLE_VENDOR) {
-						String vendor = ServerUIPlugin.getResource("%elementUnknownName");
-						if (runtimeType != null)
-							vendor = runtimeType.getVendor();
-						te = getOrCreate(list, vendor);
-					}
-					te.contents.add(server);
-					elementToParentMap.put(server, te);
-				}
-			}
-		} else {
-			Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				if (acceptServer(server)) {
-					IServerType serverType = server.getServerType();
-					list.add(server);
-					if (serverType.getOrder() > initialSelectionOrder) {
-						initialSelection = server;
-						initialSelectionOrder = serverType.getOrder();
-					}
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-
-	protected boolean acceptServer(IServer server) {
-		if (module == null || launchMode == null)
-			return true;
-		if (!ServerUtil.isCompatibleWithLaunchMode(server, launchMode))
-			return false;
-		if (includeIncompatibleVersions) {
-			if (!ServerUtil.isSupportedModule(server.getServerType().getRuntimeType().getModuleTypes(), module.getType(), null))
-				return false;
-		} else {
-			if (!ServerUtil.isSupportedModule(server.getServerType().getRuntimeType().getModuleTypes(), module.getType(), module.getVersion()))
-				return false;
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java
deleted file mode 100644
index 126b486..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Server tree label provider.
- */
-public class ServerTreeLabelProvider extends AbstractTreeLabelProvider {
-	/**
-	 * ServerTreeLabelProvider constructor comment.
-	 */
-	public ServerTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public Image getImageImpl(Object element) {
-		IServer server = (IServer) element;
-		return ImageResource.getImage(server.getServerType().getId());
-	}
-
-	/**
-	 * 
-	 */
-	public String getTextImpl(Object element) {
-		IServer server = (IServer) element;
-		return server.getName();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java
deleted file mode 100644
index 48355ea..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class ServerTypeComposite extends AbstractTreeComposite {
-	protected IServerType selection;
-	protected ServerTypeSelectionListener listener;
-	protected ServerTypeTreeContentProvider contentProvider;
-	protected boolean initialSelection = true;
-	
-	protected String type;
-	protected String version;
-	
-	protected boolean includeTestEnvironments = true;
-	protected boolean isLocalhost;
-	protected boolean includeIncompatibleVersions;
-	
-	public interface ServerTypeSelectionListener {
-		public void serverTypeSelected(IServerType type);
-	}
-	
-	public ServerTypeComposite(Composite parent, int style, String type, String version, ServerTypeSelectionListener listener2) {
-		super(parent, style);
-		this.listener = listener2;
-		this.type = type;
-		this.version = version;
-	
-		contentProvider = new ServerTypeTreeContentProvider(ServerTypeTreeContentProvider.STYLE_VENDOR, type, version);
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(new ServerTypeTreeLabelProvider());
-		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IServerType) {
-					selection = (IServerType) obj;
-					setDescription(selection.getDescription());
-				} else {
-					selection = null;
-					setDescription("");
-				}
-				listener.serverTypeSelected(selection);
-			}
-		});
-		
-		treeViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				if (e1 instanceof IServerType && !(e2 instanceof IServerType))
-					return 1;
-				if (!(e1 instanceof IServerType) && e2 instanceof IServerType)
-					return -1;
-				if (!(e1 instanceof IServerType && e2 instanceof IServerType))
-					return super.compare(viewer, e1, e2);
-				IServerType r1 = (IServerType) e1;
-				IServerType r2 = (IServerType) e2;
-				/*if (r1.getOrder() > r2.getOrder())
-					return -1;
-				else if (r1.getOrder() < r2.getOrder())
-					return 1;
-				else
-					return super.compare(viewer, e1, e2);*/
-				return r1.getName().compareTo(r2.getName());
-			}
-		});
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible && initialSelection) {
-			initialSelection = false;
-			if (contentProvider.getInitialSelection() != null)
-				treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true);
-		}
-	}
-	
-	public void setHost(boolean newHost) {
-		if (isLocalhost == newHost)
-			return;
-		
-		isLocalhost = newHost;
-		ISelection sel = treeViewer.getSelection();
-		contentProvider.setLocalhost(isLocalhost);
-		treeViewer.refresh();
-		//treeViewer.expandToLevel(2);
-		treeViewer.setSelection(sel, true);
-	}
-
-	public void setIncludeTestEnvironments(boolean b) {
-		includeTestEnvironments = b;
-		ISelection sel = treeViewer.getSelection();
-		contentProvider.setIncludeTestEnvironments(b);
-		treeViewer.refresh();
-		treeViewer.setSelection(sel, true);
-		//treeViewer.expandToLevel(2);
-	}
-	
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		ISelection sel = treeViewer.getSelection();
-		contentProvider.setIncludeIncompatibleVersions(b);
-		treeViewer.refresh();
-		treeViewer.setSelection(sel, true);
-	}
-
-	protected String getDescriptionLabel() {
-		return null; //ServerUIPlugin.getResource("%serverTypeCompDescription");
-	}
-
-	protected String getTitleLabel() {
-		return ServerUIPlugin.getResource("%serverTypeCompDescription");
-	}
-
-	protected String[] getComboOptions() {
-		return new String[] { ServerUIPlugin.getResource("%name"),
-			ServerUIPlugin.getResource("%vendor"), ServerUIPlugin.getResource("%version"),
-			ServerUIPlugin.getResource("%moduleSupport") };
-	}
-
-	protected void viewOptionSelected(byte option) {
-		ISelection sel = treeViewer.getSelection();
-		contentProvider = new ServerTypeTreeContentProvider(option, type, version);
-		contentProvider.setLocalhost(isLocalhost);
-		contentProvider.setIncludeTestEnvironments(includeTestEnvironments);
-		contentProvider.setIncludeIncompatibleVersions(includeIncompatibleVersions);
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setSelection(sel);
-	}
-
-	public IServerType getSelectedServerType() {
-		return selection;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
deleted file mode 100644
index b223b05..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * Server type content provider.
- */
-public class ServerTypeTreeContentProvider extends AbstractTreeContentProvider {
-	public static final byte STYLE_VENDOR = 1;
-	public static final byte STYLE_VERSION = 2;
-	public static final byte STYLE_MODULE_TYPE = 3;
-	public static final byte STYLE_TYPE = 4; // not used yet
-	
-	protected boolean localhost;
-	protected boolean includeTestEnvironments = true;
-	
-	protected String type;
-	protected String version;
-	protected boolean includeIncompatibleVersions;
-
-	/**
-	 * ServerTypeTreeContentProvider constructor comment.
-	 */
-	public ServerTypeTreeContentProvider(byte style, String type, String version) {
-		super(style, false);
-		localhost = true;
-		
-		this.type = type;
-		this.version = version;
-		
-		fillTree();
-	}
-	
-	public void fillTree() {
-		clean();
-
-		List list = new ArrayList();
-		Iterator iterator = ServerCore.getServerTypes().iterator();
-		while (iterator.hasNext()) {
-			IServerType serverType = (IServerType) iterator.next();
-			if (include(serverType)) {
-				if (serverType.getOrder() > initialSelectionOrder) {
-					initialSelection = serverType;
-					initialSelectionOrder = serverType.getOrder();
-				}
-				if (style == STYLE_FLAT) {
-					list.add(serverType);
-				} else if (style != STYLE_MODULE_TYPE) {
-					try {
-						IRuntimeType runtimeType = serverType.getRuntimeType();
-						TreeElement ele = null;
-						if (style == STYLE_VENDOR)
-							ele = getOrCreate(list, runtimeType.getVendor());
-						else if (style == STYLE_VERSION)
-							ele = getOrCreate(list, runtimeType.getVersion());
-						else if (style == STYLE_TYPE)
-							ele = getOrCreate(list, runtimeType.getName());
-						ele.contents.add(serverType);
-						elementToParentMap.put(serverType, ele);
-					} catch (Exception e) {
-						Trace.trace(Trace.WARNING, "Error in server configuration content provider", e);
-					}
-				} else { // style = MODULE_TYPE
-					IRuntimeType runtimeType = serverType.getRuntimeType();
-					Iterator iterator2 = runtimeType.getModuleTypes().iterator();
-					while (iterator2.hasNext()) {
-						IModuleType mb = (IModuleType) iterator2.next();
-						IModuleKind mt = ServerCore.getModuleKind(mb.getType());
-						if (mt != null) {
-							TreeElement ele = getOrCreate(list, mt.getName());
-							TreeElement ele2 = getOrCreate(ele.contents, mt.getName() + "/" + mb.getVersion(), mb.getVersion());
-							ele2.contents.add(serverType);
-							elementToParentMap.put(serverType, ele2);
-							elementToParentMap.put(ele2, ele);
-						}
-					}
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-
-	protected boolean include(IServerType serverType) {
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		if (runtimeType == null)
-			return false;
-		if (includeIncompatibleVersions) {
-			if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), type, null))
-				return false;
-		} else {
-			if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), type, version))
-				return false;
-		}
-		
-		if (!includeTestEnvironments && serverType.isTestEnvironment()) {
-			if (!checkForTestEnvironmentRuntime(serverType))
-				return false;
-		}
-		
-		if (serverType.supportsRemoteHosts())
-			return true;
-		if (localhost && serverType.supportsLocalhost())
-			return true;
-		
-		return false;
-	}
-
-	protected boolean checkForTestEnvironmentRuntime(IServerType serverType) {
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		List list = ServerCore.getResourceManager().getRuntimes(runtimeType);
-		if (list.isEmpty())
-			return false;
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			if (runtime.isTestEnvironment())
-				return true;
-		}
-		return false;
-	}
-
-	protected boolean checkForNonStubEnvironmentRuntime(IServerType serverType) {
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		List list = ServerCore.getResourceManager().getRuntimes(runtimeType);
-		if (list.isEmpty())
-			return false;
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			if (!runtime.getAttribute("stub", false))
-				return true;
-		}
-		return false;
-	}
-
-	public void setLocalhost(boolean local) {
-		localhost = local;
-		fillTree();
-	}
-	
-	public void setIncludeTestEnvironments(boolean te) {
-		includeTestEnvironments = te;
-		fillTree();
-	}
-	
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		fillTree();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java
deleted file mode 100644
index 41f044a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- */
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Server type label provider.
- */
-public class ServerTypeTreeLabelProvider extends AbstractTreeLabelProvider {
-	/**
-	 * ServerTypeTreeLabelProvider constructor comment.
-	 */
-	public ServerTypeTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected Image getImageImpl(Object element) {
-		IServerType type = (IServerType) element;
-		return ImageResource.getImage(type.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected String getTextImpl(Object element) {
-		IServerType type = (IServerType) element;
-		return notNull(type.getName());
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java
deleted file mode 100644
index 6f8b17c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IWorkbench;
-/**
- * An abstract Wizard that contains helper methods.
- */
-public abstract class AbstractWizard extends Wizard {
-	protected IWorkbench workbench;
-	protected IStructuredSelection selection;
-
-	/**
-	 * AbstractWizard constructor comment.
-	 */
-	public AbstractWizard() {
-		super();
-	}
-
-	/**
-	 * Return the current workbench.
-	 * 
-	 * @return org.eclipse.ui.IWorkbench
-	 */
-	public IWorkbench getWorkbench() {
-		return workbench;
-	}
-
-	/**
-	 * Initialize the workbench and current selection.
-	 * 
-	 * @param org.eclipse.ui.IWorkbench
-	 * @param org.eclipse.jface.viewers.IStructuredSelection
-	 */
-	public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) {
-		workbench = newWorkbench;
-		selection = newSelection;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ClosableWizardDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ClosableWizardDialog.java
deleted file mode 100644
index 79ed55f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ClosableWizardDialog.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-/**
- * A closable wizard dialog.
- */
-public class ClosableWizardDialog extends WizardDialog {
-	/**
-	 * Constructor for ClosableWizardDialog.
-	 * @param shell
-	 * @param wizard
-	 */
-	public ClosableWizardDialog(Shell shell, IWizard wizard) {
-		super(shell, wizard);
-	}
-	
-	/**
-	 * The Finish button has been pressed.
-	 */
-	public void finishPressed() {
-		super.finishPressed();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ImportServerConfigurationWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ImportServerConfigurationWizard.java
deleted file mode 100644
index dda7d0b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ImportServerConfigurationWizard.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.page.ImportConfigurationWizardPage;
-import org.eclipse.wst.server.ui.internal.wizard.page.WizardUtil;
-import org.eclipse.ui.IImportWizard;
-/**
- * A wizard to import existing server configurations.
- */
-public class ImportServerConfigurationWizard extends AbstractWizard implements IImportWizard {
-	protected ImportConfigurationWizardPage page;
-
-	/**
-	 * ImportServerConfiguration constructor comment.
-	 */
-	public ImportServerConfigurationWizard() {
-		super();
-		setWindowTitle(ServerUIPlugin.getResource("%wizImportConfigurationWizardTitle"));
-	}
-	
-	public void addPages() {
-		page = new ImportConfigurationWizardPage();
-		page.setDefaultContainer(WizardUtil.getSelectionContainer(selection));
-		addPage(page);
-	}
-	
-	public boolean performFinish() {
-		return page.performFinish();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java
deleted file mode 100644
index bcea04a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.task.ReleaseServerTask;
-import org.eclipse.wst.server.ui.internal.task.SaveServerTask;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment;
-import org.eclipse.wst.server.ui.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * A wizard used to add and remove modules.
- */
-public class ModifyModulesWizard extends TaskWizard {
-	static class ModifyModulesWizard2 extends WizardFragment {
-		protected IServer server;
-		
-		public ModifyModulesWizard2(IServerWorkingCopy server) {
-			this.server = server;
-		}
-
-		public void createSubFragments(List list) {
-			list.add(new WizardFragment() {
-				public void enter() {
-					getTaskModel().putObject(ITaskModel.TASK_SERVER, server);
-				}
-			});
-			list.add(new ModifyModulesWizardFragment());
-			list.add(new TasksWizardFragment());
-			list.add(new WizardFragment() {
-				public ITask createCancelTask() {
-					return new ReleaseServerTask();
-				}
-				
-				public ITask createFinishTask() {
-					return new SaveServerTask();
-				}
-			});
-		}
-	}
-
-	/**
-	 * ModifyModulesWizard constructor comment.
-	 */
-	public ModifyModulesWizard(IServer server) {
-		super(ServerUIPlugin.getResource("%wizModuleWizardTitle"), new ModifyModulesWizard2(server.getWorkingCopy()));
-	
-		setNeedsProgressMonitor(true);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java
deleted file mode 100644
index 5c66b42..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.task.FinishWizardFragment;
-import org.eclipse.wst.server.ui.internal.task.SaveRuntimeTask;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment;
-import org.eclipse.wst.server.ui.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-/**
- * A wizard to create a new runtime.
- */
-public class NewRuntimeWizard extends TaskWizard implements INewWizard {
-	/**
-	 * NewRuntimeWizard constructor comment.
-	 */
-	public NewRuntimeWizard() {
-		super(ServerUIPlugin.getResource("%wizNewRuntimeWizardTitle"), new WizardFragment() {
-			public void createSubFragments(List list) {
-				list.add(new NewRuntimeWizardFragment());
-				list.add(new FinishWizardFragment(new SaveRuntimeTask()));
-			}
-		});
-
-		setForcePreviousAndNextButtons(true);
-	}
-	
-	public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) { }
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerProjectWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerProjectWizard.java
deleted file mode 100644
index b4e199b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerProjectWizard.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.page.CreateServerProjectWizardPage;
-/**
- * Wizard to create a new server project.
- */
-public class NewServerProjectWizard extends AbstractWizard implements INewWizard, IExecutableExtension {
-	protected CreateServerProjectWizardPage page;
-	private IConfigurationElement configElement;
-
-	/**
-	 * NewServerProjectWizard constructor comment.
-	 */
-	public NewServerProjectWizard() {
-		super();
-		setHelpAvailable(false);
-		setNeedsProgressMonitor(true);
-		
-		setWindowTitle(ServerUIPlugin.getResource("%wizNewServerProjectWizardTitle"));
-	}
-	
-	/**
-	 * Create a new default wizard page.
-	 */
-	public void addPages() {
-		page = new CreateServerProjectWizardPage();
-		addPage(page);
-	}
-	
-	public boolean performFinish() {
-		boolean finish = page.performFinish();
-		if (finish)
-			BasicNewProjectResourceWizard.updatePerspective(configElement);
-		return finish;
-	}
-	
-	/**
-	 * This method is called by the implementation of the method
-	 * <code>IConfigurationElement.createExecutableExtension</code>
-	 * on a newly constructed extension, passing it its relevant configuration 
-	 * information. Most executable extensions only make use of the first 
-	 * two call arguments.
-	 *
-	 * @param config the configuration element used to trigger this execution. 
-	 *		It can be queried by the executable extension for specific
-	 *		configuration properties
-	 * @param propertyName the name of an attribute of the configuration element
-	 *		used on the <code>createExecutableExtension(String)</code> call. This
-	 *		argument can be used in the cases where a single configuration element
-	 *		is used to define multiple executable extensions.
-	 * @param data adapter data in the form of a <code>String</code>, 
-	 *		a <code>Hashtable</code>, or <code>null</code>.
-	 * @exception CoreException if error(s) detected during initialization processing
-	 * @see IConfigurationElement#createExecutableExtension
-	 */
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) {
-		configElement = config;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java
deleted file mode 100644
index 1596567..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.util.Task;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.ServerUIPreferences;
-import org.eclipse.wst.server.ui.internal.task.*;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewServerWizardFragment;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment;
-import org.eclipse.wst.server.ui.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-/**
- * A wizard to create a new server and server configuration.
- */
-public class NewServerWizard extends TaskWizard implements INewWizard {
-	/**
-	 * NewServerWizard constructor comment.
-	 */
-	public NewServerWizard() {
-		this(null, null);
-	}
-
-	public NewServerWizard(final String[] ids, final String[] values) {
-		super(ServerUIPlugin.getResource("%wizNewServerWizardTitle"), new WizardFragment() {
-			public void createSubFragments(List list) {
-				if (ids != null)
-					list.add(new InputWizardFragment(ids, values));
-				list.add(new NewServerWizardFragment());
-				list.add(new FinishWizardFragment(new TempSaveRuntimeTask()));
-				list.add(new FinishWizardFragment(new TempSaveServerTask()));
-				list.add(new FinishWizardFragment(new TempSaveServerConfigurationTask()));
-				list.add(new ModifyModulesWizardFragment());
-				list.add(new TasksWizardFragment());
-				list.add(new FinishWizardFragment(new SaveRuntimeTask()));
-				list.add(new FinishWizardFragment(new SaveServerTask()));
-				list.add(new FinishWizardFragment(new SaveServerConfigurationTask()));
-				list.add(new FinishWizardFragment(new Task() {
-					public void execute(IProgressMonitor monitor) throws CoreException {
-						try {
-							IServer server = (IServer) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-							((ServerUIPreferences)ServerUICore.getPreferences()).addHostname(server.getHostname());
-						} catch (Exception e) { }
-					}
-				}));
-			}
-		});
-		
-		setForcePreviousAndNextButtons(true);
-	}
-	
-	public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) { }
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectClientWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectClientWizard.java
deleted file mode 100644
index dfe0fdd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectClientWizard.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.wst.server.core.IClient;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.page.SelectClientComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A wizard used to select a server client from a list.
- */
-public class SelectClientWizard extends TaskWizard {
-	protected static SelectClientComposite comp;
-
-	/**
-	 * SelectClientWizard constructor comment.
-	 */
-	public SelectClientWizard(final List elements) {
-		super(ServerUIPlugin.getResource("%wizSelectClientWizardTitle"),
-			new WizardFragment() {						
-				public boolean hasComposite() {
-					return true;
-				}
-
-				/* (non-Javadoc)
-				 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-				 */
-				public Composite createComposite(Composite parent, IWizardHandle wizard) {
-					comp = new SelectClientComposite(parent, wizard, elements);
-					return comp;
-				}
-			}
-		);
-
-		setForcePreviousAndNextButtons(true);
-	}
-
-	/**
-	 * Return the selected client.
-	 * @return org.eclipse.wst.server.core.model.IServerClient
-	 */
-	public IClient getSelectedClient() {
-		return comp.getSelectedClient();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectServerWizard.java
deleted file mode 100644
index e6ea33f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectServerWizard.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.util.Task;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.ServerUIPreferences;
-import org.eclipse.wst.server.ui.internal.task.*;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewServerWizardFragment;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment;
-import org.eclipse.wst.server.ui.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * A wizard used to select a server from various lists.
- */
-public class SelectServerWizard extends TaskWizard {
-	protected static NewServerWizardFragment task;
-
-	/**
-	 * SelectServerWizard constructor comment.
-	 */
-	public SelectServerWizard(final IModule module, final String launchMode) {
-		super(ServerUIPlugin.getResource("%wizSelectServerWizardTitle"), new WizardFragment() {
-			public void createSubFragments(List list) {
-				task = new NewServerWizardFragment(module, launchMode);
-				list.add(task);
-				list.add(new FinishWizardFragment(new TempSaveRuntimeTask()));
-				list.add(new FinishWizardFragment(new TempSaveServerTask()));
-				list.add(new FinishWizardFragment(new TempSaveServerConfigurationTask()));
-				list.add(new ModifyModulesWizardFragment(module));
-				list.add(new TasksWizardFragment());
-				list.add(new FinishWizardFragment(new SaveRuntimeTask()));
-				list.add(new FinishWizardFragment(new SaveServerTask()));
-				list.add(new FinishWizardFragment(new SaveServerConfigurationTask()));
-				list.add(new FinishWizardFragment(new Task() {
-					public void execute(IProgressMonitor monitor) throws CoreException {
-						
-						try {
-							IServer server = (IServer) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-							((ServerUIPreferences)ServerUICore.getPreferences()).addHostname(server.getHostname());
-						} catch (Exception e) { }
-					}
-				}));
-			}
-		});
-	
-		setNeedsProgressMonitor(true);
-	}
-
-	/**
-	 * Return the server.
-	 * @return org.eclipse.wst.server.core.model.IServer
-	 */
-	public IServer getServer() {
-		try {
-			return (IServer) getRootFragment().getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	public boolean isPreferredServer() {
-		if (task == null)
-			return false;
-		return task.isPreferredServer();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectTasksWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectTasksWizard.java
deleted file mode 100644
index 2e8e6bd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectTasksWizard.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.task.FinishWizardFragment;
-import org.eclipse.wst.server.ui.internal.task.InputWizardFragment;
-import org.eclipse.wst.server.ui.internal.task.SaveServerTask;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment;
-import org.eclipse.wst.server.ui.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * A wizard used to select server and module tasks.
- */
-public class SelectTasksWizard extends TaskWizard {
-	protected TasksWizardFragment fragment;
-	
-	/**
-	 * SelectTasksWizard constructor comment.
-	 */
-	public SelectTasksWizard(final IServer server) {
-		super(ServerUIPlugin.getResource("%wizTaskWizardTitle"));
-		
-		setRootFragment(new WizardFragment() {
-			public void createSubFragments(List list) {
-				list.add(new InputWizardFragment(new String[] { ITaskModel.TASK_SERVER }, new Object[] { server }));
-				fragment = new TasksWizardFragment();
-				list.add(fragment);
-				list.add(new FinishWizardFragment(new SaveServerTask()));
-			}
-		});
-		addPages();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean hasTasks() {
-		return fragment.hasTasks();
-	}
-
-	public boolean hasOptionalTasks() {
-		return fragment.hasOptionalTasks();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
deleted file mode 100644
index 953a072..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleVisitor;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.task.ModifyModulesTask;
-import org.eclipse.wst.server.ui.internal.wizard.page.ModifyModulesComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * 
- */
-public class ModifyModulesWizardFragment extends WizardFragment {
-	protected ModifyModulesComposite comp;
-	protected ModifyModulesTask task;
-	
-	protected IModule module;
-
-	public ModifyModulesWizardFragment() { }
-	
-	public ModifyModulesWizardFragment(IModule module) {
-		this.module = module;
-	}
-	
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		comp = new ModifyModulesComposite(parent, handle, module);
-		return comp;
-	}
-	
-	public void setTaskModel(ITaskModel taskModel) {
-		super.setTaskModel(taskModel);
-		if (comp != null)
-			comp.setTaskModel(taskModel);
-	}
-	
-	public List getChildFragments() {
-		updateModules();
-		return super.getChildFragments();
-	}
-
-	public void enter() {
-		updateModules();
-	}
-	
-	protected void updateModules() {
-		if (comp != null) {
-			IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-			comp.setServer(server);
-			comp.setTaskModel(getTaskModel());
-		} else if (module != null) {
-			ITaskModel taskModel = getTaskModel();
-			if (taskModel == null)
-				return;
-			IServerWorkingCopy server = (IServerWorkingCopy) taskModel.getObject(ITaskModel.TASK_SERVER);
-			if (server == null) {
-				taskModel.putObject(ITaskModel.TASK_MODULE_PARENTS, null);
-				taskModel.putObject(ITaskModel.TASK_MODULES, null);
-				return;
-			}
-			
-			class Helper {
-				List parentList = new ArrayList();
-				List moduleList = new ArrayList();
-			}
-			final Helper help = new Helper();
-			if (server != null) {
-				ServerUtil.visit(server, new IModuleVisitor() {
-					public boolean visit(List parents2, IModule module2) {
-						help.parentList.add(parents2);
-						help.moduleList.add(module2);
-						return true;
-					}
-				});
-			}
-			
-			// add module
-			IModule parent = null;
-			try {
-				List parents = server.getParentModules(module);
-				List list = new ArrayList();
-				
-				if (parents != null && parents.size() > 0) {
-					parent = (IModule) parents.get(0);
-					list.add(parent);
-				}
-				if (!help.moduleList.contains(module)) {
-					help.moduleList.add(module);
-					help.parentList.add(list);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not find parent module", e);
-			}
-			
-			int size = help.parentList.size();
-			List[] parents = new List[size];
-			help.parentList.toArray(parents);
-			IModule[] modules = new IModule[size];
-			help.moduleList.toArray(modules);
-			
-			taskModel.putObject(ITaskModel.TASK_MODULE_PARENTS, parents);
-			taskModel.putObject(ITaskModel.TASK_MODULES, modules);
-		}
-	}
-
-	public void exit() {
-		if (comp != null) {
-			createFinishTask();
-			task.setAddModules(comp.getModulesToAdd());
-			task.setRemoveModules(comp.getModulesToRemove());
-		}
-	}
-
-	public ITask createFinishTask() {
-		if (task == null)
-			task = new ModifyModulesTask(); 
-		return task;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java
deleted file mode 100644
index 1838286..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.wizard.page.NewRuntimeComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardFragment;
-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 NewRuntimeWizardFragment extends WizardFragment {
-	protected NewRuntimeComposite page;
-	
-	// filter by type/version
-	protected String type;
-	protected String version;
-	
-	// filter by partial runtime type id
-	protected String runtimeTypeId;
-	
-	public NewRuntimeWizardFragment() { }
-	
-	public NewRuntimeWizardFragment(String type, String version, String runtimeTypeId) {
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		page = new NewRuntimeComposite(parent, wizard, getTaskModel(), type, version, runtimeTypeId);
-		return page;
-	}
-
-	public boolean isComplete() {
-		if (page != null) {
-			if (page.getRuntime() == null)
-				return false;
-			IStatus status = page.getRuntime().validate();
-			return status == null || status.isOK();
-		}
-		return true;
-	}
-
-	public void createSubFragments(List list) {
-		if (getTaskModel() == null)
-			return;
-	
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-		if (runtime == null)
-			return;
-
-		IWizardFragment sub = ServerUICore.getWizardFragment(runtime.getRuntimeType().getId());
-		if (sub != null)
-			list.add(sub);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java
deleted file mode 100644
index 21f82cc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.page.NewServerComposite;
-import org.eclipse.wst.server.ui.internal.wizard.page.WizardUtil;
-import org.eclipse.wst.server.ui.wizard.IWizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class NewServerWizardFragment extends WizardFragment {
-	public static final String MODE = "mode";
-	public static final byte MODE_EXISTING = 0;
-	public static final byte MODE_DETECT = 1;
-	public static final byte MODE_MANUAL= 2;
-
-	protected NewServerComposite comp;
-	protected IModule module;
-	protected String launchMode;
-	
-	protected Map fragmentMap = new HashMap();
-	protected Map configMap = new HashMap();
-	
-	public NewServerWizardFragment() { }
-	
-	public NewServerWizardFragment(IModule module, String launchMode) {
-		this.module = module;
-		this.launchMode = launchMode;
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public void enter() {
-		super.enter();
-		getTaskModel().putObject(ITaskModel.TASK_LAUNCH_MODE, launchMode);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new NewServerComposite(parent, wizard, module, launchMode);
-		if (getTaskModel() != null)
-			comp.setTaskModel(getTaskModel());
-		return comp;
-	}
-
-	protected void createConfiguration(IServerWorkingCopy server) {
-		ITaskModel model = getTaskModel();
-		IRuntime runtime = (IRuntime) model.getObject(ITaskModel.TASK_RUNTIME);
-		
-		IServerType type = server.getServerType();
-		if (type.hasServerConfiguration()) {
-			server.setServerConfiguration(null);
-			IStatus status = null;
-			if (runtime != null)
-				status = runtime.validate();
-			if (status == null || status.isOK()) {
-				try {
-					IFile file = null;
-					if (ServerCore.getServerPreferences().isCreateResourcesInWorkspace())
-						file = ServerUtil.getUnusedServerConfigurationFile(WizardUtil.getServerProject(), type.getServerConfigurationType());
-					
-					/*IServerConfigurationWorkingCopy serverConfiguration = type.getServerConfigurationType().importFromRuntime(null, file, runtime, new NullProgressMonitor());
-					ServerUtil.setServerConfigurationDefaultName(serverConfiguration);*/
-					IServerConfigurationWorkingCopy serverConfiguration = getServerConfiguration(type.getServerConfigurationType(), file, runtime);
-					model.putObject(ITaskModel.TASK_SERVER_CONFIGURATION, serverConfiguration);
-					server.setServerConfiguration(serverConfiguration);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not create configuration", e);
-				}
-			}
-		}
-	}
-	
-	protected IServerConfigurationWorkingCopy getServerConfiguration(IServerConfigurationType type, IFile file, IRuntime runtime) throws CoreException {
-		Object key = type.getId() + "|" + file + "|" + runtime;
-		try {
-			IServerConfigurationWorkingCopy serverConfiguration = (IServerConfigurationWorkingCopy) configMap.get(key);
-			if (serverConfiguration != null)
-				return serverConfiguration;
-		} catch (Exception e) { }
-
-		IServerConfigurationWorkingCopy serverConfiguration = type.importFromRuntime(null, file, runtime, new NullProgressMonitor());
-		ServerUtil.setServerConfigurationDefaultName(serverConfiguration);
-		configMap.put(key, serverConfiguration);
-		return serverConfiguration;
-	}
-
-	protected IWizardFragment getWizardFragment(String typeId) {
-		try {
-			IWizardFragment fragment = (IWizardFragment) fragmentMap.get(typeId);
-			if (fragment != null)
-				return fragment;
-		} catch (Exception e) { }
-		
-		IWizardFragment fragment = ServerUICore.getWizardFragment(typeId);
-		if (fragment != null)
-			fragmentMap.put(typeId, fragment);
-		return fragment;
-	}
-	
-	public List getChildFragments() {
-		listImpl = new ArrayList();
-		createSubFragments(listImpl);
-		return listImpl;
-	}
-
-	public void createSubFragments(List list) {
-		if (getTaskModel() == null)
-			return;
-
-		Byte b = (Byte) getTaskModel().getObject(MODE);
-		if (b != null && b.byteValue() == MODE_MANUAL) {
-			IRuntime runtime = (IRuntime) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
-			if (runtime != null && runtime instanceof IRuntimeWorkingCopy) {
-				IWizardFragment sub = getWizardFragment(runtime.getRuntimeType().getId());
-				if (sub != null)
-					list.add(sub);
-			}
-			
-			IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-			if (server != null) {
-				createConfiguration(server);
-				IWizardFragment sub = getWizardFragment(server.getServerType().getId());
-				if (sub != null)
-					list.add(sub);
-			
-				IServerConfiguration serverConfiguration = server.getServerConfiguration();
-				if (serverConfiguration != null) {
-					sub = getWizardFragment(serverConfiguration.getServerConfigurationType().getId());
-					if (sub != null)
-						list.add(sub);
-				}
-			}
-			//list.add(new TasksWizardFragment());
-		} else if (b != null && b.byteValue() == MODE_EXISTING) {
-			/*if (comp != null) {
-				IServer server = comp.getServer();
-				if (server != null)
-					list.add(new TasksWizardFragment());
-			}*/
-		}
-	}
-	
-	public IServer getServer() {
-		if (comp == null)
-			return null;
-		return comp.getServer();
-	}
-
-	public boolean isPreferredServer() {
-		if (comp == null)
-			return false;
-		return comp.isPreferredServer();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ServerConfigurationWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ServerConfigurationWizardFragment.java
deleted file mode 100644
index 7210598..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ServerConfigurationWizardFragment.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.page.WizardUtil;
-import org.eclipse.wst.server.ui.wizard.IWizardFragment;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * 
- */
-public class ServerConfigurationWizardFragment extends WizardFragment {
-	public ServerConfigurationWizardFragment() { }
-
-	public boolean hasComposite() {
-		return false;
-	}
-	
-	public void enter() {
-		ITaskModel model = getTaskModel();
-		IRuntime runtime = (IRuntime) model.getObject(ITaskModel.TASK_RUNTIME);
-		IServerWorkingCopy server = (IServerWorkingCopy) model.getObject(ITaskModel.TASK_SERVER);
-		
-		IServerType type = server.getServerType();
-		if (type.hasServerConfiguration() && server.getServerConfiguration() == null) {
-			try {
-				IFile file = null;
-				if (ServerCore.getServerPreferences().isCreateResourcesInWorkspace())
-					file = ServerUtil.getUnusedServerConfigurationFile(WizardUtil.getServerProject(), type.getServerConfigurationType());
-				
-				IServerConfigurationWorkingCopy serverConfiguration = type.getServerConfigurationType().importFromRuntime(null, file, runtime, new NullProgressMonitor());
-				ServerUtil.setServerConfigurationDefaultName(serverConfiguration);
-				model.putObject(ITaskModel.TASK_SERVER_CONFIGURATION, serverConfiguration);
-				server.setServerConfiguration(serverConfiguration);
-				updateSubFragments();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create configuration", e);
-			}
-		}
-	}
-
-	public void createSubFragments(List list) {
-		IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		IServerConfiguration serverConfiguration = null;
-		if (server != null)
-			serverConfiguration = server.getServerConfiguration();
-		if (serverConfiguration != null) {
-			IWizardFragment sub = ServerUICore.getWizardFragment(serverConfiguration.getServerConfigurationType().getId());
-			if (sub != null)
-				list.add(sub);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
deleted file mode 100644
index 4ebff55..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.Task;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.page.TasksComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * 
- */
-public class TasksWizardFragment extends WizardFragment {
-	public abstract class TaskInfo implements IOrdered {
-		public IServer server;
-		public IServerConfiguration configuration;
-		public byte status;
-		
-		private static final String DEFAULT = "default:";
-		
-		public boolean isSelected() {
-			try {
-				Boolean b = (Boolean) selectedTaskMap.get(getId());
-				return b.booleanValue();
-			} catch (Exception e) {
-				// ignore
-			}
-			
-			try {
-				Boolean b = (Boolean) selectedTaskMap.get(DEFAULT + getId());
-				return b.booleanValue();
-			} catch (Exception e) {
-				// ignore
-			}
-			return false;
-		}
-		
-		public void setDefaultSelected(boolean sel) {
-			selectedTaskMap.put(DEFAULT + getId(), new Boolean(sel));
-		}
-		
-		public void setSelected(boolean sel) {
-			selectedTaskMap.put(getId(), new Boolean(sel));
-		}
-		
-		protected String getId() {
-			String id = server.getId();
-			if (configuration != null)
-				id += "|" + configuration.getId();
-			return id;
-		}
-	}
-
-	public class ServerTaskInfo extends TaskInfo {
-		public IServerTask task2;
-		public List[] parents;
-		public IModule[] modules;
-		
-		public int getOrder() {
-			return task2.getOrder();
-		}
-		
-		protected String getId() {
-			return super.getId() + "|" + task2.getId();
-		}
-	}
-	
-	public class ModuleTaskInfo extends TaskInfo {
-		public IModuleTask task2;
-		public List parents;
-		public IModule module;
-		
-		public int getOrder() {
-			return task2.getOrder();
-		}
-		
-		protected String getId() {
-			return super.getId() + "|" + task2.getId() + "|" + module.getId();
-		}
-	}
-
-	protected TasksComposite comp;
-
-	protected List tasks;
-	protected boolean hasOptionalTasks;
-	
-	//protected List selectedTasks = new ArrayList(2);
-	protected Map selectedTaskMap = new HashMap();
-	
-	public TasksWizardFragment() { }
-	
-	public void enter() {
-		updateTasks();
-	}
-	
-	public List getChildFragments() {
-		updateTasks();
-		return super.getChildFragments();
-	}
-	
-	public void setTaskModel(ITaskModel taskModel) {
-		super.setTaskModel(taskModel);
-		updateTasks();
-	}
-		
-	public void updateTasks() {
-		tasks = null;
-		if (getTaskModel() == null)
-			return;
-
-		IServer server = (IServer) getTaskModel().getObject(ITaskModel.TASK_SERVER);
-		
-		IServerConfiguration configuration = null;
-		if (server != null)
-			configuration = server.getServerConfiguration();
-		
-		List[] parents = (List[]) getTaskModel().getObject(ITaskModel.TASK_MODULE_PARENTS);
-		IModule[] modules = (IModule[]) getTaskModel().getObject(ITaskModel.TASK_MODULES);
-		
-		if (server != null && (parents == null || modules == null)) {
-			class Helper {
-				List parentList = new ArrayList();
-				List moduleList = new ArrayList();
-			}
-			final Helper help = new Helper();
-			ServerUtil.visit(server, new IModuleVisitor() {
-				public boolean visit(List parents2, IModule module2) {
-					help.parentList.add(parents2);
-					help.moduleList.add(module2);
-					return true;
-				}
-			});
-
-			int size = help.parentList.size();
-			parents = new List[size];
-			help.parentList.toArray(parents);
-			modules = new IModule[size];
-			help.moduleList.toArray(modules);
-		}
-		
-		if (server != null && parents != null || modules != null) {
-			tasks = new ArrayList();
-			createTasks(server, configuration, parents, modules);
-		}
-		
-		if (comp != null)
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					comp.setTasks(tasks);
-				}
-			});
-	}
-	
-	protected void createTasks(IServer server, IServerConfiguration configuration, List[] parents, IModule[] modules) {
-		// server tasks
-		Iterator iterator = ServerCore.getServerTasks().iterator();
-		while (iterator.hasNext()) {
-			IServerTask task = (IServerTask) iterator.next();
-			task.init(server, configuration, parents, modules);
-			byte status = task.getTaskStatus();
-			if (status != IServerTaskDelegate.TASK_UNNECESSARY) {
-				if (status == IServerTaskDelegate.TASK_READY || status == IServerTaskDelegate.TASK_PREFERRED)
-					hasOptionalTasks = true;
-				addServerTask(server, configuration, parents, modules, task);
-			}
-		}
-		
-		// module tasks
-		int size = modules.length;
-		for (int i = 0; i < size; i++) {
-			iterator = ServerCore.getModuleTasks().iterator();
-			while (iterator.hasNext()) {
-				IModuleTask task = (IModuleTask) iterator.next();
-				task.init(server, configuration, parents[i], modules[i]);
-				byte status = task.getTaskStatus();
-				if (status != IServerTaskDelegate.TASK_UNNECESSARY) {
-					if (status == IServerTaskDelegate.TASK_READY || status == IServerTaskDelegate.TASK_PREFERRED)
-						hasOptionalTasks = true;
-					addModuleTask(server, configuration, parents[i], modules[i], task);
-				}
-			}
-		}
-	}
-	
-	public void addServerTask(IServer server, IServerConfiguration configuration, List[] parents, IModule[] modules, IServerTask task2) {
-		ServerTaskInfo sti = new ServerTaskInfo();
-		sti.server = server;
-		sti.configuration = configuration;
-		sti.parents = parents;
-		sti.modules = modules;
-		sti.task2 = task2;
-		sti.status = task2.getTaskStatus();
-		if (sti.status == IModuleTaskDelegate.TASK_PREFERRED || sti.status == IModuleTaskDelegate.TASK_MANDATORY)
-			sti.setDefaultSelected(true);
-		
-		tasks.add(sti);
-	}
-	
-	public void addModuleTask(IServer server, IServerConfiguration configuration, List parents, IModule module, IModuleTask task2) {
-		ModuleTaskInfo dti = new ModuleTaskInfo();
-		dti.server = server;
-		dti.configuration = configuration;
-		dti.parents = parents;
-		dti.module = module;
-		dti.task2 = task2;
-		dti.status = task2.getTaskStatus();
-		if (dti.status == IModuleTaskDelegate.TASK_PREFERRED || dti.status == IModuleTaskDelegate.TASK_MANDATORY)
-			dti.setDefaultSelected(true);
-		tasks.add(dti);
-	}
-	
-	public boolean hasComposite() {
-		return hasTasks();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new TasksComposite(parent, wizard);
-		return comp;
-	}
-
-	public ITask createFinishTask() {
-		return new Task() {
-			public void execute(IProgressMonitor monitor) throws CoreException {
-				performFinish(monitor);
-			}
-		};
-	}
-	
-	/**
-	 * Returns the number of tasks run, or -1 if there was an error.
-	 *
-	 * @param monitor
-	 * @return int
-	 */
-	protected void performFinish(IProgressMonitor monitor) throws CoreException {
-		List performTasks = new ArrayList();
-
-		if (tasks == null)
-			return;
-		int size = tasks.size();
-		for (int i = 0; i < size; i++) {
-			TaskInfo ti = (TaskInfo) tasks.get(i);
-			if (ti.isSelected())
-				performTasks.add(tasks.get(i));
-		}
-		
-		Trace.trace(Trace.FINEST, "Performing wizard tasks: " + performTasks.size());
-		
-		if (performTasks.size() == 0)
-			return;
-		
-		// get most recent server/configuration
-		boolean createdServerWC = false;
-		boolean createdConfigWC = false;
-		ITaskModel taskModel = getTaskModel();
-		IServer server = (IServer) taskModel.getObject(ITaskModel.TASK_SERVER);
-		if (server == null)
-			return;
-		IServerConfiguration configuration = null;
-		configuration = server.getServerConfiguration();
-
-		// get working copies
-		IServerWorkingCopy serverWC = null;
-		if (server instanceof IServerWorkingCopy)
-			serverWC = (IServerWorkingCopy) server;
-		else {
-			serverWC = server.getWorkingCopy();
-			createdServerWC = true;
-		}
-		
-		IServerConfigurationWorkingCopy configWC = null;
-		if (configuration != null) {
-			if (configuration instanceof IServerConfigurationWorkingCopy)
-				configWC = (IServerConfigurationWorkingCopy) configuration;
-			else {
-				configWC = configuration.getWorkingCopy();
-				createdConfigWC = true;
-			}
-		}
-		taskModel.putObject(ITaskModel.TASK_SERVER, serverWC);
-		taskModel.putObject(ITaskModel.TASK_SERVER_CONFIGURATION, configWC);
-		
-		// begin task
-		monitor.beginTask(ServerUIPlugin.getResource("%performingTasks"), performTasks.size() * 1000);
-		
-		ServerUtil.sortOrderedList(performTasks);
-
-		Iterator iterator = performTasks.iterator();
-		while (iterator.hasNext()) {
-			IProgressMonitor subMonitor = ProgressUtil.getSubMonitorFor(monitor, 1000);
-			Object obj = iterator.next();
-			if (obj instanceof TasksWizardFragment.ServerTaskInfo) {
-				TasksWizardFragment.ServerTaskInfo sti = (TasksWizardFragment.ServerTaskInfo) obj;
-				try {
-					Trace.trace(Trace.FINER, "Executing task: " + sti.task2.getId());
-					sti.task2.setTaskModel(taskModel);
-					sti.task2.init(serverWC, configWC, sti.parents, sti.modules);
-					sti.task2.execute(subMonitor);
-				} catch (final CoreException ce) {
-					Trace.trace(Trace.SEVERE, "Error executing task " + sti.task2.getId(), ce);
-					throw ce;
-				}
-			} else if (obj instanceof ModuleTaskInfo) {
-				ModuleTaskInfo dti = (ModuleTaskInfo) obj;
-				try {
-					Trace.trace(Trace.FINER, "Executing task: " + dti.task2.getId());
-					dti.task2.setTaskModel(taskModel);
-					dti.task2.init(serverWC, configWC, dti.parents, dti.module);
-					dti.task2.execute(subMonitor);
-				} catch (final CoreException ce) {
-					Trace.trace(Trace.SEVERE, "Error executing task " + dti.task2.getId(), ce);
-					throw ce;
-				}
-			}
-			subMonitor.done();
-		}
-		
-		if (createdServerWC) {
-			if (serverWC.isDirty()) {
-				IFile file = serverWC.getFile();
-				if (file != null && !file.getProject().exists()) {
-					IProject project = file.getProject();
-					ServerCore.createServerProject(project.getName(), null, monitor);
-				}
-				taskModel.putObject(ITaskModel.TASK_SERVER, serverWC.save(monitor));
-			} else {
-				serverWC.release();
-				taskModel.putObject(ITaskModel.TASK_SERVER, serverWC.getOriginal());
-			}
-		}
-		
-		if (createdConfigWC) {
-			if (configWC.isDirty()) {
-				IFile file = configWC.getFile();
-				if (file != null && !file.getProject().exists()) {
-					IProject project = file.getProject();
-					ServerCore.createServerProject(project.getName(), null, monitor);
-				}
-				taskModel.putObject(ITaskModel.TASK_SERVER_CONFIGURATION, configWC.save(monitor));
-			} else {
-				configWC.release();
-				taskModel.putObject(ITaskModel.TASK_SERVER_CONFIGURATION, configWC.getOriginal());
-			}
-		}
-		
-		monitor.done();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean hasTasks() {
-		return tasks == null || !tasks.isEmpty();
-	}
-	
-	public boolean hasOptionalTasks() {
-		return hasOptionalTasks;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/CreateServerProjectWizardPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/CreateServerProjectWizardPage.java
deleted file mode 100644
index 79dfd5d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/CreateServerProjectWizardPage.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-/**
- * Wizard page for creating a new server project.
- */
-public class CreateServerProjectWizardPage extends WizardNewProjectCreationPage {
-	/**
-	 * WizardNewServerProjectPage constructor comment.
-	 */
-	public CreateServerProjectWizardPage() {
-		super("create server project");
-	
-		setTitle(ServerUIPlugin.getResource("%wizNewServerProjectTitle"));
-		setDescription(ServerUIPlugin.getResource("%wizNewServerProjectDescription"));
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_SERVER_PROJECT));
-	}
-	
-	/** (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-
-		Control control = getControl();
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = convertHorizontalDLUsToPixels(475);
-		control.setLayoutData(data);
-	}
-
-	/**
-	 * Creates a project resource handle for the current project name field value.
-	 * <p>
-	 * This method does not create the project resource; this is the responsibility
-	 * of <code>IProject::create</code> invoked by the new project resource wizard.
-	 * </p>
-	 *
-	 * @return the new project resource handle
-	 */
-	public IProject getProjectHandle() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectName());
-	}
-	
-	/**
-	 * Creates the server project and adds the nature.
-	 * @return boolean
-	 */
-	public boolean performFinish() {
-		final String name = getProjectName();
-		IPath path2 = null;
-		if (!useDefaults())
-			path2 = getLocationPath();
-		final IPath path = path2;
-	
-		if (name == null || name.length() == 0)
-			return false;
-	
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					IStatus status = EclipseUtil.createNewServerProject(getShell(), name, path, monitor);
-					if (!status.isOK())
-						monitor.setCanceled(true);
-					if (monitor.isCanceled())
-						throw new Exception("Creation canceled");
-				} catch (Exception e) {
-					throw new InvocationTargetException(e);
-				}
-			}
-		};
-		try {
-			getWizard().getContainer().run(true, true, runnable);
-			return true;
-		} catch (Exception e) {
-			Trace.trace("Could not create server project", e);
-			return false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ElementCreationCache.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ElementCreationCache.java
deleted file mode 100644
index ad3dc24..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ElementCreationCache.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementations
- **********************************************************************/
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationType;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * A helper class used to cache the creation of server elements.
- */
-public class ElementCreationCache {
-	protected Map elementCache;
-	protected Map taskCache;
-
-	/**
-	 * ElementCreationCache constructor comment.
-	 */
-	public ElementCreationCache() {
-		super();
-		elementCache = new HashMap();
-		taskCache = new HashMap();
-	}
-	
-	/**
-	 * Return the key to use for the given factory.
-	 *
-	 * @param factory
-	 * @return
-	 */
-	protected String getKey(IServerType type, String host) {
-		return type.getId() + "|" + host + "|";
-	}
-
-	protected String getKey(IServerConfigurationType type) {
-		return type.getId() + "|";
-	}
-
-	/**
-	 * Returns a server configuration. 
-	 *
-	 * @param type org.eclipse.wst.server.core.IServerConfigurationTpye
-	 * @return org.eclipse.wst.server.core.IServerConfigurationWorkingCopy
-	 */
-	public IServerConfigurationWorkingCopy getServerConfiguration(IServerConfigurationType type, IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		try {
-			IServerConfigurationWorkingCopy configuration = getCachedServerConfiguration(type);
-			if (configuration != null)
-				return configuration;
-		} catch (Exception e) { }
-
-		try {
-			IFile file = null;
-			if (ServerCore.getServerPreferences().isCreateResourcesInWorkspace())
-				file = ServerUtil.getUnusedServerConfigurationFile(WizardUtil.getServerProject(), type);
-			
-			IServerConfigurationWorkingCopy configuration = type.createServerConfiguration(null, file, monitor);
-			if (runtime != null)
-				elementCache.put(getKey(type) + runtime.getId(), configuration);
-			return configuration;
-		} catch (CoreException ce) {
-			throw ce;
-		}
-	}
-
-	/**
-	 * Returns a server. 
-	 *
-	 * @param type org.eclipse.wst.server.core.IServerType
-	 * @return org.eclipse.wst.server.core.IServerWorkingCopy
-	 */
-	public IServerWorkingCopy getServer(IServerType type, String host, IProgressMonitor monitor) throws CoreException {
-		try {
-			IServerWorkingCopy server = getCachedServer(type, host);
-			if (server != null)
-				return server;
-		} catch (Exception e) { }
-	
-		try {
-			IFile file = null;
-			if (ServerCore.getServerPreferences().isCreateResourcesInWorkspace())
-				file = ServerUtil.getUnusedServerFile(WizardUtil.getServerProject(), type);
-			
-			IServerWorkingCopy server = type.createServer(null, file, (IRuntime)null);
-			elementCache.put(getKey(type, host), server);
-			return server;
-		} catch (CoreException ce) {
-			throw ce;
-		}
-	}
-
-	/**
-	 * Returns a cached server resource. 
-	 *
-	 * @param factory org.eclipse.wst.server.core.model.IServerFactory
-	 * @return org.eclipse.wst.server.core.model.IServerResource
-	 */
-	public IServerWorkingCopy getCachedServer(IServerType type, String host) {
-		try {
-			IServerWorkingCopy server = (IServerWorkingCopy) elementCache.get(getKey(type, host));
-			if (server != null)
-				return server;
-		} catch (Exception e) { }
-
-		return null;
-	}
-	
-	/**
-	 * Returns a cached server resource. 
-	 *
-	 * @param factory org.eclipse.wst.server.core.model.IServerFactory
-	 * @return org.eclipse.wst.server.core.model.IServerResource
-	 */
-	public IServerConfigurationWorkingCopy getCachedServerConfiguration(IServerConfigurationType type) {
-		try {
-			IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) elementCache.get(getKey(type));
-			if (wc != null)
-				return wc;
-		} catch (Exception e) { }
-
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java
deleted file mode 100644
index 47dabd5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-//import java.util.ArrayList;
-//import java.util.List;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-/**
- * 
- */
-public class FixedTableLayout extends Layout {
-	//private List columns = new ArrayList();
-	
-	/*public void addColumnData(Integer data) {
-		columns.add(data);
-	}*/
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		Table table = (Table) composite;
-		Point result = table.computeSize(wHint, hHint, flushCache);
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean)
-	 */
-	protected void layout(Composite composite, boolean flushCache) {
-		Table table = (Table) composite;
-		TableColumn[] tableColumns = table.getColumns();
-		int width = table.getClientArea().width - 10;
-		
-		tableColumns[0].setWidth(width);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java
deleted file mode 100644
index e4f8a62..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.ServerUIPreferences;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-/**
- * A composite used to select a hostname.
- */
-public class HostnameComposite extends Composite {
-	private static final String LOCALHOST = "localhost";
-	protected String host;
-	protected IHostnameSelectionListener listener;
-	
-	protected Combo combo;
-	
-	public interface IHostnameSelectionListener {
-		public void hostnameSelected(String host);
-	}
-
-	/**
-	 * Create a new HostComposite.
-	 */
-	public HostnameComposite(Composite parent, IHostnameSelectionListener listener2) {
-		super(parent, SWT.NONE);
-		this.listener = listener2;
-		
-		createControl();
-	}
-
-	protected Label createHeadingLabel(Composite parent, String text, int span) {
-		Label label = createLabel(parent, text, span, true, false);
-		label.setFont(JFaceResources.getBannerFont());
-		return label;
-	}
-
-	protected Label createLabel(Composite parent, String text, int span, boolean alignTop, boolean indent) {
-		Label label = new Label(parent, SWT.WRAP);
-		label.setText(text);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		if (alignTop)
-			data.verticalAlignment = GridData.BEGINNING;
-		data.horizontalSpan = span;
-		if (indent)
-			data.horizontalIndent = 10;
-		label.setLayoutData(data);
-		return label;
-	}
-	
-	protected Combo createCombo(Composite parent, String[] items, String text2, int span) {
-		Combo combo2 = new Combo(parent, SWT.DROP_DOWN);
-		combo2.setItems(items);
-		combo2.setText(text2);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		data.horizontalSpan = span;
-		combo2.setLayoutData(data);
-		return combo2;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 *
-	 * @param org.eclipse.swt.widgets.Composite parent
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 3;
-		setLayout(layout);
-		//WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-	
-		createHeadingLabel(this, ServerUIPlugin.getResource("%hostnameTitle"), 3);
-
-		createLabel(this, ServerUIPlugin.getResource("%hostname"), 1, false, true);
-		
-		List hosts = ((ServerUIPreferences)ServerUICore.getPreferences()).getHostnames();
-		String[] s = new String[hosts.size()];
-		hosts.toArray(s);
-		combo = createCombo(this, s, LOCALHOST, 2);
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				hostnameChanged(combo.getText());
-			}
-		});
-		combo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				Point p = combo.getSelection();
-				hostnameChanged(combo.getText());
-				combo.setSelection(p);
-			}
-		});
-	
-		Dialog.applyDialogFont(this);
-	}
-
-	protected void hostnameChanged(String newHost) {
-		if (newHost == null)
-			return;
-		
-		if (newHost.equals(host))
-			return;
-
-		host = newHost;
-		listener.hostnameSelected(host);
-	}
-
-	public String getHostname() {
-		return host;
-	}
-
-	public void setHostname(String hostname) {
-		combo.setText(hostname);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ImportConfigurationWizardPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ImportConfigurationWizardPage.java
deleted file mode 100644
index 56ffa24..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ImportConfigurationWizardPage.java
+++ /dev/null
@@ -1,533 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationType;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.viewers.ServerConfigurationTypeComposite;
-
-/**
- * Wizard page to import a configuration.
- */
-public class ImportConfigurationWizardPage extends WizardPage {
-	protected IServerConfigurationType selectedConfigType;
-	protected IServerConfigurationWorkingCopy configuration;
-	protected Combo serverProject;
-	protected Button create;
-	protected Text name;
-	protected Text filename;
-	protected ServerConfigurationTypeComposite configTypeComposite;
-	private Label description;
-	protected Button browse;
-	private IContainer defaultContainer;
-	
-	private String[] validationErrors = new String[5];
-	private static final int INVALID_NAME = 0;
-	private static final int INVALID_FOLDER = 1;
-	private static final int INVALID_TYPE = 2;
-	private static final int INVALID_FILENAME = 3;
-	private static final int INVALID_IMPORT = 4;
-	
-	protected LoadThread thread;
-	protected boolean threadDone;
-
-	class LoadThread extends Thread {
-		final int DELAY = 800;
-		String filename2;
-		IFile file;
-		public void run() {
-			boolean b = true;
-			while (b) {
-				try {
-					sleep(DELAY);
-					b = false;
-					thread = null;
-				} catch (InterruptedException ie) { }
-			}
-			try {
-				performLoadConfiguration(file, filename2);
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						validatePage(INVALID_IMPORT);
-					}
-				});
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error importing configuration", e);
-			}
-			threadDone = true;
-		}
-	}
-
-	/**
-	 * ImportConfigurationWizardPage constructor comment.
-	 */
-	public ImportConfigurationWizardPage() {
-		super("import configuration");
-	
-		setTitle(ServerUIPlugin.getResource("%wizImportConfigurationTitle"));
-		setDescription(ServerUIPlugin.getResource("%wizImportConfigurationDescription"));
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_IMPORT_SERVER_CONFIGURATION));
-	}
-	
-	/**
-	 * Creates the UI part of the page. Subclasses must reimplement 
-	 * this method to provide their own graphical page content.
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-	
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = convertHorizontalDLUsToPixels(5);
-		layout.marginHeight = convertVerticalDLUsToPixels(5);
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = convertHorizontalDLUsToPixels(500);
-		data.heightHint = convertVerticalDLUsToPixels(470);
-		WorkbenchHelp.setHelp(composite, ContextIds.IMPORT_CONFIGURATION_WIZARD);
-	
-		new Label(composite, SWT.NONE).setText(ServerUIPlugin.getResource("%serverEditorOverviewServerConfigurationName"));
-	
-		name = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		name.setLayoutData(data);
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent me) {
-				validateName();
-				validatePage(INVALID_NAME);
-			}
-		});
-		name.addFocusListener(new FocusAdapter() {
-			public void focusGained(FocusEvent e) {
-				 validatePage(INVALID_NAME);
-			}
-		});
-		WorkbenchHelp.setHelp(name, ContextIds.IMPORT_CONFIGURATION_NAME);
-	
-		// choose a server project
-		new Label(composite, SWT.NONE).setText(ServerUIPlugin.getResource("%wizFolder"));
-		serverProject = new Combo(composite, SWT.BORDER);
-		WizardUtil.fillComboWithServerProjectFolders(serverProject);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		serverProject.setLayoutData(data);
-		if (defaultContainer != null)
-			serverProject.setText(WizardUtil.getContainerText(defaultContainer));
-		else if (serverProject.getItemCount() == 0)
-			serverProject.setText(ServerPlugin.getResource("%defaultServerProjectName", ""));
-	
-		serverProject.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent me) {
-				validateName();
-				validateFolder();
-				validatePage(INVALID_FOLDER);
-			}
-		});
-		serverProject.addFocusListener(new FocusAdapter() {
-			public void focusGained(FocusEvent e) {
-				 validatePage(INVALID_FOLDER);
-			}
-		});
-		WorkbenchHelp.setHelp(serverProject, ContextIds.IMPORT_CONFIGURATION_FOLDER);
-	
-		configTypeComposite = new ServerConfigurationTypeComposite(composite, SWT.NONE, new ServerConfigurationTypeComposite.ServerConfigurationTypeSelectionListener() {
-			public void configurationTypeSelected(IServerConfigurationType type) {
-				handleFactorySelection(type);
-				validateName();
-				validatePage(INVALID_TYPE);
-			}
-		});
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.heightHint = 130;
-		data.horizontalSpan = 3;
-		configTypeComposite.setLayoutData(data);
-		WorkbenchHelp.setHelp(configTypeComposite, ContextIds.IMPORT_CONFIGURATION_FACTORY);
-	
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%wizDescription"));
-		data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		label.setLayoutData(data);
-	
-		description = new Label(composite, SWT.WRAP);
-		description.setText("");
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.heightHint = 58;
-		data.horizontalSpan = 2;
-		description.setLayoutData(data);
-	
-		label = new Label(composite, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%wizImportConfigurationLocation"));
-	
-		filename = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 300;
-		filename.setLayoutData(data);
-		filename.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent me) {
-				handleFileSelection();
-				validatePage(INVALID_TYPE);
-			}
-		});
-		WorkbenchHelp.setHelp(filename, ContextIds.IMPORT_CONFIGURATION_LOCATION);
-	
-		browse = SWTUtil.createButton(composite, ServerUIPlugin.getResource("%wizBrowse")); 
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (selectedConfigType == null)
-					return;
-				String[] filter = selectedConfigType.getImportFilterExtensions();
-				if (filter != null) {
-					int size = filter.length;
-					String[] s = new String[size];
-					for (int i = 0; i < size; i++) {
-						if (!filter[i].startsWith("*."))
-							s[i] = "*." + filter[i];
-						else
-							s[i] = filter[i];
-					}
-					FileDialog dialog = new FileDialog(getShell());
-					dialog.setText(ServerUIPlugin.getResource("%wizImportConfigurationFile"));
-					dialog.setFilterPath(filename.getText());
-					dialog.setFilterExtensions(s);
-					String selectedFile = dialog.open();
-					if (selectedFile != null)
-						filename.setText(selectedFile);
-				} else {
-					DirectoryDialog dialog = new DirectoryDialog(getShell());
-					dialog.setMessage(ServerUIPlugin.getResource("%wizImportConfigurationDirectory"));
-					dialog.setFilterPath(filename.getText());
-					String selectedDirectory = dialog.open();
-					if (selectedDirectory != null)
-						filename.setText(selectedDirectory);
-				}
-			}
-		});
-		browse.setEnabled(false);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		//data.widthHint = 75;
-		data.heightHint = 22;
-		browse.setLayoutData(data);
-		WorkbenchHelp.setHelp(browse, ContextIds.IMPORT_CONFIGURATION_LOCATION_BROWSE);
-	
-		//fillFactoryTree();
-		validationErrors[INVALID_TYPE] = "";
-		validationErrors[INVALID_FILENAME] = "";
-		
-		ServerUIPreferences sp = (ServerUIPreferences) ServerUICore.getPreferences();
-		if (sp.getImportLocation() != null) {
-			filename.setText(sp.getImportLocation());
-			handleFileSelection();
-			validatePage(INVALID_TYPE);
-		}
-	
-		setControl(composite);
-		Dialog.applyDialogFont(composite);
-	}
-	
-	protected void loadConfiguration() {
-		if (thread != null) {
-			try {
-				thread.interrupt();
-				thread.filename2 = filename.getText();
-				IFile file = null;
-				String theName = name.getText();
-				if (theName != null && !theName.endsWith(IServerConfiguration.FILE_EXTENSION))
-					theName += "." + IServerConfiguration.FILE_EXTENSION;
-				String projectName = serverProject.getText();
-				if (!"metadata".equals(projectName))
-					file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(projectName).append(theName));
-				thread.file = file;
-			} catch (Exception e) { }
-		} else {
-			// try to avoid multiple threads
-			if (!threadDone) {
-				try {
-					Thread.sleep(200);
-				} catch (Exception e) { }
-			}
-			if (validationErrors[INVALID_TYPE] != null || validationErrors[INVALID_FILENAME] != null)
-				return;
-			thread = new LoadThread();
-			thread.filename2 = filename.getText();
-			IFile file = null;
-			String theName = name.getText();
-			if (theName != null && !theName.endsWith(IServerConfiguration.FILE_EXTENSION))
-				theName += "." + IServerConfiguration.FILE_EXTENSION;
-			String projectName = serverProject.getText();
-			if (!"metadata".equals(projectName))
-				file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(projectName).append(theName));
-			thread.file = file;
-			getContainer().updateButtons();
-			threadDone = false;
-			thread.start();
-		}
-	}
-	
-	/**
-	 * Handle the server factory selection.
-	 */
-	protected void handleFactorySelection(IServerConfigurationType type) {
-		validationErrors[INVALID_IMPORT] = null;
-		configuration = null;
-		selectedConfigType = type;
-	
-		validationErrors[INVALID_TYPE] = null;
-		
-		if (selectedConfigType == null) {
-			browse.setEnabled(false);
-			description.setText("");
-			return;
-		}
-	
-		try {
-			String text = selectedConfigType.getDescription();
-			if (text == null)
-				text = "";
-			description.setText(text);
-			browse.setEnabled(true);
-			
-			loadConfiguration();
-		} catch (Exception e) {
-			validationErrors[INVALID_TYPE] = ServerUIPlugin.getResource("%wizErrorImport");
-			Trace.trace(Trace.SEVERE, "Could not import from " + filename.getText(), e);
-		}
-	}
-	
-	protected void handleFileSelection() {
-		validationErrors[INVALID_IMPORT] = null;
-		String text = filename.getText();
-		if (text == null || text.length() == 0)
-			validationErrors[INVALID_FILENAME] = "";
-		else {
-			validationErrors[INVALID_FILENAME] = null;
-			loadConfiguration();
-		}
-	}
-	
-	protected void performLoadConfiguration(IFile file, String filename2) {
-		try {
-			try {
-				configuration = selectedConfigType.importFromPath(null, file, new Path(filename2), new NullProgressMonitor());
-				if (configuration == null)
-					validationErrors[INVALID_IMPORT] = ServerUIPlugin.getResource("%wizErrorImport");
-				else
-					validationErrors[INVALID_IMPORT] = null;
-			} catch (CoreException ce) {
-				IStatus status = ce.getStatus();
-				if (status != null && status.getMessage() != null && status.getMessage().length() > 1)
-					validationErrors[INVALID_IMPORT] = ce.getStatus().getMessage();
-				else
-					validationErrors[INVALID_IMPORT] = ServerUIPlugin.getResource("%wizErrorImport");
-			}
-		} catch (Exception e) {
-			validationErrors[INVALID_IMPORT] = ServerUIPlugin.getResource("%wizErrorImport");
-			Trace.trace(Trace.SEVERE, "Could not import from " + filename, e);
-		}
-	}
-	
-	/**
-	 * Return true if this page is complete.
-	 * @return boolean
-	 */
-	public boolean isPageComplete() {
-		// check for validation first
-		for (int i = 0; i < validationErrors.length; i++) {
-			if (validationErrors[i] != null)
-				return false;
-		}
-	
-		if (configuration == null)
-			return false;
-			
-		if (thread != null)
-			return false;
-	
-		// otherwise, defer to superclass
-		return super.isPageComplete();
-	}
-	
-	/**
-	 * Finish the wizard by saving the configuration into
-	 * the selected folder.
-	 * @return boolean
-	 */
-	public boolean performFinish() {
-		if (configuration == null)
-			return false;
-			
-		ServerUIPreferences sp = (ServerUIPreferences) ServerUICore.getPreferences();
-		sp.setImportLocation(filename.getText());
-	
-		try {
-			final String theName = name.getText();
-			IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					saveConfiguration(configuration, theName, new NullProgressMonitor());
-				}
-			};
-			
-			getWizard().getContainer().run(true, true, new WorkspaceRunnableAdapter(runnable));
-
-			return true;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error saving imported configuration", e);
-			return false;
-		}
-	}
-	
-	/**
-	 * Save the element to the given file name.
-	 * @param element org.eclipse.wst.server.core.model.IServerResource
-	 * @param name java.lang.String
-	 * @param org.eclipse.core.runtime.IProgressMonitor monitor
-	 */
-	protected void saveConfiguration(IServerConfigurationWorkingCopy config, String theName, IProgressMonitor monitor) throws CoreException {
-		// save the element
-		try {
-			IFile file = config.getFile();
-			if (file != null && !file.getProject().exists()) {
-				IProject project = file.getProject();
-				ServerCore.createServerProject(project.getName(), null, monitor);
-			}
-			config.setName(theName);
-			config.save(monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error saving created element", e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, "Could not create server project", null));
-		}
-	}
-	
-	/**
-	 * Sets the default container.
-	 * @param org.eclipse.core.resources.IContainer
-	 */
-	public void setDefaultContainer(IContainer container) {
-		defaultContainer = container;
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-	
-		if (visible) {
-			// force the focus to initially validate the fields
-			validateName();
-			validateFolder();
-			handleFactorySelection(null);
-			validatePage(INVALID_NAME);
-	
-			name.forceFocus();
-		}
-	}
-	
-	/**
-	 * Validates the folder.
-	 */
-	protected void validateFolder() {
-		String text = serverProject.getText();
-		if (text == null || text.length() == 0) {
-			validationErrors[INVALID_FOLDER] = "";
-			return;
-		}
-	
-		validationErrors[INVALID_FOLDER] = WizardUtil.validateContainer(text);
-	}
-	
-	/**
-	 * Validates the name.
-	 */
-	protected void validateName() {
-		String text = name.getText();
-		if (text == null || text.length() == 0) {
-			validationErrors[INVALID_NAME] = "";
-			return;
-		}
-	
-		IStatus status = ResourcesPlugin.getWorkspace().validateName(text, IResource.FILE);
-		if (status.isOK())
-			status = ResourcesPlugin.getWorkspace().validateName(text, IResource.FOLDER);
-		
-		if (!status.isOK())
-			validationErrors[INVALID_NAME] = status.getMessage();
-		else {
-			// check if file exists
-			String fileName = text;
-			if (selectedConfigType != null) {
-				String ext = IServerConfiguration.FILE_EXTENSION;
-				if (ext != null && !fileName.endsWith("." + ext))
-					fileName += "." + ext;
-			}
-		
-			IContainer container = WizardUtil.findContainer(serverProject.getText());
-			if (container != null && container.getLocation().append(fileName).toFile().exists()) {
-				validationErrors[INVALID_NAME] = ServerUIPlugin.getResource("%wizErrorResourceAlreadyExists");
-			} else
-				validationErrors[INVALID_NAME] = null;
-		}
-	}
-	
-	/**
-	 * Display the correct error message and enable/disable
-	 * the Finish or Next button.
-	 * @param x the current control (error message gets precedence)
-	 */
-	protected void validatePage(int x) {
-		if (x >= 0 && validationErrors[x] != null && validationErrors[x].length() > 0) {
-			setErrorMessage(validationErrors[x]);
-			getContainer().updateButtons();
-			return;
-		}
-		int size = validationErrors.length;
-		for (int i = 0; i < size; i++) {
-			if (validationErrors[i] != null && validationErrors[i].length() > 0) {
-				setErrorMessage(validationErrors[i]);
-				getContainer().updateButtons();
-				return;
-			}
-		}
-		setErrorMessage(null);
-		getContainer().updateButtons();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
deleted file mode 100644
index f308243..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-/**
- * A wizard page used to add and remove modules.
- */
-public class ModifyModulesComposite extends Composite {
-	protected static final ILabelProvider slp = ServerUICore.getLabelProvider();
-	
-	protected IWizardHandle wizard;
-	
-	protected IServer server;
-	protected boolean disabled = false;
-
-	protected Map childModuleMap = new HashMap();
-	protected Map parentTreeItemMap = new HashMap();
-
-	// original modules on the server
-	protected List originalModules = new ArrayList();
-	
-	// modules available to be added to the server
-	protected List modules = new ArrayList();
-	
-	// current modules on the server
-	protected List deployed = new ArrayList();
-
-	protected Tree availableTree;
-	protected Tree deployedTree;
-	
-	protected Button add, addAll;
-	protected Button remove, removeAll;
-	
-	protected ITaskModel taskModel;
-	protected IModule newModule;
-	protected IModule origNewModule;
-	
-	protected Map errorMap;
-
-	/**
-	 * Create a new ModifyModulesComposite.
-	 */
-	public ModifyModulesComposite(Composite parent, IWizardHandle wizard, IModule module) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		origNewModule = module;
-			
-		wizard.setTitle(ServerUIPlugin.getResource("%wizModuleTitle"));
-		wizard.setDescription(ServerUIPlugin.getResource("%wizModuleDescription"));
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER));
-		
-		createControl();
-	}
-	
-	public void setServer(IServer server) {
-		if (server == this.server)
-			return;
-
-		this.server = server;
-		originalModules = new ArrayList();
-		deployed = new ArrayList();
-		modules = new ArrayList();
-		
-		childModuleMap = new HashMap();
-		
-		if (server == null)
-			return;
-
-		// get currently deployed modules
-		IModule[] currentModules = server.getModules();
-		if (currentModules != null) {
-			int size = currentModules.length;
-			for (int i = 0; i < size; i++) {
-				originalModules.add(currentModules[i]);
-				deployed.add(currentModules[i]);
-			}
-		}
-		
-		// add new module
-		newModule = null;
-		if (origNewModule != null) {
-			try {
-				List parents = server.getParentModules(origNewModule);
-				if (parents != null && parents.size() > 0)
-					newModule = (IModule) parents.get(0);
-				else
-					newModule = origNewModule;
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not find parent module", e);
-				newModule = null;
-			}
-		}
-		if (newModule != null && !deployed.contains(newModule))
-			deployed.add(newModule);
-
-		// get remaining modules
-		errorMap = new HashMap();
-		Iterator iterator = ServerUtil.getModules().iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (!deployed.contains(module)) {
-				try {
-					List parents = server.getParentModules(module);
-					if (parents != null && parents.contains(module)) {
-						IStatus status = server.canModifyModules(new IModule[] { module }, null);
-						if (status != null && !status.isOK())
-							errorMap.put(module, status);
-						modules.add(module);
-					}
-				} catch (CoreException ce) {
-					errorMap.put(module, ce.getStatus());
-					modules.add(module);
-				}
-			}
-		}
-
-		// build child map
-		iterator = deployed.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			try {
-				List children = server.getChildModules(module);
-				childModuleMap.put(module, children);
-			} catch (Exception e) { }
-		}
-
-		iterator = modules.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			try {
-				List children = server.getChildModules(module);
-				childModuleMap.put(module, children);
-			} catch (Exception e) { }
-		}
-		
-		boolean dirty = false;
-		if (server instanceof IServerWorkingCopy) {
-			IServerWorkingCopy wc = (IServerWorkingCopy) server;
-			IServer server2 = wc.getOriginal();
-			if (server2 != null)
-				dirty = server2.isAWorkingCopyDirty();
-		} else
-			dirty = server.isAWorkingCopyDirty();
-		
-		if (dirty) {
-			wizard.setMessage(ServerUIPlugin.getResource("%errorCloseEditor", server.getName()), IMessageProvider.ERROR);
-			disabled = true;
-		}
-		
-		if (availableTree != null)
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					try { // update trees if we can
-						parentTreeItemMap = new HashMap();
-						fillTree(availableTree, modules);
-						fillTree(deployedTree, deployed);
-						setEnablement();
-					} catch (Exception e) { }
-				}
-			});
-		updateTaskModel();
-	}
-	
-	public void setTaskModel(ITaskModel model) {
-		this.taskModel = model;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 *
-	 * @param org.eclipse.swt.widgets.Composite parent
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 3;
-		setLayout(layout);
-		setFont(getParent().getFont());
-		WorkbenchHelp.setHelp(this, ContextIds.MODIFY_MODULES_COMPOSITE);
-
-		Label label = new Label(this, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-		label.setText(ServerUIPlugin.getResource("%wizModuleMessage"));
-
-		label = new Label(this, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%wizModuleAvailableList"));
-		
-		label = new Label(this, SWT.NONE);
-		label.setText("");
-		
-		label = new Label(this, SWT.NONE);
-		label.setText(ServerUIPlugin.getResource("%wizModuleDeployedList"));
-
-		availableTree = new Tree(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = 200;
-		data.widthHint = 150;
-		availableTree.setLayoutData(data);
-		availableTree.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				setEnablement();
-			}
-		});
-
-		// slosh buttons
-		Composite comp = new Composite(this, SWT.NONE);
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 120;
-		comp.setLayoutData(data);
-
-		layout = new GridLayout();
-		layout.marginWidth = 5;
-		layout.marginHeight = 25;
-		layout.verticalSpacing = 20;
-		comp.setLayout(layout);
-
-		add = new Button(comp, SWT.PUSH);
-		add.setText(ServerUIPlugin.getResource("%wizModuleAdd"));
-		add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				add(false);
-			}
-		});
-		
-		remove = new Button(comp, SWT.PUSH);
-		remove.setText(ServerUIPlugin.getResource("%wizModuleRemove"));
-		remove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				remove(false);
-			}
-		});
-		
-		label = new Label(comp, SWT.NONE);
-		label.setText("");
-		
-		addAll = new Button(comp, SWT.PUSH);
-		addAll.setText(ServerUIPlugin.getResource("%wizModuleAddAll"));
-		addAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		addAll.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				add(true);
-			}
-		});
-		
-		removeAll = new Button(comp, SWT.PUSH);
-		removeAll.setText(ServerUIPlugin.getResource("%wizModuleRemoveAll"));
-		removeAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		removeAll.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				remove(true);
-			}
-		});
-		
-		deployedTree = new Tree(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 150;
-		deployedTree.setLayoutData(data);
-		deployedTree.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				setEnablement();
-			}
-		});
-		
-		parentTreeItemMap = new HashMap();
-		fillTree(availableTree, modules);
-		fillTree(deployedTree, deployed);
-		
-		setEnablement();
-		
-		availableTree.setFocus();
-		
-		Dialog.applyDialogFont(this);
-	}
-	
-	protected void setEnablement() {
-		if (disabled) {
-			add.setEnabled(false);
-			addAll.setEnabled(false);
-			remove.setEnabled(false);
-			removeAll.setEnabled(false);
-			return;
-		}
-
-		boolean enabled = false;
-		wizard.setMessage(null, IMessageProvider.NONE);
-		if (availableTree.getItemCount() > 0) {
-			try {
-				TreeItem item = availableTree.getSelection()[0];
-				item = (TreeItem) parentTreeItemMap.get(item);
-				IModule module = (IModule) item.getData();
-				
-				IStatus status = (IStatus) errorMap.get(module);
-				if (modules.contains(module)) {
-					if (status == null)
-						enabled = true;
-					else if (status.getSeverity() == IStatus.ERROR)
-						wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-					else if (status.getSeverity() == IStatus.WARNING)
-						wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-					else if (status.getSeverity() == IStatus.INFO)
-						wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-				}
-			} catch (Exception e) { }
-		}
-		add.setEnabled(enabled);
-		addAll.setEnabled(availableTree.getItemCount() > 0);
-		
-		enabled = false;
-		if (deployedTree.getItemCount() > 0) {
-			try {
-				TreeItem item = deployedTree.getSelection()[0];
-				item = (TreeItem) parentTreeItemMap.get(item);
-				IModule module = (IModule) item.getData();
-				if (deployed.contains(module) && !module.equals(newModule))
-					enabled = true;
-			} catch (Exception e) { }
-		}
-		remove.setEnabled(enabled);
-		if (newModule == null)
-			removeAll.setEnabled(deployedTree.getItemCount() > 0);
-		else
-			removeAll.setEnabled(deployedTree.getItemCount() > 1);
-	}
-
-	protected void addChildren(TreeItem item, IModule module) {
-		try {
-			List children = (List) childModuleMap.get(module);
-			Iterator iterator = children.iterator();
-			while (iterator.hasNext()) {
-				IModule child = (IModule) iterator.next();
-				TreeItem childItem = new TreeItem(item, SWT.NONE);
-				childItem.setText(slp.getText(child));
-				childItem.setImage(slp.getImage(child));
-				childItem.setData(child);
-				parentTreeItemMap.put(childItem, item);
-				addChildren(childItem, child);
-			}
-		} catch (Exception e) { }
-	}
-
-	protected void fillTree(Tree tree, List modules2) {
-		tree.removeAll();
-
-		Iterator iterator = modules2.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			TreeItem item = new TreeItem(tree, SWT.NONE);
-			item.setText(slp.getText(module));
-			item.setImage(slp.getImage(module));
-			item.setData(module);
-			parentTreeItemMap.put(item, item);
-			addChildren(item, module);
-		}
-	}
-
-	protected void add(boolean all) {
-		if (all)
-			moveAll(availableTree.getItems(), true);
-		else
-			moveAll(availableTree.getSelection(), true);
-		updateTaskModel();
-	}
-
-	protected void remove(boolean all) {
-		if (all)
-			moveAll(deployedTree.getItems(), false);
-		else
-			moveAll(deployedTree.getSelection(), false);
-		updateTaskModel();
-	}
-
-	protected void moveAll(TreeItem[] items, boolean add2) {
-		int size = items.length;
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			TreeItem item = (TreeItem) parentTreeItemMap.get(items[i]);
-			IModule module = (IModule) item.getData();
-			
-			if (!list.contains(module))
-				list.add(module);
-		}
-
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (add2) {
-				modules.remove(module);
-				deployed.add(module);
-			} else {
-				modules.add(module);
-				deployed.remove(module);
-			}
-		}
-
-		parentTreeItemMap = new HashMap();
-		fillTree(availableTree, modules);
-		fillTree(deployedTree, deployed);
-
-		setEnablement();
-	}
-	
-	protected void updateTaskModel() {
-		if (taskModel == null)
-			return;
-
-		ModuleMap map = getModuleMap();
-		int size = map.parentList.size();
-		List[] parents = new List[size];
-		map.parentList.toArray(parents);
-	
-		size = map.parentList.size();
-		IModule[] modules2 = new IModule[size];
-		map.moduleList.toArray(modules2);
-		
-		taskModel.putObject(ITaskModel.TASK_MODULE_PARENTS, parents);
-		taskModel.putObject(ITaskModel.TASK_MODULES, modules2);
-		wizard.update();
-	}
-
-	/**
-	 * Return true if this page is complete.
-	 * @return boolean
-	 */
-	public boolean isPageComplete() {
-		return (!disabled);
-	}
-	
-	public List getModulesToRemove() {
-		List list = new ArrayList();
-		Iterator iterator = originalModules.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (!deployed.contains(module))
-				list.add(module);
-		}
-		return list;
-	}
-	
-	public List getModulesToAdd() {
-		List list = new ArrayList();
-		Iterator iterator = deployed.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (!originalModules.contains(module))
-				list.add(module);
-		}
-		return list;
-	}
-	
-	public class ModuleMap {
-		public List parentList = new ArrayList();
-		public List moduleList = new ArrayList();
-	}
-	
-	private void addChildMap(ModuleMap help, List parents, List children) {
-		if (children == null)
-			return;
-		Iterator iterator = children.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			help.parentList.add(parents);
-			help.moduleList.add(module);
-			List children2 = (List) childModuleMap.get(module);
-			if (children2 != null) {
-				List parents2 = new ArrayList();
-				parents2.addAll(parents);
-				parents2.add(module);
-				addChildMap(help, parents2, children2);
-			}
-		}
-	}
-
-	public ModuleMap getModuleMap() {
-		final ModuleMap help = new ModuleMap();
-	
-		Iterator iterator = deployed.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			help.parentList.add(null);
-			help.moduleList.add(module);
-			List children = (List) childModuleMap.get(module);
-			if (children != null) {
-				List parents = new ArrayList();
-				parents.add(module);
-				addChildMap(help, parents, children);
-			}
-		}
-		
-		return help;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java
deleted file mode 100644
index efcdc0d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * A wizard page used to select a server client.
- */
-public class NewDetectServerComposite extends Composite {
-	protected String host;
-	
-	protected IServerWorkingCopy server;
-	protected IServerSelectionListener listener;
-	
-	protected List servers = new ArrayList();
-	
-	protected Button detect;
-	protected Table table;
-	protected TableViewer tableViewer;
-	protected Label hostLabel;
-
-	public interface IServerSelectionListener {
-		public void serverSelected(IServer server);
-	}
-	
-	public class ServerContentProvider implements IStructuredContentProvider {
-		public void dispose() { }
-
-		public Object[] getElements(Object inputElement) {
-			return servers.toArray();
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-	}
-	
-	public class ServerLabelProvider implements ITableLabelProvider {
-		public void addListener(ILabelProviderListener listener2) { }
-
-		public void dispose() { }
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			IServer server2 = (IServer) element;
-			if (columnIndex == 0)
-				return server2.getName();
-			else if (columnIndex == 0)
-				return "n/a";
-			return null;
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void removeListener(ILabelProviderListener listener2) { }
-	}
-
-	/**
-	 * Create a new NewDetectServerComposite.
-	 */
-	public NewDetectServerComposite(Composite parent, IServerSelectionListener listener2) {
-		super(parent, SWT.NONE);
-		this.listener = listener2;
-
-		createControl();
-	}
-	
-	protected Label createHeadingLabel(Composite parent, String text, int span) {
-		Label label = createLabel(parent, text, span, true, false);
-		label.setFont(JFaceResources.getBannerFont());
-		return label;
-	}
-	
-	protected Label createLabel(Composite parent, String text, int span, boolean alignTop, boolean indent) {
-		Label label = new Label(parent, SWT.WRAP);
-		label.setText(text);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		if (alignTop)
-			data.verticalAlignment = GridData.BEGINNING;
-		data.horizontalSpan = span;
-		if (indent)
-			data.horizontalIndent = 10;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 *
-	 * @param org.eclipse.swt.widgets.Composite parent
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		setLayout(layout);
-		//WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-	
-		createHeadingLabel(this, "Select the Server", 2);
-		
-		table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		data.heightHint = 60;
-		data.widthHint = 50;
-		data.horizontalSpan = 2;
-		data.horizontalIndent = 10;
-		table.setLayoutData(data);
-		
-		TableLayout tableLayout = new TableLayout();
-		table.setHeaderVisible(true);
-
-		tableLayout.addColumnData(new ColumnWeightData(50, 100, true));
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setText("Server");
-		
-		tableLayout.addColumnData(new ColumnWeightData(40, 80, true));
-		TableColumn col2 = new TableColumn(table, SWT.NONE);
-		col2.setText("Status");
-		
-		table.setLayout(tableLayout);
-		
-		tableViewer = new TableViewer(table);
-		tableViewer.setContentProvider(new ServerContentProvider());
-		tableViewer.setLabelProvider(new ServerLabelProvider());
-		tableViewer.setColumnProperties(new String[] {"name", "status"});
-		tableViewer.setInput("root");
-		
-		String date = "<now>";
-		hostLabel = createLabel(this, "Last detected servers on " + host + " at " + date + ":", 1, false, true);
-		
-		detect = SWTUtil.createButton(this, "Refresh");
-		detect.setEnabled(false);
-		data = (GridData) detect.getLayoutData();
-		data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
-
-		// listeners
-		detect.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				
-			}
-		});
-
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-				Object obj = sel.getFirstElement();
-				IServerWorkingCopy newServer = null;
-				if (obj instanceof IServerWorkingCopy)
-					newServer = (IServerWorkingCopy) obj;
-				
-				if ((newServer == null && server != null) || (newServer != null && !newServer.equals(server))) {
-					server = newServer;
-					listener.serverSelected(server);
-				}
-			}
-		});
-		
-		setHost(null);
-	
-		Dialog.applyDialogFont(this);
-	}
-
-	public String getHost() {
-		return host;
-	}
-
-	public void setHost(String host) {
-		this.host = host;
-		servers = new ArrayList();
-		tableViewer.refresh();
-		if (host != null) {
-			hostLabel.setText("Detected servers on " + host + ":");
-			detect.setEnabled(true);
-			table.setEnabled(true);
-		} else {
-			hostLabel.setText("No host selected");
-			detect.setEnabled(false);
-			table.setEnabled(false);
-		}
-	}
-
-	public IServerWorkingCopy getServer() {
-		return server;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
deleted file mode 100644
index 3203f4f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
+++ /dev/null
@@ -1,374 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.SocketUtil;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.viewers.ServerTypeComposite;
-
-/**
- * Wizard page used to create a server and configuration at the same time.
- */
-public class NewManualServerComposite extends Composite {
-	public interface ServerSelectionListener {
-		public void serverSelected(IServer server);
-	}
-
-	public interface IWizardHandle2 {
-		public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException;
-		public void update();
-		public void setMessage(String newMessage, int newType);
-	}
-	protected IWizardHandle2 wizard;
-
-	//private IContainer defaultContainer;
-	//private String defaultServerTypeId;
-	private ServerTypeComposite serverTypeComposite;
-	
-	protected Label runtimeLabel;
-	protected Combo runtimeCombo;
-	protected List runtimes;
-
-	protected IRuntime runtime;
-	protected IServerWorkingCopy server;
-	protected ServerSelectionListener listener;
-	
-	protected String host;
-	
-	protected String type;
-	protected String version;
-
-	protected ElementCreationCache cache = new ElementCreationCache();
-
-	/**
-	 * Creates a new server and server configuration.  If the initial
-	 * resource selection contains exactly one container resource then it will be
-	 * used as the default container resource.
-	 *
-	 * @param org.eclipse.jface.wizard.IWizard parent
-	 */
-	public NewManualServerComposite(Composite parent, IWizardHandle2 wizard, String type, String version, ServerSelectionListener listener) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		this.listener = listener;
-		
-		this.type = type;
-		this.version = version;
-
-		createControl();
-		wizard.setMessage("", IMessageProvider.ERROR);
-	}
-
-	/**
-	 * Returns this page's initial visual components.
-	 *
-	 * @param parent a <code>Composite</code> that is to be used as the parent of this
-	 *     page's collection of visual components
-	 */
-	protected void createControl() {
-		// top level group
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		setLayout(layout);
-
-		this.setFont(getParent().getFont());
-		WorkbenchHelp.setHelp(this, ContextIds.NEW_SERVER_WIZARD);
-		
-		serverTypeComposite = new ServerTypeComposite(this, SWT.NONE, type, version, new ServerTypeComposite.ServerTypeSelectionListener() {
-			public void serverTypeSelected(IServerType type2) {
-				handleTypeSelection(type2);
-				//WizardUtil.defaultSelect(parent, CreateServerWizardPage.this);
-			}
-		});
-		serverTypeComposite.setIncludeTestEnvironments(false);
-		serverTypeComposite.setIncludeIncompatibleVersions(true);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		data.horizontalSpan = 2;
-		serverTypeComposite.setLayoutData(data);
-		WorkbenchHelp.setHelp(serverTypeComposite, ContextIds.NEW_SERVER_INSTANCE_FACTORY);
-		
-		runtimeLabel = new Label(this, SWT.NONE);
-		runtimeLabel.setText(ServerUIPlugin.getResource("%wizNewServerRuntime"));
-		
-		runtimeCombo = new Combo(this, SWT.READ_ONLY);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		runtimeCombo.setLayoutData(data);
-		runtimeCombo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					runtime = (IRuntime) runtimes.get(runtimeCombo.getSelectionIndex());
-					if (server != null)
-						server.setRuntime(runtime);
-				} catch (Exception ex) { }
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		Dialog.applyDialogFont(this);
-	}
-
-	public void setHost(String host) {
-		this.host = host;
-		if (serverTypeComposite == null)
-			return;
-		if (host == null) {
-			serverTypeComposite.setHost(true);
-		} else if (SocketUtil.isLocalhost(host))
-			serverTypeComposite.setHost(true);
-		else
-			serverTypeComposite.setHost(false);
-		if (server != null) {
-			server.setHostname(host);
-			ServerUtil.setServerDefaultName(server);
-		}
-	}
-	
-	/**
-	 * Return the current editable element.
-	 * @return org.eclipse.wst.server.core.model.IServer
-	 */
-	protected void loadServerImpl(final IServerType serverType) {
-		//runtime = null;
-		server = null;
-		
-		if (serverType == null)
-			return;
-	
-		server = cache.getCachedServer(serverType, host);
-		if (server != null) {
-			server.setHostname(host);
-			ServerUtil.setServerDefaultName(server);
-			runtime = server.getRuntime();
-			return;
-		}
-	
-		final CoreException[] ce = new CoreException[1];
-
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				try {
-					monitor = ProgressUtil.getMonitorFor(monitor);
-					int ticks = 200;
-					monitor.beginTask(ServerUIPlugin.getResource("%loadingTask", serverType.getName()), ticks);
-	
-					server = cache.getServer(serverType, host, ProgressUtil.getSubMonitorFor(monitor, 200));
-					if (server != null) {
-						server.setHostname(host);
-						ServerUtil.setServerDefaultName(server);
-					
-						if (serverType.hasRuntime() && server.getRuntime() == null)
-							server.setRuntime(runtime);
-					}
-				} catch (CoreException cex) {
-					ce[0] = cex;
-				} catch (Throwable t) {
-					Trace.trace(Trace.SEVERE, "Error creating element", t);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		try {
-			wizard.run(true, false, runnable);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error with runnable", e);
-		}
-	
-		if (ce[0] != null)
-			wizard.setMessage(ce[0].getLocalizedMessage(), IMessageProvider.ERROR);
-		else if (server == null)
-			wizard.setMessage(ServerUIPlugin.getResource("%wizErrorServerCreationError"), IMessageProvider.ERROR);
-	}
-
-	/**
-	 * Look for test environment runtime first. Otherwise, pick any runtime.
-	 * 
-	 * @param runtimeType
-	 * @param serverType
-	 * @return
-	 */
-	protected IRuntime getDefaultRuntime(List list) {
-		if (list.isEmpty())
-			return null;
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime2 = (IRuntime) iterator.next();
-			if (runtime2.isTestEnvironment())
-				return runtime2;
-		}
-		list.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime2 = (IRuntime) iterator.next();
-			if (!runtime2.getAttribute("stub", false))
-				return runtime;
-		}
-		return (IRuntime) list.get(0);
-	}
-	
-	protected void updateRuntimeCombo(IServerType serverType) {
-		runtime = null;
-		
-		if (serverType == null || !serverType.hasRuntime()) {
-			if (runtimeLabel != null) {
-				runtimeLabel.setEnabled(false);
-				runtimeCombo.setItems(new String[0]);
-				runtimeCombo.setEnabled(false);
-				runtimeLabel.setVisible(false);
-				runtimeCombo.setVisible(false);
-			}
-			return;
-		}
-
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		runtimes = ServerCore.getResourceManager().getRuntimes(runtimeType);
-		
-		if (SocketUtil.isLocalhost(host)) {
-			int size = runtimes.size();
-			int i = 0;
-			while (i < size) {
-				IRuntime runtime2 = (IRuntime) runtimes.get(i);
-				if (runtime2.getAttribute("stub", false)) {
-					size --;
-					runtimes.remove(i);
-				} else
-					i++;
-			}
-		}
-		
-		if (runtimes.isEmpty()) {
-			// create new runtime
-			try {
-				IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(null);
-				ServerUtil.setRuntimeDefaultName(runtimeWC);
-				runtimes.add(runtimeWC);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Couldn't create runtime", e);
-			}
-		}
-		
-		int size = runtimes.size();
-		String[] items = new String[size];
-		for (int i = 0; i < size; i++) {
-			IRuntime runtime2 = (IRuntime) runtimes.get(i);
-			items[i] = runtime2.getName();
-		}
-		
-		runtime = getDefaultRuntime(runtimes);
-		if (runtimeCombo != null) {
-			runtimeCombo.setItems(items);
-			if (runtimes.size() > 0)
-				runtimeCombo.select(runtimes.indexOf(runtime));
-			runtimeCombo.setEnabled(size > 1);
-			runtimeLabel.setEnabled(size > 1);
-			runtimeLabel.setVisible(size > 1);
-			runtimeCombo.setVisible(size > 1);
-		}
-	}
-
-	/**
-	 * Handle the server type selection.
-	 */
-	protected void handleTypeSelection(IServerType serverType) {
-		boolean wrong = false;
-		if (serverType != null && type != null) {
-			IRuntimeType runtimeType = serverType.getRuntimeType();
-			if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-				serverType = null;
-				wrong = true;
-				//wizard.setMessage("Not the right spec level2", IMessageProvider.ERROR);
-			}
-		}
-		
-		updateRuntimeCombo(serverType);
-		if (wrong) {
-			IModuleKind mk = ServerCore.getModuleKind(type);
-			String type2 = null;
-			if (mk != null)
-				type2 = mk.getName();
-			wizard.setMessage(ServerUIPlugin.getResource("%errorVersionLevel", new Object[] { type2, version }), IMessageProvider.ERROR);
-		} else if (serverType == null)
-			wizard.setMessage("", IMessageProvider.ERROR);
-		else {
-			wizard.setMessage(null, IMessageProvider.NONE);
-			loadServerImpl(serverType);
-		}
-		listener.serverSelected(server);
-		wizard.update();
-	}
-
-	/**
-	 * Sets the default container.
-	 * @param org.eclipse.core.resources.IContainer
-	 */
-	/*public void setDefaultContainer(IContainer container) {
-		defaultContainer = container;
-	}*/
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-	
-		if (visible) {
-			/*if (defaultServerFactory != null) {
-				tree.setSelection(new TreeItem[] { defaultServerFactory });
-				tree.showItem(tree.getItems()[0]);
-			}*/
-			// force the focus to initially validate the fields
-			handleTypeSelection(null);
-		}
-		
-		Control[] c = getChildren();
-		if (c != null) {
-			int size = c.length;
-			for (int i = 0; i < size; i++)
-				if (c[i] != null && c[i] instanceof ServerTypeComposite)
-					c[i].setVisible(visible);
-		}
-		if (visible)
-			handleTypeSelection(serverTypeComposite.getSelectedServerType());
-	}
-	
-	public IRuntime getRuntime() {
-		return runtime;
-	}
-	
-	public IServerWorkingCopy getServer() {
-		return server;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java
deleted file mode 100644
index e0fdfbc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.viewers.RuntimeTypeComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-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.swt.widgets.Control;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- * 
- */
-public class NewRuntimeComposite extends Composite {
-	protected Tree tree;
-	protected TreeViewer treeViewer;
-
-	protected IRuntimeWorkingCopy runtime;
-	protected Map runtimeMap = new HashMap();
-	
-	protected ITaskModel taskModel;
-	protected IWizardHandle wizard;
-	
-	protected String type;
-	protected String version;
-	protected String runtimeTypeId;
-
-	public NewRuntimeComposite(Composite parent, IWizardHandle wizard, ITaskModel tm, String type, String version, String runtimeTypeId) {
-		super(parent, SWT.NONE);
-		
-		this.wizard = wizard;
-		this.taskModel = tm;
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-		
-		createControl();
-		
-		wizard.setTitle(ServerUIPlugin.getResource("%wizNewRuntimeTitle"));
-		wizard.setDescription(ServerUIPlugin.getResource("%wizNewRuntimeDescription"));
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_RUNTIME));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl() {
-		//initializeDialogUnits(parent);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		setLayout(layout);
-		
-		RuntimeTypeComposite comp = new RuntimeTypeComposite(this, SWT.NONE, true, new RuntimeTypeComposite.RuntimeTypeSelectionListener() {
-			public void runtimeTypeSelected(IRuntimeType runtimeType) {
-				handleSelection(runtimeType);
-			}
-		}, type, version, runtimeTypeId);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = 200;
-		comp.setLayoutData(data);
-	}
-
-	protected void handleSelection(IRuntimeType runtimeType) {
-		if (runtimeType == null)
-			runtime = null;
-		else {
-			try {
-				runtime = null;
-				runtime = (IRuntimeWorkingCopy) runtimeMap.get(runtimeType);
-			} catch (Exception e) { }
-			if (runtime == null) {
-				try {
-					runtime = runtimeType.createRuntime(null);
-					ServerUtil.setRuntimeDefaultName(runtime);
-					if (runtime != null)
-						runtimeMap.put(runtimeType, runtime);
-				} catch (Exception e) { }
-			}
-		}
-
-		taskModel.putObject(ITaskModel.TASK_RUNTIME, runtime);
-		wizard.update();
-	}
-
-	public IRuntimeWorkingCopy getRuntime() {
-		return runtime;
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		
-		Control[] c = getChildren();
-		if (c != null) {
-			int size = c.length;
-			for (int i = 0; i < size; i++)
-				if (c[i] != null)
-					c[i].setVisible(visible);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java
deleted file mode 100644
index ccaaf55..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java
+++ /dev/null
@@ -1,473 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.server.core.IModuleKind;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.viewers.ServerComposite;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewServerWizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-/**
- * A wizard page used to select a server client.
- */
-public class NewServerComposite extends Composite {
-	protected IWizardHandle wizard;
-	protected ITaskModel taskModel;
-	protected IModule module;
-	protected String launchMode;
-	
-	protected static final byte MODE_EXISTING = 0;
-	protected static final byte MODE_DETECT = 1;
-	protected static final byte MODE_MANUAL= 2;
-	protected byte mode;
-
-	protected Composite detectComp2;
-	protected NewDetectServerComposite detectComp;
-	protected HostnameComposite detectHostComp;
-	protected Composite manualComp2;
-	protected NewManualServerComposite manualComp;
-	protected HostnameComposite manualHostComp;
-	protected ServerComposite existingComp;
-	
-	protected Composite stack;
-	protected StackLayout stackLayout; 
-	
-	protected String lastHostname;
-	
-	protected Button pref;
-	protected boolean preferred;
-	
-	protected IServerWorkingCopy existingWC;
-
-	/**
-	 * Create a new NewServerComposite.
-	 */
-	public NewServerComposite(Composite parent, IWizardHandle wizard, IModule module, String launchMode) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		this.module = module;
-		this.launchMode = launchMode;
-	
-		wizard.setTitle(ServerUIPlugin.getResource("%wizNewServerTitle"));
-		wizard.setDescription(ServerUIPlugin.getResource("%wizNewServerDescription"));
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_SERVER));
-		
-		createControl();
-	}
-
-	public NewServerComposite(Composite parent, IWizardHandle wizard) {
-		this(parent, wizard, null, null);
-	}
-	
-	protected Label createHeadingLabel(Composite parent, String text, int span) {
-		Label label = createLabel(parent, text, span);
-		label.setFont(JFaceResources.getBannerFont());
-		return label;
-	}
-	
-	protected Label createLabel(Composite parent, String text, int span) {
-		Label label = new Label(parent, SWT.WRAP);
-		label.setText(text);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = span;
-		label.setLayoutData(data);
-		return label;
-	}
-	
-	protected Label createLabel(Composite parent, String text) {
-		return createLabel(parent, text, 1);
-	}
-	
-	protected Button createRadioButton(Composite parent, String text, int span) {
-		Button button = new Button(parent, SWT.RADIO);
-		button.setText(text);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = span;
-		data.horizontalIndent = 10;
-		button.setLayoutData(data);
-		return button;
-	}
-	
-	protected Text createText(Composite parent, String text2, int span) {
-		Text text = new Text(parent, SWT.NONE);
-		text.setText(text2);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = span;
-		text.setLayoutData(data);
-		return text;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 *
-	 * @param org.eclipse.swt.widgets.Composite parent
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		setLayout(layout);
-		//WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-	
-		if (module != null)
-			createHeadingLabel(this, ServerUIPlugin.getResource("%wizNewServerSelect"), 1);
-			
-		Button existing = null;
-		if (module != null) {
-			final Button predefined = createRadioButton(this, ServerUIPlugin.getResource("%wizNewServerExisting"), 1);
-			predefined.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (predefined.getSelection())
-						toggleMode(MODE_EXISTING);
-				}
-			});
-			existing = predefined;
-		}
-		
-		/*final Button auto = createRadioButton(this, ServerUIPlugin.getResource("%wizNewServerDetect"), 1);
-		auto.setEnabled(false);
-		auto.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (auto.getSelection())
-					toggleMode(MODE_DETECT);
-			}
-		});*/
-	
-		Button manual = null;
-		if (module != null) {
-			final Button manualButton = createRadioButton(this, ServerUIPlugin.getResource("%wizNewServerManual"), 1);
-			manualButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (manualButton.getSelection())
-						toggleMode(MODE_MANUAL);
-				}
-			});
-			manual = manualButton;
-		}
-		
-		stack = new Composite(this, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		stack.setLayoutData(data);
-		stackLayout = new StackLayout();
-		stackLayout.marginHeight = 0;
-		stackLayout.marginWidth = 0;
-		stack.setLayout(stackLayout);
-		
-		if (module != null)
-			createExistingComposite(stack);
-		createAutoComposite(stack);
-		createManualComposite(stack);
-	
-		if (existingComp != null) {
-			if (isExistingServer()) {
-				mode = MODE_EXISTING;
-				stackLayout.topControl = existingComp;
-				existing.setSelection(true);
-			} else {
-				mode = MODE_MANUAL;
-				stackLayout.topControl = manualComp2;
-				manualComp.setVisible(true);
-				if (manual != null)
-					manual.setSelection(true);
-				existing.setEnabled(false);
-				existingComp.setEnabled(false);
-			}
-		} else {
-			mode = MODE_MANUAL;
-			stackLayout.topControl = manualComp2;
-			manualComp.setVisible(true);
-			if (manual != null)
-				manual.setSelection(true);
-		}
-		
-		if (module != null) {
-			// preferred server button
-			pref = new Button(this, SWT.CHECK | SWT.WRAP);
-			pref.setText(ServerUIPlugin.getResource("%wizSelectServerPreferred"));
-			data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_END);
-			//pref.setSelection(true);
-			//preferred = true;
-			data.horizontalSpan = 1;
-			pref.setLayoutData(data);
-			pref.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					preferred = pref.getSelection();
-				}
-			});
-			WorkbenchHelp.setHelp(pref, ContextIds.SELECT_SERVER_PREFERENCE);
-		}
-		
-		Dialog.applyDialogFont(this);
-	}
-	
-	protected void toggleMode(byte newMode) {
-		if (!isVisible())
-			return;
-
-		if (newMode == mode)
-			return;
-		
-		mode = newMode;
-		wizard.setMessage(null, IMessageProvider.NONE);
-		
-		if (mode == MODE_EXISTING) {
-			stackLayout.topControl = existingComp;
-			existingComp.setSelection(existingComp.getSelectedServer());
-		} else if (mode == MODE_DETECT) {
-			stackLayout.topControl = detectComp2;
-			detectComp.setVisible(true);
-		} else {
-			stackLayout.topControl = manualComp2;
-			manualComp.setVisible(true);
-		}
-		stack.layout();
-		if (taskModel != null) {
-			taskModel.putObject(NewServerWizardFragment.MODE, new Byte(mode));
-			updateTaskModel();
-		}
-	}
-	
-	protected HostnameComposite createHostComposite(Composite comp) {
-		HostnameComposite hostComp = new HostnameComposite(comp, new HostnameComposite.IHostnameSelectionListener() {
-			public void hostnameSelected(String host) {
-				lastHostname = host;
-				if (detectComp != null)
-					detectComp.setHost(host);
-				if (manualComp != null)
-					manualComp.setHost(host);
-			}
-		});
-		
-		if (lastHostname != null)
-			hostComp.setHostname(lastHostname);
-		
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		hostComp.setLayoutData(data);
-		return hostComp;
-	}
-	
-	protected void createAutoComposite(Composite comp) {
-		detectComp2 = new Composite(comp, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		detectComp2.setLayout(layout);
-		
-		detectHostComp = createHostComposite(detectComp2);
-		
-		detectComp = new NewDetectServerComposite(detectComp2, new NewDetectServerComposite.IServerSelectionListener() {
-			public void serverSelected(IServer server) {
-			}
-		});
-
-		if (lastHostname != null)
-			detectComp.setHost(lastHostname);
-		else
-			detectComp.setHost("localhost");
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		data.heightHint = 120;
-		detectComp.setLayoutData(data);
-	}
-
-	protected void createExistingComposite(Composite comp) {
-		existingComp = new ServerComposite(comp, SWT.NONE, new ServerComposite.ServerSelectionListener() {
-			public void serverSelected(IServer server) {
-				wizard.setMessage(null, IMessageProvider.NONE);
-				
-				// check for compatibility
-				if (server != null && module != null) {
-					IServerType serverType = server.getServerType();
-					if (!ServerUtil.isSupportedModule(serverType, module)) {
-						IModuleKind mk = ServerCore.getModuleKind(module.getType());
-						String type = null;
-						if (mk != null)
-							type = mk.getName();
-						wizard.setMessage(ServerUIPlugin.getResource("%errorVersionLevel", new Object[] { type, module.getVersion() }), IMessageProvider.ERROR);
-						server = null;
-					}
-				}
-				
-				if (existingWC != null) {
-					if (server != null && server.equals(existingWC.getOriginal()))
-						return;
-					existingWC.release();
-					existingWC = null;
-				}
-				if (server != null)
-					existingWC = server.getWorkingCopy();
-				updateTaskModel();
-			}
-		}, module, launchMode);
-		existingComp.setIncludeIncompatibleVersions(true);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		data.heightHint = 120;
-		existingComp.setLayoutData(data);
-	}
-	
-	protected boolean isExistingServer() {
-		if (module == null || launchMode == null)
-			return false;
-		
-		Iterator iterator = ServerCore.getResourceManager().getServers().iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (ServerUtil.isCompatibleWithLaunchMode(server, launchMode) &&
-				ServerUtil.isSupportedModule(server.getServerType().getRuntimeType().getModuleTypes(), module.getType(), module.getVersion()))
-					return true;
-		}
-		return false;
-	}
-
-	protected void createManualComposite(Composite comp) {
-		manualComp2 = new Composite(comp, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		manualComp2.setLayout(layout);
-		
-		manualHostComp = createHostComposite(manualComp2);
-		
-		String type = null;
-		String version = null;
-		if (module != null) {
-			type = module.getType();
-			version = module.getVersion();
-		}
-
-		manualComp = new NewManualServerComposite(manualComp2, new NewManualServerComposite.IWizardHandle2() {
-			public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException {
-				wizard.run(fork, cancelable, runnable);
-			}
-			public void update() {
-				wizard.update();
-			}
-			public void setMessage(String newMessage, int newType) {
-				wizard.setMessage(newMessage, newType);
-			}
-		}, type, version, new NewManualServerComposite.ServerSelectionListener() {
-			public void serverSelected(IServer server) {
-				updateTaskModel();
-			}
-		});
-		
-		if (lastHostname != null)
-			manualComp.setHost(lastHostname);
-		else
-			manualComp.setHost("localhost");
-
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		data.heightHint = 200;
-		manualComp.setLayoutData(data);
-	}
-
-	protected void updateTaskModel() {
-		if (taskModel != null) {
-			IServer server = getServer();
-			if (server != null) {
-				taskModel.putObject(ITaskModel.TASK_SERVER, server);
-				taskModel.putObject(ITaskModel.TASK_RUNTIME, server.getRuntime());
-			} else {
-				taskModel.putObject(ITaskModel.TASK_SERVER, null);
-				taskModel.putObject(ITaskModel.TASK_RUNTIME, null);
-			}
-			wizard.update();
-		}
-	}
-
-	public void setTaskModel(ITaskModel model) {
-		taskModel = model;
-		taskModel.putObject(NewServerWizardFragment.MODE, new Byte(mode));
-		updateTaskModel();
-	}
-
-	public IServer getServer() {
-		if (mode == MODE_EXISTING)
-			return existingWC; //existingComp.getSelectedServer();
-		else if (mode == MODE_DETECT)
-			return detectComp.getServer();
-		else
-			return manualComp.getServer();
-	}
-
-	public IRuntime getRuntime() {
-		if (mode == MODE_EXISTING) {
-			IServer server = existingComp.getSelectedServer();
-			if (server != null)
-				return server.getRuntime();
-			return null;
-		} else if (mode == MODE_DETECT)
-			return null;
-		else
-			return manualComp.getRuntime();
-	}
-	
-	/**
-	 * Returns true if this server should become the preferred server.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isPreferredServer() {
-		return preferred;
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		
-		Control[] c = getChildren();
-		if (c != null) {
-			int size = c.length;
-			for (int i = 0; i < size; i++)
-				if (c[i] != null)
-					c[i].setVisible(visible);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java
deleted file mode 100644
index 59e503d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.wst.server.core.IClient;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A wizard page used to select a server client.
- */
-public class SelectClientComposite extends Composite {
-	protected IWizardHandle wizard;
-
-	// the list of elements to select from
-	protected List elements;
-
-	// the currently selected element
-	protected IClient selectedClient;
-
-	// the table containing the elements
-	protected Table elementTable;
-
-	// the description of the selected client
-	protected Label description;
-
-	/**
-	 * Create a new SelectClientWizardPage.
-	 *
-	 * @param elements java.util.List
-	 */
-	public SelectClientComposite(Composite parent, IWizardHandle wizard, List elements) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		this.elements = elements;
-	
-		wizard.setTitle(ServerUIPlugin.getResource("%wizSelectClientTitle"));
-		wizard.setDescription(ServerUIPlugin.getResource("%wizSelectClientDescription"));
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER_CLIENT));
-		
-		createControl();
-	}
-
-	/**
-	 * Clears the selected client.
-	 */
-	public void clearSelectedClient() {
-		selectedClient = null;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 *
-	 * @param org.eclipse.swt.widgets.Composite parent
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		setLayout(layout);
-
-		WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-	
-		Label label = new Label(this, SWT.WRAP);
-		label.setText(ServerUIPlugin.getResource("%wizSelectClientMessage"));
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		label.setLayoutData(data);
-	
-		elementTable = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-		data.heightHint = 80;
-		data.horizontalIndent = 20;
-		elementTable.setLayoutData(data);
-		elementTable.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				handleSelection();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				handleSelection();
-				//TODO: WizardUtil.defaultSelect(getWizard(), SelectClientWizardPage.this);
-			}
-		});
-		WorkbenchHelp.setHelp(elementTable, ContextIds.SELECT_CLIENT);
-	
-		Iterator iterator = elements.iterator();
-		while (iterator.hasNext()) {
-			IClient element = (IClient) iterator.next();
-			TableItem item = new TableItem(elementTable, SWT.NONE);
-			item.setText(0, ServerUICore.getLabelProvider().getText(element));
-			item.setImage(0, ServerUICore.getLabelProvider().getImage(element));
-			item.setData(element);
-		}
-	
-		description = new Label(this, SWT.WRAP);
-		description.setText("");
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.heightHint = 70;
-		description.setLayoutData(data);
-	
-		Dialog.applyDialogFont(this);
-	}
-
-	/**
-	 * Return the selected client.
-	 *
-	 * @return org.eclipse.wst.server.core.model.IServerClient
-	 */
-	public IClient getSelectedClient() {
-		return selectedClient;
-	}
-
-	/**
-	 * Handle the selection of a client.
-	 */
-	protected void handleSelection() {
-		int index = elementTable.getSelectionIndex();
-		if (index < 0)
-			selectedClient = null;
-		else
-			selectedClient = (IClient) elements.get(index);
-		
-		if (selectedClient != null)
-			wizard.setMessage(null, IMessageProvider.NONE);
-		else
-			wizard.setMessage("", IMessageProvider.ERROR);
-	
-		String desc = null;
-		if (selectedClient != null)
-			desc = selectedClient.getDescription();
-		if (desc == null)
-			desc = "";
-		description.setText(desc);
-	
-		wizard.update();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java
deleted file mode 100644
index 60cd850..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.wst.server.core.model.IModuleTaskDelegate;
-import org.eclipse.wst.server.core.model.IServerTaskDelegate;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A wizard page used to select server and module tasks.
- */
-public class TasksComposite extends Composite {
-	protected IWizardHandle wizard;
-	
-	protected Composite comp;
-
-	// the list of elements to select from
-	protected List tasks;
-
-	/**
-	 * Create a new TasksWizardPage.
-	 *
-	 * @param elements java.util.List
-	 */
-	public TasksComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-	
-		wizard.setTitle(ServerUIPlugin.getResource("%wizTaskTitle"));
-		wizard.setDescription(ServerUIPlugin.getResource("%wizTaskDescription"));
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER));
-	}
-	
-	public void setTasks(List tasks) {
-		this.tasks = tasks;
-		
-		Control[] children = getChildren();
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				children[i].dispose();
-			}
-		}
-		
-		createControl();
-		layout(true);
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 *
-	 * @param org.eclipse.swt.widgets.Composite parent
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 3;
-		setLayout(layout);
-		WorkbenchHelp.setHelp(this, ContextIds.SELECT_TASK_WIZARD);
-		
-		int size = 0;
-		if (tasks != null)
-			size = tasks.size();
-		
-		Object cont = null;
-		Group group = null;
-		int count = 0;
-	
-		for (int i = 0; i < size; i++) {
-			Object obj = tasks.get(i);
-			if (obj instanceof TasksWizardFragment.ServerTaskInfo) {
-				final TasksWizardFragment.ServerTaskInfo sti = (TasksWizardFragment.ServerTaskInfo) obj;
-				if (cont != sti.server) {
-					if (group != null && count == 0)
-						group.setEnabled(false);
-
-					if (cont != null) {
-						Label spacer = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-						GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-						data.horizontalSpan = 3;
-						spacer.setLayoutData(data);
-					}
-					
-					group = new Group(this, SWT.SHADOW_NONE);
-					group.setText(ServerUIPlugin.getResource("%wizTaskDetail") + " " + ServerUICore.getLabelProvider().getText(sti.server));
-					GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-					data.horizontalSpan = 3;
-					group.setLayoutData(data);
-					
-					layout = new GridLayout();
-					layout.horizontalSpacing = 0;
-					layout.verticalSpacing = 3;
-					layout.marginWidth = 5;
-					layout.marginHeight = 5;
-					group.setLayout(layout);
-
-					cont = sti.server;
-				}
-				final Button checkbox = new Button(group, SWT.CHECK);
-				checkbox.setText(sti.task2.getName());
-				GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-				checkbox.setLayoutData(data);
-				checkbox.setFocus();
-			
-				checkbox.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent event) {
-						sti.setSelected(checkbox.getSelection());
-					}
-					public void widgetDefaultSelected(SelectionEvent event) {
-						sti.setSelected(checkbox.getSelection());
-					}
-				});
-				
-				Label description = new Label(group, SWT.WRAP);
-				data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-				data.heightHint = 50;
-				data.horizontalIndent = 20;
-				description.setLayoutData(data);
-				description.setText(sti.task2.getDescription());
-				
-				byte status = sti.status;
-				if (status == IServerTaskDelegate.TASK_COMPLETED) {
-					checkbox.setEnabled(false);
-					description.setEnabled(false);
-				} else if (status == IServerTaskDelegate.TASK_PREFERRED) {
-					checkbox.setSelection(true);
-					count++;
-				} else if (status == IServerTaskDelegate.TASK_MANDATORY) {
-					checkbox.setSelection(true);
-					checkbox.setEnabled(false);
-					description.setEnabled(false);
-				} else
-					count++;
-			} else if (obj instanceof TasksWizardFragment.ModuleTaskInfo) {
-				final TasksWizardFragment.ModuleTaskInfo dti = (TasksWizardFragment.ModuleTaskInfo) obj;
-				if (cont != dti.module) {
-					if (group != null && count == 0)
-						group.setEnabled(false);
-
-					if (cont != null) {
-						Label spacer = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-						GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-						data.horizontalSpan = 3;
-						spacer.setLayoutData(data);
-					}
-					
-					group = new Group(this, SWT.SHADOW_NONE);
-					group.setText(ServerUIPlugin.getResource("%wizTaskDetail") + " " + ServerUICore.getLabelProvider().getText(dti.module));
-					GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-					data.horizontalSpan = 3;
-					group.setLayoutData(data);
-					
-					layout = new GridLayout();
-					layout.horizontalSpacing = 0;
-					layout.verticalSpacing = 3;
-					layout.marginWidth = 5;
-					layout.marginHeight = 5;
-					group.setLayout(layout);
-
-					cont = dti.module;
-				}
-				final Button checkbox = new Button(group, SWT.CHECK);
-				checkbox.setText(dti.task2.getName());
-				GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-				checkbox.setLayoutData(data);
-				checkbox.setFocus();
-				
-				checkbox.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent event) {
-						dti.setSelected(checkbox.getSelection());
-					}
-					public void widgetDefaultSelected(SelectionEvent event) {
-						dti.setSelected(checkbox.getSelection());
-					}
-				});
-				
-				Label description = new Label(group, SWT.WRAP);
-				data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-				data.heightHint = 50;
-				data.horizontalIndent = 20;
-				description.setLayoutData(data);
-				description.setText(dti.task2.getDescription());
-				
-				byte status = dti.status;
-				if (status == IModuleTaskDelegate.TASK_COMPLETED) {
-					checkbox.setEnabled(false);
-					description.setEnabled(false);
-				} else if (status == IModuleTaskDelegate.TASK_PREFERRED) {
-					checkbox.setSelection(true);
-					count++;
-				} else if (status == IModuleTaskDelegate.TASK_MANDATORY) {
-					checkbox.setSelection(true);
-					checkbox.setEnabled(false);
-					description.setEnabled(false);
-				} else
-					count++;
-			}
-		}
-		if (group != null && count == 0)
-			group.setEnabled(false);
-
-		if (size == 0) {
-			Label label = new Label(this, SWT.NONE);
-			label.setText(ServerUIPlugin.getResource("%wizTaskNone"));
-		}
-		
-		Dialog.applyDialogFont(this);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java
deleted file mode 100644
index 371d467..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.wst.server.core.IResourceManager;
-import org.eclipse.wst.server.core.IServerProject;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Shell;
-/**
- * A helper class for wizards.
- */
-public class WizardUtil {
-	/**
-	 * Use static methods.
-	 */
-	private WizardUtil() { }
-
-	/**
-	 * Fill the combo box with all server project folders in
-	 * the workbench.
-	 *
-	 * @param combo org.eclipse.swt.widgets.Combo
-	 */
-	public static void fillComboWithServerProjectFolders(Combo combo) {
-		List list = new ArrayList();
-		Iterator iterator = ServerCore.getServerNatures().iterator();
-		while (iterator.hasNext()) {
-			IServerProject project = (IServerProject) iterator.next();
-			if (project.getProject().isOpen()) {
-				Iterator iter = project.getAvailableFolders().iterator();
-				while (iter.hasNext())
-					list.add(iter.next());
-			}
-		}
-	
-		// convert to strings
-		int size = list.size();
-		for (int i = 0; i < size; i++){
-			IContainer container = (IContainer) list.get(i);
-			list.set(i, getContainerText(container));
-		}
-	
-		// sort results
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				String s1 = (String) list.get(i);
-				String s2 = (String) list.get(j);
-				if (s1.compareTo(s2) > 0) {
-					list.set(j, s1);
-					list.set(i, s2);
-				}
-			}
-		}
-		
-		list.add(0, "metadata");
-		size++;
-	
-		String[] s = new String[size];
-		list.toArray(s);
-		combo.setItems(s);
-		if (s.length > 0)
-			combo.select(0);
-	}
-
-	/**
-	 * Return the container with the given name, if one exists.
-	 *
-	 * @param containerName java.lang.String
-	 * @return org.eclipse.core.resources.IContainer
-	 */
-	public static IContainer findContainer(String containerName) {
-		if (containerName == null || containerName.equals(""))
-			return null;
-	
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		try {
-			IProject project = root.getProject(containerName);
-			if (project != null && project.exists())
-				return project;
-		} catch (Exception e) { }
-	
-		try {
-			IFolder folder = root.getFolder(new Path(containerName));
-			if (folder != null && folder.exists())
-				return folder;
-		} catch (Exception e) { }
-		return null;
-	}
-
-	/**
-	 * Tries to find a server project folder in the heirarchy
-	 * of the given resource. If it finds one, it returns the
-	 * folder that the resource is or is in.
-	 *
-	 * @param resource org.eclipse.core.resources.IResource
-	 * @return org.eclipse.core.resources.IContainer
-	 */
-	protected static IContainer findServerProjectContainer(IResource resource) {
-		IResourceManager rm = ServerCore.getResourceManager();
-		IContainer container = null;
-		while (resource != null) {
-			if (container == null && resource instanceof IContainer)
-				container = (IContainer) resource;
-	
-			if (resource instanceof IFile) {
-				IFile file = (IFile) resource;
-				if (rm.getServerConfiguration(file) != null || rm.getServer(file) != null)
-				return null;
-			}
-	
-			if (resource instanceof IProject) {
-				if (ServerUtil.isServerProject((IProject) resource) && ((IProject)resource).isOpen())
-					return container;
-			}
-			resource = resource.getParent();
-		}
-		return null;
-	}
-
-	/**
-	 * Return the full pathname of a container.
-	 *
-	 * @param container org.eclipse.core.resources.Container
-	 * @return java.lang.String
-	 */
-	public static String getContainerText(IContainer container) {
-		String name = container.getName();
-		while (container != null && !(container instanceof IProject)) {
-			container = container.getParent();
-			name = container.getName() + "/" + name;
-		}
-		return name;
-	}
-
-	/**
-	 * Returns the selected container from this selection.
-	 *
-	 * @param sel org.eclipse.jface.viewers.IStructuredSelection
-	 * @return org.eclipse.core.resources.IContainer
-	 */
-	public static IContainer getSelectionContainer(IStructuredSelection selection) {
-		if (selection == null || selection.isEmpty())
-			return null;
-	
-		Object obj = selection.getFirstElement();
-		if (obj instanceof IResource)
-			return findServerProjectContainer((IResource) obj);
-	
-		return null;
-	}
-
-	/**
-	 * Return true if the container is a valid server project
-	 * folder and is not "within" a server instance or configuration.
-	 *
-	 * @return String
-	 * @param container IContainer
-	 */
-	public static String validateContainer(String name) {
-		IContainer container = WizardUtil.findContainer(name);
-		if (container == null || !container.exists()) {
-			IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.PROJECT);
-			if (status.isOK())
-				return null; // we can create one later
-			return status.getMessage();
-		}
-		
-		String error = ServerUIPlugin.getResource("%wizErrorInvalidFolder");
-		try {
-			// find project of this container
-			IProject project = null;
-			if (container instanceof IProject) {
-				project = (IProject) container;
-			} else {
-				// look up hierarchy for project
-				IContainer temp = container.getParent();
-				while (project == null && temp != null && !(temp instanceof IProject)) {
-					temp = temp.getParent();
-				}
-				if (temp != null && temp instanceof IProject)
-					project = (IProject) temp;
-			}
-	
-			// validate the project
-			if (project != null && !project.isOpen())
-				return ServerUIPlugin.getResource("%wizErrorClosedProject");
-
-			if (project == null || !project.exists() || !project.isOpen() || !ServerUtil.isServerProject(project))
-				return error;
-	
-			// make sure we're not embedding in another server element
-			IResource temp = container;
-			IResourceManager rm = ServerCore.getResourceManager();
-			while (temp != null && !(temp instanceof IProject)) {
-				if (temp instanceof IFile) {
-					IFile file = (IFile) temp;
-					if (rm.getServerConfiguration(file) != null || rm.getServer(file) != null)
-						return error;
-				}
-				temp = temp.getParent();
-			}
-		} catch (Exception e) {
-			return error;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true if no server projects exist.
-	 *
-	 * @return boolean
-	 */
-	public static boolean noServerProjectsExist() {
-		return (ServerCore.getServerProjects().isEmpty());
-	}
-	
-	public static IProject getServerProject() {
-		return ServerUtil.getDefaultServerProject();
-	}
-
-	/**
-	 * Returns true if the user said okay to creating a new server
-	 * project.
-	 *
-	 * @return boolean
-	 */
-	public static boolean promptForServerProjectCreation(Shell shell, String projectName) {
-		String msg = ServerUIPlugin.getResource("%createServerProjectDialogMessage", projectName);
-		return MessageDialog.openQuestion(shell, ServerUIPlugin.getResource("%createServerProjectDialogTitle"), msg);
-	}
-	
-	/**
-	 * Handles default selection within a wizard by going to the next
-	 * page, or finishing the wizard if possible.
-	 */
-	public static void defaultSelect(IWizard wizard, IWizardPage page) {
-		if (page.canFlipToNextPage() && page.getNextPage() != null)
-			wizard.getContainer().showPage(page.getNextPage());
-		else if (wizard.canFinish() && wizard.getContainer() instanceof ClosableWizardDialog) {
-			ClosableWizardDialog dialog = (ClosableWizardDialog) wizard.getContainer();
-			dialog.finishPressed();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java
deleted file mode 100644
index 5f6e84a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.wst.server.ui.internal.wizard.page;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- *
- **********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-/**
- * IRunnableWithProgressAdapter to allow it to run an IWorkspaceRunnable.
- */
-public class WorkspaceRunnableAdapter implements IRunnableWithProgress {
-	private IWorkspaceRunnable workspaceRunnable;
-	
-	public WorkspaceRunnableAdapter(IWorkspaceRunnable runnable) {
-		workspaceRunnable = runnable;
-	}
-
-	/*
-	 * @see IRunnableWithProgress#run(IProgressMonitor)
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException {
-		try {
-			ResourcesPlugin.getWorkspace().run(workspaceRunnable, monitor);
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardFragment.java
deleted file mode 100644
index 042e45c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardFragment.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.wizard;
-
-import java.util.List;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.core.ITaskModel;
-/**
- * 
- */
-public interface IWizardFragment {
-	public boolean hasComposite();
-
-	public Composite createComposite(Composite parent, IWizardHandle handle);
-
-	public void setTaskModel(ITaskModel model);
-	
-	public ITaskModel getTaskModel();
-
-	public void enter();
-
-	public void exit();
-
-	public ITask createFinishTask();
-
-	public ITask createCancelTask();
-
-	public List getChildFragments();
-
-	public void updateSubFragments();
-
-	public boolean isComplete();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java
deleted file mode 100644
index 24b3165..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-/**
- * 
- */
-public interface IWizardHandle extends IMessageProvider {
-	public void update();
-
-	public void setTitle(String title);
-
-	public void setDescription(String desc);
-
-	public void setImageDescriptor(ImageDescriptor image);
-
-	public void setMessage(String newMessage, int newType);
-
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/TaskWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/TaskWizard.java
deleted file mode 100644
index 1e568cf..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/TaskWizard.java
+++ /dev/null
@@ -1,568 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.core.ITaskModel;
-import org.eclipse.wst.server.core.model.IRunningActionServer;
-import org.eclipse.wst.server.core.model.IServerDelegate;
-import org.eclipse.wst.server.core.util.TaskModel;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.page.WorkspaceRunnableAdapter;
-
-/**
- * A wizard used to execute tasks.
- */
-public class TaskWizard implements IWizard {
-	private static final byte FINISH = 2;
-	private static final byte CANCEL = 3;
-
-	private List pages;
-	private boolean addingPages;
-	private Map fragmentData = new HashMap();
-	protected ITaskModel taskModel = new TaskModel();
-	
-	private IWizardContainer container = null;
-	
-	private boolean needsProgressMonitor = false;
-	
-	private boolean forcePreviousAndNextButtons = false;
-
-	private boolean isHelpAvailable = false;
-	
-	private Image defaultImage = null;
-	
-	private RGB titleBarColor = null;
-
-	private String windowTitle = null;
-	
-	private IDialogSettings dialogSettings = null;
-	
-	private IWizardFragment rootFragment;
-	private IWizardFragment currentFragment;
-	
-	private static TaskWizard current;
-
-	class FragmentData {
-		public TaskWizardPage page;
-		public ITask finishTask;
-		public ITask cancelTask;
-		
-		public FragmentData(IWizardFragment fragment) {
-			finishTask = fragment.createFinishTask();
-			if (finishTask != null)
-				finishTask.setTaskModel(taskModel);
-			
-			cancelTask = fragment.createCancelTask();
-			if (cancelTask != null)
-				cancelTask.setTaskModel(taskModel);
-		}
-	}
-	
-	/**
-	 * TaskWizard constructor comment.
-	 */
-	public TaskWizard() {
-		super();
-		
-		setNeedsProgressMonitor(true);
-		setForcePreviousAndNextButtons(true);
-		
-		current = this;
-	}
-
-	/**
-	 * TaskWizard constructor comment.
-	 */
-	public TaskWizard(IWizardFragment rootFragment) {
-		this();
-		this.rootFragment = rootFragment;
-	}
-	
-	public TaskWizard(String title) {
-		this();
-		setWindowTitle(title);
-	}
-	
-	public TaskWizard(String title, IWizardFragment rootFragment) {
-		this(rootFragment);
-		setWindowTitle(title);
-	}
-	
-	public void setRootFragment(IWizardFragment rootFragment) {
-		this.rootFragment = rootFragment;
-	}
-	
-	public IWizardFragment getRootFragment() {
-		return rootFragment;
-	}
-
-	/**
-	 * Cancel the client selection.
-	 *
-	 * @return boolean
-	 */
-	public boolean performCancel() {
-		final List list = getAllWizardFragments();
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					Iterator iterator = list.iterator();
-					while (iterator.hasNext())
-						executeTask((IWizardFragment) iterator.next(), CANCEL, monitor);
-				} catch (CoreException ce) {
-					throw new InvocationTargetException(ce);
-				}
-			}
-		};
-		
-		Throwable t = null;
-		try {
-			if (getContainer() != null)
-				getContainer().run(true, true, runnable);
-			else
-				runnable.run(new NullProgressMonitor());
-			return true;
-		} catch (InvocationTargetException te) {
-			t = te.getCause();
-		} catch (Exception e) {
-			t = e;
-		}
-		Trace.trace(Trace.SEVERE, "Error cancelling task wizard", t);
-		
-		if (t instanceof CoreException) {
-			EclipseUtil.openError(t.getLocalizedMessage(), ((CoreException)t).getStatus());
-		} else
-			EclipseUtil.openError(t.getLocalizedMessage());
-		
-		return false;
-		
-	}
-
-	public boolean performFinish() {
-		if (currentFragment != null)
-			currentFragment.exit();
-		
-		final IWizardFragment cFragment = currentFragment;
-
-		final List list = getAllWizardFragments();
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				// enter & exit the remaining pages
-				int index = list.indexOf(cFragment);
-				while (index > 0 && index < list.size() - 1) {
-					IWizardFragment fragment = (IWizardFragment) list.get(++index);
-					try {
-						fragment.enter();
-						fragment.exit();
-					} catch (Exception e) {
-						Trace.trace(Trace.WARNING, "Could not enter/exit page", e);
-					}
-				}
-				
-				boolean useJob = false;
-				try {
-					IServer server = (IServer) taskModel.getObject(ITaskModel.TASK_SERVER);
-					IServerDelegate delegate = server.getDelegate();
-					if (delegate instanceof IRunningActionServer)
-						useJob = true;
-				} catch (Exception e) { }
-				
-				if (useJob) {
-					class FinishWizardJob extends Job {
-						public FinishWizardJob() {
-							super(getWindowTitle()); //ServerUIPlugin.getResource("%publishingStart"));
-						}
-
-						public IStatus run(IProgressMonitor monitor2) {
-							try {
-								Iterator iterator = list.iterator();
-								while (iterator.hasNext())
-									executeTask((IWizardFragment) iterator.next(), FINISH, monitor2);
-							} catch (CoreException ce) {
-								Trace.trace(Trace.SEVERE, "Error finishing wizard job", ce);
-								return new Status(IStatus.ERROR, ServerUICore.PLUGIN_ID, 0, ce.getLocalizedMessage(), null);
-							}
-							return new Status(IStatus.OK, ServerUICore.PLUGIN_ID, 0, "", null);
-						}
-					}
-					
-					FinishWizardJob job = new FinishWizardJob();
-					job.setUser(true);
-					job.schedule();
-				} else {
-					Iterator iterator = list.iterator();
-					while (iterator.hasNext())
-						executeTask((IWizardFragment) iterator.next(), FINISH, monitor);
-				}
-			}
-		};
-		
-		Throwable t = null;
-		try {
-			if (getContainer() != null)
-				getContainer().run(true, true, new WorkspaceRunnableAdapter(runnable));
-			else
-				runnable.run(new NullProgressMonitor());
-			return true;
-		} catch (InvocationTargetException te) {
-			t = te.getCause();
-		} catch (Exception e) {
-			t = e;
-		}
-		Trace.trace(Trace.SEVERE, "Error finishing task wizard", t);
-		
-		if (t instanceof CoreException) {
-			EclipseUtil.openError(t.getLocalizedMessage(), ((CoreException)t).getStatus());
-		} else
-			EclipseUtil.openError(t.getLocalizedMessage());
-		
-		return false;
-	}
-	
-	public void addPage(IWizardPage page) {
-		pages.add(page);
-		page.setWizard(this);
-	}
-	
-	protected void executeTask(IWizardFragment fragment, byte type, IProgressMonitor monitor) throws CoreException {
-		if (fragment == null)
-			return;
-		
-		FragmentData data = getFragmentData(fragment);
-		if (type == FINISH && data.finishTask != null)
-			data.finishTask.execute(monitor);
-		else if (type == CANCEL && data.cancelTask != null)
-			data.cancelTask.execute(monitor);
-	}
-	
-	protected IWizardFragment getCurrentWizardFragment() {
-		return currentFragment;
-	}
-	
-	protected void switchWizardFragment(IWizardFragment newFragment) {
-		List list = getAllWizardFragments();
-		int oldIndex = list.indexOf(currentFragment);
-		int newIndex = list.indexOf(newFragment);
-		if (oldIndex == newIndex)
-			return;
-		
-		//safeExecuteTask(currentFragment, DEPARTURE);
-		if (currentFragment != null)
-			currentFragment.exit();
-		
-		if (oldIndex < newIndex)
-			oldIndex ++;
-		else
-			oldIndex --;
-		
-		while (oldIndex != newIndex) {
-			IWizardFragment fragment = (IWizardFragment) list.get(oldIndex);
-			//safeExecuteTask(fragment, ARRIVAL);
-			//safeExecuteTask(fragment, DEPARTURE);
-			fragment.enter();
-			fragment.exit();
-			if (oldIndex < newIndex)
-				oldIndex ++;
-			else
-				oldIndex --;
-		}
-		
-		currentFragment = newFragment;
-		//safeExecuteTask(currentFragment, ARRIVAL);
-		currentFragment.enter();
-	}
-	
-	protected List getAllWizardFragments() {
-		List list = new ArrayList();
-		list.add(rootFragment);
-		addSubWizardFragments(rootFragment, list);
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IWizardFragment fragment = (IWizardFragment) iterator.next();
-			if (!taskModel.equals(fragment.getTaskModel()))
-				fragment.setTaskModel(taskModel);
-		}
-		return list;
-	}
-
-	protected void addSubWizardFragments(IWizardFragment fragment, List list) {
-		Iterator iterator = fragment.getChildFragments().iterator();
-		while (iterator.hasNext()) {
-			IWizardFragment child = (IWizardFragment) iterator.next();
-			list.add(child);
-			addSubWizardFragments(child, list);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#addPages()
-	 */
-	public void addPages() {
-		if (addingPages)
-			return;
-		
-		try {
-			addingPages = true;
-			pages = new ArrayList();
-			Iterator iterator = getAllWizardFragments().iterator();
-			while (iterator.hasNext()) {
-				IWizardFragment fragment = (IWizardFragment) iterator.next();
-				FragmentData data = getFragmentData(fragment);
-				if (fragment.hasComposite()) {
-					if (data.page != null)
-						addPage(data.page);
-					else {
-						TaskWizardPage page = new TaskWizardPage(fragment);
-						data.page = page;
-						addPage(page);
-					}
-				}	
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error adding fragments to wizard", e);
-		} finally {
-			addingPages = false;
-		}
-	}
-	
-	protected static void updateWizardPages() {
-		try {
-			current.updatePages();
-			current.getContainer().updateButtons();
-		} catch (Exception e) {
-			Trace.trace("Error updating wizard pages", e);
-		}
-	}
-	
-	protected FragmentData getFragmentData(IWizardFragment fragment) {
-		try {
-			FragmentData data = (FragmentData) fragmentData.get(fragment);
-			if (data != null)
-				return data;
-		} catch (Exception e) {
-			Trace.trace("Error getting fragment data", e);
-		}
-		
-		FragmentData data = new FragmentData(fragment);
-		fragmentData.put(fragment, data);
-		return data;
-	}
-	
-	protected void updatePages() {
-		addPages();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#canFinish()
-	 */
-	public boolean canFinish() {
-		// Default implementation is to check if all pages are complete.
-		for (int i= 0; i < pages.size(); i++) {
-			if (!((IWizardPage)pages.get(i)).isPageComplete())
-				return false;
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#createPageControls(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPageControls(Composite pageContainer) {
-		// the default behavior is to create all the pages controls
-		for (int i = 0; i < pages.size(); i++){
-			IWizardPage page = (IWizardPage) pages.get(i);
-			page.createControl(pageContainer);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#dispose()
-	 */
-	public void dispose() {
-		// notify pages
-		for (int i = 0; i < pages.size(); i++){
-			((IWizardPage)pages.get(i)).dispose();
-		}
-
-		// dispose of image
-		if (defaultImage != null) {
-			defaultImage.dispose();
-			defaultImage = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getContainer()
-	 */
-	public IWizardContainer getContainer() {
-		return container;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getDefaultPageImage()
-	 */
-	public Image getDefaultPageImage() {
-		return defaultImage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getDialogSettings()
-	 */
-	public IDialogSettings getDialogSettings() {
-		return dialogSettings;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getNextPage(org.eclipse.jface.wizard.IWizardPage)
-	 */
-	public IWizardPage getNextPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == pages.size() - 1 || index == -1)
-			// last page or page not found
-			return null;
-		
-		return (IWizardPage)pages.get(index + 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPage(java.lang.String)
-	 */
-	public IWizardPage getPage(String name) {
-		for (int i= 0; i < pages.size(); i++) {
-			IWizardPage page = (IWizardPage)pages.get(i);
-			String pageName = page.getName();
-			if (pageName.equals(name))
-				return page;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPageCount()
-	 */
-	public int getPageCount() {
-		return pages.size();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPages()
-	 */
-	public IWizardPage[] getPages() {
-		return (IWizardPage[])pages.toArray(new IWizardPage[pages.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPreviousPage(org.eclipse.jface.wizard.IWizardPage)
-	 */
-	public IWizardPage getPreviousPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == 0 || index == -1)
-			// first page or page not found
-			return null;
-		return (IWizardPage)pages.get(index - 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getStartingPage()
-	 */
-	public IWizardPage getStartingPage() {
-		if (pages.size() == 0)
-			return null;
-		
-		return (IWizardPage) pages.get(0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getTitleBarColor()
-	 */
-	public RGB getTitleBarColor() {
-		return titleBarColor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getWindowTitle()
-	 */
-	public String getWindowTitle() {
-		return windowTitle;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#isHelpAvailable()
-	 */
-	public boolean isHelpAvailable() {
-		return isHelpAvailable;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#needsPreviousAndNextButtons()
-	 */
-	public boolean needsPreviousAndNextButtons() {
-		return forcePreviousAndNextButtons || pages.size() > 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#needsProgressMonitor()
-	 */
-	public boolean needsProgressMonitor() {
-		return needsProgressMonitor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#setContainer(org.eclipse.jface.wizard.IWizardContainer)
-	 */
-	public void setContainer(IWizardContainer wizardContainer) {
-		this.container = wizardContainer;
-	}
-	
-	public void setDialogSettings(IDialogSettings settings) {
-		dialogSettings = settings;
-	}
-	
-	public void setNeedsProgressMonitor(boolean b) {
-		needsProgressMonitor = b;
-	}
-	
-	public void setForcePreviousAndNextButtons(boolean b) {
-		forcePreviousAndNextButtons = b;
-	}
-	
-	public void setWindowTitle(String title) {
-		windowTitle = title;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/TaskWizardPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/TaskWizardPage.java
deleted file mode 100644
index 7bfb585..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/TaskWizardPage.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-/**
- * 
- */
-class TaskWizardPage extends WizardPage implements IWizardHandle {
-	protected IWizardFragment fragment;
-	
-	protected boolean isEmptyError = false;
-
-	public TaskWizardPage(IWizardFragment fragment) {
-		super(fragment.toString());
-		this.fragment = fragment;
-	}
-	
-	public void createControl(Composite parentComp) {
-		Composite comp = fragment.createComposite(parentComp, this);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = convertHorizontalDLUsToPixels(350);
-		//data.heightHint = convertVerticalDLUsToPixels(350);
-		comp.setLayoutData(data);
-		setControl(comp);
-	}
-
-	public boolean isPageComplete() {
-		if (!fragment.isComplete())
-			return false;
-		if (isEmptyError)
-			return false;
-		return (getMessage() == null || getMessageType() != ERROR);
-	}
-
-	public boolean canFlipToNextPage() {
-		if (getNextPage() == null)
-			return false;
-		if (isEmptyError)
-			return false;
-		return (getMessage() == null || getMessageType() != ERROR);
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		
-		if (visible) {
-			TaskWizard wizard = (TaskWizard) getWizard();
-			wizard.switchWizardFragment(fragment);
-			
-			if (getContainer().getCurrentPage() != null)
-				getContainer().updateButtons();
-		}
-	}
-	
-	public void setMessage(String message, int type) {
-		if (type == IMessageProvider.ERROR && "".equals(message)) {
-			isEmptyError = true;
-			message = null;
-		} else
-			isEmptyError = false;
-		super.setMessage(message, type);
-		IWizardFragment frag = ((TaskWizard) getWizard()).getCurrentWizardFragment();
-		if (!fragment.equals(frag))
-			return;
-		getContainer().updateButtons();
-	}
-	
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException {
-		getWizard().getContainer().run(fork, cancelable, runnable);
-	}
-
-	public void update() {
-		fragment.updateSubFragments();
-		((TaskWizard) getWizard()).updatePages();
-		if (getContainer().getCurrentPage() != null)
-			getContainer().updateButtons();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java
deleted file mode 100644
index 7972e2a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * 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:
- *    IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.wizard;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.ITask;
-import org.eclipse.wst.server.core.ITaskModel;
-/**
- * 
- */
-public class WizardFragment implements IWizardFragment {
-	protected List listImpl;
-	private boolean isComplete = true;
-	private ITaskModel model;
-
-	public boolean hasComposite() {
-		return false;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		return null;
-	}
-
-	public void setTaskModel(ITaskModel model) {
-		this.model = model;
-	}
-
-	public ITaskModel getTaskModel() {
-		return model;
-	}
-
-	public void enter() { }
-
-	public void exit() { }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.IWizardFragment#createFinishTask()
-	 */
-	public ITask createFinishTask() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.IWizardFragment#createCancelTask()
-	 */
-	public ITask createCancelTask() {
-		return null;
-	}
-
-	public void createSubFragments(List list) {
-		// add to list
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.IWizardFragment#getChildren()
-	 */
-	public List getChildFragments() {
-		if (listImpl == null) {
-			listImpl = new ArrayList();
-			createSubFragments(listImpl);
-		}
-		return listImpl;
-	}
-
-	public void updateSubFragments() {
-		listImpl = null;
-	}
-
-	public boolean isComplete() {
-		return isComplete;
-	}
-
-	protected void setComplete(boolean complete) {
-		this.isComplete = complete;
-	}
-}
\ No newline at end of file