This commit was manufactured by cvs2svn to create tag 'v20050317'.
diff --git a/plugins/org.eclipse.jst.server.core/build.properties b/plugins/org.eclipse.jst.server.core/build.properties
index 585150d..f87e0c4 100644
--- a/plugins/org.eclipse.jst.server.core/build.properties
+++ b/plugins/org.eclipse.jst.server.core/build.properties
@@ -14,7 +14,6 @@
                sjavacore.jar
 jars.compile.order = 
 src.includes = schema/,\
-               build.properties,\
-               component.xml
+               build.properties
 output.sjavacore.jar = bin/
 source.sjavacore.jar = sjavacore/
diff --git a/plugins/org.eclipse.jst.server.core/component.xml b/plugins/org.eclipse.jst.server.core/component.xml
index b81ce33..9628870 100644
--- a/plugins/org.eclipse.jst.server.core/component.xml
+++ b/plugins/org.eclipse.jst.server.core/component.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jst.server"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jst.server.core" fragment="false"/><plugin id="org.eclipse.jst.server.generic.core" fragment="false"/><plugin id="org.eclipse.jst.server.generic.serverdefinitions" fragment="false"/><plugin id="org.eclipse.jst.server.generic.ui" fragment="false"/><plugin id="org.eclipse.jst.server.tomcat.core" fragment="false"/><plugin id="org.eclipse.jst.server.tomcat.ui" fragment="false"/><plugin id="org.eclipse.jst.server.ui" fragment="false"/><package name="org.eclipse.jst.server.core"><type name="IConnectorModule"/><type name="IEJBModule"/><type name="IJ2EEModule"/><type name="Servlet"/><type name="ILooseArchiveSupport"/><type name="ILooseArchive"/><type name="IWebModule"/><type name="IEnterpriseApplication"/><type name="JndiObject"/><type name="ClasspathRuntimeTargetHandler"/><type name="IApplicationClientModule"/><type name="GenericRuntimeUtil" implement="false" subclass="false" instantiate="false"/><type name="EJBBean"/><type name="JndiLaunchable"/></package><package name="org.eclipse.jst.server.generic.servertype.definition"></package></component>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="jst.server"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jst.server.core" fragment="false"/><plugin id="org.eclipse.jst.server.generic.core" fragment="false"/><plugin id="org.eclipse.jst.server.generic.serverdefinitions" fragment="false"/><plugin id="org.eclipse.jst.server.generic.ui" fragment="false"/><plugin id="org.eclipse.jst.server.tomcat.core" fragment="false"/><plugin id="org.eclipse.jst.server.tomcat.ui" fragment="false"/><plugin id="org.eclipse.jst.server.ui" fragment="false"/><package name="org.eclipse.jst.server.core"><type name="IConnectorModule"/><type name="IEJBModule"/><type name="IJ2EEModule"/><type name="Servlet"/><type name="ILooseArchiveSupport"/><type name="ILooseArchive"/><type name="IWebModule"/><type name="IEnterpriseApplication"/><type name="JndiObject"/><type name="ClasspathRuntimeTargetHandler"/><type name="IApplicationClientModule"/><type name="GenericRuntimeUtil" implement="false" subclass="false" instantiate="false"/><type name="EJBBean"/><type name="JndiLaunchable"/></package><package name="org.eclipse.jst.server.generic.servertype.definition"></package></component>
\ 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
index 88d45cb..d81451c 100644
--- 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
@@ -17,9 +17,16 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
+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.*;
+import org.eclipse.jst.server.core.internal.IMemento;
+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.jst.server.core.internal.XMLMemento;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate;
 /**
@@ -42,8 +49,8 @@
 	
 	protected List sourceAttachments;
 	
-	/** (non-Javadoc)
-	 * @see RuntimeTargetHandlerDelegate#setRuntimeTarget(IProject, IRuntime, IProgressMonitor)
+	/* (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)
@@ -218,8 +225,8 @@
 		}
 	}
 
-	/** (non-Javadoc)
-	 * @see RuntimeTargetHandlerDelegate#removeRuntimeTarget(IProject, IRuntime, IProgressMonitor)
+	/* (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");
@@ -399,13 +406,6 @@
 	 */
 	public abstract String getClasspathContainerLabel(IRuntime runtime, String id);
 
-	/**
-	 * Resolve the classpath container.
-	 * 
-	 * @param runtime a runtime
-	 * @param id a container id
-	 * @return a possibly empty array of classpath entries
-	 */
 	public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime, String id) {
 		IClasspathEntry[] entries = resolveClasspathContainer(runtime, id);
 		
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
similarity index 94%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java
rename to plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
index fd308e2..d7f8005 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
@@ -8,10 +8,11 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
+package org.eclipse.jst.server.core;
 
 import org.eclipse.jdt.launching.IVMInstall;
 /**
+ * 
  * @since 1.0
  */
 public interface IGenericRuntime {
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
similarity index 88%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
rename to plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
index 070727b..44f4d5b 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
@@ -8,16 +8,16 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
+package org.eclipse.jst.server.core;
 
 import org.eclipse.jdt.launching.IVMInstall;
 /**
+ * 
  * @since 1.0
  */
 public interface IGenericRuntimeWorkingCopy extends IGenericRuntime {
 	/**
 	 * Set the VM install (installed JRE) that this runtime is using.
-	 * Use <code>null</code> to use the Eclipse default JRE.
 	 * 
 	 * @param vmInstall the VM install to use
 	 */
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
index e82b0f4..faae162 100644
--- 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
@@ -14,10 +14,12 @@
 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.jst.server.core.IGenericRuntimeWorkingCopy;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.model.RuntimeDelegate;
 /**
- *
+ * 
  */
 public class GenericRuntime extends RuntimeDelegate implements IGenericRuntime, IGenericRuntimeWorkingCopy {
 	protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
@@ -34,14 +36,8 @@
 	protected String getVMInstallId() {
 		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
 	}
-	
-	public boolean isUsingDefaultJRE() {
-		return getVMInstallTypeId() == null;
-	}
 
 	public IVMInstall getVMInstall() {
-		if (getVMInstallTypeId() == null)
-			return JavaRuntime.getDefaultVMInstall();
 		try {
 			IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId());
 			IVMInstall[] vmInstalls = vmInstallType.getVMInstalls();
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
index 6b94bbe..0eeb339 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
@@ -9,6 +9,19 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.jst.server.core.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+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;
 /**
  * 
  */
@@ -25,13 +38,13 @@
 	 * @return an array containing runtime classpath entries
 	 * @throws CoreException
 	 */
-	/*public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create, IProgressMonitor monitor) throws CoreException {
+	public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create, IProgressMonitor monitor) throws CoreException {
 		ILaunchConfiguration config = server.getLaunchConfiguration(create, monitor);
 		if (config == null)
 			return null;
 		
 		return JavaRuntime.computeUnresolvedRuntimeClasspath(config);
-	}*/
+	}
 
 	/**
 	 * Sets the classpath on the given server's launch configuration.
@@ -40,7 +53,7 @@
 	 * @param classpath
 	 * @throws CoreException
 	 */
-	/*public static void setClasspath(IServer server, IRuntimeClasspathEntry[] classpath, IProgressMonitor monitor) throws CoreException {
+	public static void setClasspath(IServer server, IRuntimeClasspathEntry[] classpath, IProgressMonitor monitor) throws CoreException {
 		ILaunchConfiguration config = server.getLaunchConfiguration(true, monitor);
 		ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy();
 		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
@@ -52,5 +65,5 @@
 		}
 		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, mementos);
 		wc.doSave();
-	}*/
+	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java
index d354553..a35ea43 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java
@@ -12,6 +12,7 @@
 
 import java.io.*;
 import java.util.*;
+import java.net.URL;
 import org.w3c.dom.*;
 import org.xml.sax.*;
 
@@ -44,7 +45,7 @@
 	 * you should use createReadRoot and createWriteRoot to create the initial
 	 * mementos on a document.
 	 */
-	private XMLMemento(Document doc, Element el) {
+	public XMLMemento(Document doc, Element el) {
 		factory = doc;
 		element = el;
 	}
@@ -72,12 +73,12 @@
 	 * Create a Document from a Reader and answer a root memento for reading 
 	 * a document.
 	 */
-	protected static XMLMemento createReadRoot(InputStream in) {
+	protected static XMLMemento createReadRoot(Reader reader) {
 		Document document = null;
 		try {
 			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
+			document = parser.parse(new InputSource(reader));
 			Node node = document.getFirstChild();
 			if (node instanceof Element)
 				return new XMLMemento(document, (Element) node);
@@ -85,7 +86,7 @@
 			// ignore
 		} finally {
 			try {
-				in.close();
+				reader.close();
 			} catch (Exception e) {
 				// ignore
 			}
@@ -253,12 +254,62 @@
 	/**
 	 * 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 (Exception e) {
+			// ignore
+		} finally {
+			try {
+				in.close();
+			} catch (Exception e) {
+				// ignore
+			}
+		}
+		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 FileInputStream(filename));
+		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()));
 	}
 
 	/*
@@ -313,6 +364,23 @@
 			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.
@@ -324,7 +392,6 @@
 			Transformer transformer = TransformerFactory.newInstance().newTransformer();
 			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
 			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
 			transformer.transform(source, result);
 		} catch (Exception e) {
@@ -339,9 +406,9 @@
 	 * @exception java.io.IOException
 	 */
 	public void saveToFile(String filename) throws IOException {
-		FileOutputStream w = null;
+		Writer w = null;
 		try {
-			w = new FileOutputStream(filename);
+			w = new FileWriter(filename);
 			save(w);
 		} catch (IOException e) {
 			throw e;
@@ -358,6 +425,12 @@
 		}
 	}
 	
+	public String saveToString() throws IOException {
+		ByteArrayOutputStream out = new ByteArrayOutputStream();
+		save(out);
+		return out.toString("UTF-8");
+	}
+	
 	/*
 	 * @see IMemento#getBoolean(String)
 	 */
diff --git a/plugins/org.eclipse.jst.server.generic.core/.classpath b/plugins/org.eclipse.jst.server.generic.core/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.core/.cvsignore b/plugins/org.eclipse.jst.server.generic.core/.cvsignore
deleted file mode 100644
index 07d3079..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-build.xml
-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/.project b/plugins/org.eclipse.jst.server.generic.core/.project
deleted file mode 100644
index fe7ee06..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.core/build.properties b/plugins/org.eclipse.jst.server.generic.core/build.properties
deleted file mode 100644
index b68a22c..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-source.genericserver.jar = src/
-output.genericserver.jar = bin/
-bin.includes = plugin.xml,\
-               genericserver.jar,\
-               servers/,\
-               plugin.properties,\
-               xsd/ServerTypeDefinitionSchema.xsd
-src.includes = servers/,\
-               src/,\
-               plugin.xml,\
-               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
deleted file mode 100644
index 88439f0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.properties
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.core/plugin.xml b/plugins/org.eclipse.jst.server.generic.core/plugin.xml
deleted file mode 100644
index 72f89f3..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jst.server.generic.core"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jst.server.generic.core.internal.CorePlugin"
-   description="%pluginDescription">
-
-   <runtime>
-      <library name="genericserver.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.debug.core"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.wst.server.core"/>
-      <import plugin="org.eclipse.jst.server.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.ant.core"/>
-      <import plugin="org.eclipse.ant.ui"/>
-      <import plugin="org.eclipse.emf.common" export="true"/>
-      <import plugin="org.eclipse.emf.ecore"/>
-      <import plugin="org.eclipse.emf.ecore.xmi"/>
-   </requires>
-   
- <extension-point id="serverdefinition" name="Server definition" schema="schema/serverdefinition.exsd"/>
- <extension-point id="genericpublisher" name="Generic Publisher" schema="schema/genericpublisher.exsd"/>
-	
- <extension point="org.eclipse.wst.server.core.runtimeTargetHandlers">
-     <runtimeTargetHandler
-        id="org.eclipse.jst.server.generic.runtimeTarget"
-        runtimeTypeIds="org.eclipse.jst.server.generic.runtime.*"
-        class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"/>
-	</extension>
-
-   <extension point="org.eclipse.debug.core.launchConfigurationTypes">
-     <launchConfigurationType
-        id="org.eclipse.jst.server.generic.core.launchConfigurationType"
-        name="%launchConfigurationTypeName"
-        delegate="org.eclipse.jst.server.generic.core.internal.GenericServerLaunchConfigurationDelegate"
-        modes="run, debug"
-        sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
-        sourcePathComputerId="org.eclipse.jst.server.generic.core.sourcePathComputer"/>
-  </extension>
-
-   <extension point="org.eclipse.debug.core.sourcePathComputers">
-     <sourcePathComputer
-        id="org.eclipse.jst.server.generic.core.sourcePathComputer"
-        class="org.eclipse.jst.server.generic.core.internal.GenericServerSourcePathComputerDelegate"/>
-   </extension>
- 
-   <extension point="org.eclipse.wst.server.core.launchableAdapters">
-      <launchableAdapter
-         class="org.eclipse.jst.server.generic.core.internal.GenericServerLaunchableAdapterDelegate"
-         id="org.eclipse.jst.server.generic.web"/>
-   </extension>
-   <extension point="org.eclipse.jst.server.generic.core.genericpublisher">
-      <genericpublisher
-            class="org.eclipse.jst.server.generic.core.internal.AntPublisher"
-            id="org.eclipse.jst.server.generic.antpublisher"/>
-   </extension>
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.core/schema/genericpublisher.exsd b/plugins/org.eclipse.jst.server.generic.core/schema/genericpublisher.exsd
deleted file mode 100644
index 3d25596..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/schema/genericpublisher.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.generic.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.generic.core" id="genericpublisher" name="Generic Publisher"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="genericpublisher"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="genericpublisher">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd b/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd
deleted file mode 100644
index 5fe9727..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.generic.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.generic.core" id="serverdefinition" name="Server Definition"/>
-      </appInfo>
-      <documentation>
-         This extension point defines a new generic server plugin
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="serverdefinition" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="serverdefinition">
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  server id
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="definitionfile" type="string" use="required">
-            <annotation>
-               <documentation>
-                  location of the generic server definition file
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/AntPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/AntPublisher.java
deleted file mode 100644
index caeaf01..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/AntPublisher.java
+++ /dev/null
@@ -1,230 +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.core.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.ant.core.AntRunner;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.generic.internal.core.util.FileUtil;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-import org.eclipse.jst.server.generic.servertype.definition.PublisherData;
-import org.eclipse.jst.server.core.IEJBModule;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.osgi.framework.Bundle;
-/**
- * Ant based publisher.
- * All the properties defined in the server definition file are
- * passed into the ANT build file as properties.
- * In addition to the properties defined in the server definition
- * <I>module.dir</I>, <I>module.name,</I> and <I>server.publish.dir</I> are computed and passed to the 
- * definition file.
- * <ul>
- * <li>module.dir: includes the root of the module project file</li>
- * <li>module.name: the name of the module</li>
- * <li>server.publish.dir: the directory to put the deployment units</li>
- * </ul>
- *
- * @author Gorkem Ercan
- */
-
-public class AntPublisher extends GenericPublisher{
-
-    private static final String MODULE_PUBLISH_TARGET_PREFIX = "target.publish.";
-    private static final String MODULE_UNPUBLISH_TARGET_PREFIX = "target.unpublish.";
-    public static final String PUBLISHER_ID="org.eclipse.jst.server.generic.antpublisher"; 
-    private static final String DATA_NAME_BUILD_FILE="build.file";
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.wtp.server.core.model.IPublisher#publish(org.eclipse.wtp.server.core.resources.IModuleResource[], org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus[] publish(IModuleArtifact[] resource,
-			IProgressMonitor monitor){
-        
-        File file = computeBuildFile();
-        try{
-            runAnt(file.toString(),getPublishTargetsForModule(),getPublishProperties(),monitor);
-        }
-        catch(CoreException e){
-            IStatus s = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,"Publish failed using Ant publisher",e);
-            CorePlugin.getDefault().getLog().log(s);
-            return new IStatus[] {s};
-        }
-		return null;
-	}
-
-
-    /**
-     * @return
-     */
-    private File computeBuildFile() {
-        Bundle bundle = Platform.getBundle(getServerRuntime().getConfigurationElementNamespace());
-        File file = FileUtil.resolveFileFrom(bundle,getBuildFile());
-        return file;
-    }
-    
-   
-    /**
-     * @return
-     */
-    private String[] getPublishTargetsForModule() {
-        String dataname = MODULE_PUBLISH_TARGET_PREFIX+getModuleTypeId();
-        return doGetTargets(dataname);
-    }
-
-
-    /**
-     * @param dataname
-     * @return
-     */
-    private String[] doGetTargets(String dataname) {
-        ArrayList list = new ArrayList();
-        Iterator iterator = getServerRuntime().getPublisher(PUBLISHER_ID).getPublisherdata().iterator();
-        while(iterator.hasNext()){
-            PublisherData data = (PublisherData)iterator.next();
-            if(dataname.equals(data.getDataname())) {
-                list.add(data.getDatavalue());
-            }   
-        }
-        return (String[])list.toArray(new String[list.size()]);
-    }
-
-    /**
-     * @return
-     */
-    private String[] getUnpublishTargetsForModule() {
-        
-        return doGetTargets(MODULE_UNPUBLISH_TARGET_PREFIX+getModuleTypeId());
-    }
-    
-    
-    private String getModuleTypeId()
-    {
-        return getModule()[0].getModuleType().getId();
-    }
-    
-	private String getBuildFile()
-    {
-        Iterator iterator = getServerRuntime().getPublisher(PUBLISHER_ID).getPublisherdata().iterator();
-        while(iterator.hasNext())
-        {
-            PublisherData data = (PublisherData)iterator.next();
-            if(DATA_NAME_BUILD_FILE.equals(data.getDataname()))
-                return getServerRuntime().getResolver().resolveProperties(data.getDatavalue());
-        }
-        return null;
-    }
-	private Map getPublishProperties()
-	{
-        Map props = new HashMap();
-        
-        // pass all properties to build file.
-        Map properties = getServerRuntime().getResolver().getPropertyValues();
-        Iterator propertyIterator = properties.keySet().iterator();
-        while(propertyIterator.hasNext())
-        {
-            String property = (String)propertyIterator.next();
-            props.put(property,properties.get(property));
-        }
-        
-        Module module =  getServerRuntime().getModule(getModuleTypeId());
-		String modDir = module.getPublishDir();
-		modDir = getServerRuntime().getResolver().resolveProperties(modDir);
-
-		IWebModule webModule = (IWebModule)getModule()[0].getAdapter(IWebModule.class);
-        IEJBModule ejbModule = (IEJBModule)getModule()[0].getAdapter(IEJBModule.class);
-		String moduleName="unknownmodule";
-        String moduleDir="";
-        if(webModule!=null){    
-            moduleName = this.guessModuleName(webModule);
-            moduleDir = webModule.getLocation().toString();
-        }
-        if(ejbModule!=null){  
-            moduleName = getModule()[0].getName();
-            moduleDir= ejbModule.getLocation().toString();
-        }
-		props.put("module.name",moduleName);
-		props.put("module.dir",moduleDir);
-		props.put("server.publish.dir",modDir);
-		return props;
-	}
-	/**
-	 * @param module2
-	 * @param webModule
-	 * @return
-	 */
-	private String guessModuleName(IWebModule webModule) {
-		String moduleName = getModule()[0].getName(); 
-		//Default to project name but not a good guess
-		//may have blanks etc.
-		
-		// A better choice is to use the context root
-		// For wars most appservers use the module name
-		// as the context root
-		String contextRoot = webModule.getContextRoot();
-		if(contextRoot.charAt(0) == '/')
-			moduleName = contextRoot.substring(1);
-		return moduleName;
-	}
-	private void runAnt(String buildFile,String[] targets,Map properties ,IProgressMonitor monitor)throws CoreException
-	{
-		AntRunner runner = new AntRunner();
-		runner.setBuildFileLocation(buildFile);
-		runner.setExecutionTargets(targets);
-		runner.addUserProperties(properties);
-		runner.run(monitor);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.core.GenericPublisher#unpublish(org.eclipse.wst.server.core.IModule, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public IStatus[] unpublish(IProgressMonitor monitor) {
-        File file = computeBuildFile();
-        try {
-            runAnt(file.toString(),getUnpublishTargetsForModule(),getPublishProperties(),monitor);
-        } catch (CoreException e) {
-            IStatus s = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,"Remove module failed using Ant publisher",e);
-            return new IStatus[] {s};
- 
-        }
-        return null;
-    }
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/CorePlugin.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/CorePlugin.java
deleted file mode 100644
index 1750ec5..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/CorePlugin.java
+++ /dev/null
@@ -1,129 +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.core.internal;
-
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author Gorkem Ercan
- */
-public class CorePlugin extends AbstractUIPlugin {
-
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.generic.core";
-
-	//The shared instance.
-	private static CorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private ServerTypeDefinitionManager fServerTypeDefinitionManager;
-	/**
-	 * The constructor.
-	 */
-	public CorePlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.generic.core.CorePluginResources");
-		} 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 CorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = CorePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	/**
-	 * 
-	 * @return
-	 */
-	public ServerTypeDefinitionManager getServerTypeDefinitionManager()
-	{
-		if(fServerTypeDefinitionManager==null)
-			fServerTypeDefinitionManager = new ServerTypeDefinitionManager(getInstallUrl());
-		return fServerTypeDefinitionManager;
-	}
-	
-	private URL getInstallUrl()
-	{
-		try {
-			return Platform.resolve(this.getBundle().getEntry("/"));
-		} catch (IOException e) {
-			return null;
-		}	
-	}
-	
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericPublisher.java
deleted file mode 100644
index 24f3282..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericPublisher.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-
-/**
- * The abstract publisher. This is intended to be subclassed by
- * clients implementing the genericpublisher extension point.
- *
- * @author Gorkem Ercan
- */
-public abstract class GenericPublisher 
-{
-    
-    private IModule[] fModule;
-    private ServerRuntime fServerRuntime;
-    
-    protected void initialize(IModule[] module, ServerRuntime serverDefinition)
-    {
-        fModule = module;
-        fServerRuntime = serverDefinition;
-    }
-   /**
-    * Called by the generic server implementation when a module is 
-    * removed form the server instance. 
-    * Subclasses may extend this method to perform their own module removal
-    * 
-    * @param module
-    * @param monitor
-    * @return
-    */ 
-   public abstract IStatus[] unpublish(IProgressMonitor monitor);
-    
-    /**
-     * Called by the generic server implementation when a publish module 
-     * event occurs. 
-     * Subclasses may extend this method to perform their own publishing
-     * 
-     * @param resource
-     * @param monitor
-     * @return
-     */
-    public abstract IStatus[] publish(IModuleArtifact[] resource,
-            IProgressMonitor monitor);
-   
-    public IModule[] getModule() {
-        return fModule;
-    }
-
-    public ServerRuntime getServerRuntime() {
-        return fServerRuntime;
-    }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServer.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServer.java
deleted file mode 100644
index 940e367..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServer.java
+++ /dev/null
@@ -1,310 +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.core.internal;
-
-import java.net.URL;
-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.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-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.ServerRuntime;
-import org.eclipse.jst.server.core.IEJBModule;
-import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.internal.ServerMonitorManager;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.ServerPort;
-
-/**
- * Generic XML based server implementation.
- * 
- * @author Gorkem Ercan
- */
-public class GenericServer extends ServerDelegate implements IURLProvider {
-
-    private static final String ATTR_GENERIC_SERVER_MODULES = "Generic_Server_Modules_List";
-    private ServerRuntime fServerDefinition;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IServerDelegate#publishStart(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus publishStart(IProgressMonitor monitor) {
-	    if(getModules().length<1)
-	        return new Status(IStatus.CANCEL,CorePlugin.PLUGIN_ID,0,GenericServerCoreMessages.getString("cancelNoPublish"),null);
-		return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "PublishingStarted", null);
-	}
-
-
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		Iterator iterator = getServerDefinition().getModule().iterator();
-       
-        while(iterator.hasNext())   {
-	        Module module = (Module)iterator.next();
-	        for (int i = 0; i < add.length; i++) {
-                if(add[i].getModuleType().getId().equals(module.getType()))
-                    return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "CanModifyModules", null);
-            }
-	    }
-		return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.getString("moduleNotCompatible"), null);
-	}
-	
-	private String createModuleId(IModule module)
-	{
-	    return module.getProject().getName()+":"+module.getId();
-	}
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerDelegate#modifyModules(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IModule[], org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-      
-        List modules = this.getAttribute(ATTR_GENERIC_SERVER_MODULES,(List)null);
-        
-        if(add!=null&& add.length>0)
-        {
-            if(modules==null) {
-               modules=new ArrayList(add.length);
-            }
-            for (int i = 0; i < add.length; i++) {
-               String modlId = createModuleId(add[i]);
-               if(modules.contains(modlId)==false)
-                    modules.add(modlId);
-            }
-        }
-        if(remove!=null && remove.length>0 && modules!=null)
-        {
-            for (int i = 0; i < remove.length; i++) {
-                modules.remove(createModuleId(remove[i]));
-             }
-        }
-        if(modules!=null)    
-            setAttribute(ATTR_GENERIC_SERVER_MODULES,modules);
-        
-    }
-
-    
-    
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IServerDelegate#getModules()
-	 */
-	public org.eclipse.wst.server.core.IModule[] getModules() {
-		List modules = getAttribute(ATTR_GENERIC_SERVER_MODULES,(List)null);
-		List imodules = new ArrayList();
-		Iterator iterator = modules.iterator();
-		while(iterator.hasNext())
-		{
-		    String moduleId = (String)iterator.next();
-		    int sep = moduleId.indexOf(":");
-		    IProject project =ResourcesPlugin.getWorkspace().getRoot().getProject(moduleId.substring(0,sep));
-		    IModule[] ms = ServerUtil.getModules(project);
-		    for (int i = 0; i < ms.length; i++) {
-                if(ms[i].getId().equals(moduleId.substring(sep+1)))
-                	imodules.add(ms[i]);
-            }
-	
-		}
-		if(modules!= null)
-		    return (IModule[])imodules.toArray(new IModule[imodules.size()]);
-		return new IModule[0];
-	}
-
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IServerDelegate#getChildModules(org.eclipse.wst.server.core.model.IModule[])
-	 */
-	public IModule[] getChildModules(IModule[] module) {
-		// TODO Auto-generated method stub
-		return new IModule[0];
-	}
-
-	/**
-	 * @return
-	 */
-	private Map getServerInstanceProperties() {
-		Map runtimeProperties =getRuntimeDelegate().getAttribute(
-				GenericServerRuntime.SERVER_INSTANCE_PROPERTIES, new HashMap());
-		Map serverProperties = getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,new HashMap(1));
-		Map instanceProperties = new HashMap(runtimeProperties.size()+serverProperties.size());
-		instanceProperties.putAll(runtimeProperties);
-		instanceProperties.putAll(serverProperties);
-		return instanceProperties;
-	}
-	
- 	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IMonitorableServer#getServerPorts()
-	 */
-	public org.eclipse.wst.server.core.ServerPort[] getServerPorts() {
-		List ports = new ArrayList();
-		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 (org.eclipse.wst.server.core.ServerPort[])ports.toArray(new org.eclipse.wst.server.core.ServerPort[ports.size()]);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wtp.server.core.model.IURLProvider#getModuleRootURL(org.eclipse.wtp.server.core.model.IModule)
-	 */
-	public URL getModuleRootURL(IModule module) {
-
-		try {			
-            if (module == null || module.getAdapter(IWebModule.class)==null )
-				return null;
-
-			String url = "http://localhost";
-			int port = 0;
-			
-			port = getHttpPort();
-			port =ServerMonitorManager.getInstance().getMonitoredPort(getServer(), port, "web");
-			if (port != 80)
-				url += ":" + port;
-
-			url += "/"+module.getName();
-
-			if (!url.endsWith("/"))
-				url += "/";
-
-			return new URL(url);
-		} catch (Exception e) {
-			Trace.trace("Could not get root URL", e);
-			return null;
-		}
-
-	}
-
-	/**
-	 * @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;
-	}
-
-    public ServerRuntime getServerDefinition() {
-    	if (fServerDefinition == null)
-    		fServerDefinition = CorePlugin.getDefault()
-    				.getServerTypeDefinitionManager()
-    				.getServerRuntimeDefinition(getRuntimeDelegate().getAttribute(
-    								GenericServerRuntime.SERVER_DEFINITION_ID,
-    								""), getServerInstanceProperties());
-    	return fServerDefinition;
-    }
-
-    private RuntimeDelegate getRuntimeDelegate()
-    {
-       return (RuntimeDelegate)getServer().getRuntime().getAdapter(RuntimeDelegate.class);
-    }
-
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.server.core.model.ServerDelegate#getRootModules(org.eclipse.wst.server.core.IModule)
-     */
-    public IModule[] getRootModules(IModule module) throws CoreException {
-
-        String type = module.getModuleType().getId();
-
-        if (type.equals("j2ee.ejb")) {
-            IEJBModule ejbModule = (IEJBModule) module.getAdapter(IEJBModule.class);
-            if (ejbModule != null) {
-                IStatus status = canModifyModules(new IModule[] { module },
-                        null);
-                if (status == null || !status.isOK())
-                    throw new CoreException(status);
-                return new IModule[] { module };
-            }
-        }
-
-        if (type.equals("j2ee.ear")) {
-
-            IEnterpriseApplication enterpriseApplication = (IEnterpriseApplication) module.getAdapter(IEnterpriseApplication.class);
-            if (enterpriseApplication != null) {
-                IStatus status = canModifyModules(new IModule[] { module },
-                        null);
-                if (status == null || !status.isOK())
-                    throw new CoreException(status);
-                return new IModule[] { module };
-            }
-        }
-        
-        if (type.equals("j2ee.web")) {
-
-            IWebModule webModule = (IWebModule) module.getAdapter(IWebModule.class);
-            if (webModule != null) {
-                IStatus status = canModifyModules(new IModule[] { module },
-                        null);
-                if (status == null || !status.isOK())
-                    throw new CoreException(status);
-                return new IModule[] { module };
-            }
-        }
-
-        return null;
-    }
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
deleted file mode 100644
index 77f3c50..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
+++ /dev/null
@@ -1,425 +0,0 @@
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.IDebugUIConstants;
-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.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.PingThread;
-import org.eclipse.wst.server.core.util.SocketUtil;
-
-/**
- * Server behaviour delegate implementation for generic server.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerBehaviour extends ServerBehaviourDelegate {
-	
-	private static final String ATTR_STOP = "stop-server";
-    
-	// the thread used to ping the server to check for startup
-	protected transient PingThread ping = null;
-    protected transient IDebugEventSetListener processListener;
-    protected transient IProcess process;
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerBehaviourDelegate#publishServer(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
-        
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerBehaviourDelegate#publishModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IModule, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void publishModule(int kind, int deltaKind, IModule[] module,
-            IProgressMonitor monitor) throws CoreException {
- 
-        if(REMOVED == deltaKind){
-            removeFromServer(module,monitor);
-        }
-        else{
-            Module m = getServerDefinition().getModule(module[0].getModuleType().getId());
-            String publisherId = m.getPublisherReference();
-            GenericPublisher publisher = PublishManager.getPublisher(publisherId);
-            if(publisher==null){
-                IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,"Unable to create publisher",null);
-                throw new CoreException(status);
-            }
-            publisher.initialize(module,getServerDefinition());
-            IStatus[] status= publisher.publish(null,monitor);
-            if(status==null)
-                setModulePublishState(module, IServer.PUBLISH_STATE_NONE);
-        }
-    }
-
-    private void removeFromServer(IModule[] module, IProgressMonitor monitor) throws CoreException
-    {
-        Module m = getServerDefinition().getModule(module[0].getModuleType().getId());
-        String publisherId = m.getPublisherReference();
-        GenericPublisher publisher = PublishManager.getPublisher(publisherId);  
-        if(publisher==null){
-            IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,"Unable to create publisher to remove module",null);
-            throw new CoreException(status);
-        }
-        publisher.initialize(module,getServerDefinition());
-        publisher.unpublish(monitor);
-    }
-    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerBehaviourDelegate#stop(boolean)
-     */
-    public void stop(boolean force) {
-		if (force) {
-			terminate();
-			return;
-		}
-
-		int state = getServer().getServerState();
-		if (state == IServer.STATE_STOPPED)
-			return;
-		else if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-			terminate();
-			return;
-		}
-
-		try {
-			Trace.trace(Trace.FINEST, "Stopping Server");
-			if (state != IServer.STATE_STOPPED)
-				setServerState(IServer.STATE_STOPPING);
-			ILaunchManager mgr = DebugPlugin.getDefault().getLaunchManager();
-
-			ILaunchConfigurationType type =
-				mgr.getLaunchConfigurationType(
-					IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
-
-			String launchName = "GenericServerStopper";
-			String uniqueLaunchName =
-				mgr.generateUniqueLaunchConfigurationNameFrom(launchName);
-			ILaunchConfiguration conf = null;
-
-			ILaunchConfiguration[] lch = mgr.getLaunchConfigurations(type);
-			for (int i = 0; i < lch.length; i++) {
-				if (launchName.equals(lch[i].getName())) {
-					conf = lch[i];
-					break;
-				}
-			}
-
-			ILaunchConfigurationWorkingCopy wc = null;
-			if (conf != null) {
-				wc = conf.getWorkingCopy();
-			} else {
-				wc = type.newInstance(null, uniqueLaunchName);
-			}
-			//To stop from appearing in history lists
-			wc.setAttribute(IDebugUIConstants.ATTR_PRIVATE, true);			
-	
-			wc.setAttribute(
-					IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-					getServerDefinition().getResolver().resolveProperties(this.getServerDefinition().getStop().getMainClass()));
-
-			GenericServerRuntime runtime = (GenericServerRuntime) getRuntimeDelegate();
-
-			IVMInstall vmInstall = runtime.getVMInstall();
-			wc.setAttribute(
-					IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, runtime
-							.getVMInstallTypeId());
-			wc.setAttribute(
-					IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME,
-					vmInstall.getName());
-
-			setupLaunchClasspath(wc, vmInstall, getStopClasspath());
-
-			wc.setAttribute(
-					IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-					getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getWorkingDirectory()));
-			wc.setAttribute(
-					IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-					getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getProgramArguments()));
-			wc.setAttribute(
-					IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-					getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getVmParameters()));				
-			wc.setAttribute(ATTR_STOP, "true");
-			wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping Server", e);
-		}
-	
-
-    }
-
-    public String getStartClassName() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getMainClass());
-    }
-
-    public ServerRuntime getServerDefinition() {
-        GenericServer server = (GenericServer)getServer().getAdapter(ServerDelegate.class);
-        return server.getServerDefinition();
-    }
-    
-    private RuntimeDelegate getRuntimeDelegate()
-    {
-       return (RuntimeDelegate)getServer().getRuntime().getAdapter(RuntimeDelegate.class);
-    }
-
-
-
-    private List getStartClasspath() {
-    	String cpRef = getServerDefinition().getStart().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())
-        {
-        	ArchiveType archive = (ArchiveType)iterator.next();
-        	String cpath = getServerDefinition().getResolver().resolveProperties(archive.getPath());
-    		try {
-    			mementoList.add(JavaRuntime.newArchiveRuntimeClasspathEntry(
-    					new Path(cpath)).getMemento());
-    		} catch (CoreException e) {
-    		    //ignored
-    		}
-        }
-    	return mementoList;
-    }
-
-    /**
-     * @param wc
-     * @param vmInstall
-     */
-    private void setupLaunchClasspath(ILaunchConfigurationWorkingCopy wc, IVMInstall vmInstall, List cp) {
-    	// add tools.jar to the path
-    	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)
-    							.getMemento());
-    		} catch (Exception e) {
-				// ignore
-    		}
-    
-    		IPath jrePath = new Path(vmInstall.getInstallLocation()
-    				.getAbsolutePath());
-    		if (jrePath != null) {
-    			IPath toolsPath = jrePath.append("lib").append("tools.jar");
-    			if (toolsPath.toFile().exists()) {
-    				try {
-    					cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(
-    							toolsPath).getMemento());
-    				} catch (CoreException e1) {
-						// ignore
-    				}
-    			}
-    		}
-    	}
-    
-    	wc.setAttribute(
-    			IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, cp);
-    	wc.setAttribute(
-    					IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH,
-    					false);
-    }
-
-    private String getWorkingDirectory() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getWorkingDirectory());
-    }
-
-    private String getProgramArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getProgramArguments());
-    }
-
-    private String getVmArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getVmParameters());
-    }
-
-    public void setupLaunchConfiguration(
-            ILaunchConfigurationWorkingCopy workingCopy,
-            IProgressMonitor monitor) throws CoreException {
-
-
-        workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-                getStartClassName());
-
-        GenericServerRuntime runtime = (GenericServerRuntime) getRuntimeDelegate();
-
-        IVMInstall vmInstall = runtime.getVMInstall();
-        workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, runtime
-                        .getVMInstallTypeId());
-        workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME,
-                vmInstall.getName());
-
-        setupLaunchClasspath(workingCopy, vmInstall, getStartClasspath());
-
-
-        workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-                getWorkingDirectory());
-        
-        String existingProgArgs  = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-        String serverProgArgs =  getProgramArguments();
-        if(existingProgArgs==null || existingProgArgs.indexOf(serverProgArgs)<0) {
-            workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,serverProgArgs);
-        }
-        String existingVMArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,(String)null);
-        String serverVMArgs= getVmArguments();
-        if(existingVMArgs==null || existingVMArgs.indexOf(serverVMArgs)<0) {
-            workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,serverVMArgs);
-        }
-    }
-    /**
-    	 * 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 = getRuntime().validate();
-    //		if (status != null && !status.isOK())
-    //			throw new CoreException(status);
-    
-    	
-    		ServerPort[] ports = getServer().getServerPorts();
-    		ServerPort sp = null;
-    		for(int i=0;i<ports.length;i++){
-    			sp= ports[i];
-    			if (SocketUtil.isPortInUse(ports[i].getPort(), 5))
-    				throw new CoreException(new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.getFormattedString("errorPortInUse",new String[] {Integer.toString(sp.getPort()),sp.getName()}),null));
-    		}
-    		
-    		setServerState(IServer.STATE_STARTING);
-    	
-    		// ping server to check for startup
-    		try {
-    			String url = "http://localhost";
-    			int port = sp.getPort();
-    			if (port != 80)
-    				url += ":" + port;
-    			ping = new PingThread(getServer(),this, url, 50);
-    		} catch (Exception e) {
-    			Trace.trace(Trace.SEVERE, "Can't ping for server startup.");
-    		}
-    	}
-
-    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;
-    	}
-    	setServerState(IServer.STATE_STOPPED);
-    }
-
-    /**
-     * Terminates the server.
-     */
-    public void terminate() {
-    	if (getServer().getServerState() == IServer.STATE_STOPPED)
-    		return;
-    
-    	try {
-    		setServerState(IServer.STATE_STOPPING);
-    		Trace.trace(Trace.FINEST, "Killing the Server process");
-    		if (process != null && !process.isTerminated()) {
-    			process.terminate();
-    			stopImpl();
-    		}
-    	} catch (Exception e) {
-    		Trace.trace(Trace.SEVERE, "Error killing the process", e);
-    	}
-    }
-
-    private List getStopClasspath() {
-    	String cpRef = getServerDefinition().getStop().getClasspathReference();
-    	return serverClasspath(cpRef);
-    }
-    public void initialize() {
-      super.initialize();
-      setModules(getServer().getModules());
-    }
-    public void publishFinish(IProgressMonitor monitor) throws CoreException {
-        IModule[] modules = this.getServer().getModules();
-        boolean allpublished= true;
-        for (int i = 0; i < modules.length; i++) {
-            if(this.getServer().getModulePublishState(modules)!=IServer.PUBLISH_STATE_NONE)
-                allpublished=false;
-        }
-        if(allpublished)
-            setServerPublishState(IServer.PUBLISH_STATE_NONE);
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.java
deleted file mode 100644
index 98b173d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.jst.server.generic.core.internal;
-
-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.internal.GenericServerCoreMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private GenericServerCoreMessages() {
-		// do nothing
-	}
-
-	/**
-	 * 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/internal/GenericServerCoreMessages.properties b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.properties
deleted file mode 100644
index 0c696d7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-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/core/internal/GenericServerLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchConfigurationDelegate.java
deleted file mode 100644
index 3a26ef4..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,129 +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.core.internal;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-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.IJavaLaunchConfigurationConstants;
-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.ServerUtil;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-/**
- * ServerLaunchConfiguration for the generic server.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode,
-			ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		
-		
-
-		IServer server = ServerUtil.getServer(configuration);
-		if (server == null){
-            abort("Server does not exist", null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-		}	
-		
-		GenericServerBehaviour genericServer = (GenericServerBehaviour)server.getAdapter(ServerBehaviourDelegate.class);
-		genericServer.setupLaunch(launch, mode, monitor);
-	
-		String mainTypeName = genericServer.getStartClassName(); 
-
-		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);
-		genericServer.setProcess(launch.getProcesses()[0]);
-		
-	}
-
-	/**
-	 * Throws a core exception with the given message and optional
-	 * exception. The exception's status code will indicate an error.
-	 * 
-	 * @param message error message
-	 * @param exception cause of the error, or <code>null</code>
-	 * @exception CoreException with the given message and underlying
-	 *  exception
-	 */
-	protected void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, CorePlugin.getDefault().getBundle().getSymbolicName(), code, message, exception));
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
deleted file mode 100644
index e5dc311..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,130 +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
- * 
- * 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.core.internal;
-
-import java.net.URL;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-import org.eclipse.jst.server.core.EJBBean;
-import org.eclipse.jst.server.core.JndiLaunchable;
-import org.eclipse.jst.server.core.JndiObject;
-import org.eclipse.jst.server.core.Servlet;
-import org.eclipse.jst.server.generic.servertype.definition.JndiProperty;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-/**
- * Launchable adapter delegate for generic servers.
- * @author Gorkem Ercan 
- */
-public class GenericServerLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	/*
-	 * @see ILaunchableAdapterDelegate#getLaunchable(IServer, IModuleObject)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact moduleObject) {
-		ServerDelegate delegate = (ServerDelegate)server.getAdapter(ServerDelegate.class);
-		if (!(delegate instanceof GenericServer))
-			return null;
-		if ((moduleObject instanceof Servlet) ||(moduleObject instanceof WebResource))
-            return prepareHttpLaunchable(moduleObject, delegate);
-		
-        if((moduleObject instanceof EJBBean) || (moduleObject instanceof JndiObject))
-            return prepareJndiLaunchable(moduleObject,delegate);
-		return null;
-	}
-
-    private Object prepareJndiLaunchable(IModuleArtifact moduleObject, ServerDelegate delegate) {
-        JndiLaunchable launchable = null;
-        GenericServer genericServer = (GenericServer)delegate;
-        ServerRuntime definition = genericServer.getServerDefinition();
-        Properties props = new Properties();
-        props.put("java.naming.factory.initial",definition.getJndiConnection().getInitialContextFactory());
-        props.put("java.naming.provider.url",definition.getJndiConnection().getProviderUrl());
-        List jps = definition.getJndiConnection().getJndiProperty();
-        Iterator propsIt =jps.iterator();
-        while(propsIt.hasNext())
-        {
-            JndiProperty prop = (JndiProperty)propsIt.next();
-            props.put(prop.getName(),prop.getValue());
-        }
-        
-        if(moduleObject instanceof EJBBean)
-        {
-            EJBBean bean = (EJBBean)moduleObject;
-            launchable = new JndiLaunchable(props,bean.getJndiName());
-        }
-        if(moduleObject instanceof JndiObject)
-        {
-            JndiObject jndi = (JndiObject)moduleObject;
-            launchable = new JndiLaunchable(props,jndi.getJndiName());
-        }
-        return launchable;
-    }
-
-    /**
-     * @param moduleObject
-     * @param delegate
-     * @return
-     */
-    private Object prepareHttpLaunchable(IModuleArtifact moduleObject, ServerDelegate delegate) {
-        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);
-			} 
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			Trace.trace("Error getting URL for " + moduleObject, e);
-			return null;
-		}
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntime.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntime.java
deleted file mode 100644
index 1561b41..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntime.java
+++ /dev/null
@@ -1,129 +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.core.internal;
-
-import java.io.File;
-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;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.internal.IGenericRuntime;
-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.model.RuntimeDelegate;
-/**
- * Generic server runtime support.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerRuntime extends RuntimeDelegate implements IGenericRuntime
-{
-
-	public static final String SERVER_DEFINITION_ID = "server_definition_id";
-	public static final String SERVER_INSTANCE_PROPERTIES = "generic_server_instance_properties";
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.core.IGenericRuntime#getVMInstallTypeId()
-	 */
-	public String getVMInstallTypeId() {
-		return JavaRuntime.getDefaultVMInstall().getVMInstallType().getId();
-		// TODO configurable.
-	}
-	
-	public boolean isUsingDefaultJRE() {
-		// TODO Auto-generated method stub
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.core.IGenericRuntime#getVMInstallId()
-	 */
-	public String getVMInstallId() {
-		return JavaRuntime.getDefaultVMInstall().getId();
-		// TODO configurable.
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.core.IGenericRuntime#getVMInstall()
-	 */
-	public IVMInstall getVMInstall() {
-		return JavaRuntime.getDefaultVMInstall();
-		// TODO configurable
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.core.IGenericRuntime#validate()
-	 */
-	public IStatus validate() {
-		if (getVMInstall() == null)
-			return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.getString("errorJRE"), null);
-		
-		ServerRuntime serverTypeDefinition = getServerTypeDefinition();
-        if(serverTypeDefinition == null)
-		    return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.getString("errorNoServerType"), null);
-        if(serverTypeDefinition.getClasspath()== null || serverTypeDefinition.getClasspath().size()<1)
-            return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.getString("errorNoClasspath"),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(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);
-	}
-	/**
-	 * Returns the ServerTypeDefinition for this runtime. 
-	 * Populated with the user properties if exists. 
-	 * 
-	 * @return populated ServerTypeDefinition
-	 */
-	public ServerRuntime getServerTypeDefinition()
-	{
-	   String id=  getRuntime().getRuntimeType().getId();
-	   Map properties = getAttribute(SERVER_INSTANCE_PROPERTIES,(Map)null);
-	   if(id==null)
-	       return null;
-	   return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(id,properties);
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntimeTargetHandler.java
deleted file mode 100644
index a1d45b8..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntimeTargetHandler.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:
- *     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.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.ClasspathRuntimeTargetHandler;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * Provides the Classpath containers to be added into project classpaths.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerRuntimeTargetHandler extends
-		ClasspathRuntimeTargetHandler {
-
-	/* (non-Javadoc)
-	 * @see ClasspathRuntimeTargetHandler#getClasspathContainerLabel(IRuntime, java.lang.String)
-	 */
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		ServerRuntime definition= ServerTypeDefinitionUtil.getServerTypeDefinition(runtime);
-		return definition.getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see ClasspathRuntimeTargetHandler#resolveClasspathContainer(IRuntime, java.lang.String)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime,String id){		
-		return ServerTypeDefinitionUtil.getServerClassPathEntry(runtime);
-	}
-    
-	/*
-     * @see ClasspathRuntimeTargetHandler#getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor)
-	 */
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		GenericServerRuntime genericRuntime = (GenericServerRuntime)runtime.getAdapter(RuntimeDelegate.class);
-		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;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerSourcePathComputerDelegate.java
deleted file mode 100644
index 01620ed..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,83 +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.core.internal;
-
-import java.util.ArrayList;
-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.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;
-/**
- * SourcePathComputer for the GenericLaunchConfiguration.
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerSourcePathComputerDelegate 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[] unresolvedEntries = JavaRuntime.computeUnresolvedSourceLookupPath(configuration);
-		// FIXME have only the projects of registered modules. 
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		List javaProjectList = new ArrayList();
-		for(int i = 0; i<projects.length;i++)
-		{
-			if(projects[i].hasNature(JavaCore.NATURE_ID))
-			{
-				IJavaProject javaProject = (IJavaProject) projects[i].getNature(JavaCore.NATURE_ID);
-				javaProjectList.add(javaProject);
-			}
-		}
-		IRuntimeClasspathEntry[] projectEntries = new IRuntimeClasspathEntry[javaProjectList.size()];
-		for (int i = 0; i < javaProjectList.size(); i++) {
-			projectEntries[i] = JavaRuntime.newProjectRuntimeClasspathEntry((IJavaProject)javaProjectList.get(i)); 
-		}
-		IRuntimeClasspathEntry[] entries =  new IRuntimeClasspathEntry[projectEntries.length+unresolvedEntries.length]; 
-		System.arraycopy(unresolvedEntries,0,entries,0,unresolvedEntries.length);
-		System.arraycopy(projectEntries,0,entries,unresolvedEntries.length,projectEntries.length);
-		
-		IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
-		return JavaSourceLookupUtil.translate(resolved, true);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PublishManager.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PublishManager.java
deleted file mode 100644
index ded6c2c..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PublishManager.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-
-/**
- * 
- *
- * @author Gorkem Ercan
- */
-public class PublishManager 
-{
-     public static GenericPublisher getPublisher(String id) 
-    {
-        IExtension[] extensions = ExtensionPointUtil.getGenericPublisherExtension();
-        try {
-            for (int i = 0; i < extensions.length; i++) {
-                IConfigurationElement[] configs = ExtensionPointUtil.getConfigurationElements(extensions[i]);
-                for (int j = 0; j < configs.length; j++) {
-                    if(configs[j].getAttribute("id").equals(id)) {
-                        return (GenericPublisher)configs[j].createExecutableExtension("class");
-                      }
-                }
-            }
-        }catch(CoreException e){
-            //ingored
-        }
-        return null;
-    }
-
-     
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionManager.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionManager.java
deleted file mode 100644
index e7439fa..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionManager.java
+++ /dev/null
@@ -1,69 +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.core.internal;
-
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.internal.xml.XMLUtils;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-/**
- * Manages the retrieaval of ServerTypeDefinitions.
- * 
- * @author Gorkem Ercan
- */
-
-public class ServerTypeDefinitionManager 
-{
-	private XMLUtils fXmlUtils;
-	
-	public ServerTypeDefinitionManager(URL serverDefinitionURL)
-	{
-		super();
-		fXmlUtils = new XMLUtils(); 
-	}
-
-
-	public ServerRuntime getServerRuntimeDefinition(String id, Map properties)
-	{
-		ServerRuntime definition =  fXmlUtils.getServerTypeDefinition(id);
-		if(definition !=null)
-            definition.setPropertyValues(properties);
-		return definition;
-	}
-	
-	public ServerRuntime[] getServerTypeDefinitions()
-	{
-		 List definitionList = fXmlUtils.getServerTypeDefinitions();
-		 return (ServerRuntime[])definitionList.toArray(new ServerRuntime[definitionList.size()]);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionUtil.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionUtil.java
deleted file mode 100644
index 61d759e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionUtil.java
+++ /dev/null
@@ -1,85 +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.core.internal;
-
-import java.util.ArrayList;
-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.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.model.RuntimeDelegate;
-
-/**
- * Utilities for ServerRuntime definition files.
- *
- * @author Gorkem Ercan
- */
-public class ServerTypeDefinitionUtil 
-{
-	/**
-	 * 
-	 * @param runtime
-	 * @return
-	 */
-	public static ServerRuntime getServerTypeDefinition(IRuntime runtime)
-	{
-	    RuntimeDelegate delegate = (RuntimeDelegate)runtime.getAdapter(RuntimeDelegate.class);
-		String serverType = delegate.getRuntime().getRuntimeType().getId();
-		Map properties = delegate.getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map)null);
-		ServerRuntime definition = 
-			CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(serverType,properties);
-		return definition;
-	}
-	
-	public static IClasspathEntry[] getServerClassPathEntry(IRuntime runtime)
-	{
-		ServerRuntime definition = getServerTypeDefinition(runtime);		
-		String ref = definition.getProject().getClasspathReference();
-		Classpath cp = definition.getClasspath(ref);
-		Iterator archives = cp.getArchive().iterator();
-		ArrayList entryList = new ArrayList();
-		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/core/internal/Trace.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/Trace.java
deleted file mode 100644
index 4562872..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/Trace.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jst.server.generic.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 (!CorePlugin.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 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.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/ExtensionPointUtil.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/ExtensionPointUtil.java
deleted file mode 100644
index d626ae1..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/ExtensionPointUtil.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jst.server.generic.internal.core.util;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Some utilities for handling the extension points.
- *
- * @author Gorkem Ercan
- */
-public class ExtensionPointUtil {
-    private static final String SERVERDEFINITION_EXTENSION_ID = "org.eclipse.jst.server.generic.core.serverdefinition";
-    private static final String GENERICPUBLISHER_EXTENSION_ID = "org.eclipse.jst.server.generic.core.genericpublisher";
-
-    public static IExtension[] getGenericServerDefinitionExtensions(){
-        return getExtensions(SERVERDEFINITION_EXTENSION_ID);
-    }
-    
-    public static IExtension[] getGenericPublisherExtension(){
-        return getExtensions(GENERICPUBLISHER_EXTENSION_ID);
-    }
-
-    private static IExtension[] getExtensions(String extensionId){
-        IExtensionPoint extensionPoint=getExtensionPoint(extensionId);
-        IExtension[] extensions = extensionPoint.getExtensions();
-        return extensions;
-    }
- 
-    private static IExtensionPoint getExtensionPoint(String id)
-    {
-        IExtensionRegistry registry = Platform.getExtensionRegistry();
-        IExtensionPoint extensionPoint= registry.getExtensionPoint(id);
-        return extensionPoint;
-    }
-    
-    
-    public static IConfigurationElement[] getConfigurationElements(IExtension extension)
-    {
-        return extension!=null?extension.getConfigurationElements():null;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/FileUtil.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/FileUtil.java
deleted file mode 100644
index 7fcdda5..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/FileUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jst.server.generic.internal.core.util;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-
-/**
- * 
- *
- * @author Gorkem Ercan
- */
-public class FileUtil {
-
-    public static File resolveFileFrom(Bundle bundle, String file)
-    {
-        try {
-            URL resolvedUrl = Platform.resolve(bundle.getEntry("/"));
-            if(file.startsWith("/"))
-                file=file.substring(1);
-            String path = resolvedUrl.getPath()+file;
-            URI uri = new URI(resolvedUrl.getProtocol(), resolvedUrl.getHost(),path, resolvedUrl.getQuery());
-            return new File(uri);
-        } 
-        catch (URISyntaxException e) {
-        }
-        catch (IOException e1) {
-        }
-        return null;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
deleted file mode 100644
index d737800..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * <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 2005/03/14 20:54:15 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.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/internal/servertype/definition/impl/ClasspathImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
deleted file mode 100644
index 1d2ccf3..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/**
- * <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.3 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-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.internal.servertype.definition.impl.ClasspathImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl#getArchive <em>Archive</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl#getId <em>Id</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.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 List 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/internal/servertype/definition/impl/JndiConnectionImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
deleted file mode 100644
index 35757a8..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: JndiConnectionImpl.java,v 1.1 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-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.JndiConnection;
-import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Jndi Connection</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getProviderUrl <em>Provider Url</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getJndiProperty <em>Jndi Property</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getInitialContextFactory <em>Initial Context Factory</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JndiConnectionImpl extends EObjectImpl implements JndiConnection {
-    /**
-     * The default value of the '{@link #getProviderUrl() <em>Provider Url</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getProviderUrl()
-     * @generated
-     * @ordered
-     */
-    protected static final String PROVIDER_URL_EDEFAULT = null;
-
-    /**
-     * The cached value of the '{@link #getProviderUrl() <em>Provider Url</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getProviderUrl()
-     * @generated
-     * @ordered
-     */
-    protected String providerUrl = PROVIDER_URL_EDEFAULT;
-
-    /**
-     * 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 #getInitialContextFactory() <em>Initial Context Factory</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getInitialContextFactory()
-     * @generated
-     * @ordered
-     */
-    protected static final String INITIAL_CONTEXT_FACTORY_EDEFAULT = null;
-
-    /**
-     * The cached value of the '{@link #getInitialContextFactory() <em>Initial Context Factory</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getInitialContextFactory()
-     * @generated
-     * @ordered
-     */
-    protected String initialContextFactory = INITIAL_CONTEXT_FACTORY_EDEFAULT;
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected JndiConnectionImpl() {
-        super();
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected EClass eStaticClass() {
-        return ServerTypePackage.eINSTANCE.getJndiConnection();
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getProviderUrl() {
-        return providerUrl;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setProviderUrl(String newProviderUrl) {
-        String oldProviderUrl = providerUrl;
-        providerUrl = newProviderUrl;
-        if (eNotificationRequired())
-            eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL, oldProviderUrl, providerUrl));
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public FeatureMap getGroup() {
-        if (group == null) {
-            group = new BasicFeatureMap(this, ServerTypePackage.JNDI_CONNECTION__GROUP);
-        }
-        return group;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public List getJndiProperty() {
-        return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getJndiConnection_JndiProperty());
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getInitialContextFactory() {
-        return initialContextFactory;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setInitialContextFactory(String newInitialContextFactory) {
-        String oldInitialContextFactory = initialContextFactory;
-        initialContextFactory = newInitialContextFactory;
-        if (eNotificationRequired())
-            eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY, oldInitialContextFactory, initialContextFactory));
-    }
-
-    /**
-     * <!-- 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.JNDI_CONNECTION__GROUP:
-                    return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
-                case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-                    return ((InternalEList)getJndiProperty()).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.JNDI_CONNECTION__PROVIDER_URL:
-                return getProviderUrl();
-            case ServerTypePackage.JNDI_CONNECTION__GROUP:
-                return getGroup();
-            case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-                return getJndiProperty();
-            case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-                return getInitialContextFactory();
-        }
-        return eDynamicGet(eFeature, resolve);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void eSet(EStructuralFeature eFeature, Object newValue) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL:
-                setProviderUrl((String)newValue);
-                return;
-            case ServerTypePackage.JNDI_CONNECTION__GROUP:
-                getGroup().clear();
-                getGroup().addAll((Collection)newValue);
-                return;
-            case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-                getJndiProperty().clear();
-                getJndiProperty().addAll((Collection)newValue);
-                return;
-            case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-                setInitialContextFactory((String)newValue);
-                return;
-        }
-        eDynamicSet(eFeature, newValue);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void eUnset(EStructuralFeature eFeature) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL:
-                setProviderUrl(PROVIDER_URL_EDEFAULT);
-                return;
-            case ServerTypePackage.JNDI_CONNECTION__GROUP:
-                getGroup().clear();
-                return;
-            case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-                getJndiProperty().clear();
-                return;
-            case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-                setInitialContextFactory(INITIAL_CONTEXT_FACTORY_EDEFAULT);
-                return;
-        }
-        eDynamicUnset(eFeature);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean eIsSet(EStructuralFeature eFeature) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL:
-                return PROVIDER_URL_EDEFAULT == null ? providerUrl != null : !PROVIDER_URL_EDEFAULT.equals(providerUrl);
-            case ServerTypePackage.JNDI_CONNECTION__GROUP:
-                return group != null && !group.isEmpty();
-            case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-                return !getJndiProperty().isEmpty();
-            case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-                return INITIAL_CONTEXT_FACTORY_EDEFAULT == null ? initialContextFactory != null : !INITIAL_CONTEXT_FACTORY_EDEFAULT.equals(initialContextFactory);
-        }
-        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(" (providerUrl: ");
-        result.append(providerUrl);
-        result.append(", group: ");
-        result.append(group);
-        result.append(", initialContextFactory: ");
-        result.append(initialContextFactory);
-        result.append(')');
-        return result.toString();
-    }
-
-} //JndiConnectionImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiPropertyImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiPropertyImpl.java
deleted file mode 100644
index 1321a62..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiPropertyImpl.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: JndiPropertyImpl.java,v 1.1 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.JndiProperty;
-import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Jndi Property</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiPropertyImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiPropertyImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JndiPropertyImpl extends EObjectImpl implements JndiProperty {
-    /**
-     * 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 #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected static final String VALUE_EDEFAULT = null;
-
-    /**
-     * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected String value = VALUE_EDEFAULT;
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected JndiPropertyImpl() {
-        super();
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected EClass eStaticClass() {
-        return ServerTypePackage.eINSTANCE.getJndiProperty();
-    }
-
-    /**
-     * <!-- 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.JNDI_PROPERTY__NAME, oldName, name));
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setValue(String newValue) {
-        String oldValue = value;
-        value = newValue;
-        if (eNotificationRequired())
-            eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.JNDI_PROPERTY__VALUE, oldValue, value));
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.JNDI_PROPERTY__NAME:
-                return getName();
-            case ServerTypePackage.JNDI_PROPERTY__VALUE:
-                return getValue();
-        }
-        return eDynamicGet(eFeature, resolve);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void eSet(EStructuralFeature eFeature, Object newValue) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.JNDI_PROPERTY__NAME:
-                setName((String)newValue);
-                return;
-            case ServerTypePackage.JNDI_PROPERTY__VALUE:
-                setValue((String)newValue);
-                return;
-        }
-        eDynamicSet(eFeature, newValue);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void eUnset(EStructuralFeature eFeature) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.JNDI_PROPERTY__NAME:
-                setName(NAME_EDEFAULT);
-                return;
-            case ServerTypePackage.JNDI_PROPERTY__VALUE:
-                setValue(VALUE_EDEFAULT);
-                return;
-        }
-        eDynamicUnset(eFeature);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean eIsSet(EStructuralFeature eFeature) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.JNDI_PROPERTY__NAME:
-                return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-            case ServerTypePackage.JNDI_PROPERTY__VALUE:
-                return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-        }
-        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(" (name: ");
-        result.append(name);
-        result.append(", value: ");
-        result.append(value);
-        result.append(')');
-        return result.toString();
-    }
-
-} //JndiPropertyImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
deleted file mode 100644
index 14a0743..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/**
- * <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.2 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.servertype.definition.impl.LaunchConfigurationImpl#getMainClass <em>Main Class</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getWorkingDirectory <em>Working Directory</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getProgramArguments <em>Program Arguments</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getVmParameters <em>Vm Parameters</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.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 #getMainClass() <em>Main Class</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getMainClass()
-     * @generated
-     * @ordered
-     */
-    protected static final String MAIN_CLASS_EDEFAULT = null;
-
-    /**
-     * The cached value of the '{@link #getMainClass() <em>Main Class</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getMainClass()
-     * @generated
-     * @ordered
-     */
-    protected String mainClass = MAIN_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 getMainClass() {
-        return mainClass;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setMainClass(String newMainClass) {
-        String oldMainClass = mainClass;
-        mainClass = newMainClass;
-        if (eNotificationRequired())
-            eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS, oldMainClass, mainClass));
-    }
-
-    /**
-     * <!-- 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__MAIN_CLASS:
-                return getMainClass();
-            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__MAIN_CLASS:
-                setMainClass((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__MAIN_CLASS:
-                setMainClass(MAIN_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__MAIN_CLASS:
-                return MAIN_CLASS_EDEFAULT == null ? mainClass != null : !MAIN_CLASS_EDEFAULT.equals(mainClass);
-            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(" (mainClass: ");
-        result.append(mainClass);
-        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/internal/servertype/definition/impl/ModuleImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
deleted file mode 100644
index 4ccc355..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/**
- * <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 2005/03/14 20:54:15 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.servertype.definition.impl.ModuleImpl#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ModuleImpl#getPublishDir <em>Publish Dir</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.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/internal/servertype/definition/impl/PortImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
deleted file mode 100644
index c2b1860..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/**
- * <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 2005/03/14 20:54:15 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.servertype.definition.impl.PortImpl#getNo <em>No</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PortImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.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/internal/servertype/definition/impl/ProjectImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
deleted file mode 100644
index 87d6a47..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * <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 2005/03/14 20:54:15 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.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/internal/servertype/definition/impl/PropertyImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
deleted file mode 100644
index 97f1f57..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/**
- * <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 2005/03/14 20:54:15 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.servertype.definition.impl.PropertyImpl#getContext <em>Context</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getDefault <em>Default</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getId <em>Id</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getLabel <em>Label</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.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/internal/servertype/definition/impl/PublisherDataImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
deleted file mode 100644
index 966d0c8..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: PublisherDataImpl.java,v 1.1 2005/03/14 20:54:15 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.PublisherData;
-import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Publisher Data</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherDataImpl#getDataname <em>Dataname</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherDataImpl#getDatavalue <em>Datavalue</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PublisherDataImpl extends EObjectImpl implements PublisherData {
-    /**
-     * The default value of the '{@link #getDataname() <em>Dataname</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getDataname()
-     * @generated
-     * @ordered
-     */
-    protected static final String DATANAME_EDEFAULT = null;
-
-    /**
-     * The cached value of the '{@link #getDataname() <em>Dataname</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getDataname()
-     * @generated
-     * @ordered
-     */
-    protected String dataname = DATANAME_EDEFAULT;
-
-    /**
-     * The default value of the '{@link #getDatavalue() <em>Datavalue</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getDatavalue()
-     * @generated
-     * @ordered
-     */
-    protected static final String DATAVALUE_EDEFAULT = null;
-
-    /**
-     * The cached value of the '{@link #getDatavalue() <em>Datavalue</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getDatavalue()
-     * @generated
-     * @ordered
-     */
-    protected String datavalue = DATAVALUE_EDEFAULT;
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected PublisherDataImpl() {
-        super();
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected EClass eStaticClass() {
-        return ServerTypePackage.eINSTANCE.getPublisherData();
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getDataname() {
-        return dataname;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setDataname(String newDataname) {
-        String oldDataname = dataname;
-        dataname = newDataname;
-        if (eNotificationRequired())
-            eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISHER_DATA__DATANAME, oldDataname, dataname));
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getDatavalue() {
-        return datavalue;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setDatavalue(String newDatavalue) {
-        String oldDatavalue = datavalue;
-        datavalue = newDatavalue;
-        if (eNotificationRequired())
-            eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISHER_DATA__DATAVALUE, oldDatavalue, datavalue));
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-                return getDataname();
-            case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-                return getDatavalue();
-        }
-        return eDynamicGet(eFeature, resolve);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void eSet(EStructuralFeature eFeature, Object newValue) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-                setDataname((String)newValue);
-                return;
-            case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-                setDatavalue((String)newValue);
-                return;
-        }
-        eDynamicSet(eFeature, newValue);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void eUnset(EStructuralFeature eFeature) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-                setDataname(DATANAME_EDEFAULT);
-                return;
-            case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-                setDatavalue(DATAVALUE_EDEFAULT);
-                return;
-        }
-        eDynamicUnset(eFeature);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean eIsSet(EStructuralFeature eFeature) {
-        switch (eDerivedStructuralFeatureID(eFeature)) {
-            case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-                return DATANAME_EDEFAULT == null ? dataname != null : !DATANAME_EDEFAULT.equals(dataname);
-            case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-                return DATAVALUE_EDEFAULT == null ? datavalue != null : !DATAVALUE_EDEFAULT.equals(datavalue);
-        }
-        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(" (dataname: ");
-        result.append(dataname);
-        result.append(", datavalue: ");
-        result.append(datavalue);
-        result.append(')');
-        return result.toString();
-    }
-
-} //PublisherDataImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
deleted file mode 100644
index 1480584..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/**
- * <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.3 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.List;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-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.internal.servertype.definition.impl.PublisherImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherImpl#getPublisherdata <em>Publisherdata</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.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 List getPublisherdata() {
-        return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getPublisher_Publisherdata());
-    }
-
-    /**
-     * <!-- 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__PUBLISHERDATA:
-                    return ((InternalEList)getPublisherdata()).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__PUBLISHERDATA:
-                return getPublisherdata();
-            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__PUBLISHERDATA:
-                getPublisherdata().clear();
-                getPublisherdata().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__PUBLISHERDATA:
-                getPublisherdata().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__PUBLISHERDATA:
-                return !getPublisherdata().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/internal/servertype/definition/impl/ServerRuntimeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
deleted file mode 100644
index 2ee430e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
+++ /dev/null
@@ -1,966 +0,0 @@
-/**
- * <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.3 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.List;
-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.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.JndiConnection;
-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.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getProperty <em>Property</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup1 <em>Group1</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getPort <em>Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup2 <em>Group2</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getModule <em>Module</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getProject <em>Project</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getStart <em>Start</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getStop <em>Stop</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup3 <em>Group3</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getPublisher <em>Publisher</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup4 <em>Group4</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getClasspath <em>Classpath</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getJndiConnection <em>Jndi Connection</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.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 cached value of the '{@link #getJndiConnection() <em>Jndi Connection</em>}' containment reference.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getJndiConnection()
-     * @generated
-     * @ordered
-     */
-    protected JndiConnection jndiConnection = 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);
-	private String declaringConfigurationElementNamespace;
-    private String id =null;
-    /**
-     * <!-- 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 List 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 List 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 List 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 List 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 List getClasspath() {
-        return ((FeatureMap)getGroup4()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Classpath());
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public JndiConnection getJndiConnection() {
-        return jndiConnection;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public NotificationChain basicSetJndiConnection(JndiConnection newJndiConnection, NotificationChain msgs) {
-        JndiConnection oldJndiConnection = jndiConnection;
-        jndiConnection = newJndiConnection;
-        if (eNotificationRequired()) {
-            ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, oldJndiConnection, newJndiConnection);
-            if (msgs == null) msgs = notification; else msgs.add(notification);
-        }
-        return msgs;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setJndiConnection(JndiConnection newJndiConnection) {
-        if (newJndiConnection != jndiConnection) {
-            NotificationChain msgs = null;
-            if (jndiConnection != null)
-                msgs = ((InternalEObject)jndiConnection).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, null, msgs);
-            if (newJndiConnection != null)
-                msgs = ((InternalEObject)newJndiConnection).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, null, msgs);
-            msgs = basicSetJndiConnection(newJndiConnection, msgs);
-            if (msgs != null) msgs.dispatch();
-        }
-        else if (eNotificationRequired())
-            eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, newJndiConnection, newJndiConnection));
-    }
-
-    /**
-     * <!-- 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);
-                case ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION:
-                    return basicSetJndiConnection(null, 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__JNDI_CONNECTION:
-                return getJndiConnection();
-            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__JNDI_CONNECTION:
-                setJndiConnection((JndiConnection)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__JNDI_CONNECTION:
-                setJndiConnection((JndiConnection)null);
-                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__JNDI_CONNECTION:
-                return jndiConnection != null;
-            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.getPublisher().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;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getDeclaringBundle()
-     */
-    public String getConfigurationElementNamespace() {
-           return declaringConfigurationElementNamespace;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#setConfigurationElementNamespace(java.lang.String)
-     */
-    public void setConfigurationElementNamespace(String namespace) {
-        this.declaringConfigurationElementNamespace=namespace;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-        
-    }
-	
-	
-} //ServerRuntimeImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
deleted file mode 100644
index b317385..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/**
- * <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.2 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.JNDI_CONNECTION: return createJndiConnection();
-            case ServerTypePackage.JNDI_PROPERTY: return createJndiProperty();
-            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.PUBLISHER_DATA: return createPublisherData();
-            case ServerTypePackage.SERVER_RUNTIME: return createServerRuntime();
-            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 JndiConnection createJndiConnection() {
-        JndiConnectionImpl jndiConnection = new JndiConnectionImpl();
-        return jndiConnection;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public JndiProperty createJndiProperty() {
-        JndiPropertyImpl jndiProperty = new JndiPropertyImpl();
-        return jndiProperty;
-    }
-
-    /**
-     * <!-- 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 PublisherData createPublisherData() {
-        PublisherDataImpl publisherData = new PublisherDataImpl();
-        return publisherData;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     */
-	public ServerRuntime createServerRuntime() {
-        ServerRuntimeImpl serverRuntime = new ServerRuntimeImpl();
-        return serverRuntime;
-    }
-
-    /**
-     * <!-- 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/internal/servertype/definition/impl/ServerTypePackageImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
deleted file mode 100644
index 6c81419..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
+++ /dev/null
@@ -1,1429 +0,0 @@
-/**
- * <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.2 2005/03/27 12:55:36 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.JndiConnection;
-import org.eclipse.jst.server.generic.servertype.definition.JndiProperty;
-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.Publisher;
-import org.eclipse.jst.server.generic.servertype.definition.PublisherData;
-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;
-
-/**
- * <!-- 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 jndiConnectionEClass = null;
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    private EClass jndiPropertyEClass = 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 publisherDataEClass = null;
-
-    /**
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     */
-	private EClass serverRuntimeEClass = 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 getJndiConnection() {
-        return jndiConnectionEClass;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getJndiConnection_ProviderUrl() {
-        return (EAttribute)jndiConnectionEClass.getEStructuralFeatures().get(0);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getJndiConnection_Group() {
-        return (EAttribute)jndiConnectionEClass.getEStructuralFeatures().get(1);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EReference getJndiConnection_JndiProperty() {
-        return (EReference)jndiConnectionEClass.getEStructuralFeatures().get(2);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getJndiConnection_InitialContextFactory() {
-        return (EAttribute)jndiConnectionEClass.getEStructuralFeatures().get(3);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EClass getJndiProperty() {
-        return jndiPropertyEClass;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getJndiProperty_Name() {
-        return (EAttribute)jndiPropertyEClass.getEStructuralFeatures().get(0);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getJndiProperty_Value() {
-        return (EAttribute)jndiPropertyEClass.getEStructuralFeatures().get(1);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     */
-	public EClass getLaunchConfiguration() {
-        return launchConfigurationEClass;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getLaunchConfiguration_MainClass() {
-        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_Publisherdata() {
-        return (EReference)publisherEClass.getEStructuralFeatures().get(1);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     */
-	public EAttribute getPublisher_Id() {
-        return (EAttribute)publisherEClass.getEStructuralFeatures().get(2);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EClass getPublisherData() {
-        return publisherDataEClass;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getPublisherData_Dataname() {
-        return (EAttribute)publisherDataEClass.getEStructuralFeatures().get(0);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public EAttribute getPublisherData_Datavalue() {
-        return (EAttribute)publisherDataEClass.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 EReference getServerRuntime_JndiConnection() {
-        return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(13);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     */
-	public EAttribute getServerRuntime_Name() {
-        return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(14);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     */
-	public EAttribute getServerRuntime_Version() {
-        return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(15);
-    }
-
-    /**
-     * <!-- 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);
-
-        jndiConnectionEClass = createEClass(JNDI_CONNECTION);
-        createEAttribute(jndiConnectionEClass, JNDI_CONNECTION__PROVIDER_URL);
-        createEAttribute(jndiConnectionEClass, JNDI_CONNECTION__GROUP);
-        createEReference(jndiConnectionEClass, JNDI_CONNECTION__JNDI_PROPERTY);
-        createEAttribute(jndiConnectionEClass, JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY);
-
-        jndiPropertyEClass = createEClass(JNDI_PROPERTY);
-        createEAttribute(jndiPropertyEClass, JNDI_PROPERTY__NAME);
-        createEAttribute(jndiPropertyEClass, JNDI_PROPERTY__VALUE);
-
-        launchConfigurationEClass = createEClass(LAUNCH_CONFIGURATION);
-        createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__MAIN_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__PUBLISHERDATA);
-        createEAttribute(publisherEClass, PUBLISHER__ID);
-
-        publisherDataEClass = createEClass(PUBLISHER_DATA);
-        createEAttribute(publisherDataEClass, PUBLISHER_DATA__DATANAME);
-        createEAttribute(publisherDataEClass, PUBLISHER_DATA__DATAVALUE);
-
-        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);
-        createEReference(serverRuntimeEClass, SERVER_RUNTIME__JNDI_CONNECTION);
-        createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__NAME);
-        createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__VERSION);
-    }
-
-    /**
-     * <!-- 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(jndiConnectionEClass, JndiConnection.class, "JndiConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-        initEAttribute(getJndiConnection_ProviderUrl(), theXMLTypePackage.getString(), "providerUrl", null, 1, 1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEAttribute(getJndiConnection_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEReference(getJndiConnection_JndiProperty(), this.getJndiProperty(), null, "jndiProperty", null, 0, -1, JndiConnection.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-        initEAttribute(getJndiConnection_InitialContextFactory(), theXMLTypePackage.getString(), "initialContextFactory", null, 1, 1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-        initEClass(jndiPropertyEClass, JndiProperty.class, "JndiProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-        initEAttribute(getJndiProperty_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, JndiProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEAttribute(getJndiProperty_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, JndiProperty.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_MainClass(), theXMLTypePackage.getString(), "mainClass", 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_Publisherdata(), this.getPublisherData(), null, "publisherdata", 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(publisherDataEClass, PublisherData.class, "PublisherData", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-        initEAttribute(getPublisherData_Dataname(), theXMLTypePackage.getString(), "dataname", null, 1, 1, PublisherData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEAttribute(getPublisherData_Datavalue(), theXMLTypePackage.getString(), "datavalue", null, 1, 1, PublisherData.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);
-        initEReference(getServerRuntime_JndiConnection(), this.getJndiConnection(), null, "jndiConnection", 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);
-
-        // 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
-          (jndiConnectionEClass, 
-           source, 
-           new String[] {
-             "name", "jndiConnection",
-             "kind", "elementOnly"
-           });		
-        addAnnotation
-          (getJndiConnection_ProviderUrl(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "providerUrl"
-           });		
-        addAnnotation
-          (getJndiConnection_Group(), 
-           source, 
-           new String[] {
-             "kind", "group",
-             "name", "group:1"
-           });		
-        addAnnotation
-          (getJndiConnection_JndiProperty(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "jndiProperty",
-             "group", "#group:1"
-           });		
-        addAnnotation
-          (getJndiConnection_InitialContextFactory(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "initialContextFactory"
-           });		
-        addAnnotation
-          (jndiPropertyEClass, 
-           source, 
-           new String[] {
-             "name", "jndiProperty",
-             "kind", "elementOnly"
-           });		
-        addAnnotation
-          (getJndiProperty_Name(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "name"
-           });		
-        addAnnotation
-          (getJndiProperty_Value(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "value"
-           });		
-        addAnnotation
-          (launchConfigurationEClass, 
-           source, 
-           new String[] {
-             "name", "LaunchConfiguration",
-             "kind", "elementOnly"
-           });		
-        addAnnotation
-          (getLaunchConfiguration_MainClass(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "mainClass"
-           });		
-        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_Publisherdata(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "publisherdata",
-             "group", "#group:0"
-           });		
-        addAnnotation
-          (getPublisher_Id(), 
-           source, 
-           new String[] {
-             "kind", "attribute",
-             "name", "id"
-           });		
-        addAnnotation
-          (publisherDataEClass, 
-           source, 
-           new String[] {
-             "name", "PublisherData",
-             "kind", "elementOnly"
-           });		
-        addAnnotation
-          (getPublisherData_Dataname(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "dataname"
-           });		
-        addAnnotation
-          (getPublisherData_Datavalue(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "datavalue"
-           });			
-        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_JndiConnection(), 
-           source, 
-           new String[] {
-             "kind", "element",
-             "name", "jndiConnection"
-           });		
-        addAnnotation
-          (getServerRuntime_Name(), 
-           source, 
-           new String[] {
-             "kind", "attribute",
-             "name", "name"
-           });		
-        addAnnotation
-          (getServerRuntime_Version(), 
-           source, 
-           new String[] {
-             "kind", "attribute",
-             "name", "version"
-           });
-    }
-
-} //ServerTypePackageImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
deleted file mode 100644
index fecbd6c..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/**
- * <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.2 2005/03/27 12:56:23 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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 caseJndiConnection(JndiConnection object) {
-                return createJndiConnectionAdapter();
-            }
-            public Object caseJndiProperty(JndiProperty object) {
-                return createJndiPropertyAdapter();
-            }
-            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 casePublisherData(PublisherData object) {
-                return createPublisherDataAdapter();
-            }
-            public Object caseServerRuntime(ServerRuntime object) {
-                return createServerRuntimeAdapter();
-            }
-            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.JndiConnection <em>Jndi Connection</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.JndiConnection
-     * @generated
-     */
-    public Adapter createJndiConnectionAdapter() {
-        return null;
-    }
-
-    /**
-     * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty <em>Jndi 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.JndiProperty
-     * @generated
-     */
-    public Adapter createJndiPropertyAdapter() {
-        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.PublisherData <em>Publisher Data</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.PublisherData
-     * @generated
-     */
-    public Adapter createPublisherDataAdapter() {
-        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 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/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
deleted file mode 100644
index 1417c90..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * <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 2005/03/14 20:54:20 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.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/internal/servertype/definition/util/ServerTypeResourceImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceImpl.java
deleted file mode 100644
index 4a75fc7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * <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 2005/03/14 20:54:20 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.internal.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/internal/servertype/definition/util/ServerTypeSwitch.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
deleted file mode 100644
index 8bc9f40..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/**
- * <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.2 2005/03/27 12:56:23 gercan Exp $
- */
-package org.eclipse.jst.server.generic.internal.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.JNDI_CONNECTION: {
-                JndiConnection jndiConnection = (JndiConnection)theEObject;
-                Object result = caseJndiConnection(jndiConnection);
-                if (result == null) result = defaultCase(theEObject);
-                return result;
-            }
-            case ServerTypePackage.JNDI_PROPERTY: {
-                JndiProperty jndiProperty = (JndiProperty)theEObject;
-                Object result = caseJndiProperty(jndiProperty);
-                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.PUBLISHER_DATA: {
-                PublisherData publisherData = (PublisherData)theEObject;
-                Object result = casePublisherData(publisherData);
-                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;
-            }
-            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>Jndi Connection</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>Jndi Connection</em>'.
-     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-     * @generated
-     */
-    public Object caseJndiConnection(JndiConnection object) {
-        return null;
-    }
-
-    /**
-     * Returns the result of interpretting the object as an instance of '<em>Jndi 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>Jndi Property</em>'.
-     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-     * @generated
-     */
-    public Object caseJndiProperty(JndiProperty 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>Publisher Data</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 Data</em>'.
-     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-     * @generated
-     */
-    public Object casePublisherData(PublisherData 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>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/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
deleted file mode 100644
index ddf43e4..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java
+++ /dev/null
@@ -1,174 +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 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;
-		int start = skipToProperty(resolvedString,cache);
-		if (start >= 0) {
-			resolvedString = resolveProperty(resolvedString, start, cache);
-			resolvedString = resolvePropertiesFromCache(resolvedString, cache);
-		}
-		return resolvedString;
-	}
-
-	private int skipToProperty(String str,HashMap cache) {
-		int start = -1; 
-		int end =  0;
-		String value = null;
-		do {
-			start =  str.indexOf("${",end);
-			if( start < 0)
-				return start;
-			end = str.indexOf("}", start);
-			
-			String key = str.substring(start + 2, end);
-			value = (String)cache.get(key);
-		}
-		while(value == null);
-		return start;
-	}
-	
-	private boolean isPassPropertyLeft(String str) {
-		return str.indexOf("%{") >= 0;
-	}
-
-	private String resolveProperty(String proppedString, int start, HashMap cache) {
-		String str = proppedString;
-		start = str.indexOf("${");
-		int end = str.indexOf("}", start);
-		String key = str.substring(start + 2, end);
-		String value = (String)cache.get(key);
-		if(value == null )
-			return str;
-		return str.substring(0, start)
-			+ value
-			+ 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/XMLUtils.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
deleted file mode 100644
index 42351ce..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
+++ /dev/null
@@ -1,179 +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 org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-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.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-import org.eclipse.jst.server.generic.internal.core.util.FileUtil;
-import org.eclipse.jst.server.generic.internal.servertype.definition.util.ServerTypeResourceFactoryImpl;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage;
-import org.osgi.framework.Bundle;
-
-public class XMLUtils {
-
-	
-    private ArrayList definitions;
-
-
-	public XMLUtils() {
-		refresh();
-	}
-
-	public void refresh() {
-		definitions= new ArrayList();
-         IExtension[] extensions = ExtensionPointUtil.getGenericServerDefinitionExtensions();
-        for (int i = 0; extensions!=null && i < extensions.length; i++) {
-            File definitionFile=null;
-            IExtension extension = extensions[i];
-            IConfigurationElement[] elements = ExtensionPointUtil.getConfigurationElements(extension);
-            for (int j = 0; j < elements.length; j++) {
-                IConfigurationElement element = elements[j];
-                definitionFile = getDefinitionFile(element);
-                if(definitionFile!=null && definitionFile.exists() && definitionFile.isFile()){
-                    ServerRuntime runtime =readFile(definitionFile);
-                    if(runtime!=null){
-                        runtime.setId(element.getAttribute("id"));
-                        runtime.setConfigurationElementNamespace(element.getNamespace());
-                        definitions.add(runtime);
-                    }
-                }
-            }
-
-        }
-	}
-
-    /**
-     * @param extension
-     */
-    private File getDefinitionFile(IConfigurationElement element) {
-        Bundle bundle = Platform.getBundle(element.getNamespace());
-        String definitionFile = element.getAttribute("definitionfile");
-        return FileUtil.resolveFileFrom(bundle,definitionFile);
-    }
-
-    public ServerRuntime readFile(File file) {
-        // 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 ServerTypeResourceFactoryImpl());
-
-         ServerTypePackage gstPack = ServerTypePackage.eINSTANCE;
-
-        // Get the URI of the model file.
-        URI fileURI = 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());
-                return def;
-            }
-        }
-        return null;
-
-    }
-
-
-	/**
-	 * @return ArrayList
-	 */
-	public ArrayList getServerTypeDefinitions() {
-		return definitions;
-	}
-
-	/**
-//	 * @return ArrayList
-//	 */
-//	public ServerRuntime getServerTypeDefinitionNamed(String name) {
-//		refresh();
-//		Iterator defs = getServerTypeDefinitions().iterator();
-//		while (defs.hasNext()) {
-//			ServerRuntime elem = (ServerRuntime) defs.next();
-//			if (name.equals(elem.getName()))
-//				return elem;
-//		}
-//		return null;
-//	}
-    public ServerRuntime getServerTypeDefinition(String id) {
-        refresh();
-        Iterator defs = getServerTypeDefinitions().iterator();
-        while (defs.hasNext()) {
-            ServerRuntime elem = (ServerRuntime) defs.next();
-            if (id.equals(elem.getId()))
-                return elem;
-        }
-        return null;
-    }
-    
-    
-	/**
-	 * Sets the definitions.
-	 * 
-	 * @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
deleted file mode 100644
index 6ce1747..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * <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.5 2005/03/27 12:56:23 gercan 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 extendedMetaData="name='archive_._type' kind='empty'"
- * @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>
-	 * @since 1.0
-     * <!-- 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"
-     *        extendedMetaData="kind='attribute' name='path'"
-     * @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 -->
-     * @since 1.0
-	 * <!-- 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
deleted file mode 100644
index f47b12e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * <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.5 2005/03/27 12:56:23 gercan Exp $
- */
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-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 extendedMetaData="name='Classpath' kind='elementOnly'"
- * @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"
-     *        extendedMetaData="kind='group' name='group:0'"
-     * @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"
-     *        extendedMetaData="kind='element' name='archive' group='#group:0'"
-     * @generated
-     */
-	List 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"
-     *        extendedMetaData="kind='attribute' name='id'"
-     * @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"
-     *        extendedMetaData="kind='attribute' name='isLibrary'"
-     * @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/JndiConnection.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
deleted file mode 100644
index 6caecc1..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: JndiConnection.java,v 1.1 2005/03/27 12:56:23 gercan Exp $
- */
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.util.FeatureMap;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Jndi Connection</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl <em>Provider Url</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getJndiProperty <em>Jndi Property</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory <em>Initial Context Factory</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getJndiConnection()
- * @model extendedMetaData="name='jndiConnection' kind='elementOnly'"
- * @generated
- */
-public interface JndiConnection extends EObject{
-    /**
-     * Returns the value of the '<em><b>Provider Url</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Provider Url</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-     * @return the value of the '<em>Provider Url</em>' attribute.
-     * @see #setProviderUrl(String)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getJndiConnection_ProviderUrl()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='element' name='providerUrl'"
-     * @generated
-     */
-    String getProviderUrl();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl <em>Provider Url</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Provider Url</em>' attribute.
-     * @see #getProviderUrl()
-     * @generated
-     */
-    void setProviderUrl(String value);
-
-    /**
-     * 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#getJndiConnection_Group()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-     *        extendedMetaData="kind='group' name='group:1'"
-     * @generated
-     */
-    FeatureMap getGroup();
-
-    /**
-     * Returns the value of the '<em><b>Jndi Property</b></em>' containment reference list.
-     * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty}.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Jndi 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>Jndi Property</em>' containment reference list.
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getJndiConnection_JndiProperty()
-     * @model type="org.eclipse.jst.server.generic.servertype.definition.JndiProperty" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-     *        extendedMetaData="kind='element' name='jndiProperty' group='#group:1'"
-     * @generated
-     */
-    List getJndiProperty();
-
-    /**
-     * Returns the value of the '<em><b>Initial Context Factory</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Initial Context Factory</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-     * @return the value of the '<em>Initial Context Factory</em>' attribute.
-     * @see #setInitialContextFactory(String)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getJndiConnection_InitialContextFactory()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='element' name='initialContextFactory'"
-     * @generated
-     */
-    String getInitialContextFactory();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory <em>Initial Context Factory</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Initial Context Factory</em>' attribute.
-     * @see #getInitialContextFactory()
-     * @generated
-     */
-    void setInitialContextFactory(String value);
-
-} // JndiConnection
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiProperty.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiProperty.java
deleted file mode 100644
index ded67ce..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiProperty.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: JndiProperty.java,v 1.1 2005/03/27 12:56:23 gercan 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>Jndi Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getJndiProperty()
- * @model extendedMetaData="name='jndiProperty' kind='elementOnly'"
- * @generated
- */
-public interface JndiProperty extends EObject {
-    /**
-     * 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#getJndiProperty_Name()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='element' name='name'"
-     * @generated
-     */
-    String getName();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#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>Value</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Value</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-     * @return the value of the '<em>Value</em>' attribute.
-     * @see #setValue(String)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getJndiProperty_Value()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='element' name='value'"
-     * @generated
-     */
-    String getValue();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Value</em>' attribute.
-     * @see #getValue()
-     * @generated
-     */
-    void setValue(String value);
-
-} // JndiProperty
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
deleted file mode 100644
index f8de825..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- * <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.4 2005/03/27 12:56:23 gercan 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#getMainClass <em>Main 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 extendedMetaData="name='LaunchConfiguration' kind='elementOnly'"
- * @generated
- */
-public interface LaunchConfiguration extends EObject{
-    /**
-     * Returns the value of the '<em><b>Main Class</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Main 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>Main Class</em>' attribute.
-     * @see #setMainClass(String)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getLaunchConfiguration_MainClass()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='element' name='mainClass'"
-     * @generated
-     */
-    String getMainClass();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass <em>Main Class</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Main Class</em>' attribute.
-     * @see #getMainClass()
-     * @generated
-     */
-    void setMainClass(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"
-     *        extendedMetaData="kind='element' name='workingDirectory'"
-     * @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"
-     *        extendedMetaData="kind='element' name='programArguments'"
-     * @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"
-     *        extendedMetaData="kind='element' name='vmParameters'"
-     * @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"
-     *        extendedMetaData="kind='element' name='classpathReference'"
-     * @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
deleted file mode 100644
index 6c675da..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * <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.3 2005/03/14 20:54:14 gercan 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 extendedMetaData="name='Module' kind='elementOnly'"
- * @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"
-     *        extendedMetaData="kind='element' name='type'"
-     * @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"
-     *        extendedMetaData="kind='element' name='publishDir'"
-     * @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"
-     *        extendedMetaData="kind='element' name='publisherReference'"
-     * @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
deleted file mode 100644
index 21924e3..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * <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.3 2005/03/14 20:54:14 gercan 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 extendedMetaData="name='Port' kind='elementOnly'"
- * @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"
-     *        extendedMetaData="kind='element' name='no'"
-     * @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"
-     *        extendedMetaData="kind='element' name='name'"
-     * @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"
-     *        extendedMetaData="kind='element' name='protocol'"
-     * @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
deleted file mode 100644
index 64727ee..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * <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.4 2005/03/27 12:56:23 gercan 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 extendedMetaData="name='Project' kind='elementOnly'"
- * @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"
-     *        extendedMetaData="kind='element' name='classpathReference'"
-     * @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
deleted file mode 100644
index 0934cf0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- * <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.3 2005/03/14 20:54:14 gercan 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 extendedMetaData="name='Property' kind='empty'"
- * @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"
-     *        extendedMetaData="kind='attribute' name='context'"
-     * @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"
-     *        extendedMetaData="kind='attribute' name='default'"
-     * @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"
-     *        extendedMetaData="kind='attribute' name='id'"
-     * @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"
-     *        extendedMetaData="kind='attribute' name='label'"
-     * @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"
-     *        extendedMetaData="kind='attribute' name='type'"
-     * @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/Publisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java
deleted file mode 100644
index 07086d7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * <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.5 2005/03/27 12:56:23 gercan Exp $
- */
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-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#getPublisherdata <em>Publisherdata</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 extendedMetaData="name='Publisher' kind='elementOnly'"
- * @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"
-     *        extendedMetaData="kind='group' name='group:0'"
-     * @generated
-     */
-    FeatureMap getGroup();
-
-    /**
-     * Returns the value of the '<em><b>Publisherdata</b></em>' containment reference list.
-     * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.PublisherData}.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Publisherdata</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>Publisherdata</em>' containment reference list.
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisher_Publisherdata()
-     * @model type="org.eclipse.jst.server.generic.servertype.definition.PublisherData" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
-     *        extendedMetaData="kind='element' name='publisherdata' group='#group:0'"
-     * @generated
-     */
-    List getPublisherdata();
-
-    /**
-     * 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"
-     *        extendedMetaData="kind='attribute' name='id'"
-     * @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/PublisherData.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublisherData.java
deleted file mode 100644
index 05312f9..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublisherData.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: PublisherData.java,v 1.2 2005/03/14 20:54:15 gercan 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>Publisher Data</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname <em>Dataname</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue <em>Datavalue</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisherData()
- * @model extendedMetaData="name='PublisherData' kind='elementOnly'"
- * @generated
- */
-public interface PublisherData extends EObject{
-    /**
-     * Returns the value of the '<em><b>Dataname</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Dataname</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-     * @return the value of the '<em>Dataname</em>' attribute.
-     * @see #setDataname(String)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisherData_Dataname()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='element' name='dataname'"
-     * @generated
-     */
-    String getDataname();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname <em>Dataname</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Dataname</em>' attribute.
-     * @see #getDataname()
-     * @generated
-     */
-    void setDataname(String value);
-
-    /**
-     * Returns the value of the '<em><b>Datavalue</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Datavalue</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-     * @return the value of the '<em>Datavalue</em>' attribute.
-     * @see #setDatavalue(String)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getPublisherData_Datavalue()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='element' name='datavalue'"
-     * @generated
-     */
-    String getDatavalue();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue <em>Datavalue</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Datavalue</em>' attribute.
-     * @see #getDatavalue()
-     * @generated
-     */
-    void setDatavalue(String value);
-
-} // PublisherData
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
deleted file mode 100644
index f626afc..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/**
- * <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.5 2005/03/27 12:56:23 gercan Exp $
- */
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-import java.util.Map;
-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#getJndiConnection <em>Jndi Connection</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 extendedMetaData="name='ServerRuntime' kind='elementOnly'"
- * @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"
-     *        extendedMetaData="kind='group' name='group:0'"
-     * @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"
-     *        extendedMetaData="kind='element' name='property' group='#group:0'"
-     * @generated
-     */
-    List 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"
-     *        extendedMetaData="kind='group' name='group:2'"
-     * @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"
-     *        extendedMetaData="kind='element' name='port' group='#group:2'"
-     * @generated
-     */
-    List 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"
-     *        extendedMetaData="kind='group' name='group:4'"
-     * @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"
-     *        extendedMetaData="kind='element' name='module' group='#group:4'"
-     * @generated
-     */
-    List 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"
-     *        extendedMetaData="kind='element' name='project'"
-     * @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"
-     *        extendedMetaData="kind='element' name='start'"
-     * @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"
-     *        extendedMetaData="kind='element' name='stop'"
-     * @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"
-     *        extendedMetaData="kind='group' name='group:9'"
-     * @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"
-     *        extendedMetaData="kind='element' name='publisher' group='#group:9'"
-     * @generated
-     */
-    List 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"
-     *        extendedMetaData="kind='group' name='group:11'"
-     * @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"
-     *        extendedMetaData="kind='element' name='classpath' group='#group:11'"
-     * @generated
-     */
-    List getClasspath();
-
-    /**
-     * Returns the value of the '<em><b>Jndi Connection</b></em>' containment reference.
-     * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Jndi Connection</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>Jndi Connection</em>' containment reference.
-     * @see #setJndiConnection(JndiConnection)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypePackage#getServerRuntime_JndiConnection()
-     * @model containment="true" resolveProxies="false" required="true"
-     *        extendedMetaData="kind='element' name='jndiConnection'"
-     * @generated
-     */
-    JndiConnection getJndiConnection();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getJndiConnection <em>Jndi Connection</em>}' containment reference.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Jndi Connection</em>' containment reference.
-     * @see #getJndiConnection()
-     * @generated
-     */
-    void setJndiConnection(JndiConnection 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#getServerRuntime_Name()
-     * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-     *        extendedMetaData="kind='attribute' name='name'"
-     * @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"
-     *        extendedMetaData="kind='attribute' name='version'"
-     * @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 getId();
-    
-    /**
-     * @generated NOT
-     * @param id
-     */
-    void setId(String id);
-    
-    
-    
-    
-	/**
-	 * @generated NOT
-	 */
-	String getFilename();
-
-    
-	/**
-	 * @generated NOT
-	 */
-	void setFilename(String fn);
-
-	/**
-	 * @generated NOT
-	 */
-	void setPropertyValues(Map properties);
-
-	/**
-	 * @generated NOT
-	 */
-	Resolver getResolver();
-	
-    /**
-     * @generated NOT
-     */
-    String getConfigurationElementNamespace();
-    /**
-     * @generated NOT
-     * @param namespace
-     */
-    void setConfigurationElementNamespace(String namespace);
-    
-} // 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
deleted file mode 100644
index c53c85f..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
- * <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.4 2005/03/27 12:56:23 gercan 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.internal.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>Jndi Connection</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return a new object of class '<em>Jndi Connection</em>'.
-     * @generated
-     */
-    JndiConnection createJndiConnection();
-
-    /**
-     * Returns a new object of class '<em>Jndi Property</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return a new object of class '<em>Jndi Property</em>'.
-     * @generated
-     */
-    JndiProperty createJndiProperty();
-
-    /**
-     * 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>Publisher Data</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return a new object of class '<em>Publisher Data</em>'.
-     * @generated
-     */
-    PublisherData createPublisherData();
-
-    /**
-     * 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 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
deleted file mode 100644
index b75894b..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypePackage.java
+++ /dev/null
@@ -1,1424 +0,0 @@
-/**
- * <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.4 2005/03/27 12:56:23 gercan 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.internal.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.internal.servertype.definition.impl.ArchiveTypeImpl
-     * @see org.eclipse.jst.server.generic.internal.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.internal.servertype.definition.impl.ClasspathImpl
-     * @see org.eclipse.jst.server.generic.internal.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.JndiConnectionImpl <em>Jndi Connection</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getJndiConnection()
-     * @generated
-     */
-    int JNDI_CONNECTION = 2;
-
-    /**
-     * The feature id for the '<em><b>Provider Url</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_CONNECTION__PROVIDER_URL = 0;
-
-    /**
-     * The feature id for the '<em><b>Group</b></em>' attribute list.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_CONNECTION__GROUP = 1;
-
-    /**
-     * The feature id for the '<em><b>Jndi Property</b></em>' containment reference list.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_CONNECTION__JNDI_PROPERTY = 2;
-
-    /**
-     * The feature id for the '<em><b>Initial Context Factory</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY = 3;
-
-    /**
-     * The number of structural features of the the '<em>Jndi Connection</em>' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_CONNECTION_FEATURE_COUNT = 4;
-
-    /**
-     * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.JndiPropertyImpl <em>Jndi Property</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiPropertyImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getJndiProperty()
-     * @generated
-     */
-    int JNDI_PROPERTY = 3;
-
-    /**
-     * The feature id for the '<em><b>Name</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_PROPERTY__NAME = 0;
-
-    /**
-     * The feature id for the '<em><b>Value</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_PROPERTY__VALUE = 1;
-
-    /**
-     * The number of structural features of the the '<em>Jndi Property</em>' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int JNDI_PROPERTY_FEATURE_COUNT = 2;
-
-    /**
-     * 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.internal.servertype.definition.impl.LaunchConfigurationImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getLaunchConfiguration()
-     * @generated
-     */
-	int LAUNCH_CONFIGURATION = 4;
-
-    /**
-     * The feature id for the '<em><b>Main Class</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int LAUNCH_CONFIGURATION__MAIN_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.internal.servertype.definition.impl.ModuleImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getModule()
-     * @generated
-     */
-	int MODULE = 5;
-
-    /**
-     * 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.internal.servertype.definition.impl.PortImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getPort()
-     * @generated
-     */
-	int PORT = 6;
-
-    /**
-     * 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.internal.servertype.definition.impl.ProjectImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getProject()
-     * @generated
-     */
-	int PROJECT = 7;
-
-    /**
-     * 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.internal.servertype.definition.impl.PropertyImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getProperty()
-     * @generated
-     */
-	int PROPERTY = 8;
-
-    /**
-     * 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.internal.servertype.definition.impl.PublisherImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getPublisher()
-     * @generated
-     */
-	int PUBLISHER = 9;
-
-    /**
-     * 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>Publisherdata</b></em>' containment reference list.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int PUBLISHER__PUBLISHERDATA = 1;
-
-    /**
-     * The feature id for the '<em><b>Id</b></em>' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-	int PUBLISHER__ID = 2;
-
-    /**
-     * The number of structural features of the the '<em>Publisher</em>' class.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-	int PUBLISHER_FEATURE_COUNT = 3;
-
-    /**
-     * The meta object id for the '{@link org.eclipse.jst.server.generic.servertype.definition.impl.PublisherDataImpl <em>Publisher Data</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherDataImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getPublisherData()
-     * @generated
-     */
-    int PUBLISHER_DATA = 10;
-
-    /**
-     * The feature id for the '<em><b>Dataname</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int PUBLISHER_DATA__DATANAME = 0;
-
-    /**
-     * The feature id for the '<em><b>Datavalue</b></em>' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int PUBLISHER_DATA__DATAVALUE = 1;
-
-    /**
-     * The number of structural features of the the '<em>Publisher Data</em>' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int PUBLISHER_DATA_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.internal.servertype.definition.impl.ServerRuntimeImpl
-     * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getServerRuntime()
-     * @generated
-     */
-	int SERVER_RUNTIME = 11;
-
-    /**
-     * 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>Jndi Connection</b></em>' containment reference.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-    int SERVER_RUNTIME__JNDI_CONNECTION = 13;
-
-    /**
-     * The feature id for the '<em><b>Name</b></em>' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-	int SERVER_RUNTIME__NAME = 14;
-
-    /**
-     * The feature id for the '<em><b>Version</b></em>' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @generated
-     * @ordered
-     */
-	int SERVER_RUNTIME__VERSION = 15;
-
-    /**
-     * 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 = 16;
-
-    /**
-     * 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.JndiConnection <em>Jndi Connection</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for class '<em>Jndi Connection</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection
-     * @generated
-     */
-    EClass getJndiConnection();
-
-    /**
-     * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl <em>Provider Url</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the attribute '<em>Provider Url</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl()
-     * @see #getJndiConnection()
-     * @generated
-     */
-    EAttribute getJndiConnection_ProviderUrl();
-
-    /**
-     * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#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.JndiConnection#getGroup()
-     * @see #getJndiConnection()
-     * @generated
-     */
-    EAttribute getJndiConnection_Group();
-
-    /**
-     * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getJndiProperty <em>Jndi Property</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the containment reference list '<em>Jndi Property</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getJndiProperty()
-     * @see #getJndiConnection()
-     * @generated
-     */
-    EReference getJndiConnection_JndiProperty();
-
-    /**
-     * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory <em>Initial Context Factory</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the attribute '<em>Initial Context Factory</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory()
-     * @see #getJndiConnection()
-     * @generated
-     */
-    EAttribute getJndiConnection_InitialContextFactory();
-
-    /**
-     * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty <em>Jndi Property</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for class '<em>Jndi Property</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.JndiProperty
-     * @generated
-     */
-    EClass getJndiProperty();
-
-    /**
-     * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#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.JndiProperty#getName()
-     * @see #getJndiProperty()
-     * @generated
-     */
-    EAttribute getJndiProperty_Name();
-
-    /**
-     * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue <em>Value</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the attribute '<em>Value</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.JndiProperty#getValue()
-     * @see #getJndiProperty()
-     * @generated
-     */
-    EAttribute getJndiProperty_Value();
-
-    /**
-     * 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#getMainClass <em>Main Class</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the attribute '<em>Main Class</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass()
-     * @see #getLaunchConfiguration()
-     * @generated
-     */
-    EAttribute getLaunchConfiguration_MainClass();
-
-    /**
-     * 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#getPublisherdata <em>Publisherdata</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the containment reference list '<em>Publisherdata</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getPublisherdata()
-     * @see #getPublisher()
-     * @generated
-     */
-    EReference getPublisher_Publisherdata();
-
-    /**
-     * 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.PublisherData <em>Publisher Data</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for class '<em>Publisher Data</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.PublisherData
-     * @generated
-     */
-    EClass getPublisherData();
-
-    /**
-     * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname <em>Dataname</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the attribute '<em>Dataname</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname()
-     * @see #getPublisherData()
-     * @generated
-     */
-    EAttribute getPublisherData_Dataname();
-
-    /**
-     * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue <em>Datavalue</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the attribute '<em>Datavalue</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue()
-     * @see #getPublisherData()
-     * @generated
-     */
-    EAttribute getPublisherData_Datavalue();
-
-    /**
-     * 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 containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getJndiConnection <em>Jndi Connection</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the containment reference '<em>Jndi Connection</em>'.
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getJndiConnection()
-     * @see #getServerRuntime()
-     * @generated
-     */
-    EReference getServerRuntime_JndiConnection();
-
-    /**
-     * 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 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/xsd/ServerTypeDefinitionSchema.xsd b/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
deleted file mode 100644
index 8976a2b..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema targetNamespace="http://eclipse.org/jst/server/generic/ServerTypeDefinition" xmlns="http://www.w3.org/2001/XMLSchema" 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 maxOccurs="1" minOccurs="1">
-			<sequence maxOccurs="unbounded" minOccurs="0">
-				<element name="property" type="jst:Property"/>
-			</sequence>
-
-			<sequence maxOccurs="unbounded" minOccurs="0">
-				<element name="port" type="jst:Port"/>
-			</sequence>
-
-			<sequence maxOccurs="unbounded" minOccurs="1">
-				<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 maxOccurs="unbounded" minOccurs="0">
-				<element name="publisher" type="jst:Publisher"/>
-			</sequence>
-
-			<sequence maxOccurs="unbounded" minOccurs="1">
-				<element name="classpath" type="jst:Classpath"/>
-			</sequence>
-			<element name="jndiConnection" type="jst:jndiConnection"/>
-		</sequence>
-
-		<attribute name="name" type="string" use="required"/>
-		<attribute name="version" type="string"/>
-	</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="mainClass" 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 maxOccurs="unbounded" minOccurs="1">
-			<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 maxOccurs="unbounded" minOccurs="1">
-            <element name="publisherdata" type="jst:PublisherData">
-      </element>
-        </sequence>
-		<attribute name="id" type="string"/>
-	</complexType>
-
-	<complexType name="Project">
-		<sequence maxOccurs="1" minOccurs="1">
-		<element name="classpathReference" type="string"/>
-		</sequence>
-	</complexType>
-
-    <complexType name="PublisherData">
-    <sequence maxOccurs="1" minOccurs="1">
-      <element name="dataname" type="string"/>
-      <element name="datavalue" type="string"/>
-    </sequence>
-  </complexType>
-    <complexType name="jndiConnection">
-    	<sequence>
-    		<element name="providerUrl" type="string"/>
-    		<sequence maxOccurs="unbounded" minOccurs="0">
-    			<element name="jndiProperty" type="jst:jndiProperty"/>
-    		</sequence>
-    		<element name="initialContextFactory" type="string"/>
-    	</sequence>
-    </complexType>
-
-    <complexType name="jndiProperty">
-    	<all maxOccurs="1" minOccurs="1">
-    		<element name="name" type="string"/>
-    		<element name="value" type="string"/>
-    	</all>
-    </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
deleted file mode 100644
index aaa2133..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
+++ /dev/null
@@ -1,437 +0,0 @@
-<?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="JndiConnection">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="jndiConnection"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="providerUrl" 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="providerUrl"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <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:1"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="jndiProperty" upperBound="-1"
-        eType="#//JndiProperty" 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="jndiProperty"/>
-        <details key="group" value="#group:1"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialContextFactory"
-        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="initialContextFactory"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JndiProperty">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="jndiProperty"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <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="value" 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="value"/>
-      </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="mainClass" 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="mainClass"/>
-      </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="publisherdata" lowerBound="1"
-        upperBound="-1" eType="#//PublisherData" 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="publisherdata"/>
-        <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="PublisherData">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="PublisherData"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataname" 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="dataname"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="datavalue" 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="datavalue"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ServerRuntime">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="

-				Generic Server Type Definition. It must have a list of

-				properties.

-			"/>
-    </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:EReference" name="jndiConnection" lowerBound="1"
-        eType="#//JndiConnection" containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="jndiConnection"/>
-      </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>
-</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
deleted file mode 100644
index f181963..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
+++ /dev/null
@@ -1,87 +0,0 @@
-<?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.core/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"
-    suppressEMFTypes="true" 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#//JndiConnection">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/providerUrl"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/group"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/jndiProperty"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/initialContextFactory"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//JndiProperty">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiProperty/name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiProperty/value"/>
-    </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/mainClass"/>
-      <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/publisherdata"/>
-      <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#//PublisherData">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//PublisherData/dataname"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//PublisherData/datavalue"/>
-    </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 property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/jndiConnection"/>
-      <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>
-  </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
deleted file mode 100644
index 999e4e4..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.xsd2ecore
+++ /dev/null
@@ -1,132 +0,0 @@
-<?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/.cvsignore b/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
deleted file mode 100644
index 42654c1..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-commonmodules.jar
-org.eclipse.jst.server.generic.modules_1.0.0.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.project b/plugins/org.eclipse.jst.server.generic.modules/.project
deleted file mode 100644
index af14ba8..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.classpath b/plugins/org.eclipse.jst.server.generic.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore b/plugins/org.eclipse.jst.server.generic.ui/.cvsignore
deleted file mode 100644
index 058a1b7..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-genericui.jar
-org.eclipse.jst.server.generic.ui_1.0.0.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.project b/plugins/org.eclipse.jst.server.generic.ui/.project
deleted file mode 100644
index af14ba8..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/build.properties b/plugins/org.eclipse.jst.server.generic.ui/build.properties
deleted file mode 100644
index 6b4a2a0..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.genericui.jar = src/
-output.genericui.jar = bin/
-bin.includes = plugin.xml,\
-               genericui.jar,\
-               icons/,\
-               plugin.properties
-src.includes = icons/,\
-               plugin.xml,\
-               plugin.properties,\
-               src/
diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/lomboz.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/lomboz.gif
deleted file mode 100644
index 5b3a198..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/lomboz.gif
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 854d525..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/logo.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties b/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
deleted file mode 100644
index 8a61dcb..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-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
deleted file mode 100644
index 69538c2..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jst.server.generic.ui"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jst.server.generic.ui.internal.GenericUiPlugin"
-   description="%pluginDescription">
-
-   <runtime>
-      <library name="genericui.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.server.ui"/>
-       <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.jdt.debug.ui"/>
-      <import plugin="org.eclipse.jst.server.generic.core"/>
-      <import plugin="org.eclipse.wst.server.core" />
-   </requires>
-
-  <extension point="org.eclipse.wst.server.ui.editorPages">
-      <page
-         id="org.eclipse.jst.server.generic.configuration.editor.webmodule"
-         order="20"
-         name="Lomboz server Edit"
-         typeIds="org.eclipse.jst.server.generic.*"
-         class="org.eclipse.jst.server.generic.ui.internal.GenericServerEditorPartFactory"/>
-   </extension>
-   
-    <extension point="org.eclipse.wst.server.ui.editorPageSections">
-      <section
-         id="org.eclipse.jst.server.generic.editor.general"
-         order="0"
-         insertionId="org.eclipse.wst.server.editor.overview.left"
-         typeIds="org.eclipse.jst.server.generic.*"
-         class="org.eclipse.jst.server.generic.ui.internal.GenericServerEditorSectionFactory"/>       
-   </extension>
- 	
-  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.generic.image.ui.launchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.generic.core.launchConfigurationType"
-      icon="icons/obj16/lomboz.gif">
-    </launchConfigurationTypeImage>
-  </extension>
-  
-  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.generic.core.launchConfigurationType"
-      class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-  </extension>
-   
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java
deleted file mode 100644
index 195f272..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-
-
-public class GenericLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup{
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[7];
-		tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.jst.server.generic" });
-		tabs[0].setLaunchConfigurationDialog(dialog);
-		tabs[1] = new JavaArgumentsTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		tabs[2] = new JavaClasspathTab();
-		tabs[2].setLaunchConfigurationDialog(dialog);
-		tabs[3] = new SourceLookupTab();
-		tabs[3].setLaunchConfigurationDialog(dialog);
-		tabs[4] = new EnvironmentTab();
-		tabs[4].setLaunchConfigurationDialog(dialog);
-		tabs[5] = new JavaJRETab();
-		tabs[5].setLaunchConfigurationDialog(dialog);	 
-		tabs[6] = new CommonTab();
-		tabs[6].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerEditorPartFactory.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerEditorPartFactory.java
deleted file mode 100644
index bb0d6ea..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerEditorPartFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.editor.ServerEditorPartFactoryDelegate;
-
-
-public class GenericServerEditorPartFactory extends
-		ServerEditorPartFactoryDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.editor.IServerEditorPartFactoryDelegate#shouldCreatePage(org.eclipse.wst.server.core.IServer, org.eclipse.wst.server.core.IServerConfiguration)
-	 */
-	public boolean shouldCreatePage(IServer server) {
-		// TODO Auto-generated method stub
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.editor.IServerEditorPartFactoryDelegate#createPage()
-	 */
-	public IEditorPart createPage() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerEditorSectionFactory.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerEditorSectionFactory.java
deleted file mode 100644
index c385397..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerEditorSectionFactory.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-/*******************************************************************************
- * 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/>.
- ***************************************************************************/
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.editor.IServerEditorSection;
-import org.eclipse.wst.server.ui.editor.ServerEditorPageSectionFactoryDelegate;
-
-public class GenericServerEditorSectionFactory extends
-		ServerEditorPageSectionFactoryDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.editor.IServerEditorPageSectionFactoryDelegate#shouldCreateSection(org.eclipse.wst.server.core.IServer, org.eclipse.wst.server.core.IServerConfiguration)
-	 */
-	public boolean shouldCreateSection(IServer server) {
-		// TODO Auto-generated method stub
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.editor.IServerEditorPageSectionFactoryDelegate#createSection()
-	 */
-	public IServerEditorSection createSection() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java
deleted file mode 100644
index c9a57db..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-/**
- * A serverDefinitionType aware wizard for defining runtimes.
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerRuntimeWizardFragment extends ServerDefinitionTypeAwareWizardFragment {
-	
-	private ServerTypeDefinitionGroup fServerPanel;
-	private RuntimeDelegate fRuntimeDelegate;
-    private Map fServerRuntimeProperties;
-	
-	/**
-	 * Constructor
-	 */
-	public GenericServerRuntimeWizardFragment() {
-		super();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#isComplete()
-	 */
-	public boolean isComplete() {
-	  	RuntimeDelegate runtime = getRuntimeDelegate();
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate();
-		return (status != null && status.isOK());
-	}
-	
-	public void createContent(Composite parent, IWizardHandle handle) {
-		createServerDefinitionTypeComposite(parent);
-	}
-
-	
-
-	/**
-     * @param selected
-     */
-    private void createServerDefinitionTypeComposite(Composite parent) {     
-        Map properties= null;
-        if(getRuntimeDelegate()!=null)
-            properties = getRuntimeDelegate().getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map)null);
-        ServerRuntime definition = getServerTypeDefinition(getServerDefinitionId(),properties);
-        fServerPanel = new ServerTypeDefinitionGroup(this,definition,ServerTypeDefinitionGroup.CONTEXT_RUNTIME,properties,parent);
-    }
-	
-	private String getServerDefinitionId()
-	{
-		String currentDefinition= null;
-		if(getRuntimeDelegate()!=null)
-			currentDefinition =  getRuntimeDelegate().getRuntime().getRuntimeType().getId();
-		if(currentDefinition!= null && currentDefinition.length()>0)
-		{	
-			return currentDefinition;
-		}
-		return null;
-	}
-	
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#enter()
-	 */
-	public void enter() {
-		
-        String serverDefinition = getServerDefinitionId();
-		if(serverDefinition!=null && serverDefinition.length()>0)
-		{
-		    Map properties = null;
-	        if (getRuntimeDelegate() != null) {
-	            properties = getRuntimeDelegate().getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map) null);
-	        }
-	        ServerRuntime definition = getServerTypeDefinition(serverDefinition,properties);
-	        fServerPanel.reset(definition,ServerTypeDefinitionGroup.CONTEXT_RUNTIME, properties);
-		}
-        else{
-            populateRuntimeDelegateProperties();
-        }
-        validate();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#exit()
-	 */
-	public void exit() {
-	    try {
-	        getRuntimeDelegate().getRuntimeWorkingCopy().save(true,new NullProgressMonitor());
-	    }
-	    catch(Exception e){//unhandled
-	    }
-        fRuntimeDelegate=null;
-   }
-
-	protected Map getServerRuntimeProperties(){
-	    return fServerRuntimeProperties; 
-	}
-
-	private String createName()
-	{
-	    RuntimeDelegate dl = getRuntimeDelegate();
-	    IRuntimeType runtimeType = dl.getRuntime().getRuntimeType();
-	    String name = GenericServerUIMessages.getFormattedString("runtimeName", new String[] {runtimeType.getName()});
-		IRuntime[] list = ServerCore.getRuntimes();
-		int suffix = 1;
-		String suffixName=name;
-		for(int i=0;i<list.length;i++)
-	    {
-	        if(list[i].getName().equals(name)|| list[i].getName().equals(suffixName))
-	            suffix++;
-	        suffixName= name+" "+suffix;
-	    }
-	    
-		if(suffix>1)
-		    return suffixName;
-	    return name;
-	}
-	
-	private RuntimeDelegate getRuntimeDelegate()
-	{
-		if(fRuntimeDelegate == null)
-		{	
-		    IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy)getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		    if(wc==null)
-		        return null;
-		    fRuntimeDelegate = (RuntimeDelegate)wc.getAdapter(RuntimeDelegate.class);
-		}
-		return fRuntimeDelegate;
-	}
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description()
-     */
-    public String description() {
-        String rName = getRuntimeName();
-        if(rName == null || rName.length()<1)
-            rName="Generic";      
-        return  GenericServerUIMessages.getFormattedString("runtimeWizardDescription",new String[] {rName});
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
-     */
-    public String title() {
-        String rName = getRuntimeName();
-        if(rName == null || rName.length()<1)
-            rName="Generic";
-       return GenericServerUIMessages.getFormattedString("runtimeWizardTitle",new String[]{rName});
-    }
-    
-    private String getRuntimeName()
-    {
-       if(getRuntimeDelegate()!=null && getRuntimeDelegate().getRuntime()!=null)
-            return getRuntimeDelegate().getRuntime().getName();
-        return null;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#serverDefinitionTypePropertiesChanged()
-     */
-    public void serverDefinitionTypePropertiesChanged() {
-		populateRuntimeDelegateProperties();
-		validate();
-   }
-    /**
-     * 
-     */
-    private void populateRuntimeDelegateProperties() {
-       
-        fServerRuntimeProperties = fServerPanel.getProperties();
-        Map properties = getServerRuntimeProperties();
-        RuntimeDelegate dl = getRuntimeDelegate();
-        dl.setAttribute(GenericServerRuntime.SERVER_DEFINITION_ID, getRuntimeDelegate().getRuntime().getRuntimeType().getId());
-        dl.setAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,properties);
-        dl.getRuntimeWorkingCopy().setName(createName());
-    }
-    
-    private void validate()
-    {
-		if (getRuntimeDelegate() == null) {
-			this.getWizard().setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-		IStatus status = getRuntimeDelegate().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/ui/internal/GenericServerUIMessages.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java
deleted file mode 100644
index 03eb33f..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-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.internal.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/internal/GenericServerUIMessages.properties b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties
deleted file mode 100644
index 98978eb..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-serverWizardTitle=New {0} Server
-serverWizardDescription=Create a new {0} server 
-runtimeWizardTitle=New {0} Runtime
-runtimeWizardDescription=Define a new {0} runtime
-runtimeWizard.label.serverType=Server types:
-serverTypeGroup.label.browse=Browse...
-serverName = {0}(Generic)
-runtimeName= {0}(Generic)
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java
deleted file mode 100644
index 365f053..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * 
- *
- * @author Gorkem Ercan
- */
-public class GenericServerWizardFragment extends ServerDefinitionTypeAwareWizardFragment 
-{
-
-    private ServerTypeDefinitionGroup fComposite;
-    private Map fProperties; 
-	/* (non-Javadoc)
-	 * @see com.ibm.wtp.server.ui.wizard.IWizardFragment#isComplete()
-	 */
-	public boolean isComplete() {
-	    
-		ServerRuntime serverRuntime = getServerTypeDefinitionFor(getServer());
-		if(serverRuntime==null)
-		    return false;
-		return true;
-	}
-
-	public void createContent(Composite parent, IWizardHandle handle){
-		createBody(parent,handle);
-	}
-	/**
-	 * 
-	 */
-	private void createBody(Composite parent, IWizardHandle handle) 
-	{
-		IServerWorkingCopy server = getServer();
-		ServerRuntime definition = getServerTypeDefinitionFor(server);
-		fComposite = new ServerTypeDefinitionGroup(this, definition,ServerTypeDefinitionGroup.CONTEXT_SERVER, null,parent);
-
-	}
-
-	/**
-     * @param server
-     * @return
-     */
-    private ServerRuntime getServerTypeDefinitionFor(IServerWorkingCopy server) {
-        
-        RuntimeDelegate runtime = (RuntimeDelegate)server.getRuntime().getAdapter(RuntimeDelegate.class);
-        if(runtime==null){
-            IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy)getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-            runtime= (RuntimeDelegate)wc.getAdapter(RuntimeDelegate.class);
-        }        
-        String id = runtime.getRuntime().getRuntimeType().getId();
-        if(id==null){   
-            return null;
-        }
-        Map runtimeProperties = runtime.getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,(Map)null);
-		ServerRuntime definition = getServerTypeDefinition(id,runtimeProperties);
-        return definition;
-    }
-
-    /**
-     * @return
-     */
-    private IServerWorkingCopy getServer() {
-        IServerWorkingCopy server = (IServerWorkingCopy)getTaskModel().getObject(TaskModel.TASK_SERVER);
-        return server;
-    }
-
-    public void enter() {
-        IServerWorkingCopy server = getServer();
-        ServerRuntime definition = getServerTypeDefinitionFor(server);
-        if(definition != null && fComposite!=null)
-            fComposite.reset(definition,ServerTypeDefinitionGroup.CONTEXT_SERVER,null);
-	}
-	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() {
-        String sName = getServerName();
-        if(sName==null || sName.length()<1)
-            sName="Generic";
-        return  GenericServerUIMessages.getFormattedString("serverWizardDescription",new String[] {sName});
-    }
-
-    private String getServerName()
-    {
-        if(getServer()!=null && getServer().getRuntime()!=null)
-           return getServer().getRuntime().getRuntimeType().getName();
-        return null;
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
-     */
-    public String title() {
-        String sName= getServerName();
-        if(sName==null || sName.length()<1)
-            sName="Generic";
-        return  GenericServerUIMessages.getFormattedString("serverWizardTitle",new String[]{sName});
-    }
-
-    /* (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()}));
-        ServerDelegate dl= (ServerDelegate)serverWorkingCopy.getAdapter(ServerDelegate.class);
-        dl.setAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES,getServerProperties());
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java
deleted file mode 100644
index 62febf9..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author Gorkem Ercan
- */
-public class GenericUiPlugin extends AbstractUIPlugin {
-	
-    public static final String WIZBAN_IMAGE = "genericlogo";
-    //The shared instance.
-	private static GenericUiPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public GenericUiPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.generic.ui.GenericUiPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static GenericUiPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = GenericUiPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-    protected ImageRegistry createImageRegistry() {
-        ImageRegistry registry = new ImageRegistry();
-        ImageDescriptor desc = ImageDescriptor.createFromURL(getDefault().getBundle().getEntry("/icons/wizban/logo.gif"));
-        registry.put(WIZBAN_IMAGE,desc);
-        return registry;
-    }
-  	public ImageDescriptor imageDescriptor(String key){
-		return getImageRegistry().getDescriptor(key);
-	}
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java
deleted file mode 100644
index 8cdfd0d..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Created on Oct 19, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * 
- *
- * @author Gorkem Ercan
- */
-public abstract class ServerDefinitionTypeAwareWizardFragment extends WizardFragment {
-
-    private IWizardHandle fWizard;
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-	    
-	    this.fWizard = handle;
-	    Composite container = new Composite(parent, SWT.NONE);
-		container.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout grid = new GridLayout(1,false);
-		container.setLayout(grid);
-		handle.setImageDescriptor(GenericUiPlugin.getDefault().imageDescriptor(GenericUiPlugin.WIZBAN_IMAGE));
-		handle.setTitle(title());
-		handle.setDescription(description());
-		createContent(container,handle);
-		return container;
-	}
-	public IWizardHandle getWizard(){
-	    return fWizard;
-	}
-	/**
-	 * Returns the description to be displayed on the wizard head.
-	 * @return
-	 */
-	public abstract String description();
-	/**
-	 * Returns the title of the wizard.
-	 * @return
-	 */
-	public abstract String title();
-	
-	public abstract void createContent(Composite parent, IWizardHandle handle);
-
-	public abstract void serverDefinitionTypePropertiesChanged();
-	
-	protected ServerRuntime getServerTypeDefinition(String definitionID, Map properties)
-	{
-	    return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(definitionID,properties);
-	}
-	
-	protected ServerRuntime[] getAllServerDefinitionTypes()
-	{
-	    return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerTypeDefinitions();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionGroup.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionGroup.java
deleted file mode 100644
index c0285f7..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionGroup.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 Eteration Bilisim A.S.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Gorkem Ercan - initial API and implementation
- *     Naci M. Dai
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL ETERATION A.S. OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Eteration Bilisim A.S.  For more
- * information on eteration, please see
- * <http://www.eteration.com/>.
- ***************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.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.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-
-
-public class ServerTypeDefinitionGroup 
-{
-    public static final String CONTEXT_SERVER = Property.CONTEXT_SERVER;
-    public static final String CONTEXT_RUNTIME = Property.CONTEXT_RUNTIME;
-
-    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
-     * 
-     * @param definition
-     * @param initialProperties initial values null means use default
-     * @param parent
-     * @param style
-     */
-    public ServerTypeDefinitionGroup(ServerDefinitionTypeAwareWizardFragment fragment, ServerRuntime definition, String context, Map initialProperties, Composite parent) 
-    {
-        fAwareWizardFragment = fragment;
-        initServerTypeDefinition(definition,context,initialProperties);
-        createControl(parent);
-    }
-    private void initProperties(Map initialProperties)
-    {
-        if(initialProperties!= null)
-            this.fPropertyMap=initialProperties;
-        else
-            fPropertyMap=new HashMap();
-    }
-    /**
-     * Changes the values with the given ones. Renders the UI 
-     * with the given new values.
-     *  
-     * @param definition
-     * @param context
-     * @param initialProperties
-     */
-    public void reset(ServerRuntime definition, String context, Map initialProperties)
-    {
-        initServerTypeDefinition(definition, context, initialProperties);
-        fDefinitionGroup.setText(definition.getName());
-        Control[] allControls = fDefinitionGroup.getChildren();
-        for(int i= 0; i<allControls.length;i++)
-        {
-            Control c = allControls[i];
-            c.dispose();
-        }
-        fPropertyControls.clear();
-        createPropertyControls(fDefinitionGroup);
-        
-        fDefinitionGroup.layout(true);
-        
-    }
-    
-    /**
-     * @param definition
-     * @param context
-     * @param initialProperties
-     */
-    private void initServerTypeDefinition(ServerRuntime definition, String context, Map initialProperties) {
-        fServerTypeDefinition = definition;
-        initProperties(initialProperties);
-        this.fContext = context;
-    }
-    /**
-     * @param parent
-     */
-    private void createControl(Composite parent) {
-
-        fDefinitionGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
-        fDefinitionGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-        fDefinitionGroup.setLayout(new GridLayout(3,false));
-        if(fServerTypeDefinition!=null)
-        {   
-            fDefinitionGroup.setText(fServerTypeDefinition.getName());
-
-            createPropertyControls(fDefinitionGroup);
-        }
-    }
-    /**
-     * @param defPanel
-     */
-    private void createPropertyControls(Composite definitionComposite) {
-		List properties = fServerTypeDefinition.getProperty();
-		for(int i = 0; i<properties.size(); i++)
-		{
-		    Property property = (Property)properties.get(i);		    
-		    if(this.fContext.equals(property.getContext()))
-		        createPropertyControl(definitionComposite,property);
-		}
-        
-    }
-     
-    private void createPropertyControl(Composite parent, Property property)
-    {
-    	if( "directory".equals(property.getType())) {
-    		Text path = createLabeledPath(property.getLabel(),getPropertyValue(property),parent);
-    		path.setData(property);
-    		fPropertyControls.add(path);
-    	} else if( "file".equals(property.getType())) {
-    	    Text file = createLabeledFile(property.getLabel(),getPropertyValue(property),parent);
-    		file.setData(property);
-    		fPropertyControls.add(file);
-    	} else if( "string".equals(property.getType())) {
-    	    Text str = createLabeledText(property.getLabel(),getPropertyValue(property),parent);
-    		str.setData(property);
-    		fPropertyControls.add(str);
-    	} else if( "boolean".equals(property.getType())) {
-    	    Button bool =createLabeledCheck(property.getLabel(),("true".equals( getPropertyValue(property))),	parent);
-    		bool.setData(property);
-    		fPropertyControls.add(bool);
-    	} else  {
-    	    Text defaultText= createLabeledText(property.getLabel(),getPropertyValue(property),parent);
-    		defaultText.setData(property);
-    		fPropertyControls.add(defaultText);
-     	}
-    }
-	private String getPropertyValue(Property property)
-	{
-		String value = property.getDefault();
-		if(fPropertyMap!=null && fPropertyMap.isEmpty()==false)
-			value=(String)fPropertyMap.get(property.getId()); 
-		return value;
-	}
-    protected Button createLabeledCheck(String title, boolean value,
-    		Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-
-    	Button fButton = new Button(defPanel, SWT.CHECK);
-    	
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 2;
-    	fButton.setLayoutData(gridData);
-    	fButton.setSelection(value);
-    	fButton.addSelectionListener(new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-               fAwareWizardFragment.serverDefinitionTypePropertiesChanged();
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-                // TODO Auto-generated method stub
-
-            }
-        });
-    	
-    	return fButton;
-    }
-    protected Text createLabeledFile(String title, String value,
-    		Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	final Text fText = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 1;
-    	fText.setLayoutData(gridData);
-    	fText.setText(value);
-    	fText.addModifyListener(new PropertyModifyListener());
-    	Button fButton = SWTUtil.createButton(defPanel,GenericServerUIMessages.getString("serverTypeGroup.label.browse") );
-    	
-    	fButton.addSelectionListener(new SelectionListener() {
-    		public void widgetSelected(SelectionEvent e) {
-    			FileDialog dlg = new FileDialog(fDefinitionGroup.getShell());
-    			dlg.setFileName(fText.getText());
-    			String res = dlg.open();
-    			if (res != null) {
-    				fText.setText(res);
-    			}
-    		}
-    
-    		public void widgetDefaultSelected(SelectionEvent e) {
-    			widgetSelected(e);
-    		}
-    
-    	});
-    
-    	return fText;
-    }
-    protected Text createLabeledPath(String title, String value,
-    		Composite parent) {
-    	GridData gridData;
-    	Label label = new Label(parent, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	final Text fText = new Text(parent, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL);
-    	gridData.horizontalSpan = 1;
-    	fText.setLayoutData(gridData);
-    	fText.setText(value);
-    	fText.addModifyListener(new PropertyModifyListener());
-    	Button fButton = SWTUtil.createButton(parent,GenericServerUIMessages.getString("serverTypeGroup.label.browse"));
-    	fButton.addSelectionListener(new SelectionListener() {
-    		public void widgetSelected(SelectionEvent e) {
-    			DirectoryDialog dlg = new DirectoryDialog(fDefinitionGroup.getShell());
-    			dlg.setFilterPath(fText.getText());
-    			String res = dlg.open();
-    			if (res != null) {
-    				fText.setText(res);
-    			}
-    		}
-    
-    		public void widgetDefaultSelected(SelectionEvent e) {
-    			widgetSelected(e);
-    		}
-    
-    	});
-    
-    	return fText;
-    }
-    protected Text createLabeledText(String title, String value,
-    		Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	Text fText = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 2;
-    	fText.setLayoutData(gridData);
-    	fText.setText(value);
-    	fText.addModifyListener(new PropertyModifyListener());
-    	return fText;
-    }
-    public Map getProperties()
-    {
-    	for(int i=0; i<fPropertyControls.size();i++)
-    	{
-    		if(fPropertyControls.get(i)instanceof Button)
-    		{
-    			Button button = (Button)fPropertyControls.get(i);
-    			Property prop = (Property)button.getData();
-    			fPropertyMap.put(prop.getId(),Boolean.toString(button.getSelection()));
-    		}
-    		else
-    		{
-    			Text text = (Text)fPropertyControls.get(i);
-    			Property prop = (Property)text.getData();
-    			fPropertyMap.put(prop.getId(),text.getText());
-    		}
-    	}
-    	return fPropertyMap;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
index b4ceb65..b7e78c8 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
@@ -72,7 +72,6 @@
 deletingContextFilesTask=Deleting obsolete context files from server...
 deletingContextFile=Deleting obsolete context file {0}...
 deletedContextFile=Context file {0} removed
-runtimeDirPrepared=Runtime directory prepared
 
 tomcatLaunchConfigurationType=Apache Tomcat
 
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
index 35edfcd..282a53a 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
@@ -25,8 +25,6 @@
 	 * @return the current VM install
 	 */
 	public IVMInstall getVMInstall();
-	
-	public boolean isUsingDefaultJRE();
 
 	/**
 	 * Returns the runtime classpath that is used by this runtime.
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
index e3e25e9..ac7a94c 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
@@ -18,7 +18,6 @@
 public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime {
 	/**
 	 * Set the VM install (installed JRE) that this runtime is using.
-	 * Use <code>null</code> to use the Eclipse default JRE.
 	 * 
 	 * @param vmInstall the VM install to use
 	 */
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
index 51ecbe1..69cc9e3 100644
--- 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
@@ -27,7 +27,7 @@
 	
 	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting);
 	
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure);
+	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure);
 
 	/**
 	 * Returns true if the given project is supported by this
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
index d46c8e1..1212ebe 100644
--- 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
@@ -20,12 +20,17 @@
 import org.eclipse.core.runtime.*;
 import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
 import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.*;
+import org.eclipse.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.IRuntime;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
+import org.eclipse.wst.server.core.util.ServerPort;
 /**
  * Tomcat v3.2 server configuration.
  */
@@ -66,10 +71,10 @@
 	 * Returns the main server port.
 	 * @return TomcatServerPort
 	 */
-	public ServerPort getMainPort() {
+	public IServerPort getMainPort() {
 		Iterator iterator = getServerPorts().iterator();
 		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
+			IServerPort port = (IServerPort) iterator.next();
 			if (port.getName().equals("HTTP Connector"))
 				return port;
 		}
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
index ccfd49c..e50395f 100644
--- 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
@@ -61,7 +61,8 @@
 	public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) {
 		List list = new ArrayList();
 		if (configPath != null) {
-			list.add("-f \"" + configPath.append("conf").append("server.xml").toOSString() + "\"");
+			list.add("-f");
+			list.add("\"" + configPath.append("conf").append("server.xml").toOSString() + "\"");
 		}
 		
 		if (!starting)
@@ -77,7 +78,7 @@
 	 *
 	 * @return java.lang.String[]
 	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
+	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
 		List list = new ArrayList();
 		list.add("-Dtomcat.home=\"" + installPath.toOSString() + "\"");
 		
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
index 30b6a8d..2ac314e 100644
--- 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
@@ -10,7 +10,13 @@
  **********************************************************************/
 package org.eclipse.jst.server.tomcat.core.internal;
 
-import java.io.*;
+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;
@@ -25,7 +31,8 @@
 import org.w3c.dom.Element;
 import org.xml.sax.InputSource;
 
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
+import org.eclipse.wst.server.core.util.ServerPort;
 /**
  * Tomcat v4.0 server configuration.
  */
@@ -67,10 +74,10 @@
 	 * Return the port number.
 	 * @return int
 	 */
-	public ServerPort getMainPort() {
+	public IServerPort getMainPort() {
 		Iterator iterator = getServerPorts().iterator();
 		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
+			IServerPort port = (IServerPort) iterator.next();
 			if (port.getName().equals("HTTP Connector"))
 				return port;
 		}
@@ -200,26 +207,6 @@
 		return list;
 	}
 	
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-
 	/**
 	 * @param path a path
 	 * @param monitor a progress monitor
@@ -647,26 +634,4 @@
 			Trace.trace(Trace.SEVERE, "Error removing module ref " + index, e);
 		}
 	}
-
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%runtimeDirPrepared"), null);		
-	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java
index f67b940..84c36ff 100644
--- 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
@@ -61,6 +61,10 @@
 	 */
 	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");
@@ -80,12 +84,8 @@
 	 *
 	 * @return java.lang.String[]
 	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
+	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
 		List list = new ArrayList();
-		if (isTestEnv)
-			list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\"");
-		else 
-			list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\"");
 		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
 		String endorsed = installPath.append("bin").toOSString() +
 			installPath.append("common").append("lib").toOSString();
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
index 1c2be81..bba61c4 100644
--- 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
@@ -10,7 +10,16 @@
  **********************************************************************/
 package org.eclipse.jst.server.tomcat.core.internal;
 
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -25,7 +34,8 @@
 import org.w3c.dom.Element;
 import org.xml.sax.InputSource;
 
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
+import org.eclipse.wst.server.core.util.ServerPort;
 /**
  * Tomcat v4.1 server configuration.
  */
@@ -69,10 +79,10 @@
 	 * Return the port number.
 	 * @return int
 	 */
-	public ServerPort getMainPort() {
+	public IServerPort getMainPort() {
 		Iterator iterator = getServerPorts().iterator();
 		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
+			IServerPort port = (IServerPort) iterator.next();
 			if (port.getName().equals("HTTP Connector"))
 				return port;
 		}
@@ -209,26 +219,6 @@
 		return list;
 	}
 	
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-	
 	/**
 	 *
 	 * @return org.eclipse.jst.server.tomcat.internal.Tomcat40Configuration
@@ -782,26 +772,4 @@
 		}
 		return null;
  	}
-	
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%runtimeDirPrepared"), null);		
-	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java
index 6fbb94c..e36a7e4 100644
--- 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
@@ -61,6 +61,10 @@
 	 */
 	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");
@@ -80,12 +84,8 @@
 	 *
 	 * @return java.lang.String[]
 	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
+	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
 		List list = new ArrayList();
-		if (isTestEnv)
-			list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\"");
-		else 
-			list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\"");
 		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
 		list.add("-Djava.endorsed.dirs=\"" + installPath.append("common").append("endorsed").toOSString() + "\"");
 		
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
index 191713e..c999b45 100644
--- 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
@@ -26,7 +26,8 @@
 import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
 
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
+import org.eclipse.wst.server.core.util.ServerPort;
 /**
  * Tomcat v5.0 server configuration.
  */
@@ -63,10 +64,10 @@
 	 * Return the port number.
 	 * @return int
 	 */
-	public ServerPort getMainPort() {
+	public IServerPort getMainPort() {
 		Iterator iterator = getServerPorts().iterator();
 		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
+			IServerPort port = (IServerPort) iterator.next();
 			if (port.getName().equals("HTTP"))
 				return port;
 		}
@@ -242,26 +243,6 @@
 		}
 	}
 
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-
 	/**
 	 * Reload the configuration.
 	 * 
@@ -782,7 +763,7 @@
 				Server oldServer = (Server) factory.loadDocument(new FileInputStream(serverFile));
 				
 				// Begin building path to context directory
-				IPath contextDir = confDir.append("conf");
+				IPath contextDir = installDir.append("conf");
 
 				// Collect paths of old web modules managed by WTP
 				Set oldPaths = new HashSet();
@@ -859,26 +840,4 @@
 		monitor.done();
 		return ms;
 	}
-
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%runtimeDirPrepared"), null);		
-	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java
index 811e378..f1cd86f 100644
--- 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
@@ -61,6 +61,10 @@
 	 */
 	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");
@@ -80,12 +84,8 @@
 	 *
 	 * @return java.lang.String[]
 	 */
-	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv, boolean isSecure) {
+	public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isSecure) {
 		List list = new ArrayList();
-		if (isTestEnv)
-			list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\"");
-		else 
-			list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\"");
 		list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\"");
 		list.add("-Djava.endorsed.dirs=\"" + installPath.append("common").append("endorsed").toOSString() + "\"");
 		
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
index 3a201a9..cc33fb5 100644
--- 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
@@ -24,7 +24,8 @@
 import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
 
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
+import org.eclipse.wst.server.core.util.ServerPort;
 /**
  * Tomcat v5.5 server configuration.
  */
@@ -61,10 +62,10 @@
 	 * Return the port number.
 	 * @return int
 	 */
-	public ServerPort getMainPort() {
+	public IServerPort getMainPort() {
 		Iterator iterator = getServerPorts().iterator();
 		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
+			IServerPort port = (IServerPort) iterator.next();
 			if (port.getName().equals("HTTP"))
 				return port;
 		}
@@ -240,26 +241,6 @@
 		}
 	}
 
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
-		load(path, monitor);
-		
-		// for test environment, remove existing contexts since a separate
-		// catalina.base will be used
-		if (isTestEnv) {
-			int size = server.getServiceCount();
-			for (int i = 0; i < size; i++) {
-				Service service = server.getService(i);
-				if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
-					Host host = service.getEngine().getHost();
-					int size2 = host.getContextCount();
-					for (int j = 0; j < size2; j++) {
-						host.removeElement("Context", 0);
-					}
-				}
-			}
-		}
-	}
-
 	/**
 	 * Load the configuration.
 	 * 
@@ -762,26 +743,4 @@
 		}
 		return null;
  	}
-
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		Trace.trace(Trace.FINER, "Preparing runtime directory");
-		// Prepare a catalina.base directory structure
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("logs").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("temp").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("webapps").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-		temp = confDir.append("work").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%runtimeDirPrepared"), null);		
-	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java
index 722720c..f047682 100644
--- 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
@@ -25,7 +25,7 @@
 import org.eclipse.jst.server.core.IWebModule;
 
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 /**
  * Generic Tomcat server configuration.
  */
@@ -186,13 +186,6 @@
 		return Status.OK_STATUS;
 	}
 	
-	protected IStatus prepareRuntimeDirectory(IPath confDir) {
-		File temp = confDir.append("conf").toFile();
-		if (!temp.exists())
-			temp.mkdirs();
-
-		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Runtime configuration directory prepared" /* TomcatPlugin.getResource("%canAddModule") */, null);		
-	}
 
 	/**
 	 * Returns the root of the docbase parameter.
@@ -203,9 +196,9 @@
 
 	/**
 	 * Returns the main server port.
-	 * @return ServerPort
+	 * @return IServerPort
 	 */
-	public abstract ServerPort getMainPort();
+	public abstract IServerPort getMainPort();
 
 	/**
 	 * Returns the prefix that is used in front of the
@@ -303,11 +296,11 @@
 			propertyListeners.remove(listener);
 	}
 
-	public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException {
+	/*public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
 		load(path, monitor);
 	}
 
-	/*public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
+	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/TomcatLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
index f856ebc..eaa18b4 100644
--- 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
@@ -20,14 +20,19 @@
 import org.eclipse.jdt.launching.*;
 
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.IServerAttributes;
+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 {
-		IServer server = ServerUtil.getServer(configuration);
+		String serverId = configuration.getAttribute(IServerAttributes.ATTR_SERVER_ID, (String) null);
+
+		IServer server = null;
+		if (serverId != null)
+			server = ServerCore.findServer(serverId);
 		if (server == null) {
 			Trace.trace(Trace.FINEST, "Launch configuration could not find server");
 			// throw CoreException();
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
index 7e96b4e..aaf6d9a 100644
--- 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
@@ -40,6 +40,9 @@
 		// do nothing
 	}
 
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.server.core.model.IRuntime#getLocation()
+	 */
 	public ITomcatVersionHandler getVersionHandler() {
 		IRuntimeType type = getRuntime().getRuntimeType();
 		return TomcatPlugin.getTomcatVersionHandler(type.getId());
@@ -52,14 +55,8 @@
 	protected String getVMInstallId() {
 		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
 	}
-	
-	public boolean isUsingDefaultJRE() {
-		return getVMInstallTypeId() == null;
-	}
 
 	public IVMInstall getVMInstall() {
-		if (getVMInstallTypeId() == null)
-			return JavaRuntime.getDefaultVMInstall();
 		try {
 			IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId());
 			IVMInstall[] vmInstalls = vmInstallType.getVMInstalls();
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
index b8e422f..2b91898 100644
--- 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
@@ -98,7 +98,7 @@
 		else if (id.indexOf("55") > 0)
 			configuration = new Tomcat55Configuration(folder);
 		try {
-			configuration.importFromPath(path, isTestEnvironment(), monitor);
+			configuration.load(path, monitor);
 		} catch (CoreException ce) {
 			// ignore
 			configuration = null;
@@ -276,17 +276,17 @@
 		return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "%canModifyModules", null);
 	}
 
-	public ServerPort[] getServerPorts() {
+	public IServerPort[] getServerPorts() {
 		if (getServer().getServerConfiguration() == null)
-			return new ServerPort[0];
+			return new IServerPort[0];
 		
 		try {
 			List list = getTomcatConfiguration().getServerPorts();
-			ServerPort[] sp = new ServerPort[list.size()];
+			IServerPort[] sp = new IServerPort[list.size()];
 			list.toArray(sp);
 			return sp;
 		} catch (Exception e) {
-			return new ServerPort[0]; 
+			return new IServerPort[0]; 
 		}
 	}
 	
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
index 9480934..e3a8d61 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
@@ -28,7 +28,6 @@
 import org.eclipse.jst.server.core.IWebModule;
 
 import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.core.model.*;
 import org.eclipse.wst.server.core.util.PingThread;
 import org.eclipse.wst.server.core.util.SocketUtil;
@@ -110,8 +109,7 @@
 			configPath = getTempDirectory();
 		else
 			configPath = installPath;
-		return getTomcatVersionHandler().getRuntimeVMArguments(installPath, configPath,
-				getTomcatServer().isTestEnvironment(), getTomcatServer().isSecure());
+		return getTomcatVersionHandler().getRuntimeVMArguments(installPath, configPath, getTomcatServer().isSecure());
 	}
 	
 	protected static String renderCommandLine(String[] commandLine, String separator) {
@@ -164,12 +162,9 @@
 		IPath confDir = null;
 		if (getTomcatServer().isTestEnvironment()) {
 			confDir = getTempDirectory();
-			IStatus status = getTomcatConfiguration().prepareRuntimeDirectory(confDir);
-			if (status != null && !status.isOK())
-				throw new CoreException(status);
-/*			File temp = confDir.append("conf").toFile();
+			File temp = confDir.append("conf").toFile();
 			if (!temp.exists())
-				temp.mkdirs();*/
+				temp.mkdirs();
 		} else
 			confDir = installDir;
 
@@ -207,7 +202,7 @@
 		
 		IModule module = moduleTree[0];
 		
-		if (deltaKind == REMOVED) {
+		if (deltaKind == IServer.REMOVED) {
 			try {
 				String publishPath = (String) p.get(module.getId());
 				FileUtil.deleteDirectory(new File(publishPath), monitor);
@@ -251,7 +246,7 @@
 		Iterator iterator = configuration.getServerPorts().iterator();
 		List usedPorts = new ArrayList();
 		while (iterator.hasNext()) {
-			ServerPort sp = (ServerPort) iterator.next();
+			IServerPort sp = (IServerPort) iterator.next();
 			if (sp.getPort() < 0)
 				throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPortInvalid"), null));
 			if (SocketUtil.isPortInUse(sp.getPort(), 5)) {
@@ -259,7 +254,7 @@
 			}
 		}
 		if (usedPorts.size() == 1) {
-			ServerPort port = (ServerPort) usedPorts.get(0);
+			IServerPort port = (IServerPort) usedPorts.get(0);
 			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPortInUse", new String[] {port.getPort() + "", getServer().getName()}), null));
 		} else if (usedPorts.size() > 1) {
 			String portStr = "";
@@ -269,7 +264,7 @@
 				if (!first)
 					portStr += ", ";
 				first = false;
-				ServerPort sp = (ServerPort) iterator.next();
+				IServerPort sp = (IServerPort) iterator.next();
 				portStr += "" + sp.getPort();
 			}
 			throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPortsInUse", new String[] {portStr, getServer().getName()}), null));
@@ -311,7 +306,7 @@
 			if (state != IServer.STATE_STOPPED)
 				setServerState(IServer.STATE_STOPPING);
 	
-			ILaunchConfiguration launchConfig = ((Server)getServer()).getLaunchConfiguration(true, null);
+			ILaunchConfiguration launchConfig = getServer().getLaunchConfiguration(true, null);
 			ILaunchConfigurationWorkingCopy wc = launchConfig.getWorkingCopy();
 			
 			String args = renderCommandLine(getRuntimeProgramArguments(false), " ");
@@ -349,121 +344,17 @@
 	public String toString() {
 		return "TomcatServer";
 	}
-	
-	/**
-	 * Merge the given arguments into the original argument string, replacing
-	 * invalid values if they have been changed.
-	 * 
-	 * @param originalArg
-	 * @param vmArgs
-	 * @return
-	 */
-	public static String mergeArguments(String originalArg, String[] vmArgs) {
-		if (vmArgs == null)
-			return originalArg;
-		
-		if (originalArg == null)
-			originalArg = "";
-		
-		// replace and null out all vmargs that already exist
-		int size = vmArgs.length;
-		for (int i = 0; i < size; i++) {
-			int ind = vmArgs[i].indexOf(" ");
-			int ind2 = vmArgs[i].indexOf("=");
-			if (ind >= 0) { // -a bc style
-				int index = originalArg.indexOf(vmArgs[i].substring(0, ind + 1));
-				if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = originalArg.indexOf(" ", index + ind + 1);
-					if (index2 >= 0)
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					else
-						originalArg = s + vmArgs[i];
-					vmArgs[i] = null;
-				}
-			} else if (ind2 >= 0) { // a=b style
-				int index = originalArg.indexOf(vmArgs[i].substring(0, ind2 + 1));
-				if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = originalArg.indexOf(" ", index);
-					if (index2 >= 0)
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					else
-						originalArg = s + vmArgs[i];
-					vmArgs[i] = null;
-				}
-			} else { // abc style
-				int index = originalArg.indexOf(vmArgs[i]);
-				if (index == 0 || (index > 0 && originalArg.charAt(index-1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = originalArg.indexOf(" ", index);
-					if (index2 >= 0)
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					else
-						originalArg = s + vmArgs[i];
-					vmArgs[i] = null;
-				}
-			}
-		}
-		
-		// add remaining vmargs to the end
-		for (int i = 0; i < size; i++) {
-			if (vmArgs[i] != null) {
-				if (originalArg.length() > 0 && !originalArg.endsWith(" "))
-					originalArg += " ";
-				originalArg += vmArgs[i];
-			}
-		}
-		
-		return originalArg;
-	}
-
-	/**
-	 * Replace the current JRE container classpath with the given entry.
-	 * 
-	 * @param cp
-	 * @param entry
-	 */
-	public static void replaceJREContainer(List cp, IRuntimeClasspathEntry entry) {
-		int size = cp.size();
-		for (int i = 0; i < size; i++) {
-			IRuntimeClasspathEntry entry2 = (IRuntimeClasspathEntry) cp.get(i);
-			if (entry2.getPath().uptoSegment(2).isPrefixOf(entry.getPath())) {
-				cp.set(i, entry);
-				return;
-			}
-		}
-		
-		cp.add(0, entry);
-	}
-
-	/**
-	 * Merge a single classpath entry into the classpath list.
-	 * 
-	 * @param cp
-	 * @param entry
-	 */
-	public static void mergeClasspath(List cp, IRuntimeClasspathEntry entry) {
-		Iterator iterator = cp.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry2 = (IRuntimeClasspathEntry) iterator.next();
-			
-			if (entry2.getPath().equals(entry.getPath()))
-				return;
-		}
-		
-		cp.add(entry);
-	}
 
 	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException {
 		String existingProgArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, mergeArguments(existingProgArgs, getRuntimeProgramArguments(true)));
+		String progArgs = renderCommandLine(getRuntimeProgramArguments(true), " ");
+		if (existingProgArgs == null || existingProgArgs.indexOf(progArgs) < 0)
+			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, progArgs);
 
 		String existingVMArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, (String)null);
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, mergeArguments(existingVMArgs, getRuntimeVMArguments()));
+		String vmArgs = renderCommandLine(getRuntimeVMArguments(), " ");
+		if (existingVMArgs == null || existingVMArgs.indexOf(vmArgs) < 0)
+			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, vmArgs);
 		
 		ITomcatRuntime runtime = getTomcatRuntime();
 		IVMInstall vmInstall = runtime.getVMInstall();
@@ -472,46 +363,34 @@
 			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmInstall.getName());
 		}
 		
-		// update classpath
-		IRuntimeClasspathEntry[] originalClasspath = JavaRuntime.computeUnresolvedRuntimeClasspath(workingCopy);
-		int size = originalClasspath.length;
-		List oldCp = new ArrayList(originalClasspath.length + 2);
-		for (int i = 0; i < size; i++)
-			oldCp.add(originalClasspath[i]);
-		
-		List cp2 = runtime.getRuntimeClasspath();
-		Iterator iterator = cp2.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) iterator.next();
-			mergeClasspath(oldCp, entry);
-		}
-		
+		// add tools.jar to the path
+		List cp = runtime.getRuntimeClasspath();
 		if (vmInstall != null) {
 			try {
-				replaceJREContainer(oldCp, JavaRuntime.newRuntimeContainerClasspathEntry(new Path(JavaRuntime.JRE_CONTAINER).append("org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType").append(vmInstall.getName()), IRuntimeClasspathEntry.BOOTSTRAP_CLASSES));
+				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) {
 				// ignore
-			}
+			}			
 			
 			IPath jrePath = new Path(vmInstall.getInstallLocation().getAbsolutePath());
 			if (jrePath != null) {
 				IPath toolsPath = jrePath.append("lib").append("tools.jar");
-				if (toolsPath.toFile().exists())
-					mergeClasspath(oldCp, JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath));
+				if (toolsPath.toFile().exists()) {
+					cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath));
+				}
 			}
 		}
 		
-		iterator = oldCp.iterator();
+		Iterator cpi = cp.iterator();
 		List list = new ArrayList();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) iterator.next();
+		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);
 	}
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
index 96cd7d6..f4bbe83 100644
--- 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
@@ -34,7 +34,11 @@
 	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
 		IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedSourceLookupPath(configuration);
 
-		IServer server = ServerUtil.getServer(configuration);
+		String serverId = configuration.getAttribute(IServerAttributes.ATTR_SERVER_ID, (String) null);
+
+		IServer server = null;
+		if (serverId != null)
+			server = ServerCore.findServer(serverId);
 		if (server != null) {
 			List list = new ArrayList();
 			List pathList = new ArrayList();
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
index 72a8bd1..af0fb7a 100644
--- 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
@@ -14,7 +14,7 @@
 
 import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy;
 import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 /**
  * Command to change the configuration port.
  */
@@ -40,7 +40,7 @@
 		// find old port number
 		Iterator iterator = configuration.getServerPorts().iterator();
 		while (iterator.hasNext()) {
-			ServerPort temp = (ServerPort) iterator.next();
+			IServerPort temp = (IServerPort) iterator.next();
 			if (id.equals(temp.getId()))
 				oldPort = temp.getPort();
 		}
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
index 27007aa..1e59666 100644
--- 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
@@ -67,14 +67,15 @@
 	public Document getDocument() {
 		return document;
 	}
-
+	
 	public String getPackageName() {
 		return packageName;
 	}
-
+	
 	public XMLElement loadDocument(InputStream in) throws IOException {
 		try {
-			document = XMLUtil.getDocumentBuilder().parse(new InputSource(in));
+			InputStreamReader reader = new InputStreamReader(in);
+			document = XMLUtil.getDocumentBuilder().parse(new InputSource(reader));
 			Element element = document.getDocumentElement();
 			return newInstance(element);
 		} catch (Exception exception) {
@@ -82,7 +83,7 @@
 			throw new IOException("Could not load document");
 		}
 	}
-
+	
 	protected XMLElement newInstance(Element element) {
 		String s = element.getNodeName();
 		try {
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
index aab9c4a..4610ba1 100644
--- 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
@@ -104,7 +104,7 @@
 	public static byte[] getContents(Document document) throws IOException {
 		ByteArrayOutputStream out = new ByteArrayOutputStream();
 		try {
-			print(new PrintStream(out, true, "UTF-8"), document);
+			print(new PrintWriter(out), document);
 			return out.toByteArray();
 		} catch (Exception ex) {
 			throw new IOException(ex.getLocalizedMessage());
@@ -219,14 +219,14 @@
 		return stringbuffer.toString();
 	}
 
-	protected static void print(PrintStream out, Node node) {
+	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");
+				//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++)
@@ -321,9 +321,9 @@
 	}
 
 	public static void save(String filename, Document document) throws IOException {
-		PrintStream out = null;
+		PrintWriter out = null;
 		try {
-			out = new PrintStream(new BufferedOutputStream(new FileOutputStream(filename)), true, "UTF-8");
+			out = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
 			//traceNode(document, "");
 			print(out, document);
 		} catch (Exception ex) {
@@ -362,12 +362,12 @@
 	}
 
 	public static String toString(Document document) {
-		PrintStream out = null;
+		PrintWriter out = null;
 		try {
-			ByteArrayOutputStream baos = new ByteArrayOutputStream(2048);
-			out = new PrintStream(baos);
+			ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+			out = new PrintWriter(baos);
 			print(out, document);
-			return new String(baos.toByteArray(), "UTF-8");
+			return new String(baos.toByteArray());
 		} catch (Exception ex) {
 			// ignore
 		} finally {
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
index f3855d4..4f88751 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
@@ -76,7 +76,6 @@
 installedJRE=&JRE:
 installedJREs=&Installed JREs...
 selectInstallDir=Select Tomcat installation directory.
-runtimeDefaultJRE=Workbench default JRE
 
 # New Tomcat server wizard
 wizardTitle=Tomcat Server
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
index 942f225..e68714f 100644
--- 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
@@ -58,6 +58,7 @@
 	protected Combo combo;
 	protected List installedJREs;
 	protected String[] jreNames;
+	protected int defaultVMIndex;
 
 	/**
 	 * TomcatRuntimeWizardPage constructor comment.
@@ -160,10 +161,7 @@
 		combo.addSelectionListener(new SelectionListener() {
 			public void widgetSelected(SelectionEvent e) {
 				int sel = combo.getSelectionIndex();
-				IVMInstall vmInstall = null;
-				if (sel > 0)
-					vmInstall = (IVMInstall) installedJREs.get(sel - 1);
-				
+				IVMInstall vmInstall = (IVMInstall) installedJREs.get(sel);
 				runtime.setVMInstall(vmInstall);
 				validate();
 			}
@@ -182,7 +180,7 @@
 					combo.setItems(jreNames);
 					combo.setText(currentVM);
 					if (combo.getSelectionIndex() == -1)
-						combo.select(0);
+						combo.select(defaultVMIndex);
 				}
 			}
 		});
@@ -210,12 +208,14 @@
 		
 		// get names
 		size = installedJREs.size();
-		jreNames = new String[size+1];
-		jreNames[0] = TomcatUIPlugin.getResource("%runtimeDefaultJRE");
+		jreNames = new String[size];
 		for (int i = 0; i < size; i++) {
 			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i+1] = vmInstall.getName();
+			jreNames[i] = vmInstall.getName();
 		}
+		
+		IVMInstall defaultVM = JavaRuntime.getDefaultVMInstall();
+		defaultVMIndex = installedJREs.indexOf(defaultVM);
 	}
 
 	protected boolean showPreferencePage() {
@@ -250,21 +250,17 @@
 			installDir.setText("");
 		
 		// set selection
-		if (runtime.isUsingDefaultJRE())
-			combo.select(0);
-		else {
-			boolean found = false;
-			int size = installedJREs.size();
-			for (int i = 0; i < size; i++) {
-				IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-				if (vmInstall.equals(runtime.getVMInstall())) {
-					combo.select(i + 1);
-					found = true;
-				}
+		boolean found = false;
+		int size = installedJREs.size();
+		for (int i = 0; i < size; i++) {
+			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
+			if (vmInstall.equals(runtime.getVMInstall())) {
+				combo.select(i);
+				found = true;
 			}
-			if (!found)
-				combo.select(0);
 		}
+		if (!found)
+			combo.select(defaultVMIndex);
 	}
 
 	protected void validate() {
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
index eb4bb01..9dd7b8c 100644
--- 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
@@ -13,7 +13,8 @@
 import java.beans.*;
 import java.util.Iterator;
 
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.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.*;
@@ -79,7 +80,7 @@
 		TableItem[] items = ports.getItems();
 		int size = items.length;
 		for (int i = 0; i < size; i++) {
-			ServerPort sp = (ServerPort) items[i].getData();
+			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 + "");
@@ -152,7 +153,7 @@
 	
 		ICellModifier cellModifier = new ICellModifier() {
 			public Object getValue(Object element, String property) {
-				ServerPort sp = (ServerPort) element;
+				IServerPort sp = (IServerPort) element;
 				if (sp.getPort() < 0)
 					return "-";
 				return sp.getPort() + "";
@@ -168,7 +169,7 @@
 			public void modify(Object element, String property, Object value) {
 				try {
 					Item item = (Item) element;
-					ServerPort sp = (ServerPort) item.getData();
+					IServerPort sp = (IServerPort) item.getData();
 					int port = Integer.parseInt((String) value);
 					commandManager.executeCommand(new ModifyPortCommand(tomcatConfiguration, sp.getId(), port));
 				} catch (Exception ex) {
@@ -226,7 +227,7 @@
 
 		Iterator iterator = tomcatConfiguration.getServerPorts().iterator();
 		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
+			IServerPort port = (IServerPort) iterator.next();
 			TableItem item = new TableItem(ports, SWT.NONE);
 			String portStr = "-";
 			if (port.getPort() >= 0)
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.properties b/plugins/org.eclipse.jst.server.ui/plugin.properties
index 998a9c0..44093b7 100644
--- a/plugins/org.eclipse.jst.server.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.server.ui/plugin.properties
@@ -18,5 +18,4 @@
 browse=B&rowse...
 runtimeTypeSelectLocation=Select the location of the runtime.
 runtimeTypeJRE=&JRE:
-runtimeTypeDefaultJRE=Workbench default JRE
 runtimeTypeInstalledJREs=In&stalled JREs...
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
index 74a11a9..01fab58 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
@@ -29,8 +29,7 @@
 import org.eclipse.jface.preference.PreferenceDialog;
 import org.eclipse.jface.preference.PreferenceManager;
 import org.eclipse.jface.window.Window;
-import org.eclipse.jst.server.core.internal.GenericRuntime;
-import org.eclipse.jst.server.core.internal.IGenericRuntimeWorkingCopy;
+import org.eclipse.jst.server.core.IGenericRuntimeWorkingCopy;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.ui.PlatformUI;
@@ -49,6 +48,7 @@
 	protected Combo combo;
 	protected List installedJREs;
 	protected String[] jreNames;
+	protected int defaultVMIndex;
 
 	/**
 	 * GenericRuntimeComposite constructor comment.
@@ -148,10 +148,7 @@
 		combo.addSelectionListener(new SelectionListener() {
 			public void widgetSelected(SelectionEvent e) {
 				int sel = combo.getSelectionIndex();
-				IVMInstall vmInstall = null;
-				if (sel > 0)
-					vmInstall = (IVMInstall) installedJREs.get(sel - 1);
-				
+				IVMInstall vmInstall = (IVMInstall) installedJREs.get(sel);
 				runtime.setVMInstall(vmInstall);
 				validate();
 			}
@@ -170,7 +167,7 @@
 					combo.setItems(jreNames);
 					combo.setText(currentVM);
 					if (combo.getSelectionIndex() == -1)
-						combo.select(0);
+						combo.select(defaultVMIndex);
 				}
 			}
 		});
@@ -198,12 +195,14 @@
 		
 		// get names
 		size = installedJREs.size();
-		jreNames = new String[size+1];
-		jreNames[0] = JavaServerUIPlugin.getResource("%runtimeTypeDefaultJRE");
+		jreNames = new String[size];
 		for (int i = 0; i < size; i++) {
 			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i+1] = vmInstall.getName();
+			jreNames[i] = vmInstall.getName();
 		}
+		
+		IVMInstall defaultVM = JavaRuntime.getDefaultVMInstall();
+		defaultVMIndex = installedJREs.indexOf(defaultVM);
 	}
 
 	protected boolean showPreferencePage() {
@@ -228,28 +227,24 @@
 			return;
 		
 		name.setText(runtimeWC.getName());
-		
+	
 		if (runtimeWC.getLocation() != null)
 			installDir.setText(runtimeWC.getLocation().toOSString());
 		else
 			installDir.setText("");
 		
 		// set selection
-		if (((GenericRuntime)runtime).isUsingDefaultJRE())
-			combo.select(0);
-		else {
-			boolean found = false;
-			int size = installedJREs.size();
-			for (int i = 0; i < size; i++) {
-				IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-				if (vmInstall.equals(runtime.getVMInstall())) {
-					combo.select(i + 1);
-					found = true;
-				}
+		boolean found = false;
+		int size = installedJREs.size();
+		for (int i = 0; i < size; i++) {
+			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
+			if (vmInstall.equals(runtime.getVMInstall())) {
+				combo.select(i);
+				found = true;
 			}
-			if (!found)
-				combo.select(0);
 		}
+		if (!found)
+			combo.select(defaultVMIndex);
 	}
 
 	protected void validate() {
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.classpath b/plugins/org.eclipse.wst.internet.monitor.core/.classpath
deleted file mode 100644
index 1d974a9..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="monitorcore/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore b/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
deleted file mode 100644
index 8ca260d..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-monitorcore.jar
-build.xml
-temp.folder
-org.eclipse.wst.internet.monitor.core_3.0.0.jar
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.options b/plugins/org.eclipse.wst.internet.monitor.core/.options
deleted file mode 100644
index 47070ee..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.options
+++ /dev/null
@@ -1,6 +0,0 @@
-# Debugging options for the org.eclipse.wst.internet.monitor.core plugin
-
-# Turn on general debugging
-org.eclipse.wst.internet.monitor.core/debug=true
-
-org.eclipse.wst.internet.monitor.core/parsing=false
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.project b/plugins/org.eclipse.wst.internet.monitor.core/.project
deleted file mode 100644
index 93b239c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.internet.monitor.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/build.properties b/plugins/org.eclipse.wst.internet.monitor.core/build.properties
deleted file mode 100644
index f729906..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               monitorcore.jar,\
-               plugin.properties,\
-               .options
-jars.compile.order = 
-src.includes = build.properties,\
-               schema/,\
-               component.xml
-output.monitorcore.jar = bin/
-source.monitorcore.jar = monitorcore/
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/ContentFilterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/ContentFilterDelegate.java
deleted file mode 100644
index f4e08e4..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/ContentFilterDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core;
-
-import java.io.IOException;
-/**
- * A content filter that filters contents from the monitor traffic on a request.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>contentFilters</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the delegate when required. 
- * </p>
- * <p>
- * [issue: The notion of content filters is a UI/presentation
- * concern, not something that is makes sense to have as core
- * functionality. The contentFilters extension point, IContentFilter,
- * and ContentFilterDelegate should all move to the o.e.wst.internet.monitor.ui
- * plug-in.]
- * [issue: CS - I'd echo the comment above that this seems like a UI concern.  
- * I noticed there's also a viewer on the UI side, so i'm not sure how these would interact. 
- * I assume that filters operate on the byte stream and aren't concerned with UI presentation...
- * but usually UI's and filters are tightly coupled.
- * </p>
- * 
- * @since 1.0
- */
-public abstract class ContentFilterDelegate {
-	/**
-	 * Filter the given content from the given request. The content that has been filtered out will 
-	 * not be shown to clients of the TCP/IP monitor.
-	 * 
-	 * @param request the request that the filter will be performed on
-	 * @param isRequest set to true if the content filter applies to request monitor traffic,
-	 *    or set to false if the content filter applies to the response monitor traffic
-	 * @param content the message content to be filtered out
-	 * @return the filtered content
-	 * @throws IOException if there is an error while parsing or filtering the content
-	 */
-	public abstract byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitor.java
deleted file mode 100644
index e46d882..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitor.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-/**
- * Represents a monitor between a client and server.
- * The monitor watches all network traffic between a local client (talking
- * on a given local port) and a remote server (identified by host and port).
- * The global list of known monitors is available via {@link MonitorCore#getMonitors()}.
- * IMonitor is thread-safe.
- * <p>
- * IMonitors are read-only. To make changes to a monitor, you must create an
- * IMonitorWorkingCopy by calling createWorkingCopy(). Changes to the working copy
- * are applied when the working copy is saved. Monitors and monitor working copies
- * have the following properties:
- *   * equals() returns true for a monitor and it's working copy
- * <p>
- * [issue: Why the built-in assumption that the client is local? A monitor
- * would make just as much sense sitting between a client on a remote machine
- * and a server.]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IMonitorWorkingCopy
- * @since 1.0
- */
-public interface IMonitor {
-	/**
-	 * Returns the id of this monitor.
-	 * Each monitor has a distinct, fixed id. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * 
-	 * @return the monitor id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the remote host name of the server being monitored.
-	 * 
-	 * @return the remote host name
-	 */
-	public String getRemoteHost();
-	
-	/**
-	 * Returns the remote port number of the server being monitored.
-	 *  
-	 * @return the remote port number
-	 */
-	public int getRemotePort();
-	
-	/**
-	 * Returns the local port number of the client being monitored. This
-	 * is the port that the client is talking to the remote server on.
-	 *  
-	 * @return the local port number
-	 */
-	public int getLocalPort();
-	
-	/**
-	 * Returns the protocol that this monitor uses to read network
-	 * traffic.
-	 * 
-	 * @return the protocol id
-	 */
-	public String getProtocol();
-
-	/**
-	 * Returns whether this monitor is currently running. Monitor working
-	 * copies will always return false (since they cannot be run).
-	 * 
-	 * @return <code>true</code> if the monitor is currently running, or
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isRunning();
-	
-	/**
-	 * Deletes this monitor. The monitor will no longer be available to clients.
-	 * If the monitor is currently running, it will be stopped first.
-	 * This method has no effect if the monitor has already been deleted or if
-	 * it is called on a working copy. Clients have no obligation to delete
-	 * working copies.
-	 */
-	public void delete();
-	
-	/**
-	 * Returns whether this monitor is a working copy. Monitors which return
-	 * <code>true</code> to this method can be safely cast to
-	 * {@link IMonitorWorkingCopy}.
-	 * 
-	 * @return <code>true</code> if this monitor is a working copy, and
-	 * <code>false</code> otherwise
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Returns a working copy for this monitor. If the receiver is not a
-	 * working copy, a new working copy will be created and initialized to have
-	 * the same attributes as this monitor. If the receiver is a working copy,
-	 * this method simply returns the receiver. After configuring attributes on
-	 * the working copy, calling {@link IMonitorWorkingCopy#save()} applies
-	 * the changes to the original monitor.
-	 * 
-	 * @return a working copy of this monitor
-	 */
-	public IMonitorWorkingCopy createWorkingCopy();
-	
-	/**
-	 * Starts the given monitor listening on its client port. This method is
-	 * synchronous and the monitor will be running and ready for use by the
-	 * time that the method returns. This method has no effect if the monitor
-	 * is already running.
-	 * <p>
-	 * A CoreException is thrown if the monitor is not valid, the local port
-	 * is in use, or if another problem occurs when starting the monitor. 
-	 * </p>
-	 * <p>
-	 * This method must not be called on a working copy or after the monitor
-	 * has been deleted.
-	 * </p>
-	 * 
-	 * @throws CoreException thrown if the monitor's properties are invalid,
-	 *   if it fails to start because the port is in use, or another problem occurs
-	 */
-	public void start() throws CoreException;
-
-	/**
-	 * Stops the given monitor and frees up all underlying operating 
-	 * system resources. This method is synchronous and the monitor will be
-	 * running and ready for use by the time that the method returns.
-	 * This method has no effect if the monitor was not already running.
-	 * <p>
-	 * After returning from this method, the monitor may be restarted at
-	 * any time. This method must not be called on a working copy or after
-	 * the monitor has been deleted.
-	 * </p>
-	 */
-	public void stop();
-
-	/**
-	 * Adds a request listener.
-	 * Once registered, a listener starts receiving notification of 
-	 * changes to the global list of requests. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * If a listener is added to a working copy, it will automatically be added
-	 * to the original monitor. If the monitor does not exist yet (when the working
-	 * copy was just created from MonitorCore.createMonitor()), the listener will
-	 * be added to the created monitor when (if) the working copy is saved. 
-	 * </p>
-	 *
-	 * @param listener the request listener
-	 * @see #removeRequestListener(IRequestListener)
-	 */
-	public void addRequestListener(IRequestListener listener);
-	
-	/**
-	 * Removes the given request listener. Has no effect if the listener is
-	 * not registered.
-	 * <p>
-	 * If a listener is removed from a working copy, it will automatically be
-	 * removed from the corresponding original monitor. Removing a monitor from
-	 * a newly created monitor has no effect unless the monitor had already been
-	 * added, in which case it is removed from notification and will not be added
-	 * to the created monitor when (if) the working copy is saved. 
-	 * </p>
-	 * 
-	 * @param listener the listener
-	 * @see #addRequestListener(IRequestListener)
-	 */
-	public void removeRequestListener(IRequestListener listener);
-	
-	/**
-	 * Validates this monitor. This method should return an error if the monitor
-	 * has invalid ports or remote hostname.
-	 * <p>
-	 * This method is not on the working copy so that the runtime can be validated
-	 * at any time.
-	 * </p>
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if this
-	 *   runtime is valid, otherwise a status object indicating what is
-	 *   wrong with it
-	 */
-	public IStatus validate();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitorListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitorListener.java
deleted file mode 100644
index 5ba3e5c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitorListener.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core;
-/**
- * Listener for global changes affecting monitors.
- * <p>
- * Clients should implement this interface and register
- * their listener via {@link MonitorCore#addMonitorListener(IMonitorListener)}.
- * </p>
- * 
- * @since 1.0
- */
-public interface IMonitorListener {
-	
-	/**
-	 * Notification that the given monitor has been created (added to the
-	 * global list of known monitors).
-	 * 
-	 * @param monitor the newly-created monitor
-	 */
-	public void monitorAdded(IMonitor monitor);
-
-	/**
-	 * Notification that the given monitor has been changed.
-     * Note that the monitor is never a working copy.
-	 * 
-	 * @param monitor the monitor that has been changed
-	 */
-	public void monitorChanged(IMonitor monitor);
-
-	/**
-	 * Notification that the given monitor has been deleted (removed
-	 * from the global list of known monitors).
-	 * 
-	 * @param monitor the monitor that has been deleted
-	 */
-	public void monitorRemoved(IMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitorWorkingCopy.java
deleted file mode 100644
index e81ae35..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IMonitorWorkingCopy.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core;
-
-import org.eclipse.core.runtime.CoreException;
-/**
- * Represents a working copy of a monitor. A working copy is a copy that the
- * attributes can be changed.
- * IMonitorWorkingCopy is thread-safe. However, working copies instances
- * should be short-lived to reduce the chance of multiple working copies
- * being created by different clients and one client overwritting changes
- * made to the other working copy. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IMonitor
- * @since 1.0
- * 
- * [issue : CS - it sounds like this is something useful for creating monitors. 
- * Shouldn't this be called a IMonitorConfiguration?  Is there an advantage to making
- * this actually seem to be a IMonitor?  Perhaps some UI convenience?  
- * Is a IMonitorWorkingCopy actually 'useable' for monitoring .. or is it really just a configuration? ]
- */
-public interface IMonitorWorkingCopy extends IMonitor {
-	/**
-	 * Returns the original monitor that this working copy corresponds to, or
-	 * <code>null</code> if this working copy was just created from
-	 * MonitorCore.createMonitor().
-	 * 
-	 * @return the original monitor, or <code>null</code> if this working copy
-	 *    was just created
-	 */
-	public IMonitor getOriginal();
-
-	/**
-	 * Sets the local port number of the client to be monitored.
-	 * 
-	 * @param port the local (client) port number
-	 * @see IMonitor#getLocalPort()
-	 */
-	public void setLocalPort(int port);
-
-	/**
-	 * Sets the remote host name of the server to be monitored.
-	 * 
-	 * @param host the new remote host name
-	 * @see IMonitor#getRemoteHost()
-	 */
-	public void setRemoteHost(String host);
-
-	/**
-	 * Sets the remote port number of the server to be monitored.
-	 * 
-	 * @param port the new remote port number
-	 * @see IMonitor#getRemotePort()
-	 */
-	public void setRemotePort(int port);
-
-	/**
-	 * Sets the protocol to be used to read network
-	 * traffic between the server and the client.
-	 * 
-	 * @param protocolId the protocol id
-	 * @see IMonitor#getProtocol()
-	 */
-	public void setProtocol(String protocolId);
-
-	/**
-	 * Saves the changes made to this working copy.
-	 * For a brand new working copy (created by
-	 * {@link MonitorCore#createMonitor()}, and not yet saved), this method
-	 * creates a new monitor instance with attributes matching this working copy.
-	 * For a working copy cloned from an existing monitor instance (by
-	 * {@link IMonitor#createWorkingCopy()}), this method stops the existing
-	 * monitor (using {@link IMonitor#stop()}) if necessary,
-	 * and then sets the attributes of the monitor instance to match this
-	 * working copy (the monitor instance is returned).
-	 * <p>
-	 * Saving a working copy for a monitor that was already deleted will cause
-	 * the monitor to get recreated (with any changes in the working copy).
-	 * </p>
-	 * <p>
-	 * This method throws a CoreException if there is a problem saving the
-	 * monitor. No validation checks occur when saving the monitor. This can be
-	 * done by calling IMonitor.validate() prior to saving.
-	 * </p>
-	 *
-	 * @return the affected monitor
-	 * @throws CoreException thrown if a problem occurs while saving the monitor 
-	 */
-	public IMonitor save() throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IRequestListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IRequestListener.java
deleted file mode 100644
index b02b8b8..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/IRequestListener.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core;
-/**
- * Listener for new or modified requests created from a single monitor.
- * Each request represents message traffic between a monitored client
- * and server.
- * <p>
- * Requests are not persisted - they only exist in this API until the
- * connection is done. An initial requestAdded() event is fired when the
- *	request is created (by the client creating a connection), and then
- * requestChanged() events occur as data is passed through the request
- * or changes are made to the request's properties.
- * </p>
- * 
- * @see IMonitor#addRequestListener(IRequestListener)
- * @since 1.0
- */
-public interface IRequestListener {
-	/**
-	 * Notification that the given request was created.
-	 * <p>
-	 * Requests may be created with little to no data in them.
-	 * As additional information is available, the
-	 * <code>requestChanged</code> method is called.
-	 * </p>
-	 * 
-	 * @param monitor the monitor from which the request was initiated
-	 * @param request the request that has been added
-	 */
-	public void requestAdded(IMonitor monitor, Request request);
-
-	/**
-	 * Notification that the given request has been changed.
-	 * This method is called when more data is available in the
-	 * request.
-	 * <p>
-	 * Individual values within the request are rarely modified.
-	 * This method may be called when they are initially set or
-	 * when more data is received from the client or server.
-	 * </p>
-	 * 
-	 * @param monitor the monitor from which the request was initiated
-	 * @param request the request that has been changed
-	 */
-	public void requestChanged(IMonitor monitor, Request request);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/MonitorCore.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/MonitorCore.java
deleted file mode 100644
index 6afc49a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/MonitorCore.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core;
-
-import java.util.List;
-
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-/**
- * Main class for creating new monitors and locating existing ones. The methods on
- * this class are thread safe.
- * <p>
- * This class provides all functionality through static members. It is not intended
- * to be instantiated or subclassed.
- * </p>
- * 
- * @since 1.0
- */
-public final class MonitorCore {
-	private static MonitorManager manager;
-	
-	/**
-	 * Cannot create MonitorCore - use static methods.
-	 */
-	private MonitorCore() {
-		// can't create
-	}
-	
-	/**
-	 * Returns a monitor manager instance.
-	 * 
-	 * @return the monitor manager
-	 */
-	private static MonitorManager getManager() {
-		if (manager == null)
-			manager = MonitorManager.getInstance();
-		return manager;
-	}
-
-	/**
-	 * Returns a list of all known monitor instances. The list will not contain any
-	 * working copies and is persisted between workbench sessions.
-	 * <p>
-	 * A new array is returned on each call; clients may safely store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of monitor instances
-	 */
-	public static IMonitor[] getMonitors() {
-		List list = getManager().getMonitors();
-		IMonitor[] m = new IMonitor[list.size()];
-		list.toArray(m);
-		return m;
-	}
-
-	/**
-	 * Creates a new monitor working copy. After configuring parameters on
-	 * the working copy, calling {@link IMonitorWorkingCopy#save()} brings
-	 * the monitor into existence.
-	 * <p>
-	 * Note that the client is responsible for calling {@link IMonitor#delete()}
-	 * to delete the monitor once it is no longer needed.
-	 * </p>
-	 * <p>
-	 * When monitors are created, the local and remote port values default to
-	 * <code>80</code>, but they do not have a protocol or remote host (values
-	 * are <code>null</code>).
-	 * </p> 
-	 * 
-	 * @return a monitor working copy
-	 */
-	public static IMonitorWorkingCopy createMonitor() {
-		return getManager().createMonitor();
-	}
-
-	/**
-	 * Adds a monitor listener.
-	 * Once registered, a listener starts receiving notification of 
-	 * changes to the monitors. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the monitor listener
-	 * @see #removeMonitorListener(IMonitorListener)
-	 */
-	public static void addMonitorListener(IMonitorListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		getManager().addMonitorListener(listener);
-	}
-
-	/**
-	 * Removes the given monitor listener. Has no
-	 * effect if the listener is not registered.
-	 * 
-	 * @param listener the listener
-	 * @see #addMonitorListener(IMonitorListener)
-	 */
-	public static void removeMonitorListener(IMonitorListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		getManager().removeMonitorListener(listener);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/Request.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/Request.java
deleted file mode 100644
index 22b1144..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/Request.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core;
-
-import java.util.Date;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-/**
- * Represents a TCP/IP request made between the client and the server.
- * Each request represents a request-response pair, where the request
- * is from client -> server, and the response is from server -> client.
- * <p>
- * Requests are created by a running monitor. They do not have a reference
- * back to the monitor because the monitor may have been deleted or modified
- * since the request was created.
- * </p>
- * <p>
- * This interface is intended to be extended only by clients
- * to extend the <code>protocolAdapters</code> extension point. 
- * </p>
- * 
- * @since 1.0
- */
-public class Request implements IAdaptable {
-	protected Monitor monitor;
-	protected Date date;
-	protected long responseTime = -1;
-	protected int localPort;
-	protected String remoteHost;
-	protected int remotePort;
-	protected byte[] request;
-	protected byte[] response;
-	
-	protected String name;
-	protected String protocolId;
-
-	protected Properties properties;
-	
-	/**
-	 * Request2 content type (value 1) for the transport (header) of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int TRANSPORT = 1;
-
-	/**
-	 * Request2 content type (value 2) for the content (body) of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int CONTENT = 2;
-
-	/**
-	 * Request2 content type (value 3) for the entire content of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int ALL = 3;
-
-	/**
-	 * Create a new Request.
-	 * 
-	 * @param monitor a monitor
-	 * @param protocolId the protocol id
-	 * @param localPort a local port number
-	 * @param remoteHost a remote hostname
-	 * @param remotePort a remote port number
-	 */
-	public Request(Monitor monitor, String protocolId, int localPort, String remoteHost, int remotePort) {
-		super();
-		this.monitor = monitor;
-		this.protocolId = protocolId;
-		this.localPort = localPort;
-		this.remoteHost = remoteHost;
-		this.remotePort = remotePort;
-		date = new Date();
-		properties = new Properties();
-		if (monitor != null)
-			monitor.addRequest(this);
-	}
-
-	/**
-	 * Returns the protocol responsible for creating this request.
-	 * 
-	 * @return the protocol id
-	 */
-	public String getProtocol() {
-		return protocolId;
-	}
-
-	/**
-	 * Returns the time this request was made.
-	 *
-	 * @return the timestamp
-	 */
-	public Date getDate() {
-		return date;
-	}
-
-	/**
-	 * Returns the local (client) port.
-	 *
-	 * @return the local port number
-	 */
-	public int getLocalPort() {
-		return localPort;
-	}
-
-	/**
-	 * Returns the remote (server) host.
-	 *
-	 * @return the remote host
-	 */
-	public String getRemoteHost() {
-		return remoteHost;
-	}
-
-	/**
-	 * Returns the remote (server) port.
-	 *
-	 * @return the remote port number
-	 */
-	public int getRemotePort() {
-		return remotePort;
-	}
-
-	/**
-	 * Returns the selected content of the request portion of this request.
-	 * <p>
-	 * [issue: I don't know how to explain this. For basic TCP/IP requests,
-	 * distinction between transport and content is ignored.
-	 * For HTTP requests, this TRANSPORT returns just the HTTP header and 
-	 * CONTENT returns just the HTTP body without the headers. What would
-	 * it mean for other protocols?
-	 * </p>
-	 *
-	 * @param type the content type: one of {@link #TRANSPORT},
-	 * {@link #CONTENT}, or {@link #ALL}
-	 * @return the content bytes
-	 */
-	public byte[] getRequest(int type) {
-		return request;
-	}
-
-	/**
-	 * Returns the selected content of the response portion of this request.
-	 * <p>
-	 * [issue: I don't know how to explain this. For basic TCP/IP requests,
-	 * distinction between transport and content is ignored.
-	 * For HTTP requests, this TRANSPORT returns just the HTTP header and 
-	 * CONTENT returns just the HTTP body without the headers. What would
-	 * it mean for other protocols?]
-	 * </p>
-	 *
-	 * @param type the content type: one of {@link #TRANSPORT},
-	 * {@link #CONTENT}, or {@link #ALL}
-	 * @return the content bytes
-	 */
-	public byte[] getResponse(int type) {
-		return response;
-	}
-
-	/**
-	 * Returns the server's response time in milliseconds. If the request
-	 * has not been completed yet, -1 is returned.
-	 *
-	 * @return the server's response time, or -1 if there has been no
-	 *    response yet
-	 */
-	public long getResponseTime() {
-		return responseTime;
-	}
-
-	/**
-	 * Returns a name for this request.
-	 *
-	 * @return the name
-	 */
-	public String getName() {
-		if (name == null)
-			return getRemoteHost() + ":" + getRemotePort();
-		
-		return name;
-	}
-	
-	/**
-	 * Sets the name of this request.
-	 *
-	 * @param n the name
-	 */
-	protected void setName(String n) {
-		name = n;
-	}
-
-	/**
-	 * Sets the given key-value property on this request. To remove a property,
-	 * set the value to null.
-	 * <p>
-	 * This method is typically called by protocol adapters to attach protocol-
-	 * specific fields to the request, but it may be called by any client.
-	 * </p>
-	 * 
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void setProperty(String key, Object value) {
-		try {
-			if (properties.containsKey(key))
-				properties.remove(key);
-			if (value != null)
-				properties.put(key, value);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not add property", e);
-		}
-	}
-
-	/**
-	 * Returns the value of the property with the given key from this request.
-	 * If the key does not exist, <code>null</code> is returned.
-	 * 
-	 * @param key the property key 
-	 * @return the property value
-	 */
-	public Object getProperty(String key) {
-		try {
-			return properties.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Add to the request.
-	 *
-	 * @param addRequest byte[]
-	 */
-	public void addToRequest(byte[] addRequest) {
-		if (addRequest == null || addRequest.length == 0)
-			return;
-	
-		if (request == null || request.length == 0) {
-			setRequest(addRequest);
-			return;
-		}
-	
-		int size = request.length + addRequest.length;
-		byte[] b = new byte[size];
-		System.arraycopy(request, 0, b, 0, request.length);
-		System.arraycopy(addRequest, 0, b, request.length, addRequest.length);
-		request = b;
-		fireChangedEvent();
-	}
-
-	/**
-	 * Add to the response.
-	 *
-	 * @param addResponse byte[]
-	 */
-	public void addToResponse(byte[] addResponse) {
-		if (addResponse == null || addResponse.length == 0)
-			return;
-	
-		if (response == null || response.length == 0) {
-			setResponse(addResponse);
-			return;
-		}
-	
-		int size = response.length + addResponse.length;
-		byte[] b = new byte[size];
-		System.arraycopy(response, 0, b, 0, response.length);
-		System.arraycopy(addResponse, 0, b, response.length, addResponse.length);
-		response = b;
-		fireChangedEvent();
-	}
-
-	/**
-	 * Set the request.
-	 *
-	 * @param request byte[]
-	 */
-	protected void setRequest(byte[] request) {
-		if (request == null || request.length == 0)
-			return;
-	
-		this.request = request;
-		monitor.requestChanged(this);
-	}
-
-	/**
-	 * Set the response.
-	 *
-	 * @param response byte[]
-	 */
-	protected void setResponse(byte[] response) {
-		if (response == null || response.length == 0)
-			return;
-	
-		this.response = response;
-		responseTime = System.currentTimeMillis() - date.getTime();
-		monitor.requestChanged(this);
-	}
-
-	/**
-	 * Returns the monitor that created this request.
-	 * Change events will be fired from this monitor.
-	 * <p>
-	 * Note that the monitor may have been editted since this
-	 * request was created, so you cannot rely on the monitor's
-	 * hostname or port values.
-	 * </p>
-	 * 
-	 * @return the monitor that created this request
-	 */
-	public IMonitor getMonitor() {
-		return monitor;
-	}
-
-	/**
-	 * Fire a change event to notify monitor listeners that the request has changed.
-	 */
-	protected void fireChangedEvent() {
-		if (monitor != null)
-			monitor.requestChanged(this);
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
deleted file mode 100644
index 30ce3d2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.InterruptedIOException;
-import java.net.*;
-
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-/**
- * The actual TCP/IP monitoring server. This is a thread that
- * listens on a port and relays a call to another server.
- */
-public class AcceptThread {
-	protected IMonitor monitor;
-
-	protected boolean alive = true;
-	protected ServerSocket serverSocket;
-	
-	protected Thread thread;
-	
-	class ServerThread extends Thread{
-		/**
-		 * ServerThread accepts incoming connections and delegates to the protocol
-		 * adapter to deal with the connection.
-		 */
-		public void run() {
-			// create a new server socket
-			try {
-				serverSocket = new ServerSocket(monitor.getLocalPort());
-				serverSocket.setSoTimeout(2000);
-				Trace.trace(Trace.FINEST, "Monitoring localhost:" + monitor.getLocalPort() + " -> " + monitor.getRemoteHost()
-						+ ":" + monitor.getRemotePort());
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not start monitoring");
-				return;
-			}
-
-			while (alive) {
-				try {
-					// accept the connection from the client
-					Socket localSocket = serverSocket.accept();
-					
-					// connect to the remote server
-					Socket remoteSocket = new Socket(monitor.getRemoteHost(), monitor.getRemotePort());
-
-					// relay the call through
-					String protocolId = monitor.getProtocol();
-					ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
-					adapter.connect(monitor, localSocket, remoteSocket);
-				} catch (InterruptedIOException e) {
-					// do nothing
-				} catch (Exception e) {
-					if (alive)
-						Trace.trace(Trace.SEVERE, "Error while monitoring", e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * AcceptThread constructor comment.
-	 */
-	public AcceptThread(IMonitor monitor) {
-		super();
-		this.monitor = monitor;
-	}
-	
-	public void startServer() {
-		if (thread != null)
-			return;
-		thread = new ServerThread();
-		thread.setDaemon(true);
-		thread.start();
-	}
-
-	public boolean isRunning() {
-		return (thread != null);
-	}
-
-	/**
-	 * Correctly close the server socket and shut down the server.
-	 */
-	public void stopServer() {
-		try {
-			alive = false;
-			thread = null;
-			
-			String protocolId = monitor.getProtocol();
-		   ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
-			adapter.disconnect(monitor);
-			serverSocket.close();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping server", e);
-		}
-	}
-	
-	/**
-	 * Returns true if this port is in use.
-	 *
-	 * @return boolean
-	 * @param port int
-	 */
-	public static boolean isPortInUse(int port) {
-		ServerSocket s = null;
-		try {
-			s = new ServerSocket(port);
-		} catch (SocketException e) {
-			return true;
-		} catch (Exception e) {
-			return true;
-		} finally {
-			if (s != null) {
-				try {
-					s.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
deleted file mode 100644
index 78653f5..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.net.Socket;
-/**
- * 
- */
-public class Connection {
-	protected Socket in;
-	protected Socket out;
-	
-	public Connection(Socket in, Socket out) {
-		this.in = in;
-		this.out = out;
-	}
-
-	public void close() {
-		Trace.trace(Trace.FINEST, "Closing connection");
-		try {
-			in.getOutputStream().flush();
-			in.shutdownInput();
-			in.shutdownOutput();
-			
-			out.getOutputStream().flush();
-			out.shutdownInput();
-			out.shutdownOutput();
-			Trace.trace(Trace.FINEST, "Connection closed");
-		} catch (Exception ex) {
-			Trace.trace(Trace.WARNING, "Error closing connection " + this + " " + ex.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
deleted file mode 100644
index 28e727e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.ContentFilterDelegate;
-import org.eclipse.wst.internet.monitor.core.Request;
-/**
- * 
- */
-public class ContentFilter implements IContentFilter {
-	protected IConfigurationElement element;
-	protected ContentFilterDelegate delegate;
-	
-	protected ContentFilter(IConfigurationElement element) {
-		this.element = element;
-	}
-
-	/**
-	 * Return the id.
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/*
-	 * Returns the relative order for this filter.
-	 */ 
-	public int getOrder() {
-		try {
-			return Integer.parseInt(element.getAttribute("order"));
-		} catch (Exception e) {
-			return 0;
-		}
-	}
-
-	/**
-	 * Returns the name.
-	 * 
-	 * @return the name
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	/**
-	 * Do the filtering.
-	 * 
-	 * @param request the request
-	 * @param isRequest true if request, false if response
-	 * @param content the content
-	 * @return the filtered content
-	 */
-	public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException {
-		if (delegate == null) {
-			try {
-				delegate = (ContentFilterDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create content filter delegate: " + getId(), e);
-				return new byte[0];
-			}
-		}
-		return delegate.filter(request, isRequest, content);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
deleted file mode 100644
index fd89588..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import org.eclipse.wst.internet.monitor.core.Request;
-/**
- * A content filter that filters specific contents from the monitor traffic
- * of a request. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @since 1.0
- */
-public interface IContentFilter {
-	/**
-	 * Returns the id of this filter.
-	 * Each filter has a distinct, fixed id. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * 
-	 * @return the element id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable (translated) name for this filter.
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-
-	/**
-	 * Returns the relative order of this filter.
-	 * Each filter has a relative order that allows them to be applied in the correct
-	 * order relative to each other. Lower orders are processed first.
-	 *
-	 * @return the relative order
-	 * 
-	 * [issue: CS - The schema (contentFilterns.exsd) defines an 'order' attribute.  
-	 * The comments above suggest that filters should be designed to be composable.  Is this correct?  
-	 * It would be good to make this optional if the user had no idea how his filter should be ordered.
-	 * I've found that sometimes 'low', 'medium', 'high' are adequate to handle ordering issues and are 
-	 * easier for the extension writer deal with and get a sense of the proper value to assign. ]
-	 */
-	//public int getOrder();
-
-	/**
-	 * Filter the given content from the given request. The content that has been filtered out will 
-	 * not be shown to clients of the TCP/IP monitor.
-	 * 
-	 * @param request the request that the filter will be performed on
-	 * @param isRequest set to true if the content filter applies to request monitor traffic,
-	 *    or set to false if the content filter applies to the response monitor traffic
-	 * @param content the message content to be filtered out
-	 * @return the filtered content
-	 * @throws IOException if there is an error while parsing or filtering the content
-	 */
-	public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java
deleted file mode 100644
index b6c1626..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-	
-	/**
-	 * Returns the floating point value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not a floating point number
-	 */
-	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
-
-	/**
-	 * Returns the integer value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not an integer
-	 */
-	public Integer getInteger(String key);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Returns the boolean value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not a boolean
-	 */
-	public Boolean getBoolean(String key);
-	
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
deleted file mode 100644
index 4403f1c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-/**
- * A protocol adapter enables a monitor to support a particular network
- * protocol used to communicate between a client and server. All supported
- * protocols will be based on TCP/IP.
- * <p>
- * Protocol adapters are registered via the <code>protocolAdapaters</code>
- * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
- * plug-in. The global list of known protocol adapters is available via
- * {@link MonitorPlugin#getProtocolAdapters()}. Standard protocol
- * adapters for {@linkplain #HTTP_PROTOCOL_ID HTTP} and
- * {@linkplain #TCPIP_PROTOCOL_ID TCP/IP} are built-in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @since 1.0
- */
-public interface IProtocolAdapter {
-	/**
-	 * Protocol adapter id (value {@value}) for TCP/IP.
-	 * The TCP/IP protocol adapter is standard.
-	 */
-	public static String TCPIP_PROTOCOL_ID = "TCP/IP";
-
-	/**
-	 * Protocol adapter id (value {@value}) for HTTP.
-	 * The HTTP protocol adapter is standard.
-	 */
-	public static String HTTP_PROTOCOL_ID = "HTTP";
-
-	/**
-	 * Returns the id of this adapter.
-	 * Each adapter has a distinct, fixed id. Ids are intended to be used
-	 * internally as keys; they are not intended to be shown to end users.
-	 * 
-	 * @return the element id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable (translated) name for this adapter.
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java
deleted file mode 100644
index 475b5e1..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-/**
- * An interface for the startup extension point.
- * Plug-ins that register a startup extension will be activated when the monitor
- * core plug-in initializes and have an opportunity to run code that can't be
- * implemented using the normal contribution mechanisms.
- * 
- * @since 1.0
- */
-public interface IStartup {
-	/**
-	 * Will be called on monitor core startup.
-	 */
-	public void startup();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
deleted file mode 100644
index e74788d..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.internet.monitor.core.*;
-/**
- * 
- */
-public class Monitor implements IMonitor {
-	private static final String MEMENTO_ID = "id";
-	private static final String MEMENTO_LOCAL_PORT = "local-port";
-	private static final String MEMENTO_REMOTE_HOST = "remote-host";
-	private static final String MEMENTO_REMOTE_PORT = "remote-port";
-	private static final String MEMENTO_TYPE_ID = "type-id";
-	
-	private static final int ADD = 0;
-	private static final int CHANGE = 1;
-
-	protected String id;
-	protected String remoteHost;
-	protected int remotePort = 80;
-	protected int localPort = 80;
-	protected String protocolId;
-	
-	protected List requestListeners = new ArrayList(2);
-
-	public Monitor() {
-		protocolId = MonitorPlugin.getInstance().getDefaultType();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitor#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitor#getRemoteHost()
-	 */
-	public String getRemoteHost() {
-		return remoteHost;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitor#getRemotePort()
-	 */
-	public int getRemotePort() {
-		return remotePort;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitor#getLocalPort()
-	 */
-	public int getLocalPort() {
-		return localPort;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitor#isHTTPEnabled()
-	 */
-	public String getProtocol() {
-		return protocolId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitor#isRunning()
-	 */
-	public boolean isRunning() {
-		if (isWorkingCopy())
-			return false;
-		return MonitorManager.getInstance().isRunning(this);
-	}
-	
-	public void delete() {
-		if (isWorkingCopy())
-			return;
-		MonitorManager.getInstance().removeMonitor(this);
-	}
-
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-	public IMonitorWorkingCopy createWorkingCopy() {
-		return new MonitorWorkingCopy(this);
-	}
-	
-	protected void setInternal(IMonitor monitor) {
-		id = monitor.getId();
-		remoteHost = monitor.getRemoteHost();
-		remotePort = monitor.getRemotePort();
-		localPort = monitor.getLocalPort();
-		protocolId = monitor.getProtocol();
-	}
-	
-	protected void save(IMemento memento) {
-		memento.putString(MEMENTO_ID, id);
-		memento.putString(MEMENTO_TYPE_ID, protocolId);
-		memento.putInteger(MEMENTO_LOCAL_PORT, localPort);
-		memento.putString(MEMENTO_REMOTE_HOST, remoteHost);
-		memento.putInteger(MEMENTO_REMOTE_PORT, remotePort);
-	}
-
-	protected void load(IMemento memento) {
-		id = memento.getString(MEMENTO_ID);
-		protocolId = memento.getString(MEMENTO_TYPE_ID);
-		Integer temp = memento.getInteger(MEMENTO_LOCAL_PORT);
-		if (temp != null)
-			localPort = temp.intValue();
-		remoteHost = memento.getString(MEMENTO_REMOTE_HOST);
-		temp = memento.getInteger(MEMENTO_REMOTE_PORT);
-		if (temp != null)
-			remotePort = temp.intValue();
-	}
-	
-	/*
-	 * Starts the given monitor listening on its client port.
-	 */
-	public synchronized void start() throws CoreException {
-		if (isRunning())
-			return;
-		if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
-			throw new IllegalArgumentException();
-		
-		IStatus status = validate();
-		if (!status.isOK())
-			throw new CoreException(status);
-		
-		MonitorManager.getInstance().startMonitor(this);
-	}
-	
-	/*
-	 * Stops the given monitor and frees up all underlying operating 
-	 * system resources.
-	 */
-	public synchronized void stop() {
-		if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
-			throw new IllegalArgumentException();
-		if (!isRunning())
-			return;
-		MonitorManager.getInstance().stopMonitor(this);
-	}
-	
-	/*
-	 * Adds a request listener.
-	 */
-	public synchronized void addRequestListener(IRequestListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		if (!requestListeners.contains(listener))
-			requestListeners.add(listener);
-	}
-	
-	/*
-	 * Removes the given request listener. Has no
-	 * effect if the listener is not registered.
-	 */
-	public synchronized void removeRequestListener(IRequestListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		requestListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a request event.
-	 * @param rr
-	 * @param type
-	 */
-	protected void fireRequestEvent(Request rr, int type) {
-		int size = requestListeners.size();
-		IRequestListener[] rl = new IRequestListener[size];
-		requestListeners.toArray(rl);
-
-		for (int i = 0; i < size; i++) {
-			IRequestListener listener = rl[i];
-			if (type == ADD)
-				listener.requestAdded(this, rr);
-			else if (type == CHANGE)
-				listener.requestChanged(this, rr);
-		}
-	}
-	
-	/**
-	 * Add a new request response pair.
-	 */
-	public void addRequest(Request rr) {
-		fireRequestEvent(rr, ADD);
-	}
-
-	public void requestChanged(Request rr) {
-		fireRequestEvent(rr, CHANGE);
-	}
-	
-	public IStatus validate() {
-		if (localPort < 0)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, MonitorPlugin.getResource("%errorInvalidLocalPort"), null);
-		
-		if (remotePort < 0)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, MonitorPlugin.getResource("%errorInvalidRemotePort"), null);
-		
-		if (remoteHost == null || remoteHost.length() == 0 || !isValidHostname(remoteHost))
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, MonitorPlugin.getResource("%errorInvalidRemoteHost"), null);
-		
-		if (isLocalhost(remoteHost) && localPort == remotePort)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, MonitorPlugin.getResource("%errorInvalidLocalPort"), null);
-	
-		return new Status(IStatus.OK, MonitorPlugin.PLUGIN_ID, 0, MonitorPlugin.getResource("%monitorValid"), null);
-	}
-
-	protected static boolean isValidHostname(String host) {
-		if (host == null || host.trim().length() < 1)
-			return false;
-		
-		int length = host.length();
-		for (int i = 0; i < length; i++) {
-			char c = host.charAt(i);
-			if (!Character.isLetterOrDigit(c) && c != ':' && c != '.')
-				return false;
-		}
-		if (host.endsWith(":"))
-			return false;
-		return true;
-	}
-
-	protected static boolean isLocalhost(String host) {
-		if (host == null)
-			return false;
-		try {
-			if ("localhost".equals(host) || "127.0.0.1".equals(host))
-				return true;
-			InetAddress localHostaddr = InetAddress.getLocalHost();
-			if (localHostaddr.getHostName().equals(host))
-				return true;
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error checking for localhost", e);
-		}
-		return false;
-	}
-	
-	public String toString() {
-		return "Monitor [" + getId() + ", " + getProtocol() + ", " + getLocalPort() + ", "
-			+ getRemoteHost() + ", " + getRemotePort() + "]";
-	}
-	
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Monitor))
-			return false;
-		
-		IMonitor m = (IMonitor) obj;
-		if (m.isWorkingCopy()) {
-			m = ((IMonitorWorkingCopy) m).getOriginal();
-			if (m == null)
-				return false;
-		}
-		if (id == null && m.getId() != null)
-			return false;
-		if (id != null && !id.equals(m.getId()))
-			return false;
-		
-		if (localPort != m.getLocalPort())
-			return false;
-		if (remotePort != m.getRemotePort())
-			return false;
-		
-		if (remoteHost == null && m.getRemoteHost() != null)
-			return false;
-		if (remoteHost != null && !remoteHost.equals(m.getRemoteHost()))
-			return false;
-		
-		if (protocolId == null && m.getProtocol() != null)
-			return false;
-		if (protocolId != null && !protocolId.equals(m.getProtocol()))
-			return false;
-		
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
deleted file mode 100644
index 0fe190d..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.util.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.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.internet.monitor.core.*;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-/**
- * 
- */
-public class MonitorManager {
-	private static final int ADD = 0;
-	private static final int CHANGE = 1;
-	private static final int REMOVE = 2;
-
-	// monitors
-	protected List monitors;
-	protected Map threads = new HashMap();
-	
-	protected List monitorListeners = new ArrayList();
-
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-	
-	protected Map resendMap = new HashMap();
-	
-	protected static MonitorManager instance;
-	
-	static {
-		MonitorPlugin.getInstance().executeStartups();
-	}
-	
-	public static MonitorManager getInstance() {
-		if (instance == null)
-			instance = new MonitorManager();
-	
-		return instance;
-	}
-	
-	private MonitorManager() {
-		loadMonitors();
-		
-		pcl = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				if (ignorePreferenceChanges)
-					return;
-				String property = event.getProperty();
-				if (property.equals("monitors")) {
-					loadMonitors();
-				}
-			}
-		};
-		
-		MonitorPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
-	}
-	
-	protected void dispose() {
-		MonitorPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl);
-	}
-	
-	public IMonitorWorkingCopy createMonitor() {
-		return new MonitorWorkingCopy();
-	}
-	
-	public List getMonitors() {
-		return new ArrayList(monitors);
-	}
-
-	protected synchronized void addMonitor(IMonitor monitor) {
-		if (!monitors.contains(monitor))
-			monitors.add(monitor);
-		fireMonitorEvent(monitor, ADD);
-		saveMonitors();
-	}
-	
-	protected boolean isRunning(IMonitor monitor) {
-		return (threads.get(monitor) != null);
-	}
-
-	public void startMonitor(IMonitor monitor) throws CoreException {
-		if (!monitors.contains(monitor))
-			return;
-		
-		if (AcceptThread.isPortInUse(monitor.getLocalPort()))
-			throw new CoreException(new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, MonitorPlugin.getResource("%errorPortInUse", monitor.getLocalPort() + ""), null));
-		
-		AcceptThread thread = new AcceptThread(monitor);
-		thread.startServer();
-		threads.put(monitor, thread);
-	}
-	
-	public void stopMonitor(IMonitor monitor) {
-		if (!monitors.contains(monitor))
-			return;
-		
-		AcceptThread thread = (AcceptThread) threads.get(monitor);
-		if (thread != null) {
-			thread.stopServer();
-			threads.remove(monitor);
-		}
-	}
-	
-	protected synchronized void removeMonitor(IMonitor monitor) {
-		if (monitor.isRunning())
-			stopMonitor(monitor);
-		monitors.remove(monitor);
-		fireMonitorEvent(monitor, REMOVE);
-		saveMonitors();
-	}
-	
-	protected synchronized void monitorChanged(IMonitor monitor) {
-		fireMonitorEvent(monitor, CHANGE);
-		saveMonitors();
-	}
-	
-	protected boolean exists(IMonitor monitor) {
-		return (monitors.contains(monitor));
-	}
-	
-	/**
-	 * Add monitor listener.
-	 * 
-	 * @param listener
-	 */
-	public synchronized void addMonitorListener(IMonitorListener listener) {
-		if (!monitorListeners.contains(listener))
-			monitorListeners.add(listener);
-	}
-
-	/**
-	 * Remove monitor listener.
-	 * 
-	 * @param listener
-	 */
-	public synchronized void removeMonitorListener(IMonitorListener listener) {
-		if (monitorListeners.contains(listener))
-			monitorListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a monitor event.
-	 * 
-	 * @param monitor the monitor
-	 * @param type the type of event
-	 */
-	protected void fireMonitorEvent(IMonitor monitor, int type) {
-		Object[] obj = monitorListeners.toArray();
-		
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			IMonitorListener listener = (IMonitorListener) obj[i];
-			if (type == ADD)
-				listener.monitorAdded(monitor);
-			else if (type == CHANGE)
-				listener.monitorChanged(monitor);
-			else if (type == REMOVE)
-				listener.monitorRemoved(monitor);
-		}
-	}
-
-	protected synchronized void loadMonitors() {
-		Trace.trace(Trace.FINEST, "Loading monitors");
-		
-		monitors = new ArrayList();
-		Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("monitors");
-		if (xmlString != null && xmlString.length() > 0) {
-			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
-				IMemento memento = XMLMemento.loadMemento(in);
-		
-				IMemento[] children = memento.getChildren("monitor");
-				if (children != null) {
-					int size = children.length;
-					for (int i = 0; i < size; i++) {
-						Monitor monitor = new Monitor();
-						monitor.load(children[i]);
-						monitors.add(monitor);
-					}
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load monitors: " + e.getMessage());
-			}
-		}
-	}
-	
-	protected synchronized void saveMonitors() {
-		try {
-			ignorePreferenceChanges = true;
-			XMLMemento memento = XMLMemento.createWriteRoot("monitors");
-
-			Iterator iterator = monitors.iterator();
-			while (iterator.hasNext()) {
-				Monitor monitor = (Monitor) iterator.next();
-				IMemento child = memento.createChild("monitor");
-				monitor.save(child);
-			}
-			
-			String xmlString = memento.saveToString();
-			Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
-			prefs.setValue("monitors", xmlString);
-			MonitorPlugin.getInstance().savePluginPreferences();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save browsers", e);
-		}
-		ignorePreferenceChanges = false;
-	}
-	
-	/**
-	 * Creates a new resend request from the given request.
-	 * 
-	 * @param request the request that is to be resent; may not be <code>null</code>
-	 * @return a new resend request
-	 */
-	public static ResendHTTPRequest createResendRequest(Request request) {
-		if (request == null)
-			throw new IllegalArgumentException();
-		return new ResendHTTPRequest((Monitor)request.getMonitor(), request);
-	}
-
-	/**
-	 * Adds a resend request to this request.
-	 * 
-	 * @param request the resend request to add
-	 */
-	public void addResendRequest(Request request, ResendHTTPRequest resendReq) {
-		if (request == null || resendReq == null)
-			return;
-		
-		List list = null;
-		try {
-			list = (List) resendMap.get(request);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		if (list == null) {
-			list = new ArrayList();
-			resendMap.put(request, list);
-		}
-		list.add(resendReq);
-	}
-
-	/**
-	 * Returns an array of resend requests based on this request. 
-	 * 
-	 * @return the array of resend requests based on this request
-	 */
-	public ResendHTTPRequest[] getResendRequests(Request request) {
-		try {
-			List list = (List) resendMap.get(request);
-			ResendHTTPRequest[] rr = new ResendHTTPRequest[list.size()];
-			list.toArray(rr);
-			return rr;
-		} catch (Exception e) {
-			return new ResendHTTPRequest[0];
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
deleted file mode 100644
index c895de0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-/**
- * The monitor core plugin.
- */
-public class MonitorPlugin extends Plugin {
-	public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.core";
-
-	private static MonitorPlugin singleton;
-	
-	protected Map protocolAdapters;
-	protected Map contentFilters;
-	protected boolean startupsLoaded;
-
-	/**
-	 * MonitorPlugin constructor comment.
-	 */
-	public MonitorPlugin() {
-		super();
-		singleton = this;
-		loadProtocolAdapters();
-		loadContentFilters();
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.internet.monitor.core.MonitorPlugin
-	 */
-	public static MonitorPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns the 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 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 the key
-	 * @param arg an argument
-	 * @return the translated string
-	 */
-	public static String getResource(String key, String arg) {
-		return getResource(key, new String[] { arg });
-	}
-	
-	public String getDefaultType() {
-		return "HTTP";
-	}
-
-	/**
-	 * Returns the protocol adapter with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * protocol adapters ({@link #getProtocolAdapters()}) for the one with a
-	 * matching id.
-	 *
-	 * @param id the protocol adapter id; must not be <code>null</code>
-	 * @return the protocol adapter instance, or <code>null</code> if there
-	 *   is no protocol adapter with the given id
-	 */
-	public ProtocolAdapter getProtocolAdapter(String id) {
-		return (ProtocolAdapter) protocolAdapters.get(id);
-	}
-
-	/**
-	 * Returns a list of all known protocol adapter instances.
-	 * <p>
-	 * Protocol adapters are registered via the <code>protocolAdapaters</code>
-	 * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
-	 * plug-in.
-	 * </p>
-	 * <p>
-	 * A new array is returned on each call; clients may safely store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of protocol adapter instances
-	 */
-	public ProtocolAdapter[] getProtocolAdapters() {
-		List list = new ArrayList();
-		Iterator iterator = protocolAdapters.values().iterator();
-		while (iterator.hasNext()) {
-			list.add(iterator.next());
-		}
-		ProtocolAdapter[] types = new ProtocolAdapter[list.size()];
-		list.toArray(types);
-		return types;
-	}
-
-	public IContentFilter[] getContentFilters() {
-		List list = new ArrayList();
-		Iterator iterator = contentFilters.values().iterator();
-		while (iterator.hasNext()) {
-			list.add(iterator.next());
-		}
-		IContentFilter[] cf = new IContentFilter[list.size()];
-		list.toArray(cf);
-		return cf;
-	}
-	
-	public IContentFilter findContentFilter(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		return (IContentFilter) contentFilters.get(id);
-	}
-
-	protected synchronized void loadProtocolAdapters() {
-		if (protocolAdapters != null)
-			return;
-		Trace.trace(Trace.CONFIG, "Loading protocol adapters"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalProtocolAdapters");
-
-		int size = cf.length;
-		protocolAdapters = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading adapter: " + id);
-			protocolAdapters.put(id, new ProtocolAdapter(cf[i]));
-		}
-	}
-	
-	protected synchronized void loadContentFilters() {
-		if (contentFilters != null)
-			return;
-		Trace.trace(Trace.CONFIG, "Loading content filters"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "contentFilters");
-
-		int size = cf.length;
-		contentFilters = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading filter: " + id);
-			contentFilters.put(id, new ContentFilter(cf[i]));
-		}
-	}
-	
-	protected synchronized void executeStartups() {
-		if (startupsLoaded)
-			return;
-		
-		Trace.trace(Trace.CONFIG, "Loading startups"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalStartup");
-
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading startup: " + id);
-			try {
-				IStartup startup = (IStartup) cf[i].createExecutableExtension("class");
-				try {
-					startup.startup();
-				} catch (Exception ex) {
-					Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create startup: " + id, e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
deleted file mode 100644
index 20b6b4b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import org.eclipse.wst.internet.monitor.core.*;
-/**
- * 
- */
-public class MonitorWorkingCopy extends Monitor implements IMonitorWorkingCopy {
-	protected Monitor monitor;
-	
-	// creation
-	public MonitorWorkingCopy() {
-		// do nothing
-	}
-
-	// working copy
-	public MonitorWorkingCopy(Monitor monitor) {
-		this.monitor = monitor;
-		setInternal(monitor);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitorWorkingCopy#getOriginal()
-	 */
-	public IMonitor getOriginal() {
-		return monitor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitorWorkingCopy#setRemoteHost(java.lang.String)
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitorWorkingCopy#setRemoteHost(java.lang.String)
-	 */
-	public void setRemoteHost(String host) {
-		remoteHost = host;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitorWorkingCopy#setRemotePort(int)
-	 */
-	public void setRemotePort(int port) {
-		remotePort = port;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitorWorkingCopy#setLocalPort(int)
-	 */
-	public void setLocalPort(int port) {
-		localPort = port;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.IMonitorWorkingCopy#setProtocolAdapter(IProtocolAdapter)
-	 */
-	public void setProtocol(String protocolId2) {
-		protocolId = protocolId2;
-	}
-	
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	public IMonitorWorkingCopy createWorkingCopy() {
-		return this;
-	}
-
-	public synchronized IMonitor save() {
-		MonitorManager mm = MonitorManager.getInstance();
-		if (monitor != null) {
-			//boolean restart = false;
-			if (monitor.isRunning()) {
-				//restart = true;
-				mm.stopMonitor(monitor);
-			}
-			monitor.setInternal(this);
-			mm.monitorChanged(monitor);
-			//if (restart)
-			//	mm.startMonitor(monitor);
-		} else {
-			monitor = new Monitor();
-			monitor.setInternal(this);
-			mm.addMonitor(monitor);
-		}
-		return monitor;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
deleted file mode 100644
index 9941503..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-/**
- * 
- */
-public class ProtocolAdapter implements IProtocolAdapter {
-	protected IConfigurationElement element;
-	protected ProtocolAdapterDelegate delegate;
-	
-	protected ProtocolAdapter(IConfigurationElement element) {
-		this.element = element;
-	}
-
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	public String getName() {
-		return element.getAttribute("name");
-	}
-	
-	protected ProtocolAdapterDelegate getDelegate() {
-		if (delegate != null)
-			return delegate;
-		
-		try {
-			delegate = (ProtocolAdapterDelegate) element.createExecutableExtension("class");
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not create protocol adapter delegate: " + getId(), e);
-		}
-		return delegate;
-	}
-	
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		getDelegate().connect(monitor, in, out);
-	}
-	
-	public void disconnect(IMonitor monitor) throws IOException {
-		getDelegate().disconnect(monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
deleted file mode 100644
index db48eb1..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-/**
- * Abstract base class for protocol adapter delegates, which provide the
- * implementation behind a particular protocol adapter.
- * A protocol adapter watches the message traffic passing between client and
- * server; it parses the messages and reports them in the form of 
- * Request objects.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>protocolAdapters</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the delegate when required. 
- * </p>
- * <p>
- * There is only one delegate created per protocol, and this delegate must
- * be able to handle multiple monitor instances. This means that the delegate
- * typically will not have instance state, or must synchronize and keep the
- * state separate.
- * </p>
- * <p>
- * [issue: The HTTP and TCP/IP delegate implementations create threads which
- * shuffle info between sockets. If the monitor is changed or deleted, how do
- * these threads go away? Methinks that delegates in general should be forced
- * to implement disconnect(IMonitor) as well. This method would be called by the
- * system when the monitor is changed or deleted, or when the plug-in is
- * being shut down.]
- * </p>
- * 
- * @since 1.0
- */
-public abstract class ProtocolAdapterDelegate {
-	/**
-	 * Establishes an ongoing connection between client and server being
-	 * monitored by the given monitor. The <code>in</code> socket is associated
-	 * with the monitor's client. The <code>out</code> socket is associated with
-	 * the monitor's server. Different adapaters handle different network
-	 * protocols.
-	 * <p>
-	 * Subclasses must implement this method to achieve the following:
-	 * <ul>
-	 * <li>Client to server communication -
-	 * Opening an input stream on the <code>in</code> socket, opening an output
-	 * stream on the <code>out</code> socket, and establishing a mechanism that
-	 * will pass along all bytes received on the input stream to the output
-	 * stream.</li>
-	 * <li>Server to client communication - Opening an input stream on the
-	 * <code>out</code> socket, opening an output stream on the <code>in</code>
-	 * socket, and establishing a mechanism that will pass along all bytes
-	 * received on the input stream to the output stream.</li>
-	 * <li>Parsing the protocol-specific message traffic to create and report
-	 * request objects for each message passed between client and server.</li>
-	 * <li>Closing the input and output sockets and otherwise cleaning up
-	 * afterwards.</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param monitor the monitor that uses this protocol adapter
-	 * @param in the input socket of the monitor client
-	 * @param out the output socket of the monitor server
-	 * @throws IOException if an exception occur when opening the streams of the
-	 *    input or output sockets
-	 */
-	public abstract void connect(IMonitor monitor, Socket in, Socket out) throws IOException;
-	
-	/**
-	 * Called if the monitor is changed or deleted, or the plugin is shutting down.
-	 * The delegate must clean up the connections and threads created to respond to
-	 * this monitor. 
-	 * 
-	 * @param monitor
-	 * @throws IOException
-	 */
-	public abstract void disconnect(IMonitor monitor) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
deleted file mode 100644
index e096185..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.SocketAddress;
-import java.net.SocketException;
-import java.nio.channels.SocketChannel;
-/**
- * A socket that is only used for resending requests. All input operations are
- * ignored.
- */
-public class SocketWrapper extends Socket {
-	private InputStream inputStream;
-	private OutputStream outputStream;
-	
-	public SocketWrapper(InputStream inputStream) {
-	  this.inputStream = inputStream;
-	  this.outputStream = new DummyOutputStream();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#bind(java.net.SocketAddress)
-	 */
-	public void bind(SocketAddress arg0) throws IOException {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#close()
-	 */
-	public synchronized void close() throws IOException {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#connect(java.net.SocketAddress, int)
-	 */
-	public void connect(SocketAddress arg0, int arg1) throws IOException {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#connect(java.net.SocketAddress)
-	 */
-	public void connect(SocketAddress arg0) throws IOException {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getChannel()
-	 */
-	public SocketChannel getChannel() {
-		return super.getChannel();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getInetAddress()
-	 */
-	public InetAddress getInetAddress() {
-		return super.getInetAddress();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getInputStream()
-	 */
-	public InputStream getInputStream() throws IOException {
-		return inputStream;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getKeepAlive()
-	 */
-	public boolean getKeepAlive() throws SocketException {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getLocalAddress()
-	 */
-	public InetAddress getLocalAddress() {
-		return super.getLocalAddress();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getLocalPort()
-	 */
-	public int getLocalPort() {
-		return super.getLocalPort();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getLocalSocketAddress()
-	 */
-	public SocketAddress getLocalSocketAddress() {
-		return super.getLocalSocketAddress();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getOOBInline()
-	 */
-	public boolean getOOBInline() throws SocketException {
-		return super.getOOBInline();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getOutputStream()
-	 */
-	public OutputStream getOutputStream() throws IOException {
-		return outputStream;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getPort()
-	 */
-	public int getPort() {
-		return super.getPort();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getReceiveBufferSize()
-	 */
-	public synchronized int getReceiveBufferSize() throws SocketException {
-		return super.getReceiveBufferSize();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getRemoteSocketAddress()
-	 */
-	public SocketAddress getRemoteSocketAddress() {
-		return super.getRemoteSocketAddress();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getReuseAddress()
-	 */
-	public boolean getReuseAddress() throws SocketException {
-		return super.getReuseAddress();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getSendBufferSize()
-	 */
-	public synchronized int getSendBufferSize() throws SocketException {
-		return super.getSendBufferSize();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getSoLinger()
-	 */
-	public int getSoLinger() throws SocketException {
-		return super.getSoLinger();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getSoTimeout()
-	 */
-	public synchronized int getSoTimeout() throws SocketException {
-		return super.getSoTimeout();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getTcpNoDelay()
-	 */
-	public boolean getTcpNoDelay() throws SocketException {
-		return super.getTcpNoDelay();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#getTrafficClass()
-	 */
-	public int getTrafficClass() throws SocketException {
-		return super.getTrafficClass();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#isBound()
-	 */
-	public boolean isBound() {
-		return super.isBound();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#isClosed()
-	 */
-	public boolean isClosed() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#isConnected()
-	 */
-	public boolean isConnected() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#isInputShutdown()
-	 */
-	public boolean isInputShutdown() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#isOutputShutdown()
-	 */
-	public boolean isOutputShutdown() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#sendUrgentData(int)
-	 */
-	public void sendUrgentData(int arg0) throws IOException {
-		super.sendUrgentData(arg0);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setKeepAlive(boolean)
-	 */
-	public void setKeepAlive(boolean arg0) throws SocketException {
-		super.setKeepAlive(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setOOBInline(boolean)
-	 */
-	public void setOOBInline(boolean arg0) throws SocketException {
-		super.setOOBInline(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setReceiveBufferSize(int)
-	 */
-	public synchronized void setReceiveBufferSize(int arg0) throws SocketException {
-		super.setReceiveBufferSize(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setReuseAddress(boolean)
-	 */
-	public void setReuseAddress(boolean arg0) throws SocketException {
-		super.setReuseAddress(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setSendBufferSize(int)
-	 */
-	public synchronized void setSendBufferSize(int arg0) throws SocketException {
-		super.setSendBufferSize(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setSoLinger(boolean, int)
-	 */
-	public void setSoLinger(boolean arg0, int arg1) throws SocketException {
-		super.setSoLinger(arg0, arg1);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setSoTimeout(int)
-	 */
-	public synchronized void setSoTimeout(int arg0) throws SocketException {
-		super.setSoTimeout(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setTcpNoDelay(boolean)
-	 */
-	public void setTcpNoDelay(boolean arg0) throws SocketException {
-		super.setTcpNoDelay(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#setTrafficClass(int)
-	 */
-	public void setTrafficClass(int arg0) throws SocketException {
-		super.setTrafficClass(arg0);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#shutdownInput()
-	 */
-	public void shutdownInput() throws IOException {
-		inputStream.close();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.net.Socket#shutdownOutput()
-	 */
-	public void shutdownOutput() throws IOException {
-		// do nothing
-	}
-
-	/**
-	 * A dummy OutputStream that allows us to fake output for a socket.
-	 */
-	public class DummyOutputStream extends OutputStream {
-		/* (non-Javadoc)
-		 * @see java.io.OutputStream#close()
-		 */
-		public void close() throws IOException {
-			// do nothing
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.io.OutputStream#flush()
-		 */
-		public void flush() throws IOException {
-			// do nothing
-		}
-	
-		/* (non-Javadoc)
-		 * @see java.io.OutputStream#write(byte[], int, int)
-		 */
-		public void write(byte[] arg0, int arg1, int arg2) throws IOException {
-			// do nothing
-		}
-	
-		/* (non-Javadoc)
-		 * @see java.io.OutputStream#write(byte[])
-		 */
-		public void write(byte[] arg0) throws IOException {
-			// do nothing
-		}
-
-		/* (non-Javadoc)
-		 * @see java.io.OutputStream#write(int)
-		 */
-		public void write(int arg0) throws IOException {
-			// do nothing
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
deleted file mode 100644
index 2e52df2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-import org.eclipse.wst.internet.monitor.core.Request;
-/**
- * 
- */
-public class TCPIPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map map = new HashMap();
-	
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		Request request = new Request((Monitor) monitor, IProtocolAdapter.TCPIP_PROTOCOL_ID, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
-		Connection conn = new Connection(in, out);
-		map.put(monitor, conn);
-		TCPIPThread requestThread = new TCPIPThread(conn, request, in.getInputStream(), out.getOutputStream(), true);
-		requestThread.start();
-		new TCPIPThread(conn, request, out.getInputStream(), in.getOutputStream(), false).start();
-	}
-
-	public void disconnect(IMonitor monitor) throws IOException {
-		try {
-			Connection conn = (Connection) map.get(monitor);
-			conn.close();
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java
deleted file mode 100644
index 84e35e2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.*;
-import org.eclipse.wst.internet.monitor.core.Request;
-/**
- * Monitor server I/O thread.
- */
-public class TCPIPThread extends Thread {
-	private static final int BUFFER = 2048;
-	protected InputStream in;
-	protected OutputStream out;
-	protected boolean isRequest;
-	
-	protected Connection conn;
-	protected Request request;
-
-	/**
-	 * MonitorThread constructor comment.
-	 */
-	public TCPIPThread(Connection conn, Request request, InputStream in, OutputStream out, boolean isRequest) {
-		super();
-		this.conn = conn;
-		this.request = request;
-		this.in = in;
-		this.out = out;
-		this.isRequest = isRequest;
-		setPriority(Thread.NORM_PRIORITY + 1);
-		setDaemon(true);
-	}
-
-	/**
-	 * Listen for input, save it, and pass to the output stream.
-	 */
-	public void run() {
-		try {
-			byte[] b = new byte[BUFFER];
-			int n = in.read(b);
-			while (n > 0) {
-				out.write(b, 0, n);
-				if (b != null && n > 0) {
-					byte[] x = null;
-					if (n == BUFFER)
-						x = b;
-					else {
-						x = new byte[n];
-						System.arraycopy(b, 0, x, 0, n);
-					}
-					if (isRequest)
-						request.addToRequest(x);
-					else
-						request.addToResponse(x);
-				}
-				n = in.read(b);
-				Thread.yield();
-			}
-			out.flush();
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			//request.fireChangedEvent();
-			if (!isRequest)
-				conn.close();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
deleted file mode 100644
index 60f6cc3..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.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;
-	
-	public static byte PARSING = 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(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 (!MonitorPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(System.currentTimeMillis() + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
deleted file mode 100644
index 5f6c615..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.*;
-import java.util.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-/**
- * A Memento is a class independent container for persistence
- * info.  It is a reflection of 3 storage requirements.
- *
- * 1)   We need the ability to persist an object and restore it.  
- * 2)   The class for an object may be absent.  If so we would 
- *      like to skip the object and keep reading. 
- * 3)   The class for an object may change.  If so the new class 
- *      should be able to read the old persistence info.
- *
- * We could ask the objects to serialize themselves into an 
- * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
- * all of these approaches fail to meet the second requirement.
- *
- * Memento supports binary persistance with a version ID.
- */
-public final class XMLMemento implements IMemento {
-	private Document factory;
-	private Element element;
-
-	/**
-	 * Answer a memento for the document and element.  For simplicity
-	 * you should use createReadRoot and createWriteRoot to create the initial
-	 * mementos on a document.
-	 */
-	private XMLMemento(Document doc, Element el) {
-		factory = doc;
-		element = el;
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	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(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (ParserConfigurationException e) {
-			// ignore
-		} catch (IOException e) {
-			// ignore
-		} catch (SAXException e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 */
-	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;
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return the input stream
-	 */
-	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 the input stream
-	 * @return a memento
-	 * @exception java.io.IOException
-	 */
-	public static IMemento loadMemento(InputStream in) {
-		return createReadRoot(in);
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	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 an output stream.
-	 */
-	public void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-			transformer.transform(source, result);            
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	public String saveToString() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toString("UTF-8");
-	}
-
-	/*
-	 * @see IMemento#getBoolean(String)
-	 */
-	public Boolean getBoolean(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		if ("true".equalsIgnoreCase(strValue))
-			return new Boolean(true);
-		
-		return new Boolean(false);
-	}
-
-	/*
-	 * @see IMemento#putBoolean(String, boolean)
-	 */
-	public void putBoolean(String key, boolean value) {
-		element.setAttribute(key, value ? "true" : "false");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
deleted file mode 100644
index ca7231b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-
-import java.util.List;
-import java.util.ArrayList;
-/**
- * Manages a monitor server connection between two hosts. This
- * connection may spawn one or more TCP/IP requests to be displayed
- * in the monitor server view.
- */
-public class HTTPConnection {
-	protected IMonitor monitor;
-
-	protected int req = -1;
-	protected int resp = -1;
-
-	protected List requests = new ArrayList();
-
-	/**
-	 * MonitorHTTPConnection constructor comment.
-	 */
-	public HTTPConnection(IMonitor monitor) {
-		super();
-		this.monitor = monitor;
-		Trace.trace(Trace.PARSING, "TCP/IP monitor connection opened " + monitor);
-	}
-
-	/**
-	 * Add a request.
-	 * 
-	 * @param b the request data
-	 * @param isNew true if new
-	 */
-	public void addRequest(byte[] b, boolean isNew) {
-		if (isNew)
-			req ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(req);
-		request.addToRequest(b);
-	}
-
-	/**
-	 * Add a response.
-	 * 
-	 * @param b the response data
-	 * @param isNew true if new
-	 */
-	public void addResponse(byte[] b, boolean isNew) {
-		if (isNew)
-			resp ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(resp);
-		request.addToResponse(b);
-	}
-
-	/**
-	 * 
-	 */
-	public void addProperty(String key, Object value) {
-		Request request = getRequestResponse(req);
-		request.setProperty(key, value);
-	}
-
-	/**
-	 * 
-	 */
-	public Request getRequestResponse(boolean isRequest) {
-		if (isRequest)
-			return getRequestResponse(req);
-		
-		return getRequestResponse(resp);
-	}
-
-	/**
-	 * 
-	 */
-	protected Request getRequestResponse(int i) {
-		synchronized (this) {
-			while (i >= requests.size()) {
-				Request request = new HTTPRequest((Monitor) monitor, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
-				requests.add(request);
-				return request;
-			}
-			return (Request) requests.get(i);
-		}
-	}
-
-	/**
-	 * Set the title.
-	 * 
-	 * @param title the title
-	 * @param isNew boolean
-	 */
-	public void setLabel(String title, boolean isNew) {
-		if (isNew)
-			req ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(req);
-		request.setName(title);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
deleted file mode 100644
index 0a403d8..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
-  *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate;
-/**
- * 
- */
-public class HTTPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map map = new HashMap();
-	
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		Connection conn2 = new Connection(in, out);
-		map.put(monitor, conn2);
-		HTTPConnection conn = new HTTPConnection(monitor);
-		HTTPThread request = new HTTPThread(conn2, in.getInputStream(), out.getOutputStream(), conn, true, monitor.getRemoteHost(), monitor.getRemotePort());
-		HTTPThread response = new HTTPThread(conn2, out.getInputStream(), in.getOutputStream(), conn, false, "localhost", monitor.getLocalPort(), request);
-		request.start();
-		response.start();
-	}
-	
-	public void disconnect(IMonitor monitor) throws IOException {
-		try {
-			Connection conn = (Connection) map.get(monitor);
-			conn.close();
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java
deleted file mode 100644
index a40b498..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-/**
- * 
- */
-public class HTTPRequest extends Request {
-	protected static final String HTTP_REQUEST_HEADER = "request-header";
-	protected static final String HTTP_RESPONSE_HEADER = "response-header";
-
-	protected static final String HTTP_REQUEST_BODY = "request-body";
-	protected static final String HTTP_RESPONSE_BODY = "response-body";
-	
-	protected static final byte[] EMPTY = new byte[0];
-
-	/**
-	 * HTTPRequestResponse constructor comment.
-	 */
-	public HTTPRequest(Monitor monitor, int localPort, String remoteHost, int remotePort) {
-		super(monitor, IProtocolAdapter.HTTP_PROTOCOL_ID, localPort, remoteHost, remotePort);
-	}
-
-	public byte[] getRequest(int type2) {
-		if (type2 == ALL)
-			return request;
-		else if (type2 == TRANSPORT)
-			return getRequestHeader();
-		else
-			return getRequestContent();
-	}
-	
-	public byte[] getResponse(int type2) {
-		if (type2 == ALL)
-			return response;
-		else if (type2 == TRANSPORT)
-			return getResponseHeader();
-		else
-			return getResponseContent();
-	}
-	
-	protected byte[] getRequestHeader() {
-		Object obj = getProperty(HTTP_REQUEST_HEADER);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected byte[] getRequestContent() {
-		Object obj = getProperty(HTTP_REQUEST_BODY);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected byte[] getResponseHeader() {
-		Object obj = getProperty(HTTP_RESPONSE_HEADER);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected byte[] getResponseContent() {
-		Object obj = getProperty(HTTP_RESPONSE_BODY);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-	
-	protected void setName(String n) {
-		super.setName(n);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
deleted file mode 100644
index 6363c26..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
+++ /dev/null
@@ -1,608 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.*;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-/**
- * Monitor server I/O thread.
- */
-public class HTTPThread extends Thread {
-	private static final int BUFFER = 2048;
-	private static final byte CR = (byte) '\r';
-	private static final byte LF = (byte) '\n';
-	protected static int threadCount = 0;
-
-	private byte[] readBuffer = new byte[BUFFER];
-
-	// buffer and index
-	protected byte[] buffer = new byte[0];
-	protected int bufferIndex = 0;
-
-	protected InputStream in;
-	protected OutputStream out;
-	protected HTTPConnection conn;
-	protected boolean isRequest;
-	protected Connection conn2;
-	
-	protected HTTPThread request;
-	protected boolean isWaiting;
-	
-	// user to translate the Host: header
-	protected String host;
-	protected int port;
-
-	protected int contentLength = -1;
-	protected byte transferEncoding = -1;
-	protected String responseType = null;
-	protected boolean keepAlive = false;
-
-	protected static final String[] ENCODING_STRING = new String[] {
-		"chunked", "identity", "gzip", "compressed", "deflate"};
-
-	protected static final byte ENCODING_CHUNKED = 0;
-	protected static final byte ENCODING_IDENTITY = 1;
-	protected static final byte ENCODING_GZIP = 2;
-	protected static final byte ENCODING_COMPRESSED = 3;
-	protected static final byte ENCODING_DEFLATE = 4;
-
-/* change:
-Referer: http://localhost:8081/index.html
-Host: localhost:8081
-*/
-/* The Connection header has the following grammar:
-
-	   Connection = "Connection" ":" 1#(connection-token)
-	   connection-token  = token
-
-   HTTP/1.1 proxies MUST parse the Connection header field before a
-   message is forwarded and, for each connection-token in this field,
-   remove any header field(s) from the message with the same name as the
-   connection-token. */
-
-	/**
-	 * MonitorThread constructor comment.
-	 */
-	public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port) {
-		super();
-		this.conn2 = conn2;
-		this.in = in;
-		this.out = out;
-		this.conn = conn;
-		this.isRequest = isRequest;
-		this.host = host;
-		this.port = port;
-	
-		setName("HTTP (" + host + ":" + port + ") " + (isRequest ? "REQUEST" : "RESPONSE") + " " + (threadCount++));
-		setPriority(Thread.NORM_PRIORITY + 1);
-		setDaemon(true);
-		
-		Trace.trace(Trace.PARSING, "Started: " + this);
-	}
-	
-	/**
-	 * MonitorThread constructor comment.
-	 */
-	public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port, HTTPThread request) {
-		this(conn2, in, out, conn, isRequest, host, port);
-		
-		this.request = request;
-	}
-
-	/**
-	 * Add a line feed to the end of the byte array.
-	 * @return byte[]
-	 * @param b byte[]
-	 */
-	protected static byte[] convert(byte[] b) {
-		if (b == null || b.length == 0)
-			return b;
-	
-		int size = b.length;
-		byte[] x = new byte[size + 2];
-		System.arraycopy(b, 0, x, 0, size);
-		x[size] = (byte) '\r';     // CR
-		x[size + 1] = (byte) '\n'; // LF
-		return x;
-	}
-
-	/**
-	 * Read more data into the buffer.
-	 *
-	 * @return byte[]
-	 */
-	protected void fillBuffer() throws IOException {
-		int n = in.read(readBuffer);
-	
-		if (n <= 0)
-			throw new IOException("End of input");
-	
-		// add to full buffer
-		int len = buffer.length - bufferIndex;
-		if (len < 0)
-			len = 0;
-		byte[] x = new byte[n + len];
-		System.arraycopy(buffer, bufferIndex, x, 0, len);
-		System.arraycopy(readBuffer, 0, x, len, n);
-		bufferIndex = 0;
-		buffer = x;
-	}
-
-	/**
-	 * Returns the first location of a CRLF.
-	 *
-	 * @return int
-	 */
-	protected int getFirstCRLF() {
-		int size = buffer.length;
-		int i = bufferIndex + 1;
-		while (i < size) {
-			if (buffer[i - 1] == CR && buffer[i] == LF)
-				return i;
-			i++;
-		}
-		return -1;
-	}
-
-	/**
-	 * Output the given bytes.
-	 * @param b byte[]
-	 */
-	protected void outputBytes(byte[] b, boolean isNew) throws IOException {
-		out.write(b);
-		if (isRequest)
-			conn.addRequest(b, isNew);
-		else
-			conn.addResponse(b, isNew);
-	}
-
-	/**
-	 * Parse the HTTP body.
-	 */
-	public void parseBody() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing body for: " + this);
-		
-		if (isRequest) {
-			if (contentLength != -1) {
-				byte[] b = readBytes(contentLength);
-				out.write(b);
-				conn.addRequest(b, false);
-				setHTTPBody(b);
-			} else if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) {
-				parseChunk();
-			}
-			
-			Trace.trace(Trace.PARSING, "Done parsing request body for: " + this);
-			return;
-		}
-	
-		// just return body for HTTP 1.0 responses
-		if (!isRequest && !keepAlive && contentLength == -1 && transferEncoding == -1) {
-			Trace.trace(Trace.PARSING, "Assuming HTTP 1.0 for: " + this);
-			int n = buffer.length - bufferIndex;
-			byte[] b = readBytes(n);
-			byte[] body = new byte[0];
-			while (n >= 0) {
-				Trace.trace(Trace.PARSING, "Bytes read: " + n + " " + this);
-				if (b != null && n > 0) {
-					byte[] x = null;
-					if (n == b.length)
-						x = b;
-					else {
-						x = new byte[n];
-						System.arraycopy(b, 0, x, 0, n);
-					}
-					outputBytes(x, false);
-					
-					// copy to HTTP body
-					byte[] temp = new byte[body.length + x.length];
-					System.arraycopy(body, 0, temp, 0, body.length);
-					System.arraycopy(x, 0, temp, body.length, x.length);
-					body = temp;
-				}
-				if (b.length < BUFFER)
-					b = new byte[BUFFER];
-				n = in.read(b);
-				Thread.yield();
-			}
-			out.flush();
-			setHTTPBody(body);
-			return;
-		}
-	
-		// spec 4.4.1
-		if (responseType != null &&	(responseType.startsWith("1") || "204".equals(responseType) || "304".equals(responseType))) {
-			setHTTPBody(new byte[0]);
-			return;
-		}
-	
-		// spec 4.4.2
-		if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) {
-			parseChunk();
-			return;
-		}
-	
-		// spec 4.4.3
-		if (contentLength != -1) {
-			byte[] b = readBytes(contentLength);
-			out.write(b);
-			if (isRequest)
-				conn.addRequest(b, false);
-			else
-				conn.addResponse(b, false);
-			setHTTPBody(b);
-			return;
-		}
-		
-		// spec 4.4.4 (?)
-		
-		Trace.trace(Trace.PARSING, "Unknown body for: " + this);
-	}
-
-	/**
-	 * Parse an HTTP chunk.
-	 */
-	public void parseChunk() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing chunk for: " + this);
-		boolean done = false;
-		byte[] body = new byte[0];
-	
-		while (!done) {
-			// read chunk size
-			byte[] b = readLine();
-	
-			String s = new String(b);
-			int index = s.indexOf(" ");
-			int length = -1;
-			try {
-				if (index > 0)
-					s = s.substring(0, index);
-				length = Integer.parseInt(s.trim(), 16);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error chunk for: " + this, e);
-			}
-	
-			// output bytes
-			outputBytes(b, false);
-	
-			if (length <= 0)
-				done = true;
-			else {
-				// read and output chunk data plus CRLF
-				b = readBytes(length + 2);
-				outputBytes(b, false);
-				
-				// copy to HTTP body
-				byte[] temp = new byte[body.length + b.length - 2];
-				System.arraycopy(body, 0, temp, 0, body.length);
-				System.arraycopy(b, 0, temp, body.length, b.length - 2);
-				body = temp;
-			}
-		}
-	
-		// read trailer
-		byte[] b = readLine();
-		while (b.length > 2) {
-			outputBytes(b, false);
-			b = readLine();
-		}
-	
-		outputBytes(b, false);
-		setHTTPBody(body);
-	}
-
-	/**
-	 * Parse an HTTP header.
-	 */
-	public void parseHeader() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing header for: " + this);
-	
-		// read until first blank line
-		boolean isFirstLine = true;
-		boolean isNew = true;
-	
-		byte[] b = readLine();
-		while (b.length > 5) {
-			Trace.trace(Trace.PARSING, "Parsing header line: '" + new String(b) + "'");
-			
-			if (isFirstLine) {
-				String s = new String(b);
-				if (isRequest) {
-					setLabel(s);
-					isNew = false;
-				}
-	
-				if (!isRequest) {
-					int index1 = s.indexOf(' ');
-					int index2 = s.indexOf(' ', index1 + 1);
-	
-					try {
-						responseType = s.substring(index1 + 1, index2).trim();
-						Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType);
-					} catch (Exception e) {
-						Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e);
-					}
-					if (responseType != null && responseType.equals("100")) {
-						outputBytes(b, isNew);
-						isNew = false;
-
-						b = readLine();
-						outputBytes(b, false);
-
-						b = readLine();
-
-						index1 = s.indexOf(' ');
-						index2 = s.indexOf(' ', index1 + 1);
-
-						try {
-							responseType = s.substring(index1 + 1, index2).trim();
-							Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType);
-						} catch (Exception e) {
-							Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e);
-						}
-					}
-				}
-				isFirstLine = false;
-			}
-	
-			// translate
-			b = translateHeaderLine(b);
-			
-			outputBytes(b, isNew);
-			isNew = false;
-	
-			b = readLine();
-		}
-
-		Trace.trace(Trace.PARSING, "Parsing final header line: '" + new String(b) + "'");
-
-		outputBytes(b, false);
-
-		Request rr = conn.getRequestResponse(isRequest);
-		Trace.trace(Trace.PARSING, "Setting header length: " + rr.getRequest(Request.ALL).length);
-		
-		setHTTPHeader(rr);
-	}
-
-	/**
-	 * Read bytes from the stream.
-	 * @return byte[]
-	 */
-	protected byte[] readBytes(int n) throws IOException {
-		Trace.trace(Trace.PARSING, "readBytes() " + n + " for: " + this);
-		while (buffer.length - bufferIndex < n)
-			fillBuffer();
-	
-		return removeFromBuffer(bufferIndex + n);
-	}
-
-	/**
-	 * Read and return the next full line.
-	 *
-	 * @return byte[]
-	 */
-	protected byte[] readLine() throws IOException {
-		Trace.trace(Trace.PARSING, "readLine() for: " + this);
-	
-		int n = getFirstCRLF();
-		while (n < 0) {
-			fillBuffer();
-			n = getFirstCRLF();
-		}
-		return removeFromBuffer(n + 1);
-	}
-
-	/**
-	 * Remove data from the buffer up to the absolute index n.
-	 * Return the data from between bufferIndex and n.
-	 *
-	 * @param n the bytes to remove
-	 * @return a byte array
-	 */
-	protected byte[] removeFromBuffer(int n) {
-		// copy line out of buffer
-		byte[] b = new byte[n - bufferIndex];
-		System.arraycopy(buffer, bufferIndex, b, 0, n - bufferIndex);
-	
-		if (buffer.length > BUFFER * 2 || bufferIndex > BUFFER) {
-			// remove line from buffer
-			int size = buffer.length;
-			byte[] x = new byte[size - n];
-			System.arraycopy(buffer, n, x, 0, size - n);
-			buffer = x;
-			bufferIndex = 0;
-		} else
-			bufferIndex = n;
-	
-		return b;
-	}
-
-	/**
-	 * Listen for input, save it, and pass to the output stream.
-	 * Philosophy: Read a single line separately and translate.
-	 * When blank line is reached, just pass all other data through.
-	 */
-	public void run() {
-		try {
-			try {
-				while (true) {
-					contentLength = -1;
-					transferEncoding = -1;
-					keepAlive = false;
-
-					parseHeader();
-					parseBody();
-					
-					if (isRequest && keepAlive)
-						waitForResponse();
-					
-					//Request r = conn.getRequestResponse(true);
-					//r.fireChangedEvent();
-
-					Trace.trace(Trace.PARSING, "Done HTTP request for " + this + " " + keepAlive);
-					if (!isRequest && !request.keepAlive) {
-						conn2.close();
-						break;
-					}
-					
-					if (!isRequest)
-						notifyRequest();
-					
-					Thread.yield();
-				}
-			} catch (IOException e) {
-				// reached end of input
-				Trace.trace(Trace.PARSING, "End of buffer for: " + this + " " + e.getMessage());
-			}
-
-			// send rest of buffer
-			out.write(buffer, bufferIndex, buffer.length - bufferIndex);
-			out.flush();
-		} catch (Exception e) {
-			Trace.trace(Trace.PARSING, "Error in: " + this, e);
-		}
-		//if (!isRequest)
-		//	conn2.close();
-
-		Trace.trace(Trace.PARSING, "Closing thread " + this);
-	}
-
-	/**
-	 * Sets the title of the call.
-	 *
-	 * @param s java.lang.String
-	 */
-	protected void setLabel(String s) {
-		try {
-			int index1 = s.indexOf(' ');
-			if (index1 < 0 || index1 > 15)
-				return;
-			int index2 = s.indexOf(' ', index1 + 1);
-			if (index2 < 0)
-				return;
-	
-			conn.setLabel(s.substring(index1 + 1, index2), true);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Translate the header line.
-	 * 
-	 * @return byte[]
-	 * @param b byte[]
-	 */
-	protected byte[] translateHeaderLine(byte[] b) {
-		String s = new String(b);
-	
-		if (isRequest && s.startsWith("Host: ")) {
-			String t = "Host: " + host;
-			if (port != 80)
-				t += ":" + port;
-			return convert(t.getBytes());
-		} else if (s.startsWith("Content-Length: ")) {
-			try {
-				contentLength = Integer.parseInt(s.substring(16).trim());
-				Trace.trace(Trace.PARSING, "Content length: " + this + " " + contentLength);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Content length error", e);
-			}
-		} else if (s.startsWith("Connection: ")) {
-			try {
-				String t = s.substring(11).trim();
-				if (t.equalsIgnoreCase("Keep-Alive"))
-					keepAlive = true;
-				Trace.trace(Trace.PARSING, "Keep alive: " + keepAlive);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error getting Connection: from header", e);
-			}
-		} else if (s.startsWith("Transfer-Encoding: ")) {
-			String t = s.substring(19).trim();
-			int size = ENCODING_STRING.length;
-			for (int i = 0; i < size; i++) {
-				if (ENCODING_STRING[i].equalsIgnoreCase(t)) {
-					transferEncoding = (byte) i;
-					Trace.trace(Trace.PARSING, "Transfer encoding: " + ENCODING_STRING[i]);
-				}
-			}
-		}
-	
-		return b;
-	}
-	
-	protected void close() {
-		try {
-			Trace.trace(Trace.PARSING, "Closing: " + this);
-			out.close();
-		} catch (Exception e) {
-			Trace.trace(Trace.PARSING, "Error closing connection " + this + " " + e.getMessage());
-		}
-	}
-
-	protected void waitForResponse() {
-		Trace.trace(Trace.PARSING, "Waiting for response " + this);
-		synchronized (this) {
-			try {
-				isWaiting = true;
-				wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this + " " + e.getMessage());
-			}
-			isWaiting = false;
-		}
-		Trace.trace(Trace.PARSING, "Done waiting for response " + this);
-	}
-
-	protected void notifyRequest() {
-		Trace.trace(Trace.PARSING, "Notifying request " + this);
-		while (request.keepAlive && !request.isWaiting) {
-			Trace.trace(Trace.PARSING, "Waiting for request " + this);
-			try {
-				Thread.sleep(100);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		synchronized (request) {
-			try {
-				request.notify();
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in notifyRequest() " + this + " " + e.getMessage());
-			}
-		}
-		Trace.trace(Trace.PARSING, "Done notifying request " + this);
-	}
-	
-	protected void setHTTPHeader(Request rr) {
-		if (isRequest) {
-			byte[] b = rr.getRequest(Request.ALL);
-			byte[] h = new byte[b.length];
-			System.arraycopy(b, 0, h, 0, b.length);
-			rr.setProperty(HTTPRequest.HTTP_REQUEST_HEADER, h);
-		} else {
-			byte[] b = rr.getResponse(Request.ALL);
-			byte[] h = new byte[b.length];
-			System.arraycopy(b, 0, h, 0, b.length);
-			rr.setProperty(HTTPRequest.HTTP_RESPONSE_HEADER, h);
-		}
-	}
-	
-	protected void setHTTPBody(byte[] b) {
-		Request rr = conn.getRequestResponse(isRequest);
-		if (isRequest)
-			rr.setProperty(HTTPRequest.HTTP_REQUEST_BODY, b);
-		else
-			rr.setProperty(HTTPRequest.HTTP_RESPONSE_BODY, b);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java
deleted file mode 100644
index 6ac371b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.Request;
-/**
- * A resend HTTP connection wraps an HTTP connection to send an existing request.
- */
-public class ResendHTTPConnection extends HTTPConnection{
-	protected Request existingRequest;
-
-	public ResendHTTPConnection(Request request) {
-		super(null);
-		this.existingRequest = request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.internal.http.HTTPConnection#getRequestResponse(int)
-	 */
-	protected Request getRequestResponse(int i) {
-		return existingRequest;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
deleted file mode 100644
index a4b7907..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.Socket;
-
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.SocketWrapper;
-/**
- * Wraps an existing request to create an HTTP request that can be sent. The
- * response is ignored. Only the request is important in this case.
- */
-public class ResendHTTPRequest extends HTTPRequest {
-	private boolean sent = false;
-
-	private byte[] header;
-
-	private byte[] content;
-
-	private Request originalRequest = null;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param req the request that is to be resent.
-	 */
-	public ResendHTTPRequest(Monitor monitor, Request req) {
-		super(monitor, req.getLocalPort(), req.getRemoteHost(), req.getRemotePort());
-		setProperty(HTTP_REQUEST_HEADER, req.getProperty(HTTP_REQUEST_HEADER));
-		setProperty(HTTP_REQUEST_BODY, req.getProperty(HTTP_REQUEST_BODY));
-		header = req.getRequest(TRANSPORT);
-		content = req.getRequest(CONTENT);
-		request = req.getRequest(ALL);
-		name = req.getName();
-		this.originalRequest = req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.IResendRequest#sendRequest()
-	 */
-	public void sendRequest() {
-		try {
-			Socket inSocket = new SocketWrapper(new ByteArrayInputStream(request));
-			Socket outSocket = new Socket(remoteHost, remotePort);
-			//Connection conn = new Connection(inSocket, outSocket);
-			//TCPIPThread requestThread = new TCPIPThread(conn, this, in,
-			// outSocket.getOutputStream(), true);
-			//requestThread.start();
-			//new TCPIPThread(conn, this, outSocket.getInputStream(),
-			// inSocket.getOutputStream(), false).start();
-			Connection conn2 = new Connection(inSocket, outSocket);
-			ResendHTTPConnection conn = new ResendHTTPConnection(this);
-
-			HTTPThread request2 = new HTTPThread(conn2, inSocket.getInputStream(),
-					outSocket.getOutputStream(), conn, true, remoteHost, remotePort);
-			HTTPThread response2 = new HTTPThread(conn2, outSocket.getInputStream(),
-					inSocket.getOutputStream(), conn, false, "localhost", localPort, request2);
-			request2.start();
-			response2.start();
-		} catch (IOException e) {
-			response = ("Unable to resend to server.\n" + e).getBytes();
-		}
-		sent = true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.internal.Request2#addToRequest(byte[])
-	 */
-	public void addToRequest(byte[] addRequest) {
-		// Don't want to add to the request as we already have the request.
-	}
-
-	public boolean hasBeenSent() {
-		return sent;
-	}
-
-	public void setRequest(byte[] request, int type) {
-		if (type == TRANSPORT && request != null)
-			header = request;
-		else if (type == CONTENT)
-			content = request;
-		
-		int length = 0;
-		int headerLength = 0;
-		if (header != null) {
-			length += header.length;
-			headerLength = length;
-		}
-		if (content != null)
-			length += content.length;
-		byte[] newRequest = new byte[length];
-		if (header != null)
-			System.arraycopy(header, 0, newRequest, 0, header.length);
-		if (content != null)
-			System.arraycopy(content, 0, newRequest, headerLength, content.length);
-		super.setRequest(newRequest);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.internal.http.HTTPRequest#getRequestContent()
-	 */
-	protected byte[] getRequestContent() {
-		return content;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.internal.http.HTTPRequest#getRequestHeader()
-	 */
-	protected byte[] getRequestHeader() {
-		return header;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.IResendRequest#getOriginalRequest()
-	 */
-	public Request getOriginalRequest() {
-		return originalRequest;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/package.xml b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/package.xml
deleted file mode 100644
index 2b80e09..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/package.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-<p>TCP/IP monitor core</p>
-
-<p>This package gives core (non-UI) access to the TCP/IP monitor. Clients can
-query for existing monitors, create new monitors, start/stop monitors, and
-listen for requests being received by a running monitor.</p>
-
-<p>The MonitorCore class gives initial access to all of the API. From here you
-can query the existing monitors, create new ones, and add/remove a listener for
-monitor changes.</p>
-
-<p>The IMonitor interface provides information about a particular monitor,
-allowing you to change it via a working copy, start/stop it, or add a listener
-for request activity.</p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties
deleted file mode 100644
index aa7568c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Monitor
-providerName=Eclipse.org
-
-# --------------- Errors ---------------
-errorPortInUse=The TCP/IP monitor could not start because port {0} is in use.
-errorInvalidLocalPort=The local port number is invalid.
-errorInvalidRemotePort=The remote port number is invalid.
-errorInvalidRemoteHost=The remote host name is invalid.
-
-extensionPointProtocolAdapters=Protocol Adapters
-extensionPointContentFilters=Content Filters
-extensionPointStartup=Startup
-
-monitorValid=The monitor is valid.
-
-HTTP=HTTP
-TCPIP=TCP/IP
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml
deleted file mode 100644
index 98a0e29..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.wst.internet.monitor.core"
-  name="%pluginName"
-  version="1.0.0"
-  provider-name="%providerName"
-  class="org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin">
-
-<requires>
-  <import plugin="org.eclipse.core.runtime"/>
-</requires>
-
-<runtime>
-  <library name="monitorcore.jar">
-    <export name="*"/>
-  </library>
-</runtime>
-
-<extension-point name="%extensionPointProtocolAdapters" id="internalProtocolAdapters" schema="schema/protocolAdapters.exsd"/>
-<extension-point name="%extensionPointContentFilters" id="contentFilters" schema="schema/contentFilters.exsd"/>
-<extension-point name="%extensionPointStartup" id="internalStartup" schema="schema/startup.exsd"/>
-
-<extension point="org.eclipse.wst.internet.monitor.core.internalProtocolAdapters">
-  <protocolAdapter
-    id="TCP/IP"
-    class="org.eclipse.wst.internet.monitor.core.internal.TCPIPProtocolAdapter"
-    name="%TCPIP"/>
-  <protocolAdapter
-    id="HTTP"
-    class="org.eclipse.wst.internet.monitor.core.internal.http.HTTPProtocolAdapter"
-    name="%HTTP"/>
-</extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/contentFilters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/contentFilters.exsd
deleted file mode 100644
index 9549579..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/contentFilters.exsd
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="contentFilters" name="Content Filters"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to filter content received in a monitor.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="filter">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of a Java class that extends &lt;samp&gt;org.eclipse.wst.internet.monitor.core.ContentFilterDelegate&lt;/samp&gt;.
-Content filter instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the filter

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an integer used to order filters relative to each other. Lower orders are processed first

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a content filter extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.wst.internet.monitor.core.contentFilter&quot;&gt;
-  &lt;filter
-   id=&quot;com.example.ExampleIdentifier&quot;
-   name=&quot;%exampleName&quot;
-   class=&quot;com.example.ExampleContentFilter&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd
deleted file mode 100644
index 12e52b7..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="protocolAdapter">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the protocol adapter

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd
deleted file mode 100644
index 1382f3a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.monitor.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="internalStartup" name="Startup"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to load a secondary plugin. The extension point will be called when the monitor core plugin starts up.
-
-This extension point is internal and should not be used by any other plugins.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="startup" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="startup">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.IStartup"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a startup extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.internet.monitor.core.internal.startups&quot;&gt;
-  &lt;startup
-    id=&quot;com.example.myplugin&quot;
-    class=&quot;com.example.myplugin.Startup&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         This extension point is internal and should not be used by any other plugins.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath b/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
deleted file mode 100644
index 0631920..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="monitorui/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore b/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore
deleted file mode 100644
index 7d2f75b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-monitorui.jar
-build.xml
-temp.folder
-org.eclipse.wst.internet.monitor.ui_3.0.0.jar
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.options b/plugins/org.eclipse.wst.internet.monitor.ui/.options
deleted file mode 100644
index 08412ea..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.wst.internet.monitor.ui plugin
-
-# Turn on general debugging
-org.eclipse.wst.internet.monitor.ui/debug=true
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.project b/plugins/org.eclipse.wst.internet.monitor.ui/.project
deleted file mode 100644
index b81173e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.internet.monitor.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/build.properties b/plugins/org.eclipse.wst.internet.monitor.ui/build.properties
deleted file mode 100644
index a4f741a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.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,\
-               monitorui.jar,\
-               plugin.properties,\
-               icons/
-jars.compile.order = 
-src.includes = schema/,\
-               build.properties
-output.monitorui.jar = bin/
-source.monitorui.jar = monitorui/
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif
deleted file mode 100644
index 389954f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif
deleted file mode 100644
index fb20c38..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif
deleted file mode 100644
index e334e9f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif
deleted file mode 100644
index c374f13..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif
deleted file mode 100644
index 3bf98c0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif
deleted file mode 100644
index 6d71a8b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif
deleted file mode 100644
index 06e0c73..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif
deleted file mode 100644
index 389954f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif
deleted file mode 100644
index fb20c38..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif
deleted file mode 100644
index cf62b63..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif
deleted file mode 100644
index e334e9f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif
deleted file mode 100644
index d044e59..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif
deleted file mode 100644
index c374f13..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif
deleted file mode 100644
index 42e5f31..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif
deleted file mode 100644
index 2ff3974..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif
deleted file mode 100644
index 8a6e219..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/ContentViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/ContentViewer.java
deleted file mode 100644
index 853ab2d..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/ContentViewer.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.ui;
-
-import org.eclipse.swt.widgets.Composite;
-/**
- * Editable viewer for displaying and editing requests and responses.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>contentViewers</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the viewer when required.
- * Once instantiated, {@link #init(Composite)} is called to create
- * the viewer's controls. Then {@link #setContent(byte[])} is called,
- * one or more times, to cause the viewer to display particular
- * content. Finally, when the viewer is no longer needed, {@link #dispose()}
- * is called to free up any resources tied up by the viewer.
- * </p>
- * <p>
- * [issue: It's unclear how these content viewers are used.
- * Is it just that the UI provides a list of available
- * views for the user to make a manual selection from, regardless
- * of the actual content of the message traffic?]
- * </p>
- * [issue: CS - If a ContentViewer is editable, does that mean we can edit the 
- * bytes of the message and resend it across the wire?  How is an editable ContentViewer
- * handled differently by the framework? Perhaps an example of what an editeable viewer would do. ]
- * @since 1.0
- */
-public abstract class ContentViewer {
-	/**
-	 * Creates a new content viewer instance.
-	 */
-	protected ContentViewer() {
-		// do nothing
-	}
-
-	/**
-	 * Creates the controls for this viewer as children of the given composite.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method.
-	 * </p>
-	 * 
-	 * @param parent the parent composite
-	 */
-	public abstract void init(Composite parent);
-
-	/**
-	 * Sets the content that the viewer should display.
-	 * The parameter may be null if no content should be displayed.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method.
-	 * </p>
-	 * <p>
-	 * [issue: Since this is for displaying request-reponse messages,
-	 * why not pass an Request? The problem as it stands now is that
-	 * it is unclear from specs how content viewers relate to anything
-	 * else having to do with the monitor.]
-	 * </p>
-	 * 
-	 * @param b the content to display, or <code>null</code> to
-	 * display nothing
-	 */
-	public abstract void setContent(byte[] b);
-
-	/**
-	 * Get the content from the viewer. This is usually only interesting if the
-	 * content has changed.
-	 * <p>
-	 * The default implementation of this method does nothing and
-	 * returns null. Subclasses should override this method.
-	 * </p>
-	 * 
-	 * @return the content from the viewer, or <code>null</code> if none
-	 */
-	public abstract byte[] getContent();
-
-	/**
-	 * Disposes this viewer and any underlying resources such as a composite.
-	 * This method will be called whenever the user switches to use another
-	 * viewer or the monitor view is closed. The parent composite should not
-	 * be disposed since it may be used to display another viewer. 
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method to provide specialized cleanup.
-	 * </p>
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Set whether the current viewer is editable, that is, the user is able to
-	 * edit the content.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method to allows instances
-	 * to be made editable.
-	 * </p>
-	 * 
-	 * @param editable <code>true</code> if true the content can be edited,
-	 *    and <code>false</code> otherwise
-	 */
-	public void setEditable(boolean editable) {
-		// do nothing
-	}
-
-	/**
-	 * Returns whether the current viewer is editable, that is, the user is able to
-	 * edit the content.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method to allows instances
-	 * to be made editable.
-	 * </p>
-	 * 
-	 * @return <code>true</code> if true the content can be edited,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean getEditable() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/MonitorUICore.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/MonitorUICore.java
deleted file mode 100644
index 6a0a756..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/MonitorUICore.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.ui;
-
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * Main class for access to the monitor UI.
- * <p>
- * This class provides all functionality through static members. It is not intended
- * to be instantiated or subclassed.
- * </p>
- * 
- * @since 1.0
- */
-public final class MonitorUICore {
-	/**
-	 * Cannot create MonitorUICore - use static methods.
-	 */
-	private MonitorUICore() {
-		// can't create
-	}
-
-	/**
-	 * Returns an array of the requests currently being displayed in the TCP/IP
-	 * monitor view.
-	 *
-	 * @return an array of requests
-	 */
-	public static Request[] getRequests() {
-		return MonitorUIPlugin.getInstance().getRequests();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java
deleted file mode 100644
index df1d1c7..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-/**
- * Constant ids for context help.
- */
-public interface ContextIds {
-	public static final String VIEW = MonitorUIPlugin.PLUGIN_ID + ".tmvw0000";
-	public static final String VIEW_TREE = MonitorUIPlugin.PLUGIN_ID + ".tmvw0002";
-	public static final String VIEW_REQUEST = MonitorUIPlugin.PLUGIN_ID + ".tmvw0004";
-	public static final String VIEW_RESPONSE = MonitorUIPlugin.PLUGIN_ID + ".tmvw0006";
-
-	public static final String PREF = MonitorUIPlugin.PLUGIN_ID + ".tmpr0000";
-	public static final String PREF_SHOW = MonitorUIPlugin.PLUGIN_ID + ".tmpr0002";
-	public static final String PREF_MONITORS = MonitorUIPlugin.PLUGIN_ID + ".tmpr0004";
-	public static final String PREF_DIALOG = MonitorUIPlugin.PLUGIN_ID + ".tmpr0006";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java
deleted file mode 100644
index 52c52be..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.wst.internet.monitor.core.MonitorCore;
-/**
- * Monitor content provider.
- */
-public class MonitorContentProvider implements IStructuredContentProvider {
-	/**
-	 * MonitorContentProvider constructor comment.
-	 */
-	public MonitorContentProvider() {
-		super();
-	}
-
-	/*
-	 * Disposes of this content provider.  
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/*
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 */
-	public Object[] getElements(Object inputElement) {
-		return MonitorCore.getMonitors();
-	}
-
-	/*
-	 * 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) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
deleted file mode 100644
index a743ae2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.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.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.core.IMonitorWorkingCopy;
-import org.eclipse.wst.internet.monitor.core.MonitorCore;
-import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter;
-/**
- * 
- */
-public class MonitorDialog extends Dialog {
-	protected IMonitorWorkingCopy monitor;
-	protected boolean isEdit;
-	
-	private Button okButton;
-	private Text monitorPort;
-	private Text remotePort;
-	
-	interface StringModifyListener {
-		public void valueChanged(String s);
-	}
-	
-	interface BooleanModifyListener {
-		public void valueChanged(boolean b);
-	}
-	
-	interface TypeModifyListener {
-		public void valueChanged(IProtocolAdapter type);
-	}
-
-	/**
-	 * @param parentShell
-	 */
-	public MonitorDialog(Shell parentShell, IMonitorWorkingCopy monitor) {
-		super(parentShell);
-		this.monitor = monitor;
-		isEdit = true;
-	}
-	
-	public MonitorDialog(Shell parentShell) {
-		super(parentShell);
-		monitor = MonitorCore.createMonitor();
-		isEdit = false;
-	}
-	
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (isEdit)
-			shell.setText(MonitorUIPlugin.getResource("%editMonitor"));
-		else
-			shell.setText(MonitorUIPlugin.getResource("%newMonitor"));
-	}
-	
-	protected Label createLabel(Composite comp, String txt) {
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(txt);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		return label;
-	}
-	
-	protected Text createText(Composite comp, String txt, final StringModifyListener listener) {
-		final Text text = new Text(comp, SWT.BORDER);
-		if (txt != null)
-			text.setText(txt);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = 150;
-		text.setLayoutData(data);
-		if (listener != null)
-			text.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {	
-					listener.valueChanged(text.getText());
-				}
-			});
-		return text;
-	}
-	
-	protected Combo createTypeCombo(Composite comp, final String[] types, String sel, final StringModifyListener listener) {
-		final Combo combo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY);
-		int size = types.length;
-		String[] items = new String[size];
-		int index = -1;
-		for (int i = 0; i < size; i++) {
-			items[i] = types[i];
-			if (types[i].equals(sel))
-				index = i;
-		}
-		combo.setItems(items);
-		if (index >= 0)
-			combo.select(index);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = 150;
-		combo.setLayoutData(data);
-		if (listener != null)
-			combo.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {	
-					listener.valueChanged(types[combo.getSelectionIndex()]);
-				}
-				public void widgetDefaultSelected(SelectionEvent e) {
-					widgetSelected(e);
-				}
-			});
-		return combo;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		((GridLayout)composite.getLayout()).numColumns = 2;
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF_DIALOG);
-		
-		createLabel(composite, MonitorUIPlugin.getResource("%localPort"));		
-		monitorPort = createText(composite, monitor.getLocalPort() + "", new StringModifyListener() {
-			public void valueChanged(String s) {
-				try {
-					monitor.setLocalPort(Integer.parseInt(s));
-				} catch (Exception e) {
-					// ignore
-				}
-				validateFields();
-			}
-		});
-		
-		Group group = new Group(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		group.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		group.setLayoutData(data);
-		group.setText(MonitorUIPlugin.getResource("%remoteGroup"));
-		
-		createLabel(group, MonitorUIPlugin.getResource("%remoteHost"));		
-		createText(group, monitor.getRemoteHost(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				monitor.setRemoteHost(s);
-				validateFields();
-			}
-		});
-		
-		createLabel(group, MonitorUIPlugin.getResource("%remotePort"));		
-		remotePort = createText(group, monitor.getRemotePort() + "", new StringModifyListener() {
-			public void valueChanged(String s) {
-				try {
-					monitor.setRemotePort(Integer.parseInt(s));
-				} catch (Exception e) {
-					// ignore
-				}
-				validateFields();
-			}
-		});
-		
-		createLabel(group, MonitorUIPlugin.getResource("%parseType"));		
-		createTypeCombo(group, new String[] {"TCP/IP","HTTP"}, monitor.getProtocol(), new StringModifyListener() {
-			public void valueChanged(String protocolId) {
-				monitor.setProtocol(protocolId);
-			}
-		});
-		
-		return composite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		try {
-			monitor.save();
-		} catch (CoreException ce) {
-			ErrorDialog.openError(getShell(), MonitorUIPlugin.getResource("%errorDialogTitle"), ce.getLocalizedMessage(), ce.getStatus());
-			return;
-		}
-		super.okPressed();
-	}
-
-	protected Control createButtonBar(Composite parent) {
-		Control buttonControl = super.createButtonBar(parent);
-		validateFields();
-		return buttonControl;
-	}
-
-	private void setOKButtonEnabled(boolean curIsEnabled) {
-		if (okButton == null)
-			okButton = getButton(IDialogConstants.OK_ID);
-		
-		if (okButton != null)
-			okButton.setEnabled(curIsEnabled);
-	}
-
-	protected void validateFields() {
-		if (monitorPort == null)
-			return;
-		
-		boolean result = true;
-		try {
-			Integer.parseInt(remotePort.getText());
-			Integer.parseInt(monitorPort.getText());
-		} catch (Exception e) {
-			result = false;
-		}
-		
-		IStatus status = monitor.validate();
-		if (!status.isOK())
-			result = false;
-		
-		setOKButtonEnabled(result);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
deleted file mode 100644
index 81c2d1f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.*;
-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.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-import org.eclipse.wst.internet.monitor.core.IMonitorWorkingCopy;
-import org.eclipse.wst.internet.monitor.core.MonitorCore;
-/**
- * The preference page that holds monitor properties.
- */
-public class MonitorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	protected Button displayButton;
-	
-	protected Table table;
-	protected TableViewer tableViewer;
-	
-	protected Button edit;
-	protected Button remove;
-	protected Button start;
-	protected Button stop;
-	
-	protected List selection2;
-
-	/**
-	 * MonitorPreferencePage constructor comment.
-	 */
-	public MonitorPreferencePage() {
-		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.numColumns = 2;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(MonitorUIPlugin.getResource("%preferenceDescription"));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-	
-		displayButton = new Button(composite, SWT.CHECK);
-		displayButton.setText(MonitorUIPlugin.getResource("%prefShowView"));
-		displayButton.setSelection(MonitorUIPlugin.getShowOnActivityPreference());
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		displayButton.setLayoutData(data);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(displayButton, ContextIds.PREF_SHOW);
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText("");
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		label = new Label(composite, SWT.WRAP);
-		label.setText(MonitorUIPlugin.getResource("%monitorList"));
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		table = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_BOTH);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(table, ContextIds.PREF_MONITORS);
-		
-		table.setLayoutData(data);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		
-		TableLayout tableLayout = new TableLayout();
-		
-		TableColumn statusColumn = new TableColumn(table, SWT.NONE);
-		statusColumn.setText(MonitorUIPlugin.getResource("%columnStatus"));
-		ColumnWeightData colData = new ColumnWeightData(6, 60, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn remoteColumn = new TableColumn(table, SWT.NONE);
-		remoteColumn.setText(MonitorUIPlugin.getResource("%columnRemote"));
-		colData = new ColumnWeightData(12, 120, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn httpColumn = new TableColumn(table, SWT.NONE);
-		httpColumn.setText(MonitorUIPlugin.getResource("%columnType"));
-		colData = new ColumnWeightData(5, 55, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn localColumn = new TableColumn(table, SWT.NONE);
-		localColumn.setText(MonitorUIPlugin.getResource("%columnLocal"));
-		colData = new ColumnWeightData(5, 50, true);
-		tableLayout.addColumnData(colData);
-		
-		table.setLayout(tableLayout);
-		
-		tableViewer = new TableViewer(table);
-		tableViewer.setContentProvider(new MonitorContentProvider());
-		tableViewer.setLabelProvider(new MonitorTableLabelProvider());
-		tableViewer.setInput("root");
-		
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				setSelection(event.getSelection());
-			}
-		});
-		
-		Composite buttonComp = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-		
-		Button add = SWTUtil.createButton(buttonComp, MonitorUIPlugin.getResource("%add"));
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MonitorDialog dialog = new MonitorDialog(getShell());
-				if (dialog.open() == Window.CANCEL)
-					return;
-				tableViewer.refresh();
-				
-				IMonitor[] monitors = MonitorCore.getMonitors();
-				Object monitor = monitors[monitors.length - 1];
-				tableViewer.setSelection(new StructuredSelection(monitor));
-			}
-		});		
-		
-		edit = SWTUtil.createButton(buttonComp, MonitorUIPlugin.getResource("%edit"));
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IMonitor monitor = (IMonitor) getSelection().get(0);
-				IMonitorWorkingCopy wc = monitor.createWorkingCopy();
-				
-				MonitorDialog dialog = new MonitorDialog(getShell(), wc);
-				if (dialog.open() != Window.CANCEL) {
-					try {
-						tableViewer.refresh(wc.save());
-					} catch (Exception ex) {
-						// ignore
-					}
-				}
-			}
-		});
-		edit.setEnabled(false);
-		
-		remove = SWTUtil.createButton(buttonComp, MonitorUIPlugin.getResource("%remove"));
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Iterator iterator = getSelection().iterator();
-				while (iterator.hasNext()) {
-					IMonitor monitor = (IMonitor) iterator.next();
-					try {
-						monitor.delete();
-					} catch (Exception ex) {
-						// ignore
-					}
-					tableViewer.remove(monitor);
-					
-					IMonitor[] monitors = MonitorCore.getMonitors();
-					Object monitor2 = monitors[monitors.length - 1];
-					tableViewer.setSelection(new StructuredSelection(monitor2));
-				}
-			}
-		});
-		remove.setEnabled(false);
-		
-		start = SWTUtil.createButton(buttonComp, MonitorUIPlugin.getResource("%start"));
-		data = (GridData) start.getLayoutData();
-		data.verticalIndent = 9;
-		start.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Iterator iterator = getSelection().iterator();
-				while (iterator.hasNext()) {
-					IMonitor monitor = (IMonitor) iterator.next();
-					try {
-						monitor.start();
-					} catch (CoreException ce) {
-						MessageDialog.openError(getShell(), MonitorUIPlugin.getResource("%errorDialogTitle"), ce.getStatus().getMessage());
-					} catch (Exception ce) {
-						MessageDialog.openError(getShell(), MonitorUIPlugin.getResource("%errorDialogTitle"), ce.getMessage());
-					}
-					tableViewer.refresh(monitor, true);
-				}
-				tableViewer.setSelection(tableViewer.getSelection());
-			}
-		});
-		start.setEnabled(false);
-		
-		stop = SWTUtil.createButton(buttonComp, MonitorUIPlugin.getResource("%stop"));
-		stop.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Iterator iterator = getSelection().iterator();
-				while (iterator.hasNext()) {
-					IMonitor monitor = (IMonitor) iterator.next();
-					try {
-						monitor.stop();
-					} catch (Exception ex) {
-						// ignore
-					}
-					tableViewer.refresh(monitor, true);
-				}
-				tableViewer.setSelection(tableViewer.getSelection());
-			}
-		});
-		stop.setEnabled(false);
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-
-	/**
-	 * Initializes this preference page using the passed workbench.
-	 *
-	 * @param workbench the current workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/**
-	 * 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() {
-		displayButton.setSelection(MonitorUIPlugin.getDefaultShowOnActivityPreference());
-		super.performDefaults();
-	}
-
-	/** 
-	 * Method declared on IPreferencePage.
-	 * Subclasses should override
-	 */
-	public boolean performOk() {
-		MonitorUIPlugin.setShowOnActivityPreference(displayButton.getSelection());
-		MonitorUIPlugin.getInstance().savePluginPreferences();
-		return true;
-	}
-	
-	protected List getSelection() {
-		return selection2;
-	}
-
-	protected void setSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		Iterator iterator = sel.iterator();
-		selection2 = new ArrayList();
-		
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IMonitor)
-				selection2.add(obj);
-		}
-		
-		if (!selection2.isEmpty()) {
-			remove.setEnabled(true);
-			
-			boolean allStopped = true;
-			boolean allStarted = true;
-			
-			iterator = selection2.iterator();
-			while (iterator.hasNext()) {
-				IMonitor monitor = (IMonitor) iterator.next();
-				if (monitor.isRunning())
-					allStopped = false;
-				else
-					allStarted = false;
-			}
-			start.setEnabled(allStopped);
-			stop.setEnabled(allStarted);
-			edit.setEnabled(selection2.size() == 1 && allStopped);
-		} else {
-			edit.setEnabled(false);
-			remove.setEnabled(false);
-			start.setEnabled(false);
-			stop.setEnabled(false);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
deleted file mode 100644
index 9d644cc..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.internet.monitor.core.IMonitor;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-/**
- * Monitor table label provider.
- */
-public class MonitorTableLabelProvider implements ITableLabelProvider {
-	/**
-	 * MonitorTableLabelProvider constructor comment.
-	 */
-	public MonitorTableLabelProvider() {
-		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) {
-		// do nothing
-	}
-
-	/**
-	 * 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() {
-		// do nothing
-	}
-
-	/**
-	 * 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) {
-			IMonitor monitor = (IMonitor) element;
-			if (monitor.isRunning())
-				return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_MONITOR_ON);
-			return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_MONITOR_OFF);
-		}
-		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) {
-		IMonitor monitor = (IMonitor) element;
-		if (columnIndex == 0) {
-			if (monitor.isRunning())
-				return MonitorUIPlugin.getResource("%started");
-			return MonitorUIPlugin.getResource("%stopped");
-		} else if (columnIndex == 1)
-			return monitor.getRemoteHost() + ":" + monitor.getRemotePort();
-		else if (columnIndex == 2)
-			return monitor.getProtocol();
-		else if (columnIndex == 3)
-			return monitor.getLocalPort() + "";
-		else
-			return "X";
-	}
-	
-	protected String notNull(String s) {
-		if (s == null)
-			return "";
-		
-		return s;
-	}
-
-	/**
-	 * 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) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
deleted file mode 100644
index 00600b8..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
-  *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-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.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;
-import org.eclipse.wst.internet.monitor.core.*;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-import org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView;
-import org.osgi.framework.BundleContext;
-/**
- * The TCP/IP monitor UI plugin.
- */
-public class MonitorUIPlugin extends AbstractUIPlugin {
-	public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.ui";
-
-	private static MonitorUIPlugin singleton;
-
-	protected Map imageDescriptors = new HashMap();
-	
-	private static final String lineSeparator = System.getProperty("line.separator");
-
-	private static URL ICON_BASE_URL;
-	private static final String URL_CLCL = "clcl16/";
-	private static final String URL_ELCL = "elcl16/";
-	private static final String URL_DLCL = "dlcl16/";
-	private static final String URL_OBJ = "obj16/";
-
-	public static final String IMG_ELCL_SORT_RESPONSE_TIME = "IMG_ELCL_SORT_RESPONSE_TIME";
-	public static final String IMG_ELCL_CLEAR = "IMG_ELCL_CLEAR";
-	public static final String IMG_ELCL_HTTP_HEADER = "IMG_ELCL_HTTP_HEADER";
-	public static final String IMG_CLCL_SORT_RESPONSE_TIME = "IMG_CLCL_SORT_RESPONSE_TIME";
-	public static final String IMG_CLCL_CLEAR = "IMG_CLCL_CLEAR";
-	public static final String IMG_CLCL_HTTP_HEADER = "IMG_CLCL_HTTP_HEADER";
-	public static final String IMG_DLCL_SORT_RESPONSE_TIME = "IMG_DLCL_SORT_RESPONSE_TIME";
-	public static final String IMG_DLCL_CLEAR = "IMG_DLCL_CLEAR";
-	public static final String IMG_DLCL_HTTP_HEADER = "IMG_DLCL_HTTP_HEADER";
-	
-	public static final String IMG_REQUEST_RESPONSE = "requestResponse";
-	public static final String IMG_RESEND_REQUEST_RESPONSE = "resendRequestResponse";
-	
-	public static final String IMG_HOST = "host";
-	public static final String IMG_MONITOR_ON = "monitorOn";
-	public static final String IMG_MONITOR_OFF = "monitorOff";
-
-	private static final String SHOW_VIEW_ON_ACTIVITY = "show-view";
-	private static final String SHOW_HEADER = "show-header";
-	
-	protected List requests = new ArrayList();
-	
-	protected IMonitorListener monitorListener = new IMonitorListener() {
-		public void monitorAdded(IMonitor monitor) {
-			monitor.addRequestListener(requestListener);
-		}
-
-		public void monitorChanged(IMonitor monitor) {
-			// ignore
-		}
-
-		public void monitorRemoved(IMonitor monitor) {
-			monitor.removeRequestListener(requestListener);
-		}
-	};
-
-	protected IRequestListener requestListener = new IRequestListener() {
-		public void requestAdded(IMonitor monitor, Request request) {
-			addRequest(request);
-			
-			if (MonitorView.view != null)
-				MonitorView.view.doRequestAdded(request);
-			else if (MonitorUIPlugin.getShowOnActivityPreference())
-				MonitorView.open(request);
-		}
-
-		public void requestChanged(IMonitor monitor, Request request) {
-			if (MonitorView.view != null)
-				MonitorView.view.doRequestChanged(request);
-		}
-	};
-
-	/**
-	 * MonitorUIPlugin constructor comment.
-	 */
-	public MonitorUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Creates and pre-loads the image registry.
-	 * 
-	 * @return ImageRegistry
-	 */
-	protected ImageRegistry createImageRegistry() {
-		ImageRegistry registry = super.createImageRegistry();
-
-		registerImage(registry, IMG_REQUEST_RESPONSE, URL_OBJ + "tcp.gif");
-		registerImage(registry, IMG_RESEND_REQUEST_RESPONSE, URL_ELCL + "resendRequest.gif");
-		
-		registerImage(registry, IMG_HOST, URL_OBJ + "host.gif");
-		registerImage(registry, IMG_MONITOR_ON, URL_OBJ + "monitorOn.gif");
-		registerImage(registry, IMG_MONITOR_OFF, URL_OBJ + "monitorOff.gif");
-
-		registerImage(registry, IMG_CLCL_CLEAR, URL_CLCL + "clear.gif");
-		registerImage(registry, IMG_CLCL_SORT_RESPONSE_TIME, URL_CLCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_CLCL_HTTP_HEADER, URL_CLCL + "httpHeader.gif");
-
-		registerImage(registry, IMG_ELCL_CLEAR, URL_ELCL + "clear.gif");
-		registerImage(registry, IMG_ELCL_SORT_RESPONSE_TIME, URL_ELCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_ELCL_HTTP_HEADER, URL_ELCL + "httpHeader.gif");
-
-		registerImage(registry, IMG_DLCL_CLEAR, URL_DLCL + "clear.gif");
-		registerImage(registry, IMG_DLCL_SORT_RESPONSE_TIME, URL_DLCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_DLCL_HTTP_HEADER, URL_DLCL + "httpHeader.gif");
-
-		return registry;
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key the key
-	 * @return the image
-	 */
-	public static Image getImage(String key) {
-		return getInstance().getImageRegistry().get(key);
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key the key
-	 * @return an image descriptor
-	 */
-	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 the plugin
-	 */
-	public static MonitorUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 * 
-	 * @param key the key
-	 * @return the translated 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.
-	 * 
-	 * @param key the key
-	 * @param obj substitution variables
-	 * @return the translated string
-	 */
-	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.
-	 * 
-	 * @param key the key
-	 * @param s substitution variable
-	 * @return the translated string
-	 */
-	public static String getResource(String key, String s) {
-		try {
-			return MessageFormat.format(getResource(key), new String[] { s });
-		} catch (Exception e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Register an image with the registry.
-	 * 
-	 * @param key the key
-	 * @param partialURL
-	 */
-	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.SEVERE, "Error registering image", e);
-		}
-	}
-
-	/**
-	 * Start this plug-in.
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-
-		getPreferenceStore().setDefault(MonitorUIPlugin.SHOW_VIEW_ON_ACTIVITY, true);
-		
-		MonitorCore.addMonitorListener(monitorListener);
-		
-		IMonitor[] monitors = MonitorCore.getMonitors();
-		if (monitors != null) {
-			int size = monitors.length;
-			for (int i = 0; i < size; i++) {
-				monitors[i].addRequestListener(requestListener);
-			}
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		
-		IMonitor[] monitors = MonitorCore.getMonitors();
-		if (monitors != null) {
-			int size = monitors.length;
-			for (int i = 0; i < size; i++) {
-				monitors[i].removeRequestListener(requestListener);
-			}
-		}
-		
-		MonitorCore.removeMonitorListener(monitorListener);
-	}
-
-	public static boolean getDefaultShowOnActivityPreference() {
-		return getInstance().getPreferenceStore().getDefaultBoolean(SHOW_VIEW_ON_ACTIVITY);
-	}
-
-	public static boolean getShowOnActivityPreference() {
-		return getInstance().getPreferenceStore().getBoolean(SHOW_VIEW_ON_ACTIVITY);
-	}
-
-	public static void setShowOnActivityPreference(boolean b) {
-		getInstance().getPreferenceStore().setValue(SHOW_VIEW_ON_ACTIVITY, b);
-		getInstance().savePluginPreferences();
-	}
-
-	public static boolean getShowHeaderPreference() {
-		return getInstance().getPreferenceStore().getBoolean(SHOW_HEADER);
-	}
-
-	public static void setShowHeaderPreference(boolean b) {
-		getInstance().getPreferenceStore().setValue(SHOW_HEADER, b);
-		getInstance().savePluginPreferences();
-	}
-	
-	/**
-	 * Convenience method to parse the given bytes into String form. The bytes
-	 * are parsed into a line delimited string. The byte array must not be null.
-	 * 
-	 * @param b a byte array
-	 * @return the string after the conversion
-	 */
-	public static String parse(byte[] b) {
-		if (b == null)
-			throw new IllegalArgumentException();
-
-		ByteArrayInputStream bin = new ByteArrayInputStream(b);
-		BufferedReader br = new BufferedReader(new InputStreamReader(bin));
-		StringBuffer sb = new StringBuffer();
-		try {
-			String s = br.readLine();
-			
-			while (s != null) {
-				sb.append(s);
-				s = br.readLine();
-				if (s != null)
-					sb.append(lineSeparator);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error parsing input", e);
-		}
-		
-		return sb.toString();
-	}
-	
-	public void addRequest(Request request) {
-		if (!requests.contains(request))
-			requests.add(request);
-	}
-
-	/**
-	 * Returns a list of the current requests.
-	 *
-	 * @return java.util.List
-	 */
-	public Request[] getRequests() {
-		Request[] r = new Request[requests.size()];
-		requests.toArray(r);
-		return r;
-	}
-	
-	public void clearRequests() {
-		requests = new ArrayList();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java
deleted file mode 100644
index be7e24e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.wst.internet.monitor.core.Request;
-/**
- * An action filter for requests.
- */
-public class RequestActionFilter implements IActionFilter{
-	public static final String REQUEST_SENT = "requestsent";
-
-	/**
-	 * @see IActionFilter#testAttribute(Object, String, String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		Request request = (Request) target;
-		if (name.equals(REQUEST_SENT)) {
-			if (value.equals("true"))
-				return request.getResponseTime() != -1;
-			
-			return request.getResponseTime() == -1;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java
deleted file mode 100644
index ac7d685..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IActionFilter;
-/**
- * Adapter factory to adapt Requests to IActionFilter.
- */
-public class RequestAdapterFactory implements IAdapterFactory {
-	private RequestActionFilter reqActionFilter = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType == IActionFilter.class) {
-			if (reqActionFilter == null) {
-				reqActionFilter = new RequestActionFilter();
-			}
-			return reqActionFilter;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IActionFilter.class };
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java
deleted file mode 100644
index fed03ff..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.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.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;
-/**
- * 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);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	public static Button createCheckbox(Composite comp, String txt, boolean isSelected){
-		Button button = new Button(comp, SWT.CHECK);
-		button.setText(txt);
-		GridLayout layout = new GridLayout();
-		comp.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalIndent = 10;
-		button.setLayoutData(data);
-		button.setSelection(isSelected);
-		return button;
-	}
-	
-	public static Label createLabel(Composite comp, String txt) {
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(txt);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		return label;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java
deleted file mode 100644
index 1b83e00..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.wst.internet.monitor.core.internal.IStartup;
-/**
- * Startup hook.
- */
-public class Startup implements IStartup {
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.IStartup#startup()
-	 */
-	public void startup() {
-		// do nothing - plugin loading is enough
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
deleted file mode 100644
index df3d955..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static byte CONFIG = 0;
-	public static byte WARNING = 1;
-	public static byte SEVERE = 2;
-	public static byte FINEST = 3;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param 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 (!MonitorUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java
deleted file mode 100644
index cc79b00..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-/**
- * 
- */
-public class FilterAction extends Action {
-	protected IViewerManager vm;
-	protected IContentFilter filter;
-	protected boolean enabled;
-
-	public FilterAction(IViewerManager vm, IContentFilter filter) {
-		super(filter.getName(), IAction.AS_CHECK_BOX);
-		this.vm = vm;
-		this.filter = filter;
-	}
-	
-	public void run() {
-		if (!isChecked())
-			vm.removeFilter(filter);
-		else
-			vm.addFilter(filter);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/IViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/IViewerManager.java
deleted file mode 100644
index c684b39..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/IViewerManager.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-import org.eclipse.wst.internet.monitor.ui.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer;
-/**
- * Manager interface for TCP/IP request and response message viewers
- */
-public interface IViewerManager {
-	/**
-	 * Set whether or not to show HTTP header details.
-	 * 
-	 * @param b boolean
-	 */
-	public void setDisplayHeaderInfo(boolean b);
-	
-	/**
-	 * Returns whether or not HTTP header details is showing.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getDisplayHeaderInfo();
-	
-	/**
-	 * Show the TCP/IP request message in a parent Composite
-	 * 
-	 * @param request the request
-	 */
-	public void setRequest(Request request);
-	
-	/**
-	 * Returns an array of the available TCP/IP request viewer ids
-	 * 
-	 * @return a list of request viewers
-	 */
-	public List getRequestViewers();
-	
-	/**
-	 * Returns an array of the available TCP/IP response viewer ids
-	 * 
-	 * @return a list of response viewers
-	 */
-	public List getResponseViewers();
-	
-	/**
-	 * Set the TCP/IP request message viewer
-	 * 
-	 * @param element
-	 */
-	public void setRequestViewer(IConfigurationElement element);
-	
-	/**
-	 * Set the TCP/IP response message viewer
-	 * 
-	 * @param element
-	 */
-	public void setResponseViewer(IConfigurationElement element);
-	
-	/**
-	 * 
-	 * @param filter
-	 */
-	public void addFilter(IContentFilter filter);
-	
-	/**
-	 * 
-	 * @param filter
-	 */
-	public void removeFilter(IContentFilter filter);
-	
-	/**
-	 * Return the current request viewer.
-	 * 
-	 * @return the current request viewer
-	 */
-	public ContentViewer getCurrentRequestViewer();
-	
-	/**
-	 * Return the current request header viewer.
-	 * 
-	 * @return the current request header viewer
-	 */
-	public HeaderViewer getCurrentRequestHeaderViewer();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java
deleted file mode 100644
index 4f620ef..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-/**
- * Modify the selected message. Creates a new resendrequest and adds it
- * to the tree.
- */
-public class ModifyMessageAction implements IViewActionDelegate{
-	ISelection selection = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selection != null) {
-			Object element = ((StructuredSelection) selection).getFirstElement();
-			if (element != null && element instanceof Request) {
-				Request req = (Request) element;
-				ResendHTTPRequest newReq = MonitorManager.createResendRequest(req);
-				MonitorManager.getInstance().addResendRequest(req, newReq);
-				TreeViewer treeViewer = MonitorView.view.treeViewer;
-				treeViewer.add(req, newReq);
-				treeViewer.setSelection(new StructuredSelection(newReq), false);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection2) {
-		this.selection = selection2;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
deleted file mode 100644
index 682d767..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * Content provider for the monitor server view.
- */
-public class MonitorTreeContentProvider implements ITreeContentProvider{
-	protected static final String ROOT = "root";
-
-	protected boolean sortByResponseTime;
-
-	/**
-	 * ProxyTreeContentProvider constructor comment.
-	 */
-	public MonitorTreeContentProvider() {
-		super();
-	}
-
-	/**
-	 * Disposes of this content provider.
-	 * <p>
-	 * [Issue: This method should be changed to take a Viewer,
-	 * renamed and repurposed to disconnect a content provider from
-	 * a viewer. This is over and above what inputChanged does,
-	 * which is disconnecting a content provider from the viewer's
-	 * input (but not the viewer itself).
-	 * ]
-	 * </p>
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Returns an iterator over the child elements of the given element.
-	 * <p>
-	 * Note: 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 node in the tree
-	 * (including a root).
-	 * </p>
-	 * <p>
-	 * [Issue: Don't know what above is trying to say.
-	 *  See IStructuredContentProvider.getElements.
-	 * ]
-	 * </p>
-	 *
-	 * @param element the element
-	 * @return an iterator over the child elements 
-	 *    (element type: <code>Object</code>)
-	 */
-	public Object[] getChildren(Object element) {
-		if (element instanceof Integer) {
-			Integer in = (Integer) element;
-			List list = new ArrayList();
-			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
-			if (requests != null) {
-				int size = requests.length;
-				for (int i = 0; i < size; i++) {
-					Request req = requests[i];
-					if ((req.getLocalPort() == in.intValue())
-							&& !(req instanceof ResendHTTPRequest))
-						list.add(req);
-				}
-			}
-			if (sortByResponseTime)
-				sortByResponseTime(list);
-			return list.toArray();
-		} else if (element instanceof Request) {
-			Request req = (Request) element;
-			ResendHTTPRequest[] rr = MonitorManager.getInstance().getResendRequests(req);
-			List list = new ArrayList();
-			if (rr != null) {
-				int size = rr.length;
-				for (int i = 0; i < size; i++) {
-					list.add(rr[i]);
-				}
-			}
-			if (sortByResponseTime)
-				sortByResponseTime(list);
-			return list.toArray();
-		}
-		return null;
-	}
-
-	/*
-	 * Returns an iterator over the elements belonging to the
-	 * given element. These elements can be presented as rows in a table,
-	 * items in a list, etc.
-	 */
-	public Object[] getElements(Object element) {
-		if (ROOT.equals(element)) {
-			List list = new ArrayList();
-			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
-			if (requests != null) {
-				int size = requests.length;
-				for (int i = 0; i < size; i++) {
-					Request req = requests[i];
-					Integer in = new Integer(req.getLocalPort());
-					if (!list.contains(in))
-						list.add(in);
-				}
-			}
-			if (sortByResponseTime)
-				sortByResponseTime(list);
-			return list.toArray();
-		}
-		return getChildren(element);
-	}
-
-	/*
-	 * Returns the parent for the given element, or <code>null</code> 
-	 * indicating that the parent can't be computed. 
-	 */
-	public Object getParent(Object element) {
-		if (element != null) {
-			if (element instanceof Integer)
-				return ROOT;
-			Request call = (Request) element;
-			if (call instanceof ResendHTTPRequest) {
-				ResendHTTPRequest callResend = (ResendHTTPRequest) call;
-				Request parent = callResend.getOriginalRequest();
-				if (parent != null)
-					return parent;
-			}
-			return new Integer(call.getLocalPort());
-		}
-		return null;
-	}
-
-	/*
-	 * Returns true if the elements are currently being sorted by response time.
-	 */
-	public boolean getSortByResponseTime() {
-		return sortByResponseTime;
-	}
-
-	/*
-	 * Returns whether the given element has children.
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof Integer)
-			return true;
-		if (element instanceof Request)
-			return MonitorManager.getInstance().getResendRequests((Request) element).length > 0; 
-		
-		return false;
-	}
-
-	/*
-	 * 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) {
-		// do nothing
-	}
-
-	/**
-	 * Sets the sort by response time option.
-	 * @param b boolean
-	 */
-	public void setSortByResponseTime(boolean b) {
-		sortByResponseTime = b;
-	}
-
-	/**
-	 * 
-	 */
-	protected void sortByResponseTime(List list) {
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				Request c1 = (Request) list.get(i);
-				Request c2 = (Request) list.get(j);
-				if (c1.getResponseTime() < c2.getResponseTime()) {
-					list.set(i, c2);
-					list.set(j, c1);
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
deleted file mode 100644
index a4313f7..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.text.SimpleDateFormat;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.SashForm;
-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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.wst.internet.monitor.core.*;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.ui.internal.*;
-/**
- * View of TCP/IP activity.
- */
-public class MonitorView extends ViewPart {
-	protected Tree tree;
-	protected TreeViewer treeViewer;
-	protected MonitorTreeContentProvider contentProvider;
-
-	protected IRequestListener listener;
-	protected IViewerManager vm;
-	protected List requestViewers;
-	protected List responseViewers;
-
-	protected static SimpleDateFormat format = new SimpleDateFormat(MonitorUIPlugin.getResource("%viewDateFormat"));
-	protected static final String VIEW_ID = "org.eclipse.wst.internet.monitor.view";
-	protected static final String DEFAULT_VIEWER = "org.eclipse.wst.internet.monitor.viewers.byteviewer";
-
-	protected IAction httpHeaderAction;
-	
-	public static MonitorView view;
-	
-	protected Request currentRequest = null;
-	protected StructuredSelection currentSelection = null;
-
-	/**
-	 * MonitorView constructor comment.
-	 */
-	public MonitorView() {
-		super();
-		view = this;
-	}
-
-	public void doRequestAdded(final Request rr) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (!(rr instanceof ResendHTTPRequest)) {
-				  Integer in = new Integer(rr.getLocalPort());
-				  treeViewer.add(MonitorTreeContentProvider.ROOT, in);
-				  treeViewer.add(in, rr); 
-				  treeViewer.setSelection(new StructuredSelection(rr), true);
-				}
-			}
-		});
-	}
-
-	public void doRequestChanged(final Request rr) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				IStructuredSelection sel = (IStructuredSelection) treeViewer.getSelection();
-				
-				treeViewer.refresh(rr);
-				if (!sel.isEmpty())
-					treeViewer.setSelection(sel);
-			}
-		});
-	}
-
-	/**
-	 * Clear the view.
-	 */
-	protected void clear() {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				treeViewer.setSelection(null);
-				treeViewer.setInput(MonitorTreeContentProvider.ROOT);
-			}
-		});
-	}
-	
-	protected void setSelection(Request request) {
-		if (treeViewer != null)
-			treeViewer.setSelection(new StructuredSelection(request));
-	}
-
-	/**
-	 * Returns the inner component in a desktop part.
-	 */
-	public void createPartControl(Composite parent) {
-		SashForm sashFparent = new SashForm(parent, SWT.VERTICAL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = 4;
-		layout.verticalSpacing = 4;
-		sashFparent.setLayout(layout);
-		sashFparent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(sashFparent, ContextIds.VIEW);
-		
-		// create tree panel
-		Composite treePanel = new Composite(sashFparent, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		treePanel.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.heightHint = 110;
-		data.horizontalSpan = 2;
-		treePanel.setLayoutData(data);
-	
-		tree = new Tree(treePanel, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-		data = new GridData(GridData.FILL_BOTH);
-		//data.widthHint = 120;
-		tree.setLayoutData(data);
-		treeViewer = new TreeViewer(tree);
-		contentProvider = new MonitorTreeContentProvider();
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setInput(MonitorTreeContentProvider.ROOT);
-		treeViewer.setLabelProvider(new TreeLabelProvider());
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(tree, ContextIds.VIEW_TREE);
-	
-		Composite detailsPanel = new Composite(treePanel, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 2;
-		layout.marginWidth = 0;
-		detailsPanel.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		data.widthHint = 200;
-		detailsPanel.setLayoutData(data);
-
-		final Label label = new Label(detailsPanel, SWT.NONE);
-		label.setText(MonitorUIPlugin.getResource("%viewTime", ""));
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-		final Label label2 = new Label(detailsPanel, SWT.NONE);
-		label2.setText(MonitorUIPlugin.getResource("%viewResponseTime", ""));
-		label2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-		final Label label3 = new Label(detailsPanel, SWT.NONE);
-		label3.setText(MonitorUIPlugin.getResource("%viewType", ""));
-		label3.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-		// create center and right panels
-		SashForm sashFchild = new SashForm(sashFparent, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = 2;
-		layout.verticalSpacing = 4;
-		sashFchild.setLayout(layout);
-		sashFparent.setWeights(new int[] { 30, 70 });
-	
-		// request panel
-		Composite request = new Composite(sashFchild, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 3;
-		layout.marginHeight = 2;
-		layout.marginWidth = 0;
-		request.setLayout(layout);
-		request.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Composite requestHeader = new Composite(request, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 1;
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 2;
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		requestHeader.setLayout(layout);
-		requestHeader.setLayoutData(data);
-
-		final Label requestLabel = new Label(requestHeader, SWT.NONE);
-		requestLabel.setText(MonitorUIPlugin.getResource("%viewRequest", ""));
-		requestLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Combo requestViewerCombo = new Combo(requestHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		data.verticalSpan = 2;
-		requestViewerCombo.setLayoutData(data);
-
-		final Label requestSizeLabel = new Label(requestHeader, SWT.NONE);
-		requestSizeLabel.setText(MonitorUIPlugin.getResource("%viewSize", ""));
-		requestSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// response panel
-		Composite response = new Composite(sashFchild, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 3;
-		layout.marginHeight = 2;
-		layout.marginWidth = 0;
-		response.setLayout(layout);
-		response.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Composite responseHeader = new Composite(response, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 1;
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 2;
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		responseHeader.setLayout(layout);
-		responseHeader.setLayoutData(data);
-
-		final Label responseLabel = new Label(responseHeader, SWT.NONE);
-		responseLabel.setText(MonitorUIPlugin.getResource("%viewResponse", ""));
-		responseLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Combo responseViewerCombo = new Combo(responseHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		data.verticalSpan = 2;
-		responseViewerCombo.setLayoutData(data);
-	
-		final Label responseSizeLabel = new Label(responseHeader, SWT.NONE);
-		responseSizeLabel.setText(MonitorUIPlugin.getResource("%viewSize", ""));
-		responseSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
-		// viewer manager
-		vm = new ViewerManager(request, request, response, response);
-		requestViewers = vm.getRequestViewers();
-		responseViewers = vm.getResponseViewers();
-
-		// set up the viewer combo boxes
-		Iterator iterator = requestViewers.iterator();
-		int ctr = 0;
-		while (iterator.hasNext()) {
-			IConfigurationElement element = (IConfigurationElement) iterator.next();
-			requestViewerCombo.add(element.getAttribute("label"), ctr);
-			if (element.getAttribute("id").equals(DEFAULT_VIEWER)) {
-				requestViewerCombo.select(ctr); 
-				vm.setRequestViewer(element);
-			}  
-			ctr++;	
-		}
-		requestViewerCombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent arg0) {
-				Combo rvCombo = (Combo) arg0.getSource();
-				vm.setRequestViewer((IConfigurationElement) requestViewers.get(rvCombo.getSelectionIndex()));
-			}
-		});
-		requestHeader.layout(true);
-		
-		iterator = responseViewers.iterator();
-		ctr = 0;
-		while(iterator.hasNext()) {
-			IConfigurationElement element = (IConfigurationElement) iterator.next();
-			responseViewerCombo.add(element.getAttribute("label"), ctr);
-			if(element.getAttribute("id").equals(DEFAULT_VIEWER)) {
-				responseViewerCombo.select(ctr); 
-				vm.setResponseViewer(element);
-			} 
-			ctr++;
-		}
-		responseViewerCombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent arg0) {
-				Combo rvCombo = (Combo) arg0.getSource();
-				vm.setResponseViewer((IConfigurationElement) requestViewers.get(rvCombo.getSelectionIndex()));
-			}
-		});
-		responseHeader.layout(true);
-
-		// selection listener
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-
-				Request req = null;
-				if (selection != null && !selection.isEmpty()) {
-					StructuredSelection sel = (StructuredSelection) selection;
-					currentSelection = sel;
-					Object obj = sel.iterator().next();
-					if (obj instanceof Request)
-						req = (Request) obj;
-				}
-	
-				if (req != null) {
-					label.setText(MonitorUIPlugin.getResource("%viewTime", format.format(req.getDate())));
-	
-					if (req.getResponseTime() == -1)
-						label2.setText(MonitorUIPlugin.getResource("%viewResponseTime", ""));
-					else {
-						String time = MonitorUIPlugin.getResource("%viewResponseTimeFormat", req.getResponseTime() + "");
-						label2.setText(MonitorUIPlugin.getResource("%viewResponseTime", time));
-					}
-					label3.setText(MonitorUIPlugin.getResource("%viewType", req.getProtocol()));
-	
-					// request information
-					requestLabel.setText(MonitorUIPlugin.getResource("%viewRequest", "localhost:" + req.getLocalPort()));
-					requestSizeLabel.setText(getSizeString(req.getRequest(Request.CONTENT), req.getRequest(Request.ALL)));
-	
-					// response information
-					responseLabel.setText(MonitorUIPlugin.getResource("%viewResponse", req.getRemoteHost() + ":" + req.getRemotePort()));
-					responseSizeLabel.setText(getSizeString(req.getResponse(Request.CONTENT), req.getResponse(Request.ALL)));
-
-					vm.setRequest(req);
-				} else {
-					label.setText(MonitorUIPlugin.getResource("%viewTime", ""));
-					label2.setText(MonitorUIPlugin.getResource("%viewResponseTime", ""));
-					requestLabel.setText(MonitorUIPlugin.getResource("%viewRequest", ""));
-					requestSizeLabel.setText(MonitorUIPlugin.getResource("%viewSize", ""));
-					responseLabel.setText(MonitorUIPlugin.getResource("%viewResponse", ""));
-					responseSizeLabel.setText(MonitorUIPlugin.getResource("%viewSize", ""));
-					vm.setRequest(req);
-				}
-				currentRequest = req;
-			}
-		});
-		treeViewer.expandToLevel(2);
-		
-		// create a menu manager for a context menu
-		MenuManager menuManager = new MenuManager();
-		menuManager.setRemoveAllWhenShown(true);
-		menuManager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				mgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-			}
-		});
-
-		// create the menu
-		Menu menu = menuManager.createContextMenu(treeViewer.getControl());
-		treeViewer.getControl().setMenu(menu);
-		
-		// register the menu with the platform
-		getSite().registerContextMenu(menuManager, treeViewer);
-        
-		initializeActions();
-	}
-	
-	protected String getSizeString(byte[] a, byte[] b) {
-		String aa = "0";
-		String bb = "0";
-		if (a != null)
-			aa = a.length + "";
-		if (b != null)
-			bb = b.length + "";
-		String size = MonitorUIPlugin.getResource("%viewSizeFormat", new Object[] { aa, bb});
-		return MonitorUIPlugin.getResource("%viewSize", size);
-	}
-
-	public void dispose() {
-		super.dispose();
-		treeViewer = null;
-		view = null;
-	}
-
-	/**
-	 * 
-	 */
-	public void initializeActions() {
-		final IAction sortByResponseTimeAction = new Action() {
-			public void run() {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						boolean b = contentProvider.getSortByResponseTime();
-						contentProvider.setSortByResponseTime(!b);
-						treeViewer.refresh();
-						setChecked(!b);
-					}
-				});
-			}
-		};
-		sortByResponseTimeAction.setChecked(false);
-		sortByResponseTimeAction.setToolTipText(MonitorUIPlugin.getResource("%actionSortByResponseTime"));
-		sortByResponseTimeAction.setImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_ELCL_SORT_RESPONSE_TIME));
-		sortByResponseTimeAction.setHoverImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_CLCL_SORT_RESPONSE_TIME));
-		sortByResponseTimeAction.setDisabledImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_DLCL_SORT_RESPONSE_TIME));
-	
-		IAction clearAction = new Action() {
-			public void run() {
-				MonitorUIPlugin.getInstance().clearRequests();
-			}
-		};
-		clearAction.setToolTipText(MonitorUIPlugin.getResource("%actionClearToolTip"));
-		clearAction.setImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_ELCL_CLEAR));
-		clearAction.setHoverImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_CLCL_CLEAR));
-		clearAction.setDisabledImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_DLCL_CLEAR));
-
-		httpHeaderAction = new Action() {
-			public void run() {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						boolean b = vm.getDisplayHeaderInfo();
-						vm.setDisplayHeaderInfo(!b);
-						setChecked(!b);
-					}
-				});
-			}
-		};
-		httpHeaderAction.setChecked(vm.getDisplayHeaderInfo());
-		httpHeaderAction.setText(MonitorUIPlugin.getResource("%actionShowHeader"));
-
-		IAction preferenceAction = new Action() {
-			public void run() {
-				showPreferencePage();
-			}
-		};
-		preferenceAction.setText(MonitorUIPlugin.getResource("%actionProperties"));
-		
-		
-		IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager();
-		tbm.add(sortByResponseTimeAction);
-		tbm.add(clearAction);
-		
-		IContentFilter[] filters = MonitorPlugin.getInstance().getContentFilters();
-		IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
-		menuManager.add(httpHeaderAction);
-		int size = filters.length;
-		for (int i = 0; i < size; i++) {
-			FilterAction action = new FilterAction(vm, filters[i]);
-			menuManager.add(action);
-		}
-		menuManager.add(preferenceAction);
-	}
-
-	protected boolean showPreferencePage() {
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.internet").findSubNode("org.eclipse.wst.internet.monitor.preferencePage");
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		
-		final PreferenceDialog dialog = new PreferenceDialog(getSite().getShell(), manager2);
-		final boolean[] result = new boolean[] { false };
-		BusyIndicator.showWhile(getSite().getShell().getDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				if (dialog.open() == Window.OK)
-					result[0] = true;
-			}
-		});
-		return result[0];
-	}
-
-	/**
-	 * 
-	 */
-	public static void open(final Request request) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					IWorkbench workbench = MonitorUIPlugin.getInstance().getWorkbench();
-					IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-	
-					IWorkbenchPage page = workbenchWindow.getActivePage();
-	
-					IViewPart view2 = page.findView(VIEW_ID);
-					
-					if (view2 != null)
-						page.bringToTop(view2);
-					else
-						page.showView(VIEW_ID);
-
-					if (view != null)
-						view.setSelection(request);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error opening TCP/IP view", e);
-				}
-			}
-		});
-	}
-
-	/**
-	 * 
-	 */
-	public void setFocus() {
-		if (tree != null)
-			tree.setFocus();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java
deleted file mode 100644
index 06c7576..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-/**
- * Resends the selected request and adds the result to the request/response tree.
- */
-public class ResendMessageAction implements IViewActionDelegate{
-	protected ISelection selection = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selection != null) {
-			Object element = ((StructuredSelection) selection).getFirstElement();
-			if (element != null && element instanceof Request) {
-				Request req = (Request) element;
-				ResendHTTPRequest newReq = MonitorManager.createResendRequest(req);
-				MonitorManager.getInstance().addResendRequest(req, newReq);
-				TreeViewer treeViewer = MonitorView.view.treeViewer;
-				treeViewer.add(req, newReq);
-				treeViewer.setSelection(new StructuredSelection(newReq), false);
-				newReq.sendRequest();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection2) {
-		this.selection = selection2;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java
deleted file mode 100644
index 3829dbb..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.ui.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer;
-/**
- * Send a modified message.
- */
-public class SendModifiedMessageAction implements IViewActionDelegate{
-	ISelection selection = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selection != null) {
-			Object element = ((StructuredSelection) selection).getFirstElement();
-			if (element != null && element instanceof ResendHTTPRequest) {
-				ResendHTTPRequest req = (ResendHTTPRequest) element;
-				ContentViewer curViewer = MonitorView.view.vm.getCurrentRequestViewer();
-				HeaderViewer curHeaderViewer = MonitorView.view.vm.getCurrentRequestHeaderViewer();
-				req.setRequest(curViewer.getContent(), Request.CONTENT);
-				
-				if (curHeaderViewer != null)
-					req.setRequest(curHeaderViewer.getContent(), Request.TRANSPORT);
-
-				req.sendRequest();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection2) {
-		this.selection = selection2;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java
deleted file mode 100644
index bbe8a50..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * A label provider for the monitor server view.
- */
-public class TreeLabelProvider implements ILabelProvider {
-	/**
-	 * TreeLabelProvider constructor comment.
-	 */
-	public TreeLabelProvider() {
-		super();
-	}
-
-	/*
-	 * Adds a listener to this label provider.
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	/*
-	 * Disposes of this label provider.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/*
-	 * Returns the image for the label of the given element for use
-	 * in the given viewer.
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof Request) {
-			if (element instanceof ResendHTTPRequest) {
-				if (!((ResendHTTPRequest) element).hasBeenSent())
-					return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_RESEND_REQUEST_RESPONSE);
-			}
-			return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_REQUEST_RESPONSE);
-		}
-		return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_HOST);
-	}
-
-	/*
-	 * Returns the text for the label of the given element for use
-	 * in the given viewer.
-	 */
-	public String getText(Object element) {
-		if (element instanceof Request) {
-			Request call = (Request) element;
-			return call.getName();
-		} else if (element instanceof Integer) {
-			Integer in = (Integer) element;
-			return "localhost:" + in.intValue();
-		} else
-			return element.toString();
-	}
-
-	/*
-	 * Returns whether the label would be affected 
-	 * by a change to the given property of the given element.
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-	
-	/*
-	 * Removes a listener to this label provider.
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
deleted file mode 100644
index 3213c2b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.internet.monitor.core.*;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.ui.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.Trace;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.ByteViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer;
-/**
- * 
- */
-public class ViewerManager implements IViewerManager{
-	private boolean displayHeaderInf;
-
-	protected ContentViewer reqViewer;
-	protected ContentViewer respViewer;
-
-	protected HeaderViewer reqHeader;
-	protected HeaderViewer respHeader;
-
-	protected Composite reqHComp;
-	protected Composite reqVComp;
-
-	protected Composite respHComp;
-	protected Composite respVComp;
-
-	protected List viewers;
-
-	protected Request request;
-
-	protected List filters = new ArrayList();
-
-	public ViewerManager(Composite reqHeadParent, Composite reqViewParent, Composite respHeadParent, Composite respViewParent) {
-		reqHComp = reqHeadParent;
-		respHComp = respHeadParent;
-		reqVComp = reqViewParent;
-		respVComp = respViewParent;
-		reqHeader = new HeaderViewer(reqHComp, HeaderViewer.REQUEST_HEADER);
-		respHeader = new HeaderViewer(respHComp, HeaderViewer.RESPONSE_HEADER);
-		reqViewer = new ByteViewer();
-		reqViewer.init(reqVComp);
-		respViewer = new ByteViewer();
-		respViewer.init(respVComp);
-		setDisplayHeaderInfo(MonitorUIPlugin.getShowHeaderPreference());
-		setAvailableViewers();
-	}
-
-	private void setAvailableViewers() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorUIPlugin.PLUGIN_ID, "viewers");
-		int size = cf.length;
-		viewers = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			viewers.add(cf[i]);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.view.IViewerManager#setDisplayHeaderInfo(boolean)
-	 */
-	public void setDisplayHeaderInfo(boolean b) {
-		displayHeaderInf = b;
-		reqHeader.setDisplayHeader(b);
-		respHeader.setDisplayHeader(b);
-		MonitorUIPlugin.setShowHeaderPreference(b);
-		if (b) {
-			reqHeader.setEditable(false);
-			if (request instanceof ResendHTTPRequest && request.getResponse(Request.TRANSPORT) == null) {
-				reqHeader.setEditable(true);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.view.IViewerManager#getDisplayHeaderInfo()
-	 */
-	public boolean getDisplayHeaderInfo() {
-		return displayHeaderInf;
-	}
-
-	public void setRequest(Request rr) {
-		// maintain the state of the request and request header if they've been modified.
-		if (request instanceof ResendHTTPRequest && request.getResponse(Request.ALL) == null) {
-			ResendHTTPRequest resRequest = (ResendHTTPRequest) request;
-			//EditableContentViewer editViewer = (ContentViewer) reqViewer;
-			byte[] content = reqViewer.getContent();
-			byte[] b = resRequest.getRequest(Request.CONTENT);
-			if (content != null && b != null && !MonitorUIPlugin.parse(b).equals(MonitorUIPlugin.parse(content))) {
-				resRequest.setRequest(content, Request.CONTENT);
-			}
-			byte[] header = reqHeader.getContent();
-			b = resRequest.getRequest(Request.TRANSPORT);
-			if (header != null && b != null && !MonitorUIPlugin.parse(b).equals(MonitorUIPlugin.parse(header))) {
-				resRequest.setRequest(header, Request.TRANSPORT);
-			}
-		}
-		reqHeader.setRequestResponse(rr);
-		respHeader.setRequestResponse(rr);
-		byte[] b = null;
-		if (rr != null)
-			b = filter(rr.getRequest(Request.CONTENT));
-		reqViewer.setContent(b);
-		b = null;
-		if (rr != null)
-			b = filter(rr.getResponse(Request.CONTENT));
-		respViewer.setContent(b);
-		request = rr;
-		// Set the editor to editable if the request hasn't  been sent and the
-		// editor can be set as editable.
-		if (request instanceof ResendHTTPRequest && request.getResponse(Request.ALL) == null) {
-			if (displayHeaderInf) {
-				reqHeader.setEditable(true);
-			}
-			reqViewer.setEditable(true);
-		} else {
-			if (displayHeaderInf) {
-				reqHeader.setEditable(false);
-			}
-			reqViewer.setEditable(false);
-		}
-	}
-
-	public void addFilter(IContentFilter filter) {
-		filters.add(filter);
-		setRequest(request);
-	}
-
-	public void removeFilter(IContentFilter filter) {
-		filters.remove(filter);
-		setRequest(request);
-	}
-
-	protected byte[] filter(byte[] b) {
-		if (b == null)
-			return null;
-		Iterator iterator = filters.iterator();
-		while (iterator.hasNext()) {
-			IContentFilter filter = (IContentFilter) iterator.next();
-			try {
-				b = filter.filter(request, false, b);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error while filtering with " + filter.getId(), e);
-			}
-		}
-		return b;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getRequestViewers()
-	 */
-	public List getRequestViewers() {
-		IConfigurationElement element;
-		Iterator iterator = viewers.iterator();
-		List temp = new ArrayList();
-		while (iterator.hasNext()) {
-			element = (IConfigurationElement) iterator.next();
-			if (element.getAttribute("type").toLowerCase().indexOf("request") >= 0)
-				temp.add(element);
-		}
-		return temp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getResponseViewers()
-	 */
-	public List getResponseViewers() {
-		IConfigurationElement element;
-		Iterator iterator = viewers.iterator();
-		List temp = new ArrayList();
-		while (iterator.hasNext()) {
-			element = (IConfigurationElement) iterator.next();
-			if (element.getAttribute("type").toLowerCase().indexOf("response") >= 0)
-				temp.add(element);
-		}
-		return temp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setRequestViewer(java.lang.String)
-	 */
-	public void setRequestViewer(IConfigurationElement element) {
-		// Call set request to save and reset the request.
-		setRequest(request);
-		reqViewer.dispose();
-		try {
-			reqViewer = (ContentViewer) element.createExecutableExtension("class");
-		} catch (CoreException e) {
-			Trace.trace(Trace.SEVERE, "Error", e);
-		}
-		reqViewer.init(reqVComp);
-		//reqViewer.setRequestResponse(rr);
-		byte[] b = null;
-		if (request != null) {
-			b = filter(request.getRequest(Request.CONTENT));
-			// set the editor to editable if the request hasn't been sent and the
-			// editor can be set as editable
-			if (request instanceof ResendHTTPRequest && request.getResponse(Request.TRANSPORT) == null) {
-				reqViewer.setEditable(true);
-			} else {
-				reqViewer.setEditable(false);
-			}
-		}
-		reqViewer.setContent(b);
-		reqVComp.layout(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setResponseViewer(java.lang.String)
-	 */
-	public void setResponseViewer(IConfigurationElement element) {
-		respViewer.dispose();
-		try {
-			respViewer = (ContentViewer) element.createExecutableExtension("class");
-		} catch (CoreException e) {
-			Trace.trace(Trace.SEVERE, "Error", e);
-		}
-		respViewer.init(respVComp);
-		//respViewer.setRequestResponse(rr);
-		byte[] b = null;
-		if (request != null)
-			b = filter(request.getResponse(Request.CONTENT));
-		respViewer.setContent(b);
-		respVComp.layout(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.internal.view.IViewerManager#getCurrentRequestViewer()
-	 */
-	public ContentViewer getCurrentRequestViewer() {
-		return reqViewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.internal.view.IViewerManager#getCurrentRequestHeaderViewer()
-	 */
-	public HeaderViewer getCurrentRequestHeaderViewer() {
-		return reqHeader;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
deleted file mode 100644
index bab14b1..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.viewers;
- 
-import org.eclipse.jface.resource.JFaceResources;
-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.Display;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.ui.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * A basic byte viewer.
- */
-public class ByteViewer extends ContentViewer {
-	protected Text text;
-	protected Composite comp;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#dispose()
-	 */
-	public void dispose() {
-		comp.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#setContent()
-	 */
-	public void setContent(byte[] b) {
-		String out = "";
-		if (b != null)
-			out = MonitorUIPlugin.parse(b);
-
-		String lineSeparator = System.getProperty("line.separator");
-		int ls = lineSeparator.length();
-		if (out.length() > ls) {
-			while (out.substring(0, ls).indexOf(lineSeparator) >= 0)
-				out = out.substring(ls, out.length()); 
-		}
-		
-		text.setText(out);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {
-		comp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		comp.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		comp.setLayoutData(data);
-
-		text = new Text(comp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-		Display display = comp.getDisplay();
-		text.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		text.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-		text.setFont(JFaceResources.getTextFont());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(text, ContextIds.VIEW_RESPONSE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IEditableContentViewer#setEditable(boolean)
-	 */
-	public void setEditable(boolean editable) {
-		text.setEditable(editable);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IEditableContentViewer#getContent()
-	 */
-	public byte[] getContent() {
-		if (text == null) {
-			return new byte[0];
-		}
-		String content = text.getText().trim();
-		if (content.equals("")) {
-			return new byte[0];
-		}
-		// Need to ensure that there is a newline at the end of the content.
-		// getBytes() removes the newline.
-		byte[] twoNewlines = new byte[] { '\015', '\012' };
-		byte[] contentBytes = content.getBytes();
-		byte[] retBytes = new byte[contentBytes.length + 2];
-		System.arraycopy(contentBytes, 0, retBytes, 0, contentBytes.length);
-		System.arraycopy(twoNewlines, 0, retBytes, contentBytes.length, 2);
-		return retBytes;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
deleted file mode 100644
index faeced0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.viewers;
-
-import org.eclipse.jface.resource.JFaceResources;
-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.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.core.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * An transport (header) viewer.
- */
-public class HeaderViewer {
-	protected boolean displayHeader;
-
-	protected Composite headerComp;
-	protected Composite innerComp;
-	protected Composite rootComp;
-
-	protected Label headerLabel;
-	protected Text headerText;
-	protected Request rr;
-	protected byte msg;
-	protected GridLayout layout;
-	protected GridData data;
-
-	protected boolean hidden;
-
-	protected static int HEADER_LABEL_SIZE = 15;
-	protected static int HEADER_TEXT_SIZE = 110;
-	public static byte REQUEST_HEADER = 0;
-	public static byte RESPONSE_HEADER = 1;
-
-	public HeaderViewer(Composite parent, byte message) {
-		rootComp = parent;
-		displayHeader = true;
-		hidden = false;
-		
-		headerComp = new Composite(parent, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		headerComp.setLayout(layout);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		headerComp.setLayoutData(data);
-
-		innerComp = new Composite(headerComp, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 2;
-		innerComp.setLayout(layout);
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = HEADER_LABEL_SIZE;
-		innerComp.setLayoutData(data);
-
-		rr = null;
-		msg = message;
-
-		setDisplayHeader(false);
-	}
-	
-	public void setRequestResponse(Request reqresp) {
-		rr = reqresp;
-		if (!hidden)
-			getView();
-	}
-
-	public void setDisplayHeader(boolean b) {
-		if (displayHeader != b) {
-			displayHeader = b;
-			if (displayHeader) {
-				innerComp.dispose();
-
-				data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-				data.heightHint = HEADER_TEXT_SIZE;
-				headerComp.setLayoutData(data);
-								
-				innerComp = new Composite(headerComp, SWT.NONE);
-				layout = new GridLayout();
-				layout.numColumns = 1;
-				layout.marginHeight = 0;
-				layout.marginWidth = 0;
-				innerComp.setLayout(layout);
-				data = new GridData(GridData.FILL_BOTH);
-				data.heightHint = HEADER_TEXT_SIZE;
-				innerComp.setLayoutData(data);
-								
-				headerText = new Text(innerComp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-				Display display = innerComp.getDisplay();
-				headerText.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-				headerText.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-				headerText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-				headerText.setFont(JFaceResources.getTextFont());
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(headerText, ContextIds.VIEW_RESPONSE);
-
-				rootComp.layout(true);
-			} else {
-				innerComp.dispose();
-
-				data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-				data.heightHint = HEADER_LABEL_SIZE;
-				headerComp.setLayoutData(data);
-				
-				innerComp = new Composite(headerComp, SWT.NONE);
-				layout = new GridLayout();
-				layout.numColumns = 1;
-				layout.marginHeight = 0;
-				layout.marginWidth = 2;
-				innerComp.setLayout(layout);
-				data = new GridData(GridData.FILL_BOTH);
-				data.heightHint = HEADER_LABEL_SIZE;
-				innerComp.setLayoutData(data);
-
-				headerLabel = new Label(innerComp, SWT.NONE);
-				headerLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-				
-				rootComp.layout(true);
-			}
-		}
-		getView();
-	}
-
-	private void getView() {
-		String out = "";
-		if (rr != null) {
-			if (msg == REQUEST_HEADER) {
-				byte[] b = rr.getRequest(Request.TRANSPORT);
-				if (b != null)
-					out = MonitorUIPlugin.parse(b);
-			} else if (msg == RESPONSE_HEADER) {
-				byte[] b = rr.getResponse(Request.TRANSPORT);
-				if (b != null)
-					out = MonitorUIPlugin.parse(b);
-			}
-		}
-		
-		if (displayHeader) {
-			headerText.setText(out);
-		} else {
-			String lineSeparator = System.getProperty("line.separator");
-			int index = out.indexOf(lineSeparator);
-			if(index > 0)
-				headerLabel.setText(MonitorUIPlugin.getResource("%headerLabel") + ": " + out.substring(0, index));
-			else 
-				headerLabel.setText(MonitorUIPlugin.getResource("%headerLabel") + ":  " + out);
-		}
-	}
-
-	public void dispose() {
-		headerComp.dispose();
-	}
-
-	/**
-	 * Set whether the header can be edited.
-	 * 
-	 * @param editable If true the header can be edited, otherwise the header cannot be edited.
-	 */
-	public void setEditable(boolean editable) {
-		headerText.setEditable(editable);
-	}
-
-	/**
-	 * Get the content from the header.
-	 * 
-	 * @return The content from the header.
-	 */
-	public byte[] getContent() {
-		if (headerText == null || headerText.isDisposed())
-			return null;
-		
-		String header = headerText.getText().trim();
-		// Need to ensure that the following 4 bytes end the header. The getBytes()
-		// method removes spaces at the end of the string.
-		byte[] twoNewlines = new byte[] { '\015', '\012', '\015', '\012' };
-		byte[] headerBytes = header.getBytes();
-		byte[] retBytes = new byte[headerBytes.length + 4];
-		System.arraycopy(headerBytes, 0, retBytes, 0, headerBytes.length);
-		System.arraycopy(twoNewlines, 0, retBytes, headerBytes.length, 4);
-		return retBytes;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
deleted file mode 100644
index f4f381b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.viewers;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-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.wst.internet.monitor.ui.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * An image viewer.
- */
-public class ImageViewer extends ContentViewer {
-	protected Composite rootComp;
-	protected Composite viewerComp;
-	protected Label messageLabel;
-	
-	protected byte[] content;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {
-		rootComp = parent;
-		
-		viewerComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		viewerComp.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		viewerComp.setLayoutData(data);
-
-		messageLabel = new Label(viewerComp, SWT.NONE);
-		messageLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#setContent()
-	 */
-	public void setContent(byte[] b) {
-		content = b;
-		if (b == null || b.length == 0) {
-			messageLabel.setText("<" + MonitorUIPlugin.getResource("%imageViewInvalid") + ">");
-		} else {
-			byte cr = '\r';
-			byte lf = '\n';
-			int trimFront = 0;
-			int trimBack = 0;
-			int len = b.length - 1;
-			while(b[trimFront] == cr || b[trimFront] == lf)
-				trimFront++;
-			while(b[len - trimBack] == cr || b[len - trimBack] == lf)
-				trimBack++;
-				
-			if (trimFront + trimBack > 0) {
-				byte[] temp = b;
-				b = new byte[temp.length - trimBack - trimFront];
-				for(int i = trimFront; i < temp.length - trimBack; i++) {
-					b[i - trimFront] = temp[i];
-				}
-			}
-			try {
-				ImageData imgD = new ImageData(new ByteArrayInputStream(b));
-				Image img = new Image(null, imgD);
-				messageLabel.setImage(img);
-			} catch(Exception e) {
-				messageLabel.setText("<" + MonitorUIPlugin.getResource("%imageViewInvalid") + ">");
-			}
-		}
-		
-		viewerComp.layout(true);
-	}
-	
-	public byte[] getContent() {
-		return content;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#dispose()
-	 */
-	public void dispose() {
-		viewerComp.dispose();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
deleted file mode 100644
index 61165ae..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.viewers;
- 
-import java.io.*;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.ui.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-/**
- * XML Viewer.
- */
-public class XMLViewer extends ContentViewer {
-	protected GridData data;
-	protected StackLayout layout;
-	protected Text messageText;
-
-	protected Composite rootComp;
-	protected Composite viewerComp;
-	protected Label messageLabel;
-	
-	protected boolean xmlTagMissing = false;
-	protected boolean setEncoding = false;
-	protected boolean missingEncoding = false;
-	protected String originalEncoding;
-	
-	protected byte[] content;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#dispose()
-	 */
-	public void dispose() {
-		viewerComp.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#setContent()
-	 */
-	public void setContent(byte[] b) {
-		content = b;
-		String out = "";		
-		if (b != null)
-			out = MonitorUIPlugin.parse(b);
-				
-		String lineSeparator = System.getProperty("line.separator");
-		int ls = lineSeparator.length();
-		if (out.length() > ls) {
-			while (out.substring(0, ls).indexOf(lineSeparator) >= 0)
-			out = out.substring(ls, out.length()); 
-		}
-		
-		String out_temp = out.toLowerCase();
-		if (out_temp.indexOf("<?xml") < 0) 
-			xmlTagMissing = true;
-		
-		if (out.length() > 0) {
-			byte[] b1 = createDocument(out);
-			String finalMsg = new String (b1);
-			if (finalMsg.startsWith("Invalid XML")) {
-				//case: error parsing
-				messageText.setVisible(false);
-				layout.topControl = messageLabel;
-				messageLabel.setVisible(true);
-				messageLabel.setText("<" + MonitorUIPlugin.getResource("%xmlViewInvalid") + ">");
-			} else if (xmlTagMissing && finalMsg.startsWith("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")) {
-				int x = finalMsg.indexOf("\n") + 1;
-				String Msg = finalMsg.substring(x);
-				finalMsg = Msg;
-				
-				messageText.setText(finalMsg);
-			} else if (setEncoding) {
-				//change back to original Encoding
-				int begin = finalMsg.indexOf("UTF-8"); //location of opening "
-				int last = begin + 5;  //location of closing "
-				String first_half = finalMsg.substring(0,begin);
-				String second_half = finalMsg.substring(last);
-				finalMsg = first_half + originalEncoding + second_half;	
-				
-				messageText.setText(finalMsg);
-			} else if (missingEncoding) {
-				//remove encoding completely
-				int begin = finalMsg.indexOf("encoding=\"UTF-8\""); //location of opening "
-				int last = begin + 16;  //location of closing "
-				String first_half = finalMsg.substring(0,begin);
-				String second_half = finalMsg.substring(last);
-				finalMsg = first_half + second_half;
-				
-				messageText.setText(finalMsg);	
-			}			
-		} else
-			messageText.setText(out);
-	}
-	
-	public byte[] getContent() {
-		return content;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.IContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {
-		rootComp = parent;
-		
-		viewerComp = new Composite(parent, SWT.NONE);
-		layout = new StackLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		viewerComp.setLayout(layout);
-		data = new GridData(GridData.FILL_BOTH);
-		viewerComp.setLayoutData(data);
-	
-		messageText = new Text(viewerComp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-		Display display = viewerComp.getDisplay();
-		messageText.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		messageText.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-		messageText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-		messageText.setFont(JFaceResources.getTextFont());
-		messageText.setVisible(true);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(messageText, ContextIds.VIEW_RESPONSE);
-		
-		messageLabel = new Label(viewerComp, SWT.NONE);
-		messageLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		messageLabel.setVisible(false);
-		
-		layout.topControl = messageText;
-	}
-	
-	/* (non-Javadoc)
-	 * @#createDocument(String)
-	 */
-	protected byte[] createDocument(String str) {
-		byte[] parseArray = null;
-		Document document = null;
-		byte[] result = null;	
-		
-		try {	
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			try {
-				factory.setAttribute("http://apache.org/xml/features/allow-java-encodings", new Boolean(true));
-				factory.setAttribute("http://apache.org/xml/features/continue-after-fatal-error", new Boolean(true));
-			} catch (Exception e) {
-				// ignore
-			}
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			
-			if (xmlTagMissing) {
-				str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + str;
-			} else {
-				String str_temp = str.toLowerCase();
-				
-				//if encoding present,then save original Encoding, change to UTF-8
-				if (str_temp.indexOf("encoding=") >= 0) {
-					setEncoding = true;
-					String temp1 = str.substring(str_temp.indexOf("encoding="));
-					int beginIndex = temp1.indexOf("\"") + 1;
-					String temp2 = temp1.substring(beginIndex);
-					int endIndex = temp2.indexOf("\"");
-					originalEncoding = temp2.substring(0, endIndex);
-				}	
-				
-				//if no encoding at all,then no changes to be made
-				else if (str_temp.indexOf("encoding") < 0) {
-					setEncoding = false;	
-					missingEncoding = true;		
-				}	
-			}
-			parseArray = str.getBytes();
-			document = parser.parse(new InputSource(new ByteArrayInputStream(parseArray)));  
-			result = getContents(document);
-			
-		} catch (Exception e) {
-			result = "Invalid XML".getBytes();
-		} 
-		return result;
-	}
-
-	protected byte[] getContents(Document document) throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		Result result = new StreamResult(out);
-		Source source = new DOMSource(document);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.transform(source, result);            
-		} catch (TransformerConfigurationException e) {
-			throw (IOException) (new IOException().initCause(e));
-		} catch (TransformerException e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-		return out.toByteArray();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/package.xml b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/package.xml
deleted file mode 100644
index a54f7ab..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/package.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-<p>TCP/IP monitor UI</p>
-
-<p>The MonitorUICore class gives access to the requests that are currently
-visible in the TCP/IP monitor view. The ContentViewer class is provided to
-implement the viewers extension point that allows external plugins to provide
-a view for viewing request and response data content in the monitor view.
-</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties
deleted file mode 100644
index c71b803..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties
+++ /dev/null
@@ -1,77 +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=TCP/IP Monitor
-providerName=Eclipse.org
-
-extensionPointViewers=Viewers
-
-# --------------- TCP/IP Monitor view ---------------
-
-# Labels
-viewTitle=TCP/IP Monitor
-viewRequest=Request: {0}
-viewResponse=Response: {0}
-viewTime=Time of request: {0}
-viewType=Type: {0}
-viewResponseTime=Response Time: {0}
-viewSize=Size: {0}
-viewResponseTimeFormat={0} ms
-viewSizeFormat={0} ({1}) bytes
-viewDateFormat=h:mm.s.S a
-
-# Actions
-actionSortByResponseTime=Sort by response time
-actionClearToolTip=Clear
-actionShowHeader=Show header
-actionProperties=Properties...
-actionResend=Resend request
-actionModify=Modify request
-actionModifyResend=Send Modified Request
-
-
-# --------------- RequestResponse Viewers ---------------
-byteView=Byte View
-imageView=Image View
-xmlView=XML View
-headerLabel=Header
-imageViewInvalid=Not a valid image file
-xmlViewInvalid=Not a valid XML file
-
-# --------------- Errors ---------------
-errorDialogTitle=Error
-
-# --------------- General UI ---------------
-monitorList=TCP/IP Monitors:
-columnLocal=Local Port
-columnRemote=Host name
-columnType=Type
-columnStatus=Status
-add=Add...
-edit=Edit...
-remove=Remove
-start=Start
-stop=Stop
-started=Started
-stopped=Stopped
-
-newMonitor=New Monitor
-editMonitor=Edit Monitor
-
-localPort=Local monitoring port:
-remoteGroup=Monitor
-remoteHost=Host name:
-remotePort=Port:
-parseType=Type:
-
-preferenceTitle=TCP/IP Monitor
-preferenceDescription=Configure TCP/IP monitors on local and remote ports.
-
-prefShowView=&Show the TCP/IP Monitor view when there is activity
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
deleted file mode 100644
index 3a29e8e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin id="org.eclipse.wst.internet.monitor.ui"
-  name="%pluginName"
-  version="1.0.0"
-  provider-name="%providerName"
-  class="org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin">
-
-<requires>
-  <import plugin="org.eclipse.core.runtime"/>
-  <import plugin="org.eclipse.ui.ide"/>
-  <import plugin="org.eclipse.ui"/>
-  <import plugin="org.eclipse.wst.internet.monitor.core"/>
-</requires>
-
-<runtime>
-  <library name="monitorui.jar">
-    <export name="*"/>
-  </library>
-</runtime>
-
-<extension-point name="%extensionPointViewers" id="viewers" schema="schema/viewers.exsd"/>
-
-<extension point="org.eclipse.wst.internet.monitor.core.internalStartup">
-  <startup
-    id="org.eclipse.wst.internet.monitor.ui"
-    class="org.eclipse.wst.internet.monitor.ui.internal.Startup"/>
-</extension>
-
-<extension point="org.eclipse.ui.views"> 
-  <view
-    id="org.eclipse.wst.internet.monitor.view"
-    name="%viewTitle"
-    category="org.eclipse.debug.ui"
-    class="org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView"
-    icon="icons/cview16/monitorView.gif">
-  </view>
-</extension>
-
-<extension point="org.eclipse.ui.preferencePages">
-  <page
-    id="org.eclipse.wst.internet.monitor.preferencePage"
-    name="%preferenceTitle"
-    category="org.eclipse.internet"
-    class="org.eclipse.wst.internet.monitor.ui.internal.MonitorPreferencePage"/>
-</extension>
-
-<extension point="org.eclipse.wst.internet.monitor.ui.viewers">
-  <viewer
-    id="org.eclipse.wst.internet.monitor.viewers.byteviewer"
-    class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ByteViewer"
-    type="requestresponse"
-    label="%byteView"/>
-  <viewer
-    id="org.eclipse.wst.internet.monitor.viewers.imageviewer"
-    class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ImageViewer"
-    type="requestresponse"
-    label="%imageView"/>
-  <viewer
-    id="org.eclipse.wst.internet.monitor.viewers.XMLViewer"
-    class="org.eclipse.wst.internet.monitor.ui.internal.viewers.XMLViewer"
-    type="requestresponse"
-    label="%xmlView"/>
-</extension>
-
-<extension point="org.eclipse.core.runtime.adapters">
-  <factory
-    class="org.eclipse.wst.internet.monitor.ui.internal.RequestAdapterFactory"
-    adaptableType="org.eclipse.wst.internet.monitor.core.Request">
-    <adapter type="org.eclipse.ui.IActionFilter"/>
-  </factory>
-</extension>
-
-<extension point="org.eclipse.ui.popupMenus">
-    <objectContribution
-          objectClass="org.eclipse.wst.internet.monitor.core.Request"
-          id="org.eclipse.wst.internet.monitor.ui.modifyaction">
-       <filter name="requestsent" value="true"/>
-       <action
-             label="%actionResend"
-             menubarPath="additions"
-             class="org.eclipse.wst.internet.monitor.ui.internal.view.ResendMessageAction"
-             enablesFor="1"
-             id="org.eclipse.wst.internet.monitor.ui.internal.view.ResendMessageAction"
-             icon="icons/elcl16/resendRequest.gif">
-       </action>
-       <action
-             label="%actionModify"
-             menubarPath="additions"
-             class="org.eclipse.wst.internet.monitor.ui.internal.view.ModifyMessageAction"
-             enablesFor="1"
-             id="org.eclipse.wst.internet.monitor.ui.internal.view.ModifyMessageAction"
-             icon="icons/etool16/editRequest.gif">
-       </action>
-    </objectContribution>
-    <objectContribution
-          objectClass="org.eclipse.wst.internet.monitor.core.Request"
-          id="org.eclipse.wst.internet.monitor.ui.sendmodifyaction">
-       <filter name="requestsent" value="false"/>    
-       <action
-             label="%actionModifyResend"
-             menubarPath="additions"
-             class="org.eclipse.wst.internet.monitor.ui.internal.view.SendModifiedMessageAction"
-             enablesFor="1"
-             id="org.eclipse.wst.internet.monitor.ui.internal.view.SendModifiedMessageAction"
-             icon="icons/elcl16/resendRequest.gif">
-       </action>
-    </objectContribution>
-</extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd b/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd
deleted file mode 100644
index ad60186..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.internet.monitor.ui" id="viewers" name="Content Viewers"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to provide a viewer for a specific type of content. (e.g. a viewer for a particular image format)

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;org.eclipse.wst.internet.monitor.ui.ContentViewer&lt;/samp&gt;. Viewers instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.ui.ContentViewer"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the content viewer

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  [issue: what is this used for?]

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a content viewer extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.internet.monitor.ui.viewers&quot;&gt;
-  &lt;viewer
-    id=&quot;com.example.byteviewer&quot;
-    class=&quot;com.example.ByteContentViewer&quot;
-    type=&quot;requestresponse&quot;
-    label=&quot;%byteView&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/build.properties b/plugins/org.eclipse.wst.server.core/build.properties
index 9c65286..a3c08db 100644
--- a/plugins/org.eclipse.wst.server.core/build.properties
+++ b/plugins/org.eclipse.wst.server.core/build.properties
@@ -15,7 +15,6 @@
                .options
 jars.compile.order = 
 src.includes = schema/,\
-               build.properties,\
-               component.xml
+               build.properties
 source.servercore.jar = servercore/
 output.servercore.jar = bin/
diff --git a/plugins/org.eclipse.wst.server.core/component.xml b/plugins/org.eclipse.wst.server.core/component.xml
index a2d86fb..5e0213c 100644
--- a/plugins/org.eclipse.wst.server.core/component.xml
+++ b/plugins/org.eclipse.wst.server.core/component.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.server"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.server.core" fragment="false"/><plugin id="org.eclipse.wst.server.ui" fragment="false"/><plugin id="org.eclipse.wst.server.util" fragment="false"/><package name="org.eclipse.wst.server.core.util"></package><package name="org.eclipse.wst.server.core.model"><type name="RuntimeTargetHandlerDelegate"/><type name="IURLProvider" subclass="false"/><type name="ServerLocatorDelegate"/><type name="IModuleFactoryListener"/><type name="ModuleFactoryEvent"/><type name="ModuleEvent"/><type name="IModuleResource"/><type name="IModuleListener"/><type name="ModuleFactoryDelegate"/><type name="IRunningActionServer"/><type name="IModuleResourceDeltaVisitor"/><type name="IModuleEventsListener"/><type name="RuntimeLocatorDelegate"/><type name="IModuleFile"/><type name="IModuleResourceDelta"/><type name="ModuleArtifactAdapterDelegate"/><type name="IModuleFolder"/><type name="RuntimeDelegate"/><type name="ServerDelegate"/><type name="LaunchableAdapterDelegate"/><type name="ClientDelegate"/><type name="ModuleDelegate"/><type name="ServerTaskDelegate"/><type name="ServerBehaviourDelegate"/></package><package name="org.eclipse.wst.server.ui.editor"><type name="ICommandManager"/><type name="IServerEditorSection"/><type name="ServerEditorPart"/><type name="ServerEditorPartFactoryDelegate"/><type name="ServerEditorSection"/><type name="ServerEditorPageSectionFactoryDelegate"/><type name="ServerEditorActionFactoryDelegate"/><type name="IServerEditorPartInput"/></package><package name="org.eclipse.wst.server.ui.wizard"><type name="TaskWizardPage"/><type name="IWizardHandle"/><type name="TaskWizard"/><type name="WizardFragment"/></package><package name="org.eclipse.wst.server.ui"><type name="ServerLaunchConfigurationTab"/><type name="ServerUIUtil" implement="false" subclass="false" instantiate="false"/><type name="ServerUICore" implement="false" subclass="false" instantiate="false"/></package><package name="org.eclipse.wst.server.ui.actions"></package><package name="org.eclipse.wst.server.core"><type name="IServer" implement="false" subclass="false" instantiate="false"/><type name="IModuleType" implement="false" subclass="false" instantiate="false"/><type name="ServerUtil" implement="false" subclass="false" instantiate="false"/><type name="IServerAttributes" implement="false" subclass="false" instantiate="false"/><type name="IOptionalTask" instantiate="false"/><type name="ITask" instantiate="false"/><type name="IRuntimeWorkingCopy" implement="false" subclass="false" instantiate="false"/><type name="IServerListener" subclass="false" instantiate="false"/><type name="IRuntime" implement="false" subclass="false" instantiate="false"/><type name="IServerType" implement="false" subclass="false" instantiate="false"/><type name="IModule" implement="false" subclass="false" instantiate="false"/><type name="IRuntimeLifecycleListener" subclass="false" instantiate="false"/><type name="IProjectProperties" implement="false" subclass="false" instantiate="false"/><type name="IServerLifecycleListener" subclass="false" instantiate="false"/><type name="IRuntimeTargetHandler" implement="false" subclass="false" instantiate="false"/><type name="ServerCore" implement="false" subclass="false" instantiate="false"/><type name="IServerWorkingCopy" implement="false" subclass="false" instantiate="false"/><type name="IServerPort" instantiate="false"/><type name="IRuntimeType" implement="false" subclass="false" instantiate="false"/><type name="TaskModel" implement="false"/><type name="IModuleArtifact" implement="false" subclass="false" instantiate="false"/></package></component>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="wst.server"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.server.core" fragment="false"/><plugin id="org.eclipse.wst.server.ui" fragment="false"/><plugin id="org.eclipse.wst.server.util" fragment="false"/><package name="org.eclipse.wst.server.core.util"></package><package name="org.eclipse.wst.server.core.model"><type name="RuntimeTargetHandlerDelegate"/><type name="IURLProvider" subclass="false"/><type name="ServerLocatorDelegate"/><type name="IModuleFactoryListener"/><type name="ModuleFactoryEvent"/><type name="ModuleEvent"/><type name="IModuleResource"/><type name="IModuleListener"/><type name="ModuleFactoryDelegate"/><type name="IRunningActionServer"/><type name="IModuleResourceDeltaVisitor"/><type name="IModuleEventsListener"/><type name="RuntimeLocatorDelegate"/><type name="IModuleFile"/><type name="IModuleResourceDelta"/><type name="ModuleArtifactAdapterDelegate"/><type name="IModuleFolder"/><type name="RuntimeDelegate"/><type name="ServerDelegate"/><type name="LaunchableAdapterDelegate"/><type name="ClientDelegate"/><type name="ModuleDelegate"/><type name="ServerTaskDelegate"/><type name="ServerBehaviourDelegate"/></package><package name="org.eclipse.wst.server.ui.editor"><type name="ICommandManager"/><type name="IServerEditorSection"/><type name="ServerEditorPart"/><type name="ServerEditorPartFactoryDelegate"/><type name="ServerEditorSection"/><type name="ServerEditorPageSectionFactoryDelegate"/><type name="ServerEditorActionFactoryDelegate"/><type name="IServerEditorPartInput"/></package><package name="org.eclipse.wst.server.ui.wizard"><type name="TaskWizardPage"/><type name="IWizardHandle"/><type name="TaskWizard"/><type name="WizardFragment"/></package><package name="org.eclipse.wst.server.ui"><type name="ServerLaunchConfigurationTab"/><type name="ServerUIUtil" implement="false" subclass="false" instantiate="false"/><type name="ServerUICore" implement="false" subclass="false" instantiate="false"/></package><package name="org.eclipse.wst.server.ui.actions"></package><package name="org.eclipse.wst.server.core"><type name="IServer" implement="false" subclass="false" instantiate="false"/><type name="IModuleType" implement="false" subclass="false" instantiate="false"/><type name="ServerUtil" implement="false" subclass="false" instantiate="false"/><type name="IServerAttributes" implement="false" subclass="false" instantiate="false"/><type name="IOptionalTask" instantiate="false"/><type name="ITask" instantiate="false"/><type name="IRuntimeWorkingCopy" implement="false" subclass="false" instantiate="false"/><type name="IServerListener" subclass="false" instantiate="false"/><type name="IRuntime" implement="false" subclass="false" instantiate="false"/><type name="IServerType" implement="false" subclass="false" instantiate="false"/><type name="IModule" implement="false" subclass="false" instantiate="false"/><type name="IRuntimeLifecycleListener" subclass="false" instantiate="false"/><type name="IProjectProperties" implement="false" subclass="false" instantiate="false"/><type name="IServerLifecycleListener" subclass="false" instantiate="false"/><type name="IRuntimeTargetHandler" implement="false" subclass="false" instantiate="false"/><type name="ServerCore" implement="false" subclass="false" instantiate="false"/><type name="IServerWorkingCopy" implement="false" subclass="false" instantiate="false"/><type name="IServerPort" instantiate="false"/><type name="IRuntimeType" implement="false" subclass="false" instantiate="false"/><type name="TaskModel" implement="false"/><type name="IModuleArtifact" implement="false" subclass="false" instantiate="false"/></package></component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/plugin.properties b/plugins/org.eclipse.wst.server.core/plugin.properties
index 12cf0de..a088cc0 100644
--- a/plugins/org.eclipse.wst.server.core/plugin.properties
+++ b/plugins/org.eclipse.wst.server.core/plugin.properties
@@ -82,14 +82,5 @@
 nullLaunchableClientDescription=Do not launch anything after starting the server.
 
 canStartOk=The server can be started.
-canStopOk=The server can be started.
-canRestartOk=The server can be restarted.
-canPublishOk=The server can be published to.
-canRestartModuleOk=The module can be restarted.
 canStartErrorState=The server cannot be started because it is current starting or stopping.
-errorLaunchMode=The server does not support the given launch mode.
-errorRestartNotStarted=Cannot restart the server because it is not currently running.
-errorPublishStarting=Cannot publish to the server because it is currently starting or stopping.
-errorPublishNoConfiguration=Cannot publish to the server because the configuration is missing.
-errorStopAlreadyStopped=The server cannot be stopped because it is already stopped.
-errorRestartModule=The module cannot be restarted.
\ No newline at end of file
+errorLaunchMode=The server does not support the given launch mode.
\ 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
index c19b72b..e1c586f 100644
--- a/plugins/org.eclipse.wst.server.core/schema/clients.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/clients.exsd
@@ -83,13 +83,6 @@
                </documentation>

             </annotation>

          </attribute>

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

-            <annotation>

-               <documentation>

-                  the fully qualified classname of the launchable object that this client supports

-               </documentation>

-            </annotation>

-         </attribute>

       </complexType>

    </element>

 

diff --git a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
index 7cbbae5..4838bb7 100644
--- a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
@@ -149,6 +149,13 @@
                </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>

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

             <annotation>

                <documentation>

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
index 27e49a9..fee0353 100644
--- 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
@@ -17,6 +17,7 @@
  *
  * <p>This interface is not intended to be implemented by clients.</p>
  * 
+ * @see IProjectPropertiesListener
  * @since 1.0
  */
 public interface IProjectProperties {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectPropertiesListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectPropertiesListener.java
new file mode 100644
index 0000000..4418aa2
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectPropertiesListener.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.core;
+
+import org.eclipse.core.resources.IProject;
+/**
+ * A project properties listener. Fires events when the default server or
+ * runtime target changes.
+ * <p>
+ * 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.
+ * </p>
+ * 
+ * @see IProjectProperties
+ * @since 1.0
+ */
+public interface IProjectPropertiesListener {
+	/**
+	 * Fired when the default server for the project changes.
+	 *
+	 * @param project the project that has changed
+	 * @param server the new default server, or <code>null</code> if the default
+	 *    server has been removed
+	 */
+	public void defaultServerChanged(IProject project, IServer server);
+
+	/**
+	 * Fired when the runtime target for the project changes.
+	 *
+	 * @param project the project that has changed
+	 * @param runtime the new runtime target, or <code>null</code> if the runtime
+	 *    target has been removed
+	 */
+	public void runtimeTargetChanged(IProject project, IRuntime runtime);
+}
\ 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
index 4248d03..77b3746 100644
--- 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
@@ -91,6 +91,15 @@
 	public boolean isReadOnly();
 
 	/**
+	 * Returns <code>true</code> if this runtime is private (not shown
+	 * in the UI to the users), and <code>false</code> otherwise.
+	 * 
+	 * @return <code>true</code> if this runtime is private,
+	 *    and <code>false</code> otherwise
+	 */
+	//public boolean isPrivate();
+
+	/**
 	 * Returns true if this is a working copy.
 	 * 
 	 * @return <code>true</code> if this runtime is a working copy
@@ -106,6 +115,16 @@
 	 *    otherwise
 	 */
 	public boolean isDelegateLoaded();
+	
+	/**
+	 * Returns the timestamp of this runtime.
+	 * Timestamps are monotonically increased each time the runtime is saved
+	 * and can be used to determine if any changes have been made on disk
+	 * since the runtime was loaded.
+	 * 
+	 * @return the runtime's timestamp
+	 */
+	//public int getTimestamp();
 
 	/**
 	 * Returns the type of this runtime instance.
@@ -170,8 +189,6 @@
 	 * any time.
 	 * </p>
 	 *
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
 	 * @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
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
index 128d7bd..927b0e5 100644
--- 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
@@ -120,7 +120,7 @@
 	 * </p>
 	 * 
 	 * @return <code>true</code> if this type of runtime can be
-	 *    instantiated, and <code>false</code> if it cannot
+	 * instantiated, and <code>false</code> if it cannot
 	 * @see #createRuntime(String, IProgressMonitor)
 	 */
 	public boolean canCreate();
@@ -137,9 +137,7 @@
 	 * </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
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
+	 * 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 if an exception occurs while creating this runtime
 	 *    or setting it's default values
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
index 0404fee..52e4da9 100644
--- 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
@@ -31,31 +31,10 @@
  * @since 1.0
  */
 public interface IRuntimeWorkingCopy extends IRuntime {
-	/**
-	 * Status code (value 1) returned from the save() method when the save
-	 * failed with force set to <code>false</code> because the runtime has
-	 * been modified and saved since this working copy was created.
-	 * 
-	 * @see #save(boolean, IProgressMonitor)
-	 */
-	public static final int SAVE_CONFLICT = 1;
+	public static final int TIMESTAMP_ERROR = 5;
 	
-	/**
-	 * Property change name (value "name") used when the name of the runtime
-	 * changes.
-	 * 
-	 * @see #addPropertyChangeListener(PropertyChangeListener)
-	 * @see #removePropertyChangeListener(PropertyChangeListener)
-	 */
 	public static final String PROPERTY_NAME = "name";
 	
-	/**
-	 * Property change name (value "location") used when the location of the
-	 * runtime changes.
-	 * 
-	 * @see #addPropertyChangeListener(PropertyChangeListener)
-	 * @see #removePropertyChangeListener(PropertyChangeListener)
-	 */
 	public static final String PROPERTY_LOCATION = "location";
 
 	/**
@@ -80,6 +59,18 @@
 	public void setReadOnly(boolean readOnly);
 	
 	/**
+	 * Sets whether this runtime is private.
+	 * Generally speaking, runtimes marked private are internal ones
+	 * that should not be shown to users (because they won't know
+	 * anything about them).
+	 * 
+	 * @param p <code>true</code> if this runtime is private,
+	 *    and <code>false</code> otherwise
+	 * @see IRuntime#isPrivate()
+	 */
+	//public void setPrivate(boolean p);
+	
+	/**
 	 * Returns whether this working copy has unsaved changes.
 	 * 
 	 * @return <code>true</code> if this working copy has unsaved
@@ -88,27 +79,23 @@
 	public boolean isDirty();
 
 	/**
-	 * Adds a property change listener to this runtime.
-	 * <p>
-	 * Once registered, a listener starts receiving notification of 
-	 * property changes to this runtime. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 * </p>
+	 * Adds a property change listener to this server.
 	 *
-	 * @param listener a property change listener
-	 * @see #removePropertyChangeListener(PropertyChangeListener)
+	 * @param listener java.beans.PropertyChangeListener
 	 */
 	public void addPropertyChangeListener(PropertyChangeListener listener);
 
 	/**
-	 * Removes a property change listener from this runtime.
-	 * Has no effect if the listener is not registered.
+	 * Removes a property change listener from this server.
 	 *
-	 * @param listener a property change listener
-	 * @see #addPropertyChangeListener(PropertyChangeListener)
+	 * @param listener java.beans.PropertyChangeListener
 	 */
 	public void removePropertyChangeListener(PropertyChangeListener listener);
+	
+	/**
+	 * Fires a property change event.
+	 */
+	//public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue);
 
 	/**
 	 * Returns the runtime instance that this working copy is
@@ -125,6 +112,18 @@
 	 * @return the associated runtime instance, or <code>null</code> if none
 	 */
 	public IRuntime getOriginal();
+	
+	/**
+	 * Returns the extension for this runtime working copy.
+	 * The runtime working copy extension is a
+	 * runtime-type-specific object. By casting the runtime working copy
+	 * extension 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.
+	 * 
+	 * @return the extension for the runtime working copy
+	 */
+	//public IServerExtension getWorkingCopyExtension(IProgressMonitor monitor);
 
 	/**
 	 * Sets the absolute path in the local file system to the root of the runtime,
@@ -155,13 +154,10 @@
 	 * associated with this working copy?]
 	 * </p>
 	 * 
-	 * @param force <code>true</code> to force the save, or <code>false</code>
-	 *    otherwise
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
 	 * @return a new runtime instance
 	 * @throws CoreException if the save could not be completed
-	 * @see #SAVE_CONFLICT
 	 */
 	public IRuntime save(boolean force, 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/IServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
index 3224c56..2853e24 100644
--- 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
@@ -12,6 +12,7 @@
 
 import org.eclipse.core.runtime.*;
 import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.ILaunchConfiguration;
 /**
  * Represents a server instance. Every server is an instance of a
  * particular, fixed server type.
@@ -77,7 +78,7 @@
 	 * server is in an unknown state.
 	 * 
 	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
+	 * @see #getModuleState(IModule[], IModule)
 	 */
 	public static final int STATE_UNKNOWN = 0;
 
@@ -86,7 +87,7 @@
 	 * server is starting, but not yet ready to serve content.
 	 * 
 	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
+	 * @see #getModuleState(IModule[], IModule)
 	 */
 	public static final int STATE_STARTING = 1;
 
@@ -95,7 +96,7 @@
 	 * server is ready to serve content.
 	 * 
 	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
+	 * @see #getModuleState(IModule[], IModule)
 	 */
 	public static final int STATE_STARTED = 2;
 
@@ -104,7 +105,7 @@
 	 * server is shutting down.
 	 * 
 	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
+	 * @see #getModuleState(IModule[], IModule)
 	 */
 	public static final int STATE_STOPPING = 3;
 
@@ -113,7 +114,7 @@
 	 * server is stopped.
 	 * 
 	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
+	 * @see #getModuleState(IModule[], IModule)
 	 */
 	public static final int STATE_STOPPED = 4;
 
@@ -122,7 +123,7 @@
 	 * in an unknown state.
 	 * 
 	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
+	 * @see #getModulePublishState(IModule[], IModule)
 	 */
 	public static final int PUBLISH_STATE_UNKNOWN = 0;
 
@@ -131,7 +132,7 @@
 	 * is no publish required.
 	 * 
 	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
+	 * @see #getModulePublishState(IModule[], IModule)
 	 */
 	public static final int PUBLISH_STATE_NONE = 1;
 
@@ -140,7 +141,7 @@
 	 * incremental publish is required.
 	 * 
 	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
+	 * @see #getModulePublishState(IModule[], IModule)
 	 */
 	public static final int PUBLISH_STATE_INCREMENTAL = 2;
 
@@ -149,7 +150,7 @@
 	 * full publish is required.
 	 * 
 	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
+	 * @see #getModulePublishState(IModule[], IModule)
 	 */
 	public static final int PUBLISH_STATE_FULL = 3;
 
@@ -182,6 +183,14 @@
 	public static final int PUBLISH_CLEAN = 4;
 
 	/**
+	 * Publish kind constants
+	 */
+	public static final int NO_CHANGE = 0;
+	public static final int ADDED = 1;
+	public static final int CHANGED = 2;
+	public static final int REMOVED = 3;
+
+	/**
 	 * Returns the current state of this server.
 	 * <p>
 	 * Note that this operation is guaranteed to be fast
@@ -189,7 +198,7 @@
 	 * server).
 	 * </p>
 	 *
-	 * @return one of the server state (<code>STATE_XXX</code>)
+	 * @return one of the server state (<code>SERVER_XXX</code>)
 	 * constants declared on {@link IServer}
 	 */
 	public int getServerState();
@@ -232,20 +241,6 @@
 	public void addServerListener(IServerListener listener);
 
 	/**
-	 * 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.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the server listener
-	 * @param eventMask the bit-wise OR of all event types of interest to the
-	 * listener
-	 * @see #removeServerListener(IServerListener)
-	 */
-	public void addServerListener(IServerListener listener, int eventMask);
-
-	/**
 	 * Removes the given server state listener from this server. Has no
 	 * effect if the listener is not registered.
 	 * 
@@ -264,6 +259,24 @@
 	public IStatus canPublish();
 
 	/**
+	 * Returns true if the server may have any projects or it's
+	 * configuration out of sync.
+	 *
+	 * @return boolean
+	 */
+	public boolean shouldPublish();
+
+	/**
+	 * Publish to the server using the progress monitor. The result of the
+	 * publish operation is returned as an IStatus.
+	 * 
+	 * @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);
+
+	/**
 	 * Publish to the server using the progress monitor. The result of the
 	 * publish operation is returned as an IStatus.
 	 * 
@@ -294,6 +307,20 @@
 	public IStatus canStart(String launchMode);
 
 	/**
+	 * 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 <code>true</code> if a new launch configuration should be
+	 *    created if there are none already
+	 * @param monitor a progress monitor, or <code>null</code> if progress
+	 *    reporting and cancellation are not desired
+	 * @return the launch configuration, no <code>null</code> if there was no
+	 *    existing launch configuration and <code>create</code> was false
+	 * @throws CoreException
+	 */
+	public ILaunchConfiguration getLaunchConfiguration(boolean create, IProgressMonitor monitor) throws CoreException;
+
+	/**
 	 * Asynchronously starts this server in the given launch mode.
 	 * Returns the debug launch object that can be used in a debug
 	 * session.
@@ -332,7 +359,6 @@
 	 *    {@link org.eclipse.debug.core.ILaunchManager}
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
-	 * @return the launch
 	 * @exception CoreException if an error occurs while trying to start the server
 	 */
 	public ILaunch synchronousStart(String launchMode, IProgressMonitor monitor) throws CoreException;
@@ -378,11 +404,11 @@
 	 * to be diagnosed.]
 	 * </p>
 	 *
-	 * @param launchMode a mode in which a server can be launched,
+	 * @param mode 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 launchMode);
+	public void restart(String mode);
 	
 	/**
 	 * Synchronously restarts this server. This operation does
@@ -400,7 +426,6 @@
 	 *    {@link org.eclipse.debug.core.ILaunchManager}
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there was an error
 	 */
 	public void synchronousRestart(String launchMode, IProgressMonitor monitor) throws CoreException;
 
@@ -477,7 +502,7 @@
 	/**
 	 * Asynchronously restarts the given module on the server.
 	 * See the specification of 
-	 * {@link IServer#synchronousRestartModule(IModule[], IProgressMonitor)}
+	 * {@link IServer#synchronousRestartModule(IModule, IProgressMonitor)}
 	 * for further details. 
 	 * <p>
 	 * The implementation should update the module sync state and fire
@@ -503,6 +528,7 @@
 	 * @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 void restartModule(IModule[] module, IProgressMonitor monitor) throws CoreException;
@@ -531,4 +557,22 @@
 	 *    on {@link IServer}
 	 */
 	public int getModuleState(IModule[] module);
+
+	/**
+	 * Returns an array of modules that are deployed to this server. This
+	 * list may contain user applications as well as any other applications
+	 * (e.g. published from a different workspace) that are running on the
+	 * server.
+	 * <p>
+	 * This method returns the root modules, which are not parented within
+	 * another modules. Each of these may contain child modules, which are
+	 * also deployed to this server.
+	 * </p>
+	 *
+	 * @param monitor a progress monitor, or <code>null</code> if progress
+	 *    reporting and cancellation are not desired
+	 * @return a possibly-empty array of modules
+	 * @see IServerAttributes#getModules()
+	 */
+	public IModule[] getServerModules(IProgressMonitor monitor);
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
index 688e854..5ea8e42 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
@@ -10,6 +10,7 @@
  **********************************************************************/
 package org.eclipse.wst.server.core;
 
+import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.runtime.*;
 /**
@@ -64,7 +65,16 @@
  * Chained working copies for runtime, server configuration.
  * Server has a set of root modules.
  * Modules have state wrt a server.
- * Restarting modules.]
+ * 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>
  * Two servers are identical if and only if they have the same id.
@@ -80,6 +90,31 @@
  */
 public interface IServerAttributes extends IAdaptable {
 	/**
+	 * 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 th
+	 * 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>
+	 */
+	public static final String ATTR_SERVER_ID = "server-id";
+	
+	/**
 	 * Returns the displayable name for this server.
 	 * <p>
 	 * Note that this name is appropriate for the current locale.
@@ -103,7 +138,6 @@
 	 * Deletes the persistent representation of this server.
 	 * 
 	 * @throws CoreException if there was any error received while deleting the server
-	 *    or if this method is called on a working copy
 	 */
 	public void delete() throws CoreException;
 
@@ -118,6 +152,14 @@
 	public boolean isReadOnly();
 
 	/**
+	 * Returns true if this server is private (not shown in the UI).
+	 * 
+	 * @return <code>true</code> if this server is private,
+	 *    and <code>false</code> otherwise
+	 */
+	public boolean isPrivate();
+
+	/**
 	 * Returns true if this is a working copy.
 	 * 
 	 * @return <code>true</code> if this server is a working copy,
@@ -134,6 +176,26 @@
 	public boolean isDelegateLoaded();
 
 	/**
+	 * Validates whether this server can be editted.
+	 * 
+	 * @param context
+	 * @return a status object with code <code>IStatus.OK</code> if the server
+	 *   can be edited, otherwise a status object indicating what when wrong
+	 *   with the checkout
+	 */
+	public IStatus validateEdit(Object context);
+
+	/**
+	 * Returns the timestamp of this server.
+	 * Timestamps are monotonically increased each time the server is saved
+	 * and can be used to determine if any changes have been made on disk
+	 * since the server was loaded.
+	 * 
+	 * @return the server's timestamp
+	 */
+	public int getTimestamp();
+
+	/**
 	 * Returns the host for the server.
 	 * The format of the host can be either a qualified or unqualified hostname,
 	 * or an IP address and must conform to RFC 2732.
@@ -142,7 +204,17 @@
 	 * @see java.net.URL#getHost()
 	 */
 	public String getHost();
-
+	
+	/**
+	 * 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>
@@ -167,7 +239,6 @@
 	 * Returns the type of this server.
 	 * 
 	 * @return the server type
-	 * @see IServerType
 	 */
 	public IServerType getServerType();
 	
@@ -237,6 +308,7 @@
 	 * </p>
 	 * 
 	 * @return a possibly-empty array of modules
+	 * @see IServer#getServerModules()
 	 */
 	public IModule[] getModules();
 
@@ -306,9 +378,9 @@
 	public IModule[] getRootModules(IModule module, IProgressMonitor monitor) throws CoreException;
 
 	/**
-	 * Returns an array of ServerPorts that this server has.
+	 * Returns an array of IServerPorts that this server has.
 	 *
 	 * @return a possibly empty array of servers ports
 	 */
-	public ServerPort[] getServerPorts();
+	public IServerPort[] getServerPorts();
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java
index 33ea62d..80ecb56 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java
@@ -9,8 +9,6 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.wst.server.core;
-
-import org.eclipse.wst.server.core.util.ServerEvent;
 /**
  * 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,
@@ -20,17 +18,47 @@
  * 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 or module'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>
+ * 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>
+ * 
+ * required events:
+ *   state change (server + module)
+ *   publish change (server + module)
+ *   add/remove module
+ *   restart mode (server + module)
  *   
  * @since 1.0
  */
 public interface IServerListener {
 	/**
-	 * A server or module has been changed as specified in the event.
-	 * 
-	 * @param event a server event that contains information on the change
+	 * Called when the server isRestartNeeded() property changes.
+	 *
+	 * @param server the affected server
 	 */
-	public void serverChanged(ServerEvent event); 
+	public void restartStateChange(IServer server);
+
+	/**
+	 * Notification when the server state has changed.
+	 *
+	 * @param server the affected server
+	 */
+	public void serverStateChange(IServer server);
+
+	/**
+	 * Called when the modules tree of this server has changed.
+	 *
+	 * @param server the affected server
+	 */
+	public void modulesChanged(IServer server);
+
+	/**
+	 * Fired when a module on this server needs to be published
+	 * or no longer needs to be published, or it's state has
+	 * changed.
+	 *
+	 * @param server the affected server
+	 * @param module the module
+	 */
+	public void moduleStateChange(IServer server, IModule[] module);
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerPort.java
new file mode 100644
index 0000000..64ce129
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerPort.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.core;
+/**
+ * An abstract port on a server.
+ * 
+ * @since 1.0
+ */
+public interface IServerPort {
+	/**
+	 * Return an optional internal id used to identify this port.
+	 * 
+	 * @return an internal id
+	 */
+	public String getId();
+
+	/**
+	 * Return the name of the port.
+	 * 
+	 * @return the name of the port
+	 */
+	public String getName();
+
+	/**
+	 * Return the actual port number.
+	 * 
+	 * @return the port number
+	 */
+	public int getPort();
+
+	/**
+	 * Returns the protocol, e.g. HTTP of this port. Returns null
+	 * if the protocol is unknown.
+	 * 
+	 * @return the procotol
+	 */
+	public String getProtocol();
+
+	/**
+	 * Returns the content types that this port would normally serve, or null
+	 * if the content is unknown.
+	 * 
+	 * @return a possibly empty array of content types
+	 */
+	public String[] getContentTypes();
+
+	/**
+	 * Returns true if this port is an "advanced" port and should not be shown
+	 * to novice users.
+	 * 
+	 * @return <code>true</code> if the port is advanced, or <code>false</code>
+	 *    otherwise
+	 */
+	public boolean isAdvanced();
+}
\ 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
index a95aa56..1a7852a 100644
--- 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
@@ -39,6 +39,30 @@
  */
 public interface IServerType {
 	/**
+	 * Constant (value 0) indicating that a type of server that can be
+	 * directly started and stopped.
+	 * 
+	 * @see #getServerStateSet()
+	 */
+	public static final int SERVER_STATE_SET_MANAGED = 0;
+	
+	/**
+	 * Constant (value 1) indicating that a type of server that can be
+	 * attached to, typically for debugging.
+	 * 
+	 * @see #getServerStateSet()
+	 */
+	public static final int SERVER_STATE_SET_ATTACHED = 1;
+	
+	/**
+	 * Constant (value 2) indicating that a type of server that
+	 * can only be used for publishing.
+	 * 
+	 * @see #getServerStateSet()
+	 */
+	public static final int 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
@@ -125,6 +149,14 @@
 	 * 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
@@ -134,6 +166,38 @@
 	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>
+	 *
+	 * @return one of {@link #SERVER_STATE_SET_MANAGED},
+	 *    {@link #SERVER_STATE_SET_ATTACHED}, or
+	 *    {@link #SERVER_STATE_SET_PUBLISHED}
+	 */
+	public int getServerStateSet();
+
+	/**
 	 * Returns whether this type of server requires a server
 	 * configuration.
 	 * <p>
@@ -149,7 +213,14 @@
 	/**
 	 * Returns <code>true</code> if this type of server can run on a remote host.
 	 * Returns <code>false</code> if the server type can only be run on "localhost"
-	 * (the local machine).
+	 * (the local machine). 
+	 * <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>
 	 * 
 	 * @return <code>true</code> if this type of server can run on
 	 *    a remote host, and <code>false</code> if it cannot
@@ -185,8 +256,6 @@
 	 *    particular workspace resource
 	 * @param runtime the runtime to associate with the server instance,
 	 *    or <code>null</code> if none
-	 * @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 if an exception occurs while creating this runtime
 	 *    or setting it's default values
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
index 951165a..94b1e8e 100644
--- 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
@@ -11,6 +11,7 @@
 package org.eclipse.wst.server.core;
 
 import java.beans.PropertyChangeListener;
+import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -27,14 +28,7 @@
  * @since 1.0
  */
 public interface IServerWorkingCopy extends IServerAttributes {
-	/**
-	 * Status code (value 1) returned from the save() method when the save
-	 * failed with force set to <code>false</code> because the runtime has
-	 * been modified and saved since this working copy was created.
-	 * 
-	 * @see #save(boolean, IProgressMonitor)
-	 */
-	public static final int SAVE_CONFLICT = 1;
+	public static final int TIMESTAMP_ERROR = 5;
 
 	/**
 	 * Sets the displayable name for this server.
@@ -58,6 +52,18 @@
 	public void setReadOnly(boolean readOnly);
 	
 	/**
+	 * 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 IServerAttributes#isPrivate()
+	 */
+	public void setPrivate(boolean b);
+	
+	/**
 	 * Returns whether this working copy has unsaved changes.
 	 * 
 	 * @return <code>true</code> if this working copy has unsaved
@@ -67,26 +73,22 @@
 
 	/**
 	 * Adds a property change listener to this server.
-	 * <p>
-	 * Once registered, a listener starts receiving notification of 
-	 * property changes to this server. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 * </p>
 	 *
-	 * @param listener a property change listener
-	 * @see #removePropertyChangeListener(PropertyChangeListener)
+	 * @param listener java.beans.PropertyChangeListener
 	 */
 	public void addPropertyChangeListener(PropertyChangeListener listener);
 
 	/**
 	 * Removes a property change listener from this server.
-	 * Has no effect if the listener is not registered.
 	 *
-	 * @param listener a property change listener
-	 * @see #addPropertyChangeListener(PropertyChangeListener)
+	 * @param listener java.beans.PropertyChangeListener
 	 */
 	public void removePropertyChangeListener(PropertyChangeListener listener);
+	
+	/**
+	 * Fires a property change event.
+	 */
+	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue);
 
 	/**
 	 * Sets the server configuration associated with this server working copy.
@@ -115,7 +117,7 @@
 	 * {@link IServer#createWorkingCopy()},
 	 * <code>this.getOriginal()</code> returns the original
 	 * server object. For a server working copy just created by
-	 * a call to {@link IServerType#createServer(String, org.eclipse.core.resources.IFile, IProgressMonitor)},
+	 * a call to {@link IServerType#createServer(String, IFile, IProgressMonitor)},
 	 * <code>this.getOriginal()</code> returns <code>null</code>.
 	 * </p>
 	 * 
@@ -159,13 +161,10 @@
 	 * normal save, and the saveAll method eliminated.]
 	 * </p>
 	 * 
-	 * @param force <code>true</code> to force the save, or <code>false</code>
-	 *    otherwise
 	 * @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]
-	 * @see #SAVE_CONFLICT
 	 */
 	public IServer save(boolean force, IProgressMonitor monitor) throws CoreException;
 
@@ -195,17 +194,24 @@
 	 * normal save, and the saveAll method eliminated.]
 	 * </p>
 	 * 
-	 * @param force <code>true</code> to force the save, or <code>false</code>
-	 *    otherwise
 	 * @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]
-	 * @see #SAVE_CONFLICT
 	 */
 	public IServer saveAll(boolean force, IProgressMonitor monitor) throws CoreException;
 
 	/**
+	 * Sets the file where this server instance is serialized.
+	 * 
+	 * @param file 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 void setFile(IFile file);
+
+	/**
 	 * Sets the runtime associated with this server working copy.
 	 * <p>
 	 * Note: The runtime of a server working copy may
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
index 902c399..fa854e4 100644
--- 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
@@ -67,8 +67,7 @@
 	 * Returns the preference information for the project. The project may not
 	 * be null.
 	 *
-	 * @param project a project
-	 * @return the properties of the project
+	 * @return org.eclipse.wst.server.core.IServerProjectPreferences
 	 */
 	public static IProjectProperties getProjectProperties(IProject project) {
 		if (project == null)
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
index 834b154..b07b74b 100644
--- 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
@@ -16,7 +16,6 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
 
 import org.eclipse.wst.server.core.internal.IModuleVisitor;
 import org.eclipse.wst.server.core.internal.ModuleFactory;
@@ -24,24 +23,20 @@
 import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.core.internal.Trace;
 /**
- * Server utility methods. These static methods can be used to perform
- * common operations on server artifacts.
+ * Server utility methods.
  * 
  * @since 1.0
  */
 public class ServerUtil {
 	/**
-	 * Static utility class - cannot create an instance.
+	 * Static class - cannot create an instance.
 	 */
 	private ServerUtil() {
 		// do nothing
 	}
-
+	
 	/**
 	 * Returns the project modules attached to a project.
-	 * 
-	 * @param project a project
-	 * @return a possibly empty array of modules
 	 */
 	public static IModule[] getModules(IProject project) {
 		if (project == null)
@@ -65,8 +60,8 @@
 	/**
 	 * Returns a module from the given moduleId. The moduleId must not be null.
 	 * 
-	 * @param moduleId a module id
-	 * @return the module, or <code>null</code> if the module could not be found
+	 * @param moduleId
+	 * @return the module
 	 */
 	public static IModule getModule(String moduleId) {
 		if (moduleId == null)
@@ -92,7 +87,7 @@
 	 * Return all the available modules from all factories whose
 	 * type matches the given module types.
 	 * 
-	 * @param moduleTypes an array of module types
+	 * @param moduleTypes
 	 * @return a possibly empty array of modules
 	 */
 	public static IModule[] getModules(IModuleType[] moduleTypes) {
@@ -121,7 +116,7 @@
 	 * Return all the available modules from all factories whose
 	 * type matches the given module type id.
 	 * 
-	 * @param type a module type
+	 * @param type
 	 * @return a possibly empty array of modules
 	 */
 	public static IModule[] getModules(String type) {
@@ -150,9 +145,9 @@
 	 * Returns <code>true</code> if any of the given moduleTypes have the given
 	 * module type id and version id.
 	 * 
-	 * @param moduleTypes an array of module types
-	 * @param typeId a module type
-	 * @param versionId a module version
+	 * @param moduleTypes
+	 * @param typeId
+	 * @param versionId
 	 * @return <code>true</code> if the module type is supported, and
 	 *    <code>false</code> otherwise
 	 */
@@ -182,8 +177,8 @@
 	 * Returns <code>true</code> if any of the given moduleTypes match the given
 	 * module type.
 	 * 
-	 * @param moduleTypes an array of modules types
-	 * @param mt a module type
+	 * @param moduleTypes
+	 * @param mt
 	 * @return <code>true</code> if the module type is supported, and
 	 *    <code>false</code> otherwise
 	 */
@@ -212,8 +207,8 @@
 	 * Returns true if the two given module types are compatible. The moduleTypes may not
 	 * be null.
 	 * 
-	 * @param moduleType a module type
-	 * @param mt a module type
+	 * @param moduleType
+	 * @param mt
 	 * @return <code>true</code> if the module type is supported, and
 	 *    <code>false</code> otherwise
 	 */
@@ -239,7 +234,7 @@
 	/**
 	 * Return all the available modules from all factories.
 	 * 
-	 * @return a possibly empty array of modules
+	 * @return IModule[]
 	 */
 	private static IModule[] getModules() {
 		List list = new ArrayList();
@@ -269,9 +264,9 @@
 	 * 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 a server
-	 * @param add an array of modules to add, or <code>null</code> to not add any
-	 * @param remove an array of modules to remove, or <code>null</code> to not remove any
+	 * @param server
+	 * @param add
+	 * @param remove
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
 	 * @throws CoreException
@@ -342,10 +337,10 @@
 	/**
 	 * Sets a default name on the given runtime.
 	 * 
-	 * @param runtime a runtime
+	 * @param wc
 	 */
-	public static void setRuntimeDefaultName(IRuntimeWorkingCopy runtime) {
-		String typeName = runtime.getRuntimeType().getName();
+	public static void setRuntimeDefaultName(IRuntimeWorkingCopy wc) {
+		String typeName = wc.getRuntimeType().getName();
 		
 		String name = ServerPlugin.getResource("%defaultRuntimeName", new String[] {typeName});
 		int i = 2;
@@ -353,20 +348,20 @@
 			name = ServerPlugin.getResource("%defaultRuntimeName2", new String[] {typeName, i + ""});
 			i++;
 		}
-		runtime.setName(name);
+		wc.setName(name);
 	}
 
 	/**
 	 * Sets a default name on the given server.
 	 * 
-	 * @param server a server
+	 * @param wc
 	 */
-	public static void setServerDefaultName(IServerWorkingCopy server) {
-		if (server == null)
+	public static void setServerDefaultName(IServerWorkingCopy wc) {
+		if (wc == null)
 			throw new IllegalArgumentException();
 		
-		String typeName = server.getServerType().getName();
-		String host = server.getHost();
+		String typeName = wc.getServerType().getName();
+		String host = wc.getHost();
 		
 		String name = ServerPlugin.getResource("%defaultServerName", new String[] {typeName, host});
 		int i = 2;
@@ -374,7 +369,7 @@
 			name = ServerPlugin.getResource("%defaultServerName2", new String[] {typeName, host, i + ""});
 			i++;
 		}
-		server.setName(name);
+		wc.setName(name);
 	}
 
 	private static boolean isValidFilename(String name) {
@@ -410,8 +405,8 @@
 	/**
 	 * Returns an unused file in the given project.
 	 * 
-	 * @param project a project
-	 * @param type a server type
+	 * @param project
+	 * @param type
 	 * @return an unused file within the given project
 	 */
 	public static IFile getUnusedServerFile(IProject project, IServerType type) {
@@ -419,10 +414,10 @@
 			throw new IllegalArgumentException();
 		
 		String typeName = getValidFileName(type.getName());
-		String name = ServerPlugin.getResource("%defaultServerName3", new String[] {typeName})+ "."  + Server.FILE_EXTENSION;
+		String name = ServerPlugin.getResource("%defaultServerName3", new String[] {typeName})+ "."  + IServerAttributes.FILE_EXTENSION;
 		int i = 2;
 		while (isFileNameInUse(project, name)) {
-			name = ServerPlugin.getResource("%defaultServerName4", new String[] {typeName, i + ""}) + "."  + Server.FILE_EXTENSION;
+			name = ServerPlugin.getResource("%defaultServerName4", new String[] {typeName, i + ""}) + "."  + IServerAttributes.FILE_EXTENSION;
 			i++;
 		}
 		return project.getFile(name);
@@ -431,7 +426,7 @@
 	/**
 	 * Returns true if a server or runtime exists with the given name.
 	 *
-	 * @param name a name
+	 * @param name java.lang.String
 	 * @return <code>true</code> if the name is in use, and <code>false</code>
 	 *    otherwise
 	 */
@@ -469,10 +464,9 @@
 	/**
 	 * Returns true if an element exists with the given name.
 	 *
-	 * @param project a project
-	 * @param name a file or folder name
-	 * @return boolean <code>true</code> if the file or folder name is being
-	 *    used, and <code>false</code> otherwise
+	 * @param project
+	 * @param name
+	 * @return boolean
 	 */
 	private static boolean isFileNameInUse(IProject project, String name) {
 		if (name == null || project == null)
@@ -490,8 +484,8 @@
 	 * 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 a module type
-	 * @param version a module version
+	 * @param type
+	 * @param version
 	 * @return a possibly-empty array of runtime instances {@link IRuntime}
 	 */
 	public static IRuntime[] getRuntimes(String type, String version) {
@@ -516,8 +510,8 @@
 	 * 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 a module type
-	 * @param version a module version
+	 * @param type
+	 * @param version
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version) {
@@ -542,9 +536,8 @@
 	 * and partial runtime type id. If type, version, or runtimeTypeId is null,
 	 * it matches all of that type or version.
 	 * 
-	 * @param type a module type
-	 * @param version a module version
-	 * @param runtimeTypeId the id of a runtime type
+	 * @param type
+	 * @param version
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version, String runtimeTypeId) {
@@ -571,12 +564,11 @@
 	 * method return servers where the parent deployable may throw errors. For
 	 * instance, this deployable may be the wrong spec level.
 	 *
-	 * @param module a module
-	 * @param includeErrors <code>true</code> to include servers that returned
-	 *    errors when trying to add the module, and <code>false</code> otherwise
+	 * @param module com.ibm.etools.server.core.IModule
+	 * @param includeErrors
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
-	 * @return a possibly empty array of servers
+	 * @return com.ibm.etools.server.core.IServer[]
 	 */
 	public static IServer[] getAvailableServersForModule(IModule module, boolean includeErrors, IProgressMonitor monitor) {
 		if (module == null)
@@ -630,7 +622,7 @@
 	/**
 	 * Returns a list of all servers that this module is configured on.
 	 * 
-	 * @param module a module
+	 * @param module org.eclipse.wst.server.core.model.IModule
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
 	 * @return a possibly-empty array of server instances {@link IServer}
@@ -659,12 +651,11 @@
 	/**
 	 * Returns true if the given server currently contains the given module.
 	 *
-	 * @param server a server
-	 * @param module a module
+	 * @param server org.eclipse.wst.server.core.IServer
+	 * @param module org.eclipse.wst.server.core.IModule
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
-	 * @return boolean <code>true</code> if the module is contained on the server,
-	 *    or <code>false</code> otherwise
+	 * @return boolean
 	 */
 	public static boolean containsModule(IServer server, final IModule module, IProgressMonitor monitor) {
 		if (server == null)
@@ -688,34 +679,4 @@
 		}, null);
 		return h.b;
 	}
-
-	/**
-	 * Returns the server associated with the given launch configuration.
-	 * 
-	 * @param configuration a launch configuration
-	 * @return the server associated with the launch configuration, or
-	 *    <code>null</code> if no server could be found
-	 * @throws CoreException if there is a problem getting the attribute from
-	 *    the launch configuration
-	 */
-	public static IServer getServer(ILaunchConfiguration configuration) throws CoreException {
-		String serverId = configuration.getAttribute(Server.ATTR_SERVER_ID, (String) null);
-
-		if (serverId != null)
-			return ServerCore.findServer(serverId);
-		return null;
-	}
-
-	/**
-	 * Validates whether this server can be editted.
-	 * 
-	 * @param context the context (Shell)
-	 * @param server the server
-	 * @return a status object with code <code>IStatus.OK</code> if the server
-	 *   can be edited, otherwise a status object indicating what when wrong
-	 *   with the checkout
-	 */
-	public static IStatus validateEdit(Object context, IServer server) {
-		return ((Server)server).validateEdit(context);
-	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
index 816dbb4..a09fe39 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
@@ -22,22 +22,24 @@
  * of another.
  * </p>
  * 
+ * <p>This interface is not intended to be implemented by clients.</p>
+ * 
  * @since 1.0
  */
 public class TaskModel {
 	/**
 	 * Task model id for an IRuntime.
 	 * 
-	 * @see #getObject(String)
-	 * @see #putObject(String, Object)
+	 * @see getObject(String)
+	 * @see putObject(String, Object)
 	 */
 	public static final String TASK_RUNTIME = "runtime";
 	
 	/**
 	 * Task model id for an IServer.
 	 * 
-	 * @see #getObject(String)
-	 * @see #putObject(String, Object)
+	 * @see getObject(String)
+	 * @see putObject(String, Object)
 	 */
 	public static final String TASK_SERVER = "server";
 
@@ -45,16 +47,16 @@
 	 * Task model id for an array of modules.
 	 * The value is a List containing IModule[] arrays.
 	 * 
-	 * @see #getObject(String)
-	 * @see TaskModel#putObject(String, Object)
+	 * @see getObject(String)
+	 * @see putObject(String, Object)
 	 */
 	public static final String TASK_MODULES = "modules";
 	
 	/**
 	 * Task model id for a launch mode.
 	 * 
-	 * @see #getObject(String)
-	 * @see #putObject(String, Object)
+	 * @see getObject(String)
+	 * @see putObject(String, Object)
 	 */
 	public static final String TASK_LAUNCH_MODE = "launch-mode";
 	
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
index 915f1b1..c404bbb 100644
--- 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
@@ -44,26 +44,10 @@
 		map.put(PROP_ID, id);
 	}
 
-	/**
-	 * Returns the timestamp of this object.
-	 * Timestamps are monotonically increased each time the object is saved
-	 * and can be used to determine if any changes have been made on disk
-	 * since the object was loaded.
-	 * 
-	 * @return the object's timestamp
-	 */
 	public int getTimestamp() {
 		return getAttribute("timestamp", -1);
 	}
 
-	/**
-	 * 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() {
 		return file;
 	}
@@ -144,13 +128,6 @@
 		return getAttribute(PROP_LOCKED, false);
 	}
 
-	/**
-	 * Returns <code>true</code> if this runtime is private (not shown
-	 * in the UI to the users), and <code>false</code> otherwise.
-	 * 
-	 * @return <code>true</code> if this runtime is private,
-	 *    and <code>false</code> otherwise
-	 */
 	public boolean isPrivate() {
 		return getAttribute(PROP_PRIVATE, false);
 	}
@@ -297,9 +274,6 @@
 	}
 	
 	public void delete() throws CoreException {
-		if (isWorkingCopy())
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "Cannot delete a working copy", null));
-		
 		if (file != null)
 			file.delete(true, true, new NullProgressMonitor());
 		else
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
index 6d970ed..306bac5 100644
--- 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
@@ -47,10 +47,6 @@
 	public String getDescription() {
 		return element.getAttribute("description");
 	}
-	
-	protected String getLaunchable() {
-		return element.getAttribute("launchable");
-	}
 
 	/*
 	 * @see IPublishManager#getLabel()
@@ -80,10 +76,6 @@
 	 * 
 	 */
 	public boolean supports(IServer server, Object launchable, String launchMode) {
-		if (launchable == null)
-			return false;
-		//if (!launchable.getClass().getName().equals(getLaunchable()))
-		//	return false;
 		try {
 			return getDelegate().supports(server, launchable, launchMode);
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java
index c5ce923..2050b0e 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java
@@ -11,7 +11,7 @@
 package org.eclipse.wst.server.core.internal;
 
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 
 /**
  * An monitored port on a server.
@@ -33,7 +33,7 @@
 	 * 
 	 * @return org.eclipse.wst.server.model.IServerPort
 	 */
-	public ServerPort getServerPort();
+	public IServerPort getServerPort();
 
 	/**
 	 * Return the port that is being used to monitor.
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java
index 4682ddd..60ba1d8 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java
@@ -57,10 +57,17 @@
 	/**
 	 * Returns <code>true</code> if this type of server can run on a remote host.
 	 * Returns <code>false</code> if the server type can only be run on "localhost"
-	 * (the local machine).
+	 * (the local machine). 
+	 * <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>
 	 * 
 	 * @return <code>true</code> if this type of server can run on
-	 *    a remote host, and <code>false</code> if it cannot
+	 * a remote host, and <code>false</code> if it cannot
 	 */
 	public boolean supportsRemoteHosts();
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java
index 525bc7c..1741aff 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java
@@ -46,12 +46,12 @@
 	 * @param port
 	 * @return
 	 */
-	//public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException;
+	//public int startMonitoring(IServer server, IServerPort port, int monitorPort) throws CoreException;
 
 	/**
 	 * Stop monitoring the given port.
 	 * 
 	 * @param port
 	 */
-	//public void stopMonitoring(IServer server, ServerPort 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/internal/IServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitorManager.java
index 8a8a9c8..390eac3 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitorManager.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitorManager.java
@@ -12,7 +12,7 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 /**
  * 
  * <p>This interface is not intended to be implemented by clients.</p>
@@ -37,7 +37,7 @@
 	 * @param content
 	 * @return monitor port number
 	 */
-	public IMonitoredServerPort createMonitor(IServer server, ServerPort port, int monitorPort, String[] content);
+	public IMonitoredServerPort createMonitor(IServer server, IServerPort port, int monitorPort, String[] content);
 
 	/**
 	 * Stop monitoring the given port. Throws a CoreException if there was a problem
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
index c4a8f52..88c8f31 100644
--- 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
@@ -90,7 +90,7 @@
 			try {
 				delegate = (ModuleFactoryDelegate) element.createExecutableExtension("class");
 				delegate.initialize(this);
-				//ResourceManager.getInstance().addModuleFactoryListener(delegate);
+				ResourceManager.getInstance().addModuleFactoryListener(delegate);
 			} catch (Throwable t) {
 				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 			}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
index e0639ca..113ecda 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
@@ -42,7 +42,7 @@
 	public boolean shouldRun() {
 		if (!check)
 			return true;
-		return ServerPreferences.getInstance().isAutoPublishing() && ((Server)server).shouldPublish();
+		return ServerPreferences.getInstance().isAutoPublishing() && server.shouldPublish();
 	}
 
 	/* (non-Javadoc)
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
index 304c80c..6b8df71 100644
--- 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
@@ -54,6 +54,17 @@
 	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
@@ -174,6 +185,41 @@
 		}
 	}
 	
+	public class ModuleFactoryListener implements IModuleFactoryListener {
+		public void moduleFactoryChanged(ModuleFactoryEvent event) {
+			Trace.trace(Trace.FINEST, "Module factory changed");
+			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(ModuleEvent event) {
+			Trace.trace(Trace.FINEST, "Module changed: " + event);
+			if (!moduleEvents.contains(event))
+				moduleEvents.add(event);
+		}
+	}
+	
 	protected List moduleServerEventHandlers;
 	protected List moduleServerEventHandlerIndexes;
 
@@ -234,6 +280,9 @@
 			}
 		}
 		
+		moduleFactoryListener = new ModuleFactoryListener();
+		moduleListener = new ModuleListener();
+		
 		addServerLifecycleListener(ServerListener.getInstance());
 	}
 	
@@ -504,7 +553,7 @@
 		runtimes = new ArrayList();
 		if (xmlString != null && xmlString.length() > 0) {
 			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes());
 				IMemento memento = XMLMemento.loadMemento(in);
 		
 				IMemento[] children = memento.getChildren("runtime");
@@ -799,7 +848,7 @@
 		monitor.beginTask("", 2000);
 		
 		// try loading a server
-		if (file.getFileExtension().equals(Server.FILE_EXTENSION)) {
+		if (file.getFileExtension().equals(IServerAttributes.FILE_EXTENSION)) {
 			try {
 				IServer server = loadServer(file, ProgressUtil.getSubMonitorFor(monitor, 1000));
 				if (server != null) {
@@ -834,7 +883,7 @@
 		if (servers != null) {
 			int size = servers.length;
 			for (int i = 0; i < size; i++) {
-				if (file.equals(((Server)servers[i]).getFile()))
+				if (file.equals(servers[i].getFile()))
 					return servers[i];
 			}
 		}
@@ -986,6 +1035,100 @@
 		fireServerEvent(server, EVENT_ADDED);
 	}
 
+	/**
+	 *
+	 */
+	protected void addModuleFactoryListener(ModuleFactoryDelegate delegate) {
+		if (delegate == null)
+			return;
+	
+		Trace.trace(Trace.LISTENERS, "Adding module factory listener to: " + delegate);
+		delegate.addModuleFactoryListener(moduleFactoryListener);
+		
+		IModule[] modules = delegate.getModules();
+		if (modules != null) {
+			int size = modules.length;
+			for (int i = 0; i < size; i++) {
+				Trace.trace(Trace.LISTENERS, "Adding module listener to: " + modules[i]);
+				modules[i].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()) {
+			ModuleEvent event = (ModuleEvent) iterator.next();
+			Trace.trace(Trace.LISTENERS, "  1> " + event);
+		}
+		iterator = moduleFactoryEvents.iterator();
+		while (iterator.hasNext()) {
+			ModuleFactoryEvent event = (ModuleFactoryEvent) iterator.next();
+			Trace.trace(Trace.LISTENERS, "  2> " + event);
+		}
+
+		ModuleEvent[] events = new ModuleEvent[moduleEvents.size()];
+		moduleEvents.toArray(events);
+		
+		ModuleFactoryEvent[] factoryEvents = new ModuleFactoryEvent[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(ModuleFactoryEvent[] factoryEvents, ModuleEvent[] events) {
 		// do nothing
 	}
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
index 4dd7822..4e7dc3f 100644
--- 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
@@ -16,42 +16,18 @@
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.debug.core.*;
 
 import org.eclipse.wst.server.core.*;
 import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.ServerEvent;
+import org.eclipse.wst.server.core.util.ServerAdapter;
 import org.eclipse.wst.server.core.util.SocketUtil;
 /**
  * 
  */
 public class Server extends Base implements IServer {
-	/**
-	 * Server id attribute (value "server-id") of launch configurations.
-	 * This attribute is used to tag a launch configuration with th
-	 * id of the corresponding server.
-	 * 
-	 * @see ILaunchConfiguration
-	 */
-	public static final String ATTR_SERVER_ID = "server-id";
-
 	protected static final List EMPTY_LIST = new ArrayList(0);
 	
-	/**
-	 * 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";
-	
 	protected static final String PROP_HOSTNAME = "hostname";
 	protected static final String SERVER_ID = "server-id";
 	protected static final String RUNTIME_ID = "runtime-id";
@@ -94,8 +70,8 @@
 	// publish listeners
 	protected transient List publishListeners;
 	
-	// Server listeners
-	protected transient ServerNotificationManager notificationManager;
+	// server listeners
+	protected transient List serverListeners;
 	
 	public class AutoPublishThread extends Thread {
 		public boolean stop;
@@ -188,25 +164,14 @@
 		if (serverType != null) {
 			synchronized (this) {
 				if (delegate == null) {
-					Job job = new Job("Load delegate") {
-						protected IStatus run(IProgressMonitor monitor) {
-							try {
-								long time = System.currentTimeMillis();
-								IConfigurationElement element = ((ServerType) serverType).getElement();
-								delegate = (ServerDelegate) element.createExecutableExtension("class");
-								delegate.initialize(Server.this);
-								Trace.trace(Trace.PERFORMANCE, "Server.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
-							} catch (Throwable t) {
-								Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
-							}
-							return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, "", null);
-						}
-					};
-					job.schedule();
 					try {
-						job.join();
-					} catch (Exception e) {
-						// ignore
+						long time = System.currentTimeMillis();
+						IConfigurationElement element = ((ServerType) serverType).getElement();
+						delegate = (ServerDelegate) element.createExecutableExtension("class");
+						delegate.initialize(this);
+						Trace.trace(Trace.PERFORMANCE, "Server.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
+					} catch (Throwable t) {
+						Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 					}
 				}
 			}
@@ -221,25 +186,14 @@
 		if (serverType != null) {
 			synchronized (this) {
 				if (behaviourDelegate == null) {
-					Job job = new Job("Load delegate") {
-						protected IStatus run(IProgressMonitor monitor) {
-							try {
-								long time = System.currentTimeMillis();
-								IConfigurationElement element = ((ServerType) serverType).getElement();
-								behaviourDelegate = (ServerBehaviourDelegate) element.createExecutableExtension("behaviourClass");
-								behaviourDelegate.initialize(Server.this);
-								Trace.trace(Trace.PERFORMANCE, "Server.getBehaviourDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
-							} catch (Throwable t) {
-								Trace.trace(Trace.SEVERE, "Could not create behaviour delegate " + toString(), t);
-							}
-							return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, "", null);
-						}
-					};
-					job.schedule();
 					try {
-						job.join();
-					} catch (Exception e) {
-						// ignore
+						long time = System.currentTimeMillis();
+						IConfigurationElement element = ((ServerType) serverType).getElement();
+						behaviourDelegate = (ServerBehaviourDelegate) element.createExecutableExtension("behaviourClass");
+						behaviourDelegate.initialize(this);
+						Trace.trace(Trace.PERFORMANCE, "Server.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
+					} catch (Throwable t) {
+						Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 					}
 				}
 			}
@@ -302,41 +256,70 @@
 	 */
 	public void addServerListener(IServerListener listener) {
 		Trace.trace(Trace.LISTENERS, "Adding server listener " + listener + " to " + this);
-		getServerNotificationManager().addListener(listener);
+	
+		if (serverListeners == null)
+			serverListeners = new ArrayList();
+		serverListeners.add(listener);
 	}
 	
 	/**
-	 * Add a listener to this server with the given event mask.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IServerListener
-	 */
-	public void addServerListener(IServerListener listener, int eventMask) {
-		Trace.trace(Trace.LISTENERS, "Adding server listener " + listener + " to " + this + " with eventMask " + eventMask);
-		getServerNotificationManager().addListener(listener, eventMask);
-	}
-
-	/**
 	 * 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);
-		getServerNotificationManager().removeListener(listener);
+	
+		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 (notificationManager == null || notificationManager.hasListenerEntries())
+		if (serverListeners == null || serverListeners.isEmpty())
 			return;
 	
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.RESTART_STATE_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState()));
+		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 -<-");
 	}
 	
 	/**
@@ -345,12 +328,46 @@
 	protected void fireServerStateChangeEvent() {
 		Trace.trace(Trace.LISTENERS, "->- Firing server state change event: " + getName() + ", " + getServerState() + " ->-");
 	
-		if (notificationManager == null || notificationManager.hasListenerEntries())
+		if (serverListeners == null || serverListeners.isEmpty())
 			return;
 	
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState()));
+		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 -<-");
 	}
 
 	/**
@@ -359,12 +376,22 @@
 	protected void fireServerModuleStateChangeEvent(IModule[] module) {
 		Trace.trace(Trace.LISTENERS, "->- Firing server module state change event: " + getName() + ", " + getServerState() + " ->-");
 		
-		if (notificationManager == null || notificationManager.hasListenerEntries())
+		if (serverListeners == null || serverListeners.isEmpty())
 			return;
-	
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.STATE_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module)));
+		
+		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 setMode(String m) {
@@ -465,13 +492,6 @@
 		
 		//Trace.trace(Trace.FINEST, "< handleDeployableProjectChange()");
 	}
-	
-	private ServerNotificationManager getServerNotificationManager() {
-		if (notificationManager == null) {
-			notificationManager = new ServerNotificationManager();
-		}
-		return notificationManager;
-	}
 
 	/**
 	 * Returns the configuration's sync state.
@@ -637,12 +657,23 @@
 	protected void firePublishStateChange(IModule[] module) {
 		Trace.trace(Trace.FINEST, "->- Firing publish state change event: " + module + " ->-");
 	
-		if (notificationManager == null || notificationManager.hasListenerEntries())
+		if (serverListeners == null || serverListeners.isEmpty())
 			return;
-	
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.PUBLISH_STATE_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module)));
+
+		int size = serverListeners.size();
+		IServerListener[] sl = new IServerListener[size];
+		serverListeners.toArray(sl);
+
+		for (int i = 0; i < size; i++) {
+			Trace.trace(Trace.FINEST, "  Firing publish state change event to " + sl[i]);
+			try {
+				sl[i].moduleStateChange(this, module);
+			} catch (Exception e) {
+				Trace.trace(Trace.SEVERE, "  Error firing publish state change event to " + sl[i], e);
+			}
+		}
+
+		Trace.trace(Trace.FINEST, "-<- Done firing publish state change event -<-");
 	}
 
 	/**
@@ -650,20 +681,21 @@
 	 * be published to.
 	 *
 	 * @return boolean
+	 * TODO: fix return strings 
 	 */
 	public IStatus canPublish() {
 		// can't publish if the server is starting or stopping
 		int state = getServerState();
 		if (state == STATE_STARTING || state == STATE_STOPPING)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorPublishStarting"), null);
+			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 	
 		// can't publish if there is no configuration
 		if (getServerType() == null || getServerType().hasServerConfiguration() && configuration == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorPublishNoConfiguration"), null);
+			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 	
 		// return true if the configuration can be published
 		if (getServerPublishState() != PUBLISH_STATE_NONE)
-			return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%canPublishOk"), null);
+			return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 
 		// return true if any modules can be published
 		class Temp {
@@ -671,7 +703,7 @@
 		}
 		//final Temp temp = new Temp();
 		
-		return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%canPublishOk"), null);
+		return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 	
 		/*IModuleVisitor visitor = new IModuleVisitor() {
 			public boolean visit(IModule[] parents, IModule module) {
@@ -717,9 +749,9 @@
 	 * Publish to the server using the progress monitor. The result of the
 	 * publish operation is returned as an IStatus.
 	 */
-	/*public IStatus publish(IProgressMonitor monitor) {
+	public IStatus publish(IProgressMonitor monitor) {
 		return publish(PUBLISH_INCREMENTAL, monitor);
-	}*/
+	}
 
 	/*
 	 * Publish to the server using the progress monitor. The result of the
@@ -751,11 +783,11 @@
 				
 				if (spi.hasModulePublishInfo(module)) {
 					if (getPublishedResourceDelta(module).length == 0)
-						kindList.add(new Integer(ServerBehaviourDelegate.NO_CHANGE));
+						kindList.add(new Integer(NO_CHANGE));
 					else
-						kindList.add(new Integer(ServerBehaviourDelegate.CHANGED));
+						kindList.add(new Integer(CHANGED));
 				} else
-					kindList.add(new Integer(ServerBehaviourDelegate.ADDED));
+					kindList.add(new Integer(ADDED));
 				return true;
 			}
 		};
@@ -774,7 +806,7 @@
 		spi.addRemovedModules(moduleList, kindList);
 		
 		while (moduleList.size() > kindList.size()) {
-			kindList.add(new Integer(ServerBehaviourDelegate.REMOVED));
+			kindList.add(new Integer(REMOVED));
 		}
 		
 		//parents = parentList;
@@ -833,7 +865,6 @@
 			try {
 				publishModules(kind, moduleList, kindList, multi, monitor);
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Error while publishing modules", e);
 				multi.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorPublishing"), e));
 			}
 		}
@@ -897,7 +928,7 @@
 		for (int i = 0; i < size; i++) {
 			((ModuleResourceDelta)delta[i]).trace(">  ");
 		}*/
-		if (deltaKind == ServerBehaviourDelegate.REMOVED)
+		if (deltaKind == REMOVED)
 			getServerPublishInfo().removeModulePublishInfo(module);
 		else
 			getServerPublishInfo().fill(module);
@@ -1097,18 +1128,6 @@
 		}
 	}
 
-	/**
-	 * 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 <code>true</code> if a new launch configuration should be
-	 *    created if there are none already
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return the launch configuration, no <code>null</code> if there was no
-	 *    existing launch configuration and <code>create</code> was false
-	 * @throws CoreException
-	 */
 	public ILaunchConfiguration getLaunchConfiguration(boolean create, IProgressMonitor monitor) throws CoreException {
 		ILaunchConfigurationType launchConfigType = ((ServerType) getServerType()).getLaunchConfigurationType();
 		
@@ -1212,6 +1231,7 @@
 	 * be restarted.
 	 *
 	 * @return boolean
+	 * TODO: fix return strings
 	 */
 	public IStatus canRestart(String mode2) {
 		if (!getServerType().supportsLaunchMode(mode2))
@@ -1219,9 +1239,9 @@
 
 		int state = getServerState();
 		if (state == STATE_STARTED)
-			return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%canRestartOk"), null);
+			return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 		
-		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorRestartNotStarted"), null);
+		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 	}
 
 	/**
@@ -1269,36 +1289,31 @@
 			}
 		
 			// add listener to start it as soon as it is stopped
-			addServerListener(new IServerListener() {
-				public void serverChanged(ServerEvent event) {
-					int eventKind = event.getKind();
-					IServer server = event.getServer();
-					if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-						if (server.getServerState() == STATE_STOPPED) {
-							server.removeServerListener(this);
+			addServerListener(new ServerAdapter() {
+				public void serverStateChange(IServer server) {
+					if (server.getServerState() == STATE_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) {
-										// ignore
-									}
-									try {
-										Server.this.start(mode2, new NullProgressMonitor());
-									} catch (Exception e) {
-										Trace.trace(Trace.SEVERE, "Error while restarting server", e);
-									}
+						// 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) {
+									// ignore
 								}
-							};
-							t.setDaemon(true);
-							t.setPriority(Thread.NORM_PRIORITY - 2);
-							t.start();
-						}
+								try {
+									Server.this.start(mode2, 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();
 					}
-					
 				}
 			});
 	
@@ -1315,12 +1330,13 @@
 	 * be stopped.
 	 *
 	 * @return boolean
+	 * TODO: fix return strings
 	 */
 	public IStatus canStop() {
 		if (getServerState() == STATE_STOPPED)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStopAlreadyStopped"), null);
+			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 
-		return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%canStopOk"), null);
+		return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 	}
 
 	/**
@@ -1352,21 +1368,17 @@
 		final Object mutex = new Object();
 	
 		// add listener to the server
-		IServerListener listener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				int eventKind = event.getKind();
-				IServer server = event.getServer();
-				if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-					int state = server.getServerState();
-					if (state == IServer.STATE_STARTED || state == IServer.STATE_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);
-							}
+		IServerListener listener = new ServerAdapter() {
+			public void serverStateChange(IServer server) {
+				int state = server.getServerState();
+				if (state == IServer.STATE_STARTED || state == IServer.STATE_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);
 						}
 					}
 				}
@@ -1457,20 +1469,16 @@
 		final Object mutex = new Object();
 	
 		// add listener to the server
-		IServerListener listener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				int eventKind = event.getKind();
-				IServer server = event.getServer();
-				if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-					int state = server.getServerState();
-					if (Server.this == server && state == IServer.STATE_STOPPED) {
-						// notify waiter
-						synchronized (mutex) {
-							try {
-								mutex.notifyAll();
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Error notifying server stop", e);
-							}
+		IServerListener listener = new ServerAdapter() {
+			public void serverStateChange(IServer server) {
+				int state = server.getServerState();
+				if (Server.this == server && state == IServer.STATE_STOPPED) {
+					// notify waiter
+					synchronized (mutex) {
+						try {
+							mutex.notifyAll();
+						} catch (Exception e) {
+							Trace.trace(Trace.SEVERE, "Error notifying server stop", e);
 						}
 					}
 				}
@@ -1542,21 +1550,17 @@
 		final Object mutex = new Object();
 	
 		// add listener to the module
-		IServerListener listener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				int eventKind = event.getKind();
-				IServer server = event.getServer();
-				if (eventKind == (ServerEvent.MODULE_CHANGE | ServerEvent.STATE_CHANGE)) {
-					int state = server.getModuleState(module);
-					if (state == IServer.STATE_STARTED || state == IServer.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);
-							}
+		IServerListener listener = new ServerAdapter() {
+			public void moduleStateChange(IServer server) {
+				int state = server.getModuleState(module);
+				if (state == IServer.STATE_STARTED || state == IServer.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);
 						}
 					}
 				}
@@ -1836,16 +1840,17 @@
 	 * @param module the module
 	 * @return <code>true</code> if the given module can be
 	 *    restarted, and <code>false</code> otherwise
+	 * TODO: fix return strings
 	 */
 	public IStatus canRestartModule(IModule[] module) {
 		try {
 			boolean b = getBehaviourDelegate().canRestartModule(module);
 			if (b)
-				return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%canRestartModuleOk"), null);
+				return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate canRestartRuntime() " + toString(), e);
 		}
-		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorRestartModule"), null);
+		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, ServerPlugin.getResource("%errorLaunchMode"), null);
 	}
 
 	/**
@@ -1883,7 +1888,7 @@
 	 *
 	 * @return a possibly empty array of servers ports
 	 */
-	public ServerPort[] getServerPorts() {
+	public IServerPort[] getServerPorts() {
 		try {
 			return getDelegate().getServerPorts();
 		} catch (Exception e) {
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
index b633787..7ad6e1e 100644
--- 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
@@ -11,7 +11,6 @@
 package org.eclipse.wst.server.core.internal;
 
 import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.util.ServerEvent;
 import org.eclipse.wst.server.core.util.ServerLifecycleAdapter;
 /**
  * Listens for messages from the servers. This class keeps
@@ -50,6 +49,55 @@
 	}
 
 	/**
+	 * Notification when the server state has changed.
+	 *
+	 * @param server org.eclipse.wst.server.model.IServer
+	 */
+	public void serverStateChange(IServer server) {
+		// do nothing
+	}
+
+	/**
+	 * Notification when the server state has changed.
+	 *
+	 * @param server org.eclipse.wst.server.model.IServer
+	 */
+	public void modulesChanged(IServer server) {
+		// do nothing
+	}
+
+	/**
+	 * Notification when the state of a module has changed.
+	 *
+	 * @param server org.eclipse.wst.server.model.IServer
+	 */
+	public void moduleStateChange(IServer server, IModule[] module) {
+		// do nothing
+	}
+
+	/**
+	 * Called when the server isRestartNeeded() property changes.
+	 *
+	 * @param server org.eclipse.wst.server.core.IServer
+	 */
+	public void restartStateChange(IServer server) {
+		/*if (server.isRestartNeeded() == false)
+			return;
+		
+		byte state = server.getServerState();
+		if (state != IServer2.STATE_STARTED && state != IServer2.STATE_STARTED_DEBUG && state != IServer.STATE_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 server org.eclipse.wst.server.core.IServer
@@ -66,8 +114,4 @@
 	public void serverRemoved(IServer server) {
 		server.removeServerListener(this);
 	}
-
-	public void serverChanged(ServerEvent event) {
-		// do nothing
-	}
 }
\ No newline at end of file
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
index 586c8ce..9aa0c1b 100644
--- 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
@@ -14,7 +14,7 @@
 import org.eclipse.core.runtime.IConfigurationElement;
 
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 /**
  * 
  */
@@ -76,7 +76,7 @@
 	 * @param port
 	 * @return the port used for monitoring
 	 */
-	public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException {
+	public int startMonitoring(IServer server, IServerPort port, int monitorPort) throws CoreException {
 		try {
 			return getDelegate().startMonitoring(server, port, monitorPort);
 		} catch (CoreException ce) {
@@ -91,7 +91,7 @@
 	 * Stop monitoring the given port.
 	 * @param port
 	 */
-	public void stopMonitoring(IServer server, ServerPort port) {
+	public void stopMonitoring(IServer server, IServerPort port) {
 		try {
 			getDelegate().stopMonitoring(server, port);
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java
index c091213..3c5a05b 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java
@@ -13,7 +13,7 @@
 import org.eclipse.core.runtime.CoreException;
 
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 /**
  * An interface to a TCP/IP monitor.
  */
@@ -26,11 +26,11 @@
 	 * @param port
 	 * @return the port used for monitoring
 	 */
-	public abstract int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException;
+	public abstract int startMonitoring(IServer server, IServerPort port, int monitorPort) throws CoreException;
 
 	/**
 	 * Stop monitoring the given port.
 	 * @param port
 	 */
-	public abstract void stopMonitoring(IServer server, ServerPort port);
+	public abstract 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/internal/ServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
index 0f744bf..3fb6b0a 100644
--- 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
@@ -30,12 +30,12 @@
 	
 	class MonitoredPort implements IMonitoredServerPort {
 		protected IServer server;
-		protected ServerPort port;
+		protected IServerPort port;
 		protected int newPort = -1;
 		protected String[] content;
 		public boolean started;
 		
-		public MonitoredPort(IServer server, ServerPort port, int newPort, String[] content) {
+		public MonitoredPort(IServer server, IServerPort port, int newPort, String[] content) {
 			this.server = server;
 			this.port = port;
 			this.newPort = newPort;
@@ -50,7 +50,7 @@
 			return server;
 		}
 		
-		public ServerPort getServerPort() {
+		public IServerPort getServerPort() {
 			return port;
 		}
 		
@@ -136,11 +136,11 @@
 				newPort = Integer.parseInt(newPortStr);
 			String portId = memento.getString("portId");
 			
-			ServerPort[] ports2 = server.getServerPorts();
+			IServerPort[] ports2 = server.getServerPorts();
 			if (ports2 != null) {
 				int size = ports2.length;
 				for (int i = 0; port == null && i < size; i++) {
-					ServerPort sp = ports2[i];
+					IServerPort sp = ports2[i];
 					if (sp.getId() != null && sp.getId().equals(portId))
 						port = sp;
 				}
@@ -232,7 +232,7 @@
 	 * @return a monitored server port
 	 * @throws org.eclipse.core.runtime.CoreException
 	 */
-	public IMonitoredServerPort createMonitor(IServer server, ServerPort port, int monitorPort, String[] content) {
+	public IMonitoredServerPort createMonitor(IServer server, IServerPort port, int monitorPort, String[] content) {
 		if (port == null || monitor == null)
 			return null;
 		
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
deleted file mode 100644
index 5e6ef2c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IServerListener;
-import org.eclipse.wst.server.core.util.ServerEvent;
-/**
- * Notification manager for server.
- * 
- * @since 1.0
- */
-public class ServerNotificationManager {
-	private List listenerList = new ArrayList();
-	
-	/**
-	 * For masking event on all changes.
-	 */
-	public static final int ALL_EVENTS = 0xFFFF;
-	
-	private class ListenerEntry {
-		private IServerListener listener;
-		private int eventMask;
-		
-		private ListenerEntry(IServerListener curListener, int curEventMask) {
-			listener = curListener;
-			eventMask = curEventMask;
-		}
-		
-		IServerListener getListener() {
-			return listener;
-		}
-		
-		int getEventMask() {
-			return eventMask;
-		}
-	}
-
-	/**
-	 * LaunchableClient constructor comment.
-	 */
-	public ServerNotificationManager() {
-		super();
-	}
-
-
-	/**
-	 * Add listener for all events.
-	 * @param curListener
-	 */
-	public void addListener(IServerListener curListener) {
-		addListener(curListener, ALL_EVENTS);
-	}
-	
-	public void addListener(IServerListener curListener, int eventMask) {
-		Trace.trace(Trace.FINEST, "->- Adding server listener to notification manager: " + curListener + " " + eventMask + " ->-");
-		if (curListener == null) {
-			return;
-		}
-		
-		synchronized (listenerList) {
-			listenerList.add(new ListenerEntry(curListener, eventMask));
-		}
-	}
-	
-	public void broadcastChange(ServerEvent event) {
-		Trace.trace(Trace.FINEST, "->- Broadcasting server event: " + event + " ->-");
-		if (event == null) {
-			return;
-		}
-		int eventKind = event.getKind();
-		Trace.trace(Trace.FINEST, "  Server event kind: " + eventKind + " ->-");
-		
-		// Only notify listeners that listen to module event.
-		Iterator listenerIter = listenerList.iterator();
-		while (listenerIter.hasNext()) {
-			ListenerEntry curEntry = (ListenerEntry)listenerIter.next();
-			int mask = curEntry.getEventMask();
-			// Check if the type of the event matches the mask, e.g. server or module change.
-			boolean isTypeMatch = ((mask & eventKind & ServerEvent.SERVER_CHANGE) != 0) 
-														|| ((mask & eventKind & ServerEvent.MODULE_CHANGE) != 0);
-			// Check the kind of change.
-			boolean isKindMatch = (mask & eventKind ^ ServerEvent.SERVER_CHANGE ^ ServerEvent.MODULE_CHANGE) != 0;
-			if (isTypeMatch && isKindMatch) {
-				Trace.trace(Trace.FINEST, "->- Firing server event to listener: " + curEntry.getListener() + " ->-");
-				try {
-					Trace.trace(Trace.LISTENERS, "  Firing server event to listener: " + curEntry.getListener());
-					curEntry.getListener().serverChanged(event);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "  Error firing server event: " + curEntry.getListener(), e);
-				}
-				Trace.trace(Trace.LISTENERS, "-<- Done Firing server event -<-");
-			}
-		}
-		Trace.trace(Trace.FINEST, "-<- Done broadcasting server event -<-");
-	}
-	
-	/**
-	 * 
-	 * @return true if the listener list is not empty; otherwise, returns false.
-	 */
-	public boolean hasListenerEntries() {
-		return listenerList.size() == 0;
-	}
-	
-	public void removeListener(IServerListener curListener) {
-		Trace.trace(Trace.FINEST, "->- Removing server listener from notification manager: " + curListener + " ->-");
-		if (curListener == null) {
-			return;
-		}
-		ListenerEntry matchedListenerEntry = null;
-		Iterator listenerIter = listenerList.iterator();
-		while (matchedListenerEntry == null && listenerIter.hasNext()) {
-			ListenerEntry curEntry = (ListenerEntry)listenerIter.next();
-			if (curListener.equals(curEntry.getListener())) {
-				matchedListenerEntry = curEntry;
-			}
-		}
-		if (matchedListenerEntry != null) {
-			synchronized (listenerList) {
-				listenerList.remove(matchedListenerEntry);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
index 8f138b8..7ec59c8 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
@@ -15,6 +15,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.server.core.model.*;
 /**
@@ -139,16 +140,14 @@
 		while (iterator.hasNext()) {
 			ModulePublishInfo mpi = (ModulePublishInfo) iterator.next();
 			IModule[] module2 = getModule(mpi.getModuleId());
-			if (module2 == null || module2.length == 0) {
+			if (module2 == null) {
 				String moduleId = mpi.getModuleId();
-				if (moduleId != null) {
-					int index = moduleId.lastIndexOf("#");
-					module2 = new IModule[] { new DeletedModule(moduleId.substring(index + 1)) };
-				}
+				int index = moduleId.lastIndexOf("#");
+				module2 = new IModule[] { new DeletedModule(moduleId.substring(index + 1)) };
 			}
-			if (module2 != null && module2.length > 0) {
+			if (module2 != null) {
 				moduleList.add(module2);
-				kindList.add(new Integer(ServerBehaviourDelegate.REMOVED));
+				kindList.add(new Integer(IServer.REMOVED));
 			}
 		}
 	}
@@ -212,9 +211,6 @@
 	}
 
 	public IModuleResourceDelta[] getDelta(IModule[] module) {
-		if (module == null)
-			return new IModuleResourceDelta[0];
-		
 		ModulePublishInfo mpi = getModulePublishInfo(module);
 		int size = module.length;
 		ModuleDelegate pm = (ModuleDelegate) module[size - 1].getAdapter(ModuleDelegate.class);
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
index 6ecf558..41b2452 100644
--- 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
@@ -129,6 +129,18 @@
 			return IServer.STATE_STARTED;
 		return IServer.STATE_UNKNOWN;
 	}
+	
+	public int 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() {
 		return ("true".equalsIgnoreCase(element.getAttribute("hasConfiguration")));
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
index acf3182..d17f8a9 100644
--- 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
@@ -135,16 +135,6 @@
 		setAttribute(PROP_LOCKED, 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 IServerAttributes#isPrivate()
-	 */
 	public void setPrivate(boolean b) {
 		setAttribute(PROP_PRIVATE, b);
 	}
@@ -169,14 +159,6 @@
 			setAttribute(CONFIGURATION_ID, configuration.getFullPath().toString());
 	}
 
-	/**
-	 * Sets the file where this server instance is serialized.
-	 * 
-	 * @param file 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 void setFile(IFile file) {
 		this.file = file;
 	}
@@ -224,13 +206,13 @@
 		monitor.subTask(ServerPlugin.getResource("%savingTask", getName()));
 
 		if (!force && getOriginal() != null)
-			wch.validateTimestamp(((Server)getOriginal()).getTimestamp());
+			wch.validateTimestamp(getOriginal().getTimestamp());
 
 		if (server == null) {
 			server = new Server(file);
 			server.setServerState(serverState);
 			server.publishListeners = publishListeners;
-			server.notificationManager = notificationManager;
+			server.serverListeners = serverListeners;
 		}
 		
 		if (getServerType().hasServerConfiguration()) {
@@ -380,7 +362,7 @@
 			throw ce;
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate modifyModule() " + toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "" + e.getLocalizedMessage(), e));
+			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, e.getLocalizedMessage(), e));
 		}
 	}
 
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
index c87a447..5592828 100644
--- 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
@@ -113,7 +113,7 @@
 
 	protected void validateTimestamp(int timestamp) throws CoreException {
 		if (base.getTimestamp() != timestamp)
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IServerWorkingCopy.SAVE_CONFLICT, ServerPlugin.getResource("%errorWorkingCopyTimestamp"), null));
+			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IServerWorkingCopy.TIMESTAMP_ERROR, ServerPlugin.getResource("%errorWorkingCopyTimestamp"), null));
 	}
 
 	/**
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
index a88d617..e92b3de 100644
--- 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
@@ -12,6 +12,7 @@
 
 import java.io.*;
 import java.util.*;
+import java.net.URL;
 import org.w3c.dom.*;
 import org.xml.sax.*;
 
@@ -44,7 +45,7 @@
 	 * you should use createReadRoot and createWriteRoot to create the initial
 	 * mementos on a document.
 	 */
-	private XMLMemento(Document doc, Element el) {
+	public XMLMemento(Document doc, Element el) {
 		factory = doc;
 		element = el;
 	}
@@ -72,12 +73,12 @@
 	 * Create a Document from a Reader and answer a root memento for reading 
 	 * a document.
 	 */
-	protected static XMLMemento createReadRoot(InputStream in) {
+	protected static XMLMemento createReadRoot(Reader reader) {
 		Document document = null;
 		try {
 			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
+			document = parser.parse(new InputSource(reader));
 			Node node = document.getFirstChild();
 			if (node instanceof Element)
 				return new XMLMemento(document, (Element) node);
@@ -85,7 +86,7 @@
 			// ignore
 		} finally {
 			try {
-				in.close();
+				reader.close();
 			} catch (Exception e) {
 				// ignore
 			}
@@ -258,7 +259,35 @@
 	 * @exception java.io.IOException
 	 */
 	public static IMemento loadMemento(InputStream in) {
-		return createReadRoot(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 (Exception e) {
+			// ignore
+		} finally {
+			try {
+				in.close();
+			} catch (Exception e) {
+				// ignore
+			}
+		}
+		return null;
 	}
 
 	/**
@@ -269,7 +298,18 @@
 	 * @exception java.io.IOException
 	 */
 	public static IMemento loadMemento(String filename) throws IOException {
-		return XMLMemento.createReadRoot(new FileInputStream(filename));
+		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()));
 	}
 
 	/*
@@ -324,18 +364,34 @@
 			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.
 	 */
-	protected void save(OutputStream os) throws IOException {
+	public void save(OutputStream os) throws IOException {
 		Result result = new StreamResult(os);
 		Source source = new DOMSource(factory);
 		try {
 			Transformer transformer = TransformerFactory.newInstance().newTransformer();
 			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
 			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
 			transformer.transform(source, result);
 		} catch (Exception e) {
@@ -350,9 +406,9 @@
 	 * @exception java.io.IOException
 	 */
 	public void saveToFile(String filename) throws IOException {
-		FileOutputStream w = null;
+		Writer w = null;
 		try {
-			w = new FileOutputStream(filename);
+			w = new FileWriter(filename);
 			save(w);
 		} catch (IOException e) {
 			throw e;
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java
index c4031de..bc4d792 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java
@@ -33,9 +33,7 @@
 	 * @return <code>true</code> if the client supports this combination, and <code>false</code>
 	 *    otherwise
 	 */
-	public boolean supports(IServer server, Object launchable, String launchMode) {
-		return true;
-	}
+	public abstract boolean supports(IServer server, Object launchable, String launchMode);
 
 	/**
 	 * Opens or executes on the launchable.
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
new file mode 100644
index 0000000..64a2854
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleEventsListener.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.core.model;
+/**
+ * 
+ * 
+ * @since 1.0
+ */
+public interface IModuleEventsListener {
+	/**
+	 * A module or factory has been changed as specified in the event.
+	 *
+	 * @param factoryEvent org.eclipse.wst.server.core.model.ModuleFactoryEvent[]
+	 * @param event org.eclipse.wst.server.core.model.ModuleEvent[]
+	 */
+	public void moduleEvents(ModuleFactoryEvent[] factoryEvent, ModuleEvent[] event);
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java
index 9174fed..8327fdf 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java
@@ -16,32 +16,9 @@
  * @since 1.0
  */
 public interface IModuleResourceDelta {
-	/**
-	 * Kind constant (value 0) for no change.
-	 * 
-	 * @see #getKind()
-	 */
 	public static final int NO_CHANGE = 0;
-
-	/**
-	 * Kind constant (value 1) for added resources.
-	 * 
-	 * @see #getKind()
-	 */
 	public static final int ADDED = 1;
-
-	/**
-	 * Kind constant (value 2) for changed resources.
-	 * 
-	 * @see #getKind()
-	 */
 	public static final int CHANGED = 2;
-
-	/**
-	 * Kind constant (value 3) for removed resources.
-	 * 
-	 * @see #getKind()
-	 */
 	public static final int REMOVED = 3;
 
 	/**
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java
index 1ee9dfc..5d72254 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java
@@ -28,7 +28,7 @@
 	 * @param server the server
 	 * @param moduleArtifact a module artifact
 	 * @return the launchable object
-	 * @throws CoreException if there was an error doing the conversion
+	 * @throws if there was an error doing the conversion
 	 */
 	public abstract Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException;
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java
index 73a8d77..20587d5 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java
@@ -85,10 +85,12 @@
 	}
 
 	/**
-	 * Validates this module instance. Subclasses should
+	 * Validates this module instance. See the specification of
+	 * {@link IModule#validate(IProgressMonitor)} for further details. Subclasses should
 	 * override and call super.validate() for basic validation. 
 	 * <p>
-	 * This method is called by the web server core framework.
+	 * This method is called by the web server core framework,
+	 * in response to a call to <code>IModule.validate(IProgressMonitor)</code>.
 	 * Clients should never call this method.
 	 * </p>
 	 *
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
index bf99a16..549998f 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
@@ -124,9 +124,13 @@
 	public abstract ModuleDelegate getModuleDelegate(IModule module);
 
 	/**
-	 * Return all modules created by this factory. 
+	 * 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.
+	 * 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>
@@ -144,7 +148,9 @@
 	 * notifications until it is removed.
 	 * Has no effect if an identical listener is already registered.
 	 * <p>
-	 * This method is normally called by the web server core framework.
+	 * 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>
 	 *
@@ -165,7 +171,9 @@
 	 * 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.
+	 * 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>
 	 *
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
index c64f2b0..a345ce3 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
@@ -109,12 +109,13 @@
 	 * 
 	 * @return the runtime
 	 */
-	public IRuntimeWorkingCopy getRuntimeWorkingCopy() {
+	public final IRuntimeWorkingCopy getRuntimeWorkingCopy() {
 		return runtimeWC;
 	}
 
 	/**
-	 * Validates this runtime instance. Subclasses should
+	 * Validates this runtime instance. See the specification of
+	 * {@link IRuntime#validate(IProgressMonitor)} for further details. Subclasses should
 	 * override and call super.validate() for basic validation. 
 	 * <p>
 	 * This method is called by the web server core framework,
@@ -139,13 +140,7 @@
 		
 		return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, "", null);
 	}
-
-	/**
-	 * Returns <code>true</code> if the current name is already in use.
-	 * 
-	 * @return <code>true</code> if the name is in use, and <code>false</code>
-	 *    otherwise
-	 */
+	
 	private boolean isNameInUse() {
 		IRuntime orig = runtime;
 		if (runtimeWC != null)
@@ -162,64 +157,24 @@
 		return false;
 	}
 
-	/**
-	 * Returns the value of the specified int-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, int)
-	 */
-	public int getAttribute(String id, int defaultValue) {
-		return runtime.getAttribute(id, defaultValue);
+	public final int getAttribute(String attributeName, int defaultValue) {
+		return runtime.getAttribute(attributeName, defaultValue);
 	}
 
-	/**
-	 * Returns the value of the specified boolean-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, boolean)
-	 */
-	public boolean getAttribute(String id, boolean defaultValue) {
-		return runtime.getAttribute(id, defaultValue);
+	public final boolean getAttribute(String attributeName, boolean defaultValue) {
+		return runtime.getAttribute(attributeName, defaultValue);
+	}
+	
+	public final String getAttribute(String attributeName, String defaultValue) {
+		return runtime.getAttribute(attributeName, defaultValue);
 	}
 
-	/**
-	 * Returns the value of the specified String-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, String)
-	 */
-	public String getAttribute(String id, String defaultValue) {
-		return runtime.getAttribute(id, defaultValue);
+	public final List getAttribute(String attributeName, List defaultValue) {
+		return runtime.getAttribute(attributeName, defaultValue);
 	}
 
-	/**
-	 * Returns the value of the specified List-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, List)
-	 */
-	public List getAttribute(String id, List defaultValue) {
-		return runtime.getAttribute(id, defaultValue);
-	}
-
-	/**
-	 * Returns the value of the specified Map-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, Map)
-	 */
-	public Map getAttribute(String id, Map defaultValue) {
-		return runtime.getAttribute(id, defaultValue);
+	public final Map getAttribute(String attributeName, Map defaultValue) {
+		return runtime.getAttribute(attributeName, defaultValue);
 	}
 	
 	/**
@@ -252,9 +207,8 @@
 	 * 
 	 * @param id the attribute id
 	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, int)
 	 */
-	public void setAttribute(String id, int value) {
+	public final void setAttribute(String id, int value) {
 		runtimeWC.setAttribute(id, value);
 	}
 
@@ -264,9 +218,8 @@
 	 * 
 	 * @param id the attribute id
 	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, boolean)
 	 */
-	public void setAttribute(String id, boolean value) {
+	public final void setAttribute(String id, boolean value) {
 		runtimeWC.setAttribute(id, value);
 	}
 
@@ -276,9 +229,8 @@
 	 * 
 	 * @param id the attribute id
 	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, String)
 	 */
-	public void setAttribute(String id, String value) {
+	public final void setAttribute(String id, String value) {
 		runtimeWC.setAttribute(id, value);
 	}
 
@@ -288,9 +240,8 @@
 	 * 
 	 * @param id the attribute id
 	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, List)
 	 */
-	public void setAttribute(String id, List value) {
+	public final void setAttribute(String id, List value) {
 		runtimeWC.setAttribute(id, value);
 	}
 
@@ -300,9 +251,8 @@
 	 * 
 	 * @param id the attribute id
 	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, Map)
 	 */
-	public void setAttribute(String id, Map value) {
+	public final void setAttribute(String id, Map value) {
 		runtimeWC.setAttribute(id, value);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java
index 2a1a709..0daeeac 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java
@@ -24,9 +24,6 @@
  * @since 1.0
  */
 public abstract class RuntimeLocatorDelegate {
-	/**
-	 * A callback listener used to report progress.
-	 */
 	public interface IRuntimeSearchListener {
 		/**
 		 * Called when a new runtime is found by the locator.
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
index 96dd8c2..e739321 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
@@ -48,34 +48,6 @@
  */
 public abstract class ServerBehaviourDelegate {
 	private Server server;
-	
-	/**
-	 * Publish kind constant (value 0) for no change.
-	 * 
-	 * @see #publishModule(int, int, IModule[], IProgressMonitor)
-	 */
-	public static final int NO_CHANGE = 0;
-	
-	/**
-	 * Publish kind constant (value 1) for added resources.
-	 * 
-	 * @see #publishModule(int, int, IModule[], IProgressMonitor)
-	 */
-	public static final int ADDED = 1;
-	
-	/**
-	 * Publish kind constant (value 2) for changed resources.
-	 * 
-	 * @see #publishModule(int, int, IModule[], IProgressMonitor)
-	 */
-	public static final int CHANGED = 2;
-
-	/**
-	 * Publish kind constant (value 3) for removed resources.
-	 * 
-	 * @see #publishModule(int, int, IModule[], IProgressMonitor)
-	 */
-	public static final int REMOVED = 3;
 
 	/**
 	 * Delegates must have a public 0-arg constructor.
@@ -332,10 +304,6 @@
 	 * This method is used if there is a quick/better way to restart
 	 * the server. If it throws a CoreException, the normal stop/start
 	 * actions will be used.
-	 * 
-	 * @param launchMode the mode to restart in, one of the mode constants
-	 *    defined by {@link org.eclipse.debug.core.ILaunchManager}
-	 * @throws CoreException if there was a problem restarting
 	 */
 	public void restart(String launchMode) throws CoreException {
 		 throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "Could not restart", null));
@@ -361,7 +329,7 @@
 	/**
 	 * Asynchronously restarts the given module on the server.
 	 * See the specification of 
-	 * {@link IServer#synchronousRestartModule(IModule[], IProgressMonitor)}
+	 * {@link IServer#synchronousRestartModule(IModule, IProgressMonitor)}
 	 * for further details. 
 	 * <p>
 	 * The implementation should update the module sync state and fire
@@ -418,7 +386,8 @@
 	 * will be thrown.
 	 * </p>
 	 * 
-	 * @param module the module
+	 * @param parents
+	 * @param module
 	 * @return an array containing the published module resource
 	 */
 	public IModuleResource[] getPublishedResources(IModule[] module) {
@@ -429,7 +398,8 @@
 	 * Returns the delta of the current module resources that have been
 	 * published compared to the current state of the module.
 	 *
-	 * @param module the module
+	 * @param parents
+	 * @param module
 	 * @return an array containing the publish resource delta
 	 */
 	public IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
index e75ef05..080759b 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
@@ -98,7 +98,7 @@
 	 * 
 	 * @return the server
 	 */
-	public IServer getServer() {
+	public final IServer getServer() {
 		return server;
 	}
 
@@ -107,68 +107,28 @@
 	 * 
 	 * @return the server
 	 */
-	public IServerWorkingCopy getServerWorkingCopy() {
+	public final IServerWorkingCopy getServerWorkingCopy() {
 		return serverWC;
 	}
 
-	/**
-	 * Returns the value of the specified int-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, int)
-	 */
-	public int getAttribute(String id, int defaultValue) {
-		return server.getAttribute(id, defaultValue);
+	public final int getAttribute(String attributeName, int defaultValue) {
+		return server.getAttribute(attributeName, defaultValue);
 	}
 
-	/**
-	 * Returns the value of the specified boolean-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, boolean)
-	 */
-	public boolean getAttribute(String id, boolean defaultValue) {
-		return server.getAttribute(id, defaultValue);
+	public final boolean getAttribute(String attributeName, boolean defaultValue) {
+		return server.getAttribute(attributeName, defaultValue);
+	}
+	
+	public final String getAttribute(String attributeName, String defaultValue) {
+		return server.getAttribute(attributeName, defaultValue);
 	}
 
-	/**
-	 * Returns the value of the specified String-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, String)
-	 */
-	public String getAttribute(String id, String defaultValue) {
-		return server.getAttribute(id, defaultValue);
+	public final List getAttribute(String attributeName, List defaultValue) {
+		return server.getAttribute(attributeName, defaultValue);
 	}
 
-	/**
-	 * Returns the value of the specified List-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, List)
-	 */
-	public List getAttribute(String id, List defaultValue) {
-		return server.getAttribute(id, defaultValue);
-	}
-
-	/**
-	 * Returns the value of the specified Map-valued attribute.
-	 * 
-	 * @param id the attribute id
-	 * @param defaultValue the default value of the specified attribute
-	 * @return the attribute value
-	 * @see #setAttribute(String, Map)
-	 */
-	public Map getAttribute(String id, Map defaultValue) {
-		return server.getAttribute(id, defaultValue);
+	public final Map getAttribute(String attributeName, Map defaultValue) {
+		return server.getAttribute(attributeName, defaultValue);
 	}
 
 	/**
@@ -199,7 +159,6 @@
 	 * <p>
 	 * [issue: See IServerAttributes.canModifyModules(IModule[], IModule[], IProgressMonitor).]
 	 * </p>
-	 * [issue: doc that it should be quick]
 	 *
 	 * @param add a possibly-empty list of modules to add
 	 * @param remove a possibly-empty list of modules to remove
@@ -218,8 +177,7 @@
 	 * recursively called on the children.</p>
 	 *
 	 * @param module a module
-	 * @return the child modules
-	 * @see IServerAttributes#getChildModules(IModule[], IProgressMonitor)
+	 * @see org.eclipse.wst.server.core.IServerAttributes#getChildModules(IModule, IProgressMonitor)
 	 */
 	public abstract IModule[] getChildModules(IModule[] module);
 
@@ -252,7 +210,7 @@
 	 *
 	 * @return the server's ports
 	 */
-	public ServerPort[] getServerPorts() {
+	public IServerPort[] getServerPorts() {
 		return null;
 	}
 
@@ -273,7 +231,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, int)
 	 */
-	public void setAttribute(String id, int value) {
+	public final void setAttribute(String id, int value) {
 		serverWC.setAttribute(id, value);
 	}
 
@@ -285,7 +243,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, boolean)
 	 */
-	public void setAttribute(String id, boolean value) {
+	public final void setAttribute(String id, boolean value) {
 		serverWC.setAttribute(id, value);
 	}
 
@@ -297,7 +255,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, String)
 	 */
-	public void setAttribute(String id, String value) {
+	public final void setAttribute(String id, String value) {
 		serverWC.setAttribute(id, value);
 	}
 
@@ -309,7 +267,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, List)
 	 */
-	public void setAttribute(String id, List value) {
+	public final void setAttribute(String id, List value) {
 		serverWC.setAttribute(id, value);
 	}
 
@@ -321,7 +279,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, Map)
 	 */
-	public void setAttribute(String id, Map value) {
+	public final void setAttribute(String id, Map value) {
 		serverWC.setAttribute(id, value);
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerLocatorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerLocatorDelegate.java
index a877f1d..49d64b4 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerLocatorDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerLocatorDelegate.java
@@ -23,9 +23,6 @@
  * @since 1.0
  */
 public abstract class ServerLocatorDelegate {
-	/**
-	 * A callback listener used to report progress.
-	 */
 	public interface IServerSearchListener {
 		/**
 		 * Called when a new server is found by the locator.
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
index 2795888..5adcf86 100644
--- 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
@@ -33,26 +33,16 @@
 	// change listeners
 	private transient List listeners;
 
-	/**
-	 * Create a new project module.
-	 */
 	public ProjectModule() {
 		// do nothing
 	}
 
-	/**
-	 * Create a new project module in the given project.
-	 * 
-	 * @param project the project containing the module
-	 */
 	public ProjectModule(IProject project) {
 		this.project = project;
 	}
 
-	/**
-	 * Returns the project that the module is contained in.
-	 * 
-	 * @return the project that the module is contained in
+	/*
+	 * @see IModuleProject#getProject()
 	 */
 	public IProject getProject() {
 		return project;
@@ -148,24 +138,24 @@
 		return deployDelta;
 	}*/
 
-	/**
+	/*
 	 * Helper method - returns the module's id.
 	 * 
-	 * @return the module id
+	 * @see ModuleDelegate#getId()
 	 */
 	public String getId() {
 		return getProject().getName();
 		//return getModule().getId();
 	}
 
-	/**
+	/*
 	 * @see ModuleDelegate#validate()
 	 */
 	public IStatus validate() {
 		return null;
 	}
 
-	/**
+	/*
 	 * @see ModuleDelegate#members()
 	 */
 	public IModuleResource[] members() throws CoreException {
@@ -213,8 +203,6 @@
 
 	/**
 	 * Helper method - returns the module's name.
-	 * 
-	 * @return the module name
 	 */
 	public String getName() {
 		return getProject().getName();
@@ -232,7 +220,7 @@
 	}
 	
 	/**
-	 * @see Object#equals(Object)
+	 * 
 	 */
 	public boolean equals(Object obj) {
 		if (obj == null || !(obj instanceof ProjectModule))
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
index 7586463..775fc98 100644
--- 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
@@ -16,6 +16,7 @@
 import org.eclipse.core.runtime.IPath;
 
 import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.internal.ResourceManager;
 import org.eclipse.wst.server.core.internal.Trace;
 import org.eclipse.wst.server.core.model.ModuleFactoryDelegate;
 /**
@@ -174,6 +175,8 @@
 			ProjectModuleFactoryDelegate factory = (ProjectModuleFactoryDelegate) iterator.next();
 			factory.fireEvents();
 		}
+		
+		ResourceManager.getInstance().syncModuleEvents();
 	}
 
 	/**
@@ -272,9 +275,6 @@
 	 * @param project a project
 	 */
 	private void addModules(IProject project) {
-		if (projects == null)
-			cacheModules();
-		
 		IModule[] modules = createModules(project);
 		if (modules == null || modules.length == 0)
 			return;
@@ -289,9 +289,6 @@
 	 * @param project a project
 	 */
 	private void removeModules(IProject project) {
-		if (projects == null)
-			cacheModules();
-		
 		try {
 			IModule[] modules = (IModule[]) projects.get(project);
 			projects.remove(project);
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
new file mode 100644
index 0000000..1565be2
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerAdapter.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.core.util;
+
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerListener;
+/**
+ * Helper class which implements the IServerListener interface
+ * with empty methods.
+ * 
+ * @see org.eclipse.wst.server.core.IServerListener
+ * @since 1.0
+ */
+public class ServerAdapter implements IServerListener {
+	/**
+	 * @see IServerListener#restartStateChange(IServer)
+	 */
+	public void restartStateChange(IServer server) {
+		// do nothing
+	}
+
+	/**
+	 * @see IServerListener#serverStateChange(IServer)
+	 */
+	public void serverStateChange(IServer server) {
+		// do nothing
+	}
+
+	/**
+	 * @see IServerListener#modulesChanged(IServer)
+	 */
+	public void modulesChanged(IServer server) {
+		// do nothing
+	}
+
+	/**
+	 * @see IServerListener#moduleStateChange(IServer, IModule[])
+	 */
+	public void moduleStateChange(IServer server, IModule[] module) {
+		// do nothing
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerEvent.java
deleted file mode 100644
index 1b3ecc6..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerEvent.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-/**
- * An event fired when a server change or module changes.
- * 
- * @since 1.0
- */
-public class ServerEvent {
-	private IServer server;
-	private int kind;
-	private IModule[] moduleTree;
-	private int state;
-	private int publishState;
-	private boolean restartState;
-	
-	/**
-	 * For notification when the state has changed.
-	 * <p>
-	 * This kind is mutually exclusive with <code>PUBLISH_STATE_CHANGE</code> and 
-	 * <code>RESTART_STATE_CHANGE</code>.
-	 * </p>
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int STATE_CHANGE = 0x0001;
-	
-	/**
-	 * Fired when published is needed or no longer needs to be published, 
-	 * or it's state has changed.
-	 * <p>
-	 * This kind is mutually exclusive with <code>STATE_CHANGE</code> and 
-	 * <code>RESTART_STATE_CHANGE</code>.
-	 * </p>
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int PUBLISH_STATE_CHANGE = 0x0002;
-	
-	/**
-	 * For notification when the server isRestartNeeded() property changes.
-	 * <p>
-	 * This kind is mutually exclusive with <code>STATE_CHANGE</code> and 
-	 * <code>PUBLISH_STATE_CHANGE</code>.
-	 * </p>
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int RESTART_STATE_CHANGE = 0x0004;
-	
-	/**
-	 * For event on server changes. This kind is mutually exclusive with <code>MODULE_CHANGE</code>.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int SERVER_CHANGE = 0x0010;
-	
-	/**
-	 * For event on module changes. This kind is mutually exclusive with <code>SERVER_CHANGE</code>.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int MODULE_CHANGE = 0x0020;
-
-	/**
-	 * Create a new server event for server change events.
-	 * 
-	 * @param kind the kind of the change. (<code>XXX_CHANGE</code>). If the kind does not 
-	 *    include the <code>SERVER_CHANGE</code> kind, the SERVER_CHANGE will be added automatically.  
-	 *    constants declared on {@link ServerEvent}
-	 * @param server the server that the server event takes place
-	 * @param state the server state after the change (<code>STATE_XXX</code>)
-	 *    constants declared on {@link IServer}
-	 * @param publishingState the server publishing state after the 
-	 *    change (<code>PUBLISH_STATE_XXX</code>)
-	 *    constants declared on {@link IServer}
-	 * @param restartState get the server restart state after the server is restart 
-	 *    needed property change event
-	 */
-	public ServerEvent(int kind, IServer server, int state, int publishingState, boolean restartState) {
-		this.kind = kind |= SERVER_CHANGE;
-		this.server = server;
-		this.state = state;
-		this.publishState = publishingState;
-		this.restartState = restartState;
-		
-		if (server == null)
-			throw new IllegalArgumentException("Server parameter must not be null");
-		if ((kind & MODULE_CHANGE) != 0)
-			throw new IllegalArgumentException("Kind parameter invalid");
-		
-		checkKind();
-	}
-
-	/**
-	 * Create a new ServerEvent for module change events.
-	 * 
-	 * @param kind the kind of the change. (<code>XXX_CHANGE</code>). If the kind does not 
-	 *    include the <code>MODULE_CHANGE</code> kind, the MODULE_CHANGE will be added automatically.  
-	 *    constants declared on {@link ServerEvent}
-	 * @param server the server that the module event takes place
-	 * @param module the module that has changed
-	 * @param state the module state after the change (<code>STATE_XXX</code>)
-	 *    constants declared on {@link IServer}
-	 * @param publishingState the module publishing state after the 
-	 *    change (<code>PUBLISH_STATE_XXX</code>)
-	 *    constants declared on {@link IServer}
-	 * @param restartState get the module restart state after the module is restart 
-	 *    needed property change event.
-	 */
-	public ServerEvent(int kind, IServer server, IModule[] module, int state, int publishingState, boolean restartState) {
-		this.kind = kind |= MODULE_CHANGE;
-		this.server = server;
-		this.moduleTree = module;
-		this.state = state;
-		this.publishState = publishingState;
-		this.restartState = restartState;
-		
-		if (moduleTree == null || moduleTree.length == 0)
-			throw new IllegalArgumentException("Module parameter invalid");
-		if ((kind & SERVER_CHANGE) != 0)
-			throw new IllegalArgumentException("Kind parameter invalid");
-		
-		checkKind();
-	}
-	
-	private void checkKind() {
-		int i = 0;
-		if ((kind & STATE_CHANGE) != 0)
-			i++;
-		if ((kind & RESTART_STATE_CHANGE) != 0)
-			i++;
-		if ((kind & PUBLISH_STATE_CHANGE) != 0)
-			i++;
-		
-		if (i != 1)
-			throw new IllegalArgumentException("Kind parameter invalid");
-	}
-
-	/**
-	 * Returns the kind of the server event.
-	 * <p>
-	 * This kind can be used to test whether this event is a server event or module event by using
-	 * the following code (the example is checking for the server event):
-	 * ((getKind() | SERVER_CHANGE) != 0) 
-	 * the following code (the example is checking for the module event):
-	 * ((getKind() | MODULE_CHANGE) != 0) 
-	 * 
-	 * @return the kind of the change (<code>XXX_CHANGE</code>
-	 *    constants declared on {@link ServerEvent}
-	 */
-	public int getKind() {
-		return kind;
-	}
-	
-	/**
-	 * Returns the module tree of the module involved in the module change event,
-	 * or <code>null</code> if the event is not a module event, i.e. isModuleEvent() is false.
-	 *  
-	 * @return the module tree of the module involved in the module change event,
-	 *    or <code>null</code> if the event is not a module event, i.e.
-	 *    isModuleEvent() is false.
-	 */
-	public IModule[] getModule() {
-		return moduleTree;
-	}
-	
-	/**
-	 * Get the publish state after the change that triggers this server event. If this event 
-	 * is of the SERVER_CHANGE kind, then the publishing state is the server publishing state.
-	 * If this event is of the MODULE_CHANGE kind, then the publishing state is the module
-	 * publishing state.
-	 * 
-	 * @return the publishing state after the change (<code>PUBLISH_STATE_XXX</code>)
-	 *    constants declared on {@link IServer}
-	 */
-	public int getPublishState() {
-		return publishState;
-	}
-	
-	/**
-	 * Get the restart state after isRestartNeeded() property change event.
-	 * If this event is of the SERVER_CHANGE kind, then the restart state is the server 
-	 * restart state. If this event is of the MODULE_CHANGE kind, then the restart state 
-	 * is the module restart state. 
-	 * 
-	 * @return <code>true</code> if restart is needed, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean getRestartState() {
-		return restartState;
-	}
-	
-	/**
-	 * Get the state after the change that triggers this server event. If this event 
-	 * is of the SERVER_CHANGE kind, then the state is the server state.
-	 * If this event is of the MODULE_CHANGE kind, then the state is the module
-	 * state.
-	 * 
-	 * @return the server state after the change (<code>STATE_XXX</code>)
-	 *    constants declared on {@link IServer}
-	 */
-	public int getState() {
-		return state;
-	}
-	
-	/**
-	 * Returns the server involved in the change event.
-	 * 
-	 * @return the server involved in the change event.
-	 */
-	public IServer getServer() {
-		return server;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerPort.java
similarity index 70%
rename from plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerPort.java
rename to plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerPort.java
index 9914bf8..1d4587a 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerPort.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerPort.java
@@ -8,27 +8,24 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.server.core;
+package org.eclipse.wst.server.core.util;
+
+import org.eclipse.wst.server.core.IServerPort;
 /**
- * This class represents a port on a server.
+ * A default implementation of the IServerPort interface.
  * 
  * @since 1.0
  */
-public class ServerPort {
+public class ServerPort implements IServerPort {
 	private String id;
 	private String name;
 	private int port;
 	private String protocol;
 	private String[] contentTypes;
 	private boolean advanced;
-	
+
 	/**
 	 * Create a new server port.
-	 * 
-	 * @param id a server-specific port id
-	 * @param name a human-readable name for the port
-	 * @param port the number number
-	 * @param protocol the port's protocol
 	 */
 	public ServerPort(String id, String name, int port, String protocol) {
 		this(id, name, port, protocol, null, true);
@@ -36,14 +33,13 @@
 
 	/**
 	 * Create a new server port.
-	 * 
-	 * @param id a server-specific port id
-	 * @param name a human-readable name for the port
-	 * @param port the number number
-	 * @param protocol the port's protocol
-	 * @param contentTypes the content types that the port supports
-	 * @param advanced <code>true</code> if the port is "advanced" and should only
-	 *    be shown to advanced users, <code>false</code> otherwise
+	 */
+	public ServerPort(String id, String name, int port, String protocol, boolean advanced) {
+		this(id, name, port, protocol, null, advanced);
+	}
+
+	/**
+	 * Create a new server port.
 	 */
 	public ServerPort(String id, String name, int port, String protocol, String[] contentTypes, boolean advanced) {
 		super();
@@ -54,11 +50,18 @@
 		this.contentTypes = contentTypes;
 		this.advanced = advanced;
 	}
-
+	
+	/**
+	 * 
+	 */
+	public ServerPort(String name, int port, String protocol) {
+		this(null, name, port, protocol);
+	}
+	
 	/**
 	 * Return an optional internal id used to identify this port.
 	 * 
-	 * @return an internal id
+	 * @return the id
 	 */
 	public String getId() {
 		return id;
@@ -67,7 +70,7 @@
 	/**
 	 * Return the name of the port.
 	 * 
-	 * @return the name of the port
+	 * @return java.lang.String
 	 */
 	public String getName() {
 		return name;
@@ -75,8 +78,7 @@
 
 	/**
 	 * Return the actual port number.
-	 * 
-	 * @return the port number
+	 * @return int
 	 */
 	public int getPort() {
 		return port;
@@ -86,17 +88,17 @@
 	 * Returns the protocol, e.g. HTTP of this port. Returns null
 	 * if the protocol is unknown.
 	 * 
-	 * @return the procotol
+	 * @return java.lang.String
 	 */
 	public String getProtocol() {
 		return protocol;
 	}
 
 	/**
-	 * Returns the content types that this port would normally serve, or null
+	 * Returns the content that this port would normally serve, or null
 	 * if the content is unknown.
 	 * 
-	 * @return a possibly empty array of content types
+	 * @return java.lang.String[]
 	 */
 	public String[] getContentTypes() {
 		return contentTypes;
@@ -106,13 +108,12 @@
 	 * Returns true if this port is an "advanced" port and should not be shown
 	 * to novice users.
 	 * 
-	 * @return <code>true</code> if the port is advanced, or <code>false</code>
-	 *    otherwise
+	 * @return boolean
 	 */
 	public boolean isAdvanced() {
 		return advanced;
 	}
-	
+
 	/**
 	 * @see Object#equals(Object)
 	 */
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
index c81ec35..25de3ba 100644
--- 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
@@ -28,17 +28,10 @@
  */
 public class SocketUtil {
 	private static final Random rand = new Random(System.currentTimeMillis());
-
+	
 	private static String dnsHostname;
 
 	/**
-	 * Static utility class - cannot create an instance.
-	 */
-	private SocketUtil() {
-		// cannot create
-	}
-
-	/**
 	 * Finds an unused port between the given from and to values.
 	 * 
 	 * @param low lowest possible port number
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
index 71ee03c..3077d24 100644
--- 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
@@ -54,24 +54,16 @@
 	// after the user requests a launch, they cannot change it
 	private static final String READ_ONLY = "read-only";
 
-	/**
-	 * Create a new server launch configuration tab.
-	 */
 	public ServerLaunchConfigurationTab() {
 		this(new String[] {"*"});
 	}
 
-	/**
-	 * Create a new server launch configuration tab with the given server type ids.
-	 * 
-	 * @param serverTypeIds an array of server type ids
-	 */
 	public ServerLaunchConfigurationTab(String[] serverTypeIds) {
 		this.serverTypeIds = serverTypeIds;
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
+	/*
+	 * @see ILaunchConfigurationTab#createControl(Composite)
 	 */
 	public void createControl(Composite parent) {
 		Composite composite = new Composite(parent, SWT.NONE);
@@ -184,8 +176,8 @@
 		super.updateLaunchConfigurationDialog();
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
+	/*
+	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
 	 */
 	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 		setErrorMessage(null);
@@ -206,8 +198,8 @@
 		}
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
+	/*
+	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
 	 */
 	public void initializeFrom(ILaunchConfiguration configuration) {
 		serverCombo.setEnabled(true);
@@ -215,7 +207,7 @@
 		setErrorMessage(null);
 
 		try {
-			String serverId = configuration.getAttribute(Server.ATTR_SERVER_ID, "");
+			String serverId = configuration.getAttribute(IServerAttributes.ATTR_SERVER_ID, "");
 			if (serverId != null && !serverId.equals("")) {
 				server = ServerCore.findServer(serverId);
 
@@ -241,22 +233,31 @@
 		}
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
+	/*
+	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
 	 */
 	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		if (server != null)
-			configuration.setAttribute(Server.ATTR_SERVER_ID, server.getId());
+			configuration.setAttribute(IServerAttributes.ATTR_SERVER_ID, server.getId());
 		else
-			configuration.setAttribute(Server.ATTR_SERVER_ID, (String)null);
+			configuration.setAttribute(IServerAttributes.ATTR_SERVER_ID, (String)null);
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration) 
+	/*
+	 * @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(Server.ATTR_SERVER_ID, "");
+			String id = launchConfig.getAttribute(IServerAttributes.ATTR_SERVER_ID, "");
 			if (id != null && !id.equals("")) {
 				IServer server2 = ServerCore.findServer(id);
 				if (server2 == null)
@@ -270,15 +271,12 @@
 		return false;
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
 	public Image getImage() {
 		return ImageResource.getImage(ImageResource.IMG_SERVER);
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
+	/*
+	 * @see ILaunchConfigurationTab#getName()
 	 */
 	public String getName() {
 		return ServerUIPlugin.getResource("%serverLaunchConfigurationTab");
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/DebugOnServerAction.java
similarity index 94%
rename from plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerAction.java
rename to plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/DebugOnServerAction.java
index ebe4a00..b49da43 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/DebugOnServerAction.java
@@ -8,12 +8,13 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
+package org.eclipse.wst.server.ui.actions;
 
 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
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/LaunchWizardAction.java
similarity index 97%
rename from plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java
rename to plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/LaunchWizardAction.java
index 2a2d4e8..560c7ae 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/LaunchWizardAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
+package org.eclipse.wst.server.ui.actions;
 
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.viewers.ISelection;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerAction.java
similarity index 87%
rename from plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java
rename to plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerAction.java
index 8dba35b..90d650d 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/NewServerAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
+package org.eclipse.wst.server.ui.actions;
 
 import org.eclipse.ui.IWorkbenchWizard;
 import org.eclipse.wst.server.ui.internal.ImageResource;
@@ -19,14 +19,14 @@
  * 
  * @since 1.0
  */
-public class NewServerWizardAction extends LaunchWizardAction {
+public class NewServerAction extends LaunchWizardAction {
 	protected String[] ids;
 	protected String[] values;
 
 	/**
 	 * New server action.
 	 */
-	public NewServerWizardAction() {
+	public NewServerAction() {
 		super();
 	
 		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_NEW_SERVER));
@@ -39,7 +39,7 @@
 	 * @param ids ids to pass into the action
 	 * @param values values to pass into the action
 	 */
-	public NewServerWizardAction(String[] ids, String[] values) {
+	public NewServerAction(String[] ids, String[] values) {
 		this();
 		this.ids = ids;
 		this.values = values;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/ProfileOnServerAction.java
similarity index 93%
rename from plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerAction.java
rename to plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/ProfileOnServerAction.java
index 48eaa5d..daec566 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/ProfileOnServerAction.java
@@ -8,12 +8,13 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
+package org.eclipse.wst.server.ui.actions;
 
 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
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java
similarity index 94%
rename from plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java
rename to plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java
index 33f1b3f..70da368 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java
@@ -8,12 +8,13 @@
  * Contributors:
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
+package org.eclipse.wst.server.ui.actions;
 
 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
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
index 1fc899b..9aaa2ac 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
@@ -12,6 +12,7 @@
 
 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;
@@ -34,9 +35,6 @@
  * @since 1.0
  */
 public abstract class ServerEditorPart extends EditorPart {
-	/**
-	 * Property change id for the error message.
-	 */
 	public static final int PROP_ERROR = 5;
 	
 	private String errorMessage = null;
@@ -51,45 +49,44 @@
 	
 	private FormToolkit toolkit;
 
-	/**
-	 * Create a new server editor part.
-	 */
 	public ServerEditorPart() {
 		super();
 	}
 
-	/**
-	 * Sets the editor part factory for this page.
-	 * 
-	 * @param pageFactory the part factory
-	 */
 	public void setPageFactory(IServerEditorPartFactory pageFactory) {
 		this.pageFactory = pageFactory;
 	}
 
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSave(IProgressMonitor)
+	/*
+	 * @see IEditorPart#doSave(IProgressMonitor)
 	 */
 	public void doSave(IProgressMonitor monitor) {
 		// do nothing
 	}
 
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSaveAs()
+	/*
+	 * @see IEditorPart#doSaveAs()
 	 */
 	public void doSaveAs() {
 		// do nothing
 	}
 
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isDirty()
+	/*
+	 * @see IEditorPart#gotoMarker(IMarker)
+	 */
+	public void gotoMarker(IMarker marker) {
+		// do nothing
+	}
+
+	/*
+	 * @see IEditorPart#isDirty()
 	 */
 	public boolean isDirty() {
 		return false;
 	}
 
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isSaveAsAllowed()
+	/*
+	 * @see IEditorPart#isSaveAsAllowed()
 	 */
 	public boolean isSaveAsAllowed() {
 		return false;
@@ -110,10 +107,7 @@
 		errorMessage = error;
 		super.firePropertyChange(PROP_ERROR);
 	}
-
-	/**
-	 * Updates the error message shown in the editor.
-	 */
+	
 	public void updateErrorMessage() {
 		super.firePropertyChange(PROP_ERROR);
 	}
@@ -216,9 +210,6 @@
 		return list;
 	}
 
-	/**
-	 * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
 	public void init(IEditorSite site, IEditorInput input) {
 		setSite(site);
 		setInput(input);
@@ -245,12 +236,6 @@
 		return server;
 	}
 
-	/**
-	 * Inserts editor sections into the given composite.
-	 * 
-	 * @param parent the composite to add the section(s) to
-	 * @param id the section insertion id
-	 */
 	public void insertSections(Composite parent, String id) {
 		if (id == null)
 			return;
@@ -262,9 +247,6 @@
 		}
 	}
 	
-	/**
-	 * Dispose of the editor.
-	 */
 	public void dispose() {
 		super.dispose();
 
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
index b5ca02c..5bb025d 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
@@ -26,21 +26,13 @@
 public abstract class ServerEditorSection implements IServerEditorSection {
 	private String errorMessage = null;
 
-	/**
-	 * The server working copy.
-	 */
 	public IServerWorkingCopy server;
-
-	/**
-	 * The command manager.
-	 */
 	public ICommandManager commandManager;
-
 	protected boolean readOnly;
 	protected Composite parentComp;
 	protected ServerEditorPart 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) {
@@ -52,28 +44,18 @@
 		}
 	}
 
-	/**
-	 * Create the section.
-	 * 
-	 * @param parent the parent composite
-	 */
 	public void createSection(Composite parent) {
 		this.parentComp = parent;
 	}
 
-	/**
-	 * Return the shell of the section.
-	 * 
-	 * @return the shell
-	 */
 	public Shell getShell() {
 		return parentComp.getShell();
 	}
-
+	
 	/**
 	 * Return the error message for this page.
 	 * 
-	 * @return the error message
+	 * @return java.lang.String
 	 */
 	public String getErrorMessage() {
 		return errorMessage;
@@ -90,11 +72,6 @@
 		return null;
 	}
 
-	/**
-	 * Set the editor part that this section belongs to.
-	 * 
-	 * @param editor the editor
-	 */
 	public void setServerResourceEditorPart(ServerEditorPart editor) {
 		this.editor = editor;
 	}
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
index eb3fca2..9842c77 100644
--- 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
@@ -10,7 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal;
 
-import org.eclipse.core.resources.*;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.*;
 import org.eclipse.jface.dialogs.ErrorDialog;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -21,7 +24,6 @@
 
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.server.core.internal.ProjectProperties;
 /**
  * Eclipse utility methods.
@@ -191,12 +193,34 @@
 	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) throws CoreException {
+			//, 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.
 	 */
 	public static boolean validateEdit(Shell shell, IServer server) {
-		IStatus status = ServerUtil.validateEdit(shell, server);
+		IStatus status = server.validateEdit(shell);
 		return validateEdit(shell, status);
 	}
 
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
index 1915da7..85d9e0d 100644
--- 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
@@ -21,7 +21,7 @@
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.*;
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.actions.NewServerWizardAction;
+import org.eclipse.wst.server.ui.actions.NewServerAction;
 import org.eclipse.wst.server.ui.internal.view.servers.*;
 import org.eclipse.wst.server.ui.internal.view.tree.ServerElementAdapter;
 import org.eclipse.wst.server.ui.internal.view.tree.ServerTreeAction;
@@ -49,7 +49,7 @@
 	}
 	
 	public static void fillNewContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		IAction newServerAction = new NewServerWizardAction();
+		IAction newServerAction = new NewServerAction();
 		newServerAction.setText(ServerUIPlugin.getResource("%actionNewServer"));
 		menu.add(newServerAction);
 	}
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
index c1d42ff..c23ab28 100644
--- 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
@@ -16,6 +16,11 @@
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.wst.server.core.*;
+import org.eclipse.wst.server.core.internal.ResourceManager;
+import org.eclipse.wst.server.core.model.ModuleEvent;
+import org.eclipse.wst.server.core.model.IModuleEventsListener;
+import org.eclipse.wst.server.core.model.ModuleFactoryEvent;
+import org.eclipse.wst.server.core.util.ServerAdapter;
 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;
@@ -30,12 +35,13 @@
 	
 	// listeners
 	protected LifecycleListener listener;
-	//protected IServerListener serverListener;
+	protected IServerListener serverListener;
 	protected IResourceChangeListener resourceChangeListener;
-
+	protected IModuleEventsListener moduleEventsListener;
+	
 	class LifecycleListener implements IServerLifecycleListener {
 		public void serverAdded(final IServer server) {
-			//server.addServerListener(serverListener);
+			server.addServerListener(serverListener);
 			Display.getDefault().syncExec(new Runnable() {
 				public void run() {
 					handleServerResourceAdded(server);
@@ -43,7 +49,7 @@
 			});
 		}
 		public void serverRemoved(final IServer server) {
-			//server.removeServerListener(serverListener);
+			server.removeServerListener(serverListener);
 			Display.getDefault().syncExec(new Runnable() {
 				public void run() {
 					handleServerResourceRemoved(server);
@@ -65,7 +71,8 @@
 	public ServerTreeContentProvider() {
 		// add listeners
 		addServerResourceListener();
-		addServerListener();
+		addServerConfigurationListener();
+		addModuleEventsListener();
 	}
 
 	public Object[] getServerTreeRoots(Object parent) {
@@ -82,14 +89,17 @@
 	 */
 	public void dispose() {
 		// remove listeners
-		/*IServer[] servers = ServerCore.getServers();
+		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
 			for (int i = 0; i < size; i++)
 				servers[i].removeServerListener(serverListener);
-		}*/
+		}
 
 		ServerCore.removeServerLifecycleListener(listener);
+		
+		if (moduleEventsListener != null)
+			ResourceManager.getInstance().removeModuleEventsListener(moduleEventsListener);
 	}
 
 	/**
@@ -172,9 +182,9 @@
 	/**
 	 * Add listeners for resource changes.
 	 */
-	private void addServerListener() {
+	private void addServerConfigurationListener() {
 		// add a listener for configuration child module changes
-		/*serverListener = new IServerListener() {
+		serverListener = new ServerAdapter() {
 			public void modulesChanged(final IServer server) {
 				Display.getDefault().syncExec(new Runnable() {
 					public void run() {
@@ -189,7 +199,7 @@
 			int size = servers.length;
 			for (int i = 0; i < size; i++)
 				servers[i].addServerListener(serverListener);
-		}*/
+		}
 	}
 	
 	/**
@@ -200,6 +210,24 @@
 		listener = new LifecycleListener();
 		ServerCore.addServerLifecycleListener(listener);
 	}
+	
+	/**
+	 * Add listener to refresh when modules are added.
+	 */
+	private void addModuleEventsListener() {
+		moduleEventsListener = new IModuleEventsListener() {
+			public void moduleEvents(ModuleFactoryEvent[] factoryEvent, ModuleEvent[] event) {
+				Display.getDefault().syncExec(new Runnable() {
+					public void run() {
+						if (viewer != null)
+							viewer.refresh(true);
+					}
+				});
+			}
+		};
+		
+		ResourceManager.getInstance().addModuleEventsListener(moduleEventsListener);
+	}
 
 	/**
 	 * Updates a server in the tree.
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
index dfcadd3..ed3537f 100644
--- 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
@@ -29,7 +29,7 @@
 import org.eclipse.wst.server.core.internal.PublishAdapter;
 import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.core.internal.ServerType;
-import org.eclipse.wst.server.core.util.ServerEvent;
+import org.eclipse.wst.server.core.util.ServerAdapter;
 import org.eclipse.wst.server.ui.ServerUIUtil;
 import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
 import org.eclipse.wst.server.ui.internal.editor.IServerEditorInput;
@@ -100,12 +100,13 @@
 		}
 	};
 
-	protected static IServerListener serverListener = new IServerListener() {
-		public void serverChanged(ServerEvent event) {
-			int eventKind = event.getKind();
-			if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-				showServersView();
-			}
+	protected static IServerListener serverListener = new ServerAdapter() {
+		public void serverStateChange(IServer server) {
+			showServersView();
+		}
+
+		public void modulesChanged(IServer server) {
+			showServersView();
 		}
 	};
 	
@@ -311,14 +312,10 @@
 		t.setPriority(Thread.NORM_PRIORITY - 2);
 	
 		// add listener to stop the thread if/when the server stops
-		IServerListener listener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				int eventKind = event.getKind();
-				IServer server2 = event.getServer();
-				if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-					if (server2.getServerState() == IServer.STATE_STOPPED && t != null)
-						t.alive = false;
-				}
+		IServerListener listener = new ServerAdapter() {
+			public void serverStateChange(IServer server2) {
+				if (server2.getServerState() == IServer.STATE_STOPPED && t != null)
+					t.alive = false;
 			}
 		};
 		t.listener = listener;
@@ -394,7 +391,7 @@
 		if (servers != null) {
 			int size = servers.length;
 			for (int i = 0; i < size; i++) {
-				if (file.equals(((Server)servers[i]).getFile()))
+				if (file.equals(servers[i].getFile()))
 					return servers[i];
 			}
 		}
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
index 9c20cc8..9b264d2 100644
--- 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
@@ -19,7 +19,7 @@
  */
 public class NewServerAction extends NewWizardAction {
 	/**
-	 * NewServerWizardAction constructor comment.
+	 * NewServerAction constructor comment.
 	 */
 	public NewServerAction() {
 		super();
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
index 1644438..4d9e010 100644
--- 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
@@ -113,11 +113,7 @@
 				return null;
 			}
 
-			try {
-				Platform.getJobManager().join("org.eclipse.wst.server.ui.family", new NullProgressMonitor());
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Error waiting for job", e);
-			}
+			// TODO - this can't be called until the wizard's job finishes!!
 			server = wizard.getServer();
 			boolean preferred = wizard.isPreferredServer();
 			tasksRun = true;
@@ -132,13 +128,6 @@
 				}
 			}
 		}
-		
-		try {
-			Platform.getJobManager().join("org.eclipse.wst.server.ui.family", new NullProgressMonitor());
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error waiting for job", e);
-		}
-		
 		return server;
 	}
 
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
index 0790c23..47f988d 100644
--- 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
@@ -25,7 +25,6 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.ui.editor.ICommandManager;
 import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
@@ -551,7 +550,7 @@
 	public static IFile[] getReadOnlyFiles(IServerAttributes server) {
 		try {
 			List list = new ArrayList();
-			IFile file = ((Server)server).getFile();
+			IFile file = server.getFile();
 			
 			if (file != null)
 				list.add(file);
@@ -626,7 +625,7 @@
 		IServer server = info.wc.getOriginal();
 
 		if (server != null)
-			return ((Server)server).getTimestamp();
+			return server.getTimestamp();
 		return -1;
 	}
 
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
index 4b4f78b..20cf3b1 100644
--- 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
@@ -29,7 +29,6 @@
 import org.eclipse.ui.part.MultiPageEditorPart;
 
 import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.ui.ServerUICore;
 import org.eclipse.wst.server.ui.editor.*;
 import org.eclipse.wst.server.ui.internal.*;
@@ -907,9 +906,8 @@
 	 * Set the tooltip.
 	 */
 	public String getTitleToolTip() {
-		Server server2 = (Server) server;
-		if (server != null && server2.getFile() != null)
-			return server2.getFile().getFullPath().toString();
+		if (server != null && server.getFile() != null)
+			return server.getFile().getFullPath().toString();
 		else if (server != null)
 			return server.getName();
 		else
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
index dc517d0..5f2ed3f 100644
--- 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
@@ -14,7 +14,6 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.ui.internal.ImageResource;
 import org.eclipse.ui.IMemento;
 import org.eclipse.ui.IPersistableElement;
@@ -156,9 +155,8 @@
 		if (serverId != null) {
 			IServer server = ServerCore.findServer(serverId);
 			if (server != null) {
-				Server server2 = (Server) server;
-				if (server2.getFile() != null) {
-					s = server2.getFile().getFullPath().makeRelative().toString();
+				if (server.getFile() != null) {
+					s = server.getFile().getFullPath().makeRelative().toString();
 					if (s.startsWith("/"))
 						s = s.substring(1);
 				} else
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ConnectedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ConnectedUIDecorator.java
deleted file mode 100644
index 63f7032..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ConnectedUIDecorator.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-public class ConnectedUIDecorator extends UIDecorator {
-	private static final String[] serverStateUnmanaged = new String[] {
-		"",
-		ServerUIPlugin.getResource("%viewStatusStarting4"),
-		ServerUIPlugin.getResource("%viewStatusStarted2"),
-		ServerUIPlugin.getResource("%viewStatusStopping4"),
-		ServerUIPlugin.getResource("%viewStatusStopped2")};
-
-	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 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)
-	};
-
-	/**
-	 * Returns a string representing the given state.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getStateLabel(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return "";
-		else if (state == IServer.STATE_STARTING)
-			return startingText[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingText[count];
-		else if (state == IServer.STATE_STARTED) {
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ServerUIPlugin.getResource("%viewStatusStartedDebug");
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ServerUIPlugin.getResource("%viewStatusStartedProfile");
-			else
-				return ServerUIPlugin.getResource("%viewStatusStarted");
-		} else if (state == IServer.STATE_STOPPED)
-			return ServerUIPlugin.getResource("%viewStatusStopped");
-		
-		return serverStateUnmanaged[state];
-	}
-
-	/**
-	 * Returns an image representing the given state.
-	 * 
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public Image getStateImage(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return null;
-		else if (state == IServer.STATE_STARTING)
-			return startingImages[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingImages[count];
-		else if (state == IServer.STATE_STOPPED)
-			return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED);
-		else { //if (state == IServer.STATE_STARTED) {
-			//String mode = server.getMode();
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG);
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE);
-			else
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED);
-		}
-	}
-	
-	public boolean canRestart() {
-		return false;
-	}
-	
-	public void setupAction(Action action, int action2) {
-		action.setToolTipText(ServerUIPlugin.getResource("%actionStopToolTip2"));
-		action.setText(ServerUIPlugin.getResource("%actionStop2"));
-		action.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_DISCONNECT));
-		action.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_DISCONNECT));
-		action.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_DISCONNECT));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java
deleted file mode 100644
index aaa2bd6..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-public class ManagedUIDecorator extends UIDecorator {
-	private static final String[] serverStateUnmanaged = new String[] {
-		"",
-		ServerUIPlugin.getResource("%viewStatusStarting4"),
-		ServerUIPlugin.getResource("%viewStatusStarted2"),
-		ServerUIPlugin.getResource("%viewStatusStopping4"),
-		ServerUIPlugin.getResource("%viewStatusStopped2")};
-
-	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 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)
-	};
-
-	/**
-	 * Returns a string representing the given state.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getStateLabel(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return "";
-		else if (state == IServer.STATE_STARTING)
-			return startingText[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingText[count];
-		else if (state == IServer.STATE_STARTED) {
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ServerUIPlugin.getResource("%viewStatusStartedDebug");
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ServerUIPlugin.getResource("%viewStatusStartedProfile");
-			else
-				return ServerUIPlugin.getResource("%viewStatusStarted");
-		} else if (state == IServer.STATE_STOPPED)
-			return ServerUIPlugin.getResource("%viewStatusStopped");
-		
-		return serverStateUnmanaged[state];
-	}
-
-	/**
-	 * Returns an image representing the given state.
-	 * 
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public Image getStateImage(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return null;
-		else if (state == IServer.STATE_STARTING)
-			return startingImages[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingImages[count];
-		else if (state == IServer.STATE_STOPPED)
-			return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED);
-		else { //if (state == IServer.STATE_STARTED) {
-			//String mode = server.getMode();
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG);
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE);
-			else
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED);
-		}
-	}
-
-	public String getModuleName() {
-		return "module";
-	}
-	
-	public boolean canRestart() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/PublishedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/PublishedUIDecorator.java
deleted file mode 100644
index e4089ac..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/PublishedUIDecorator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-public class PublishedUIDecorator extends UIDecorator {
-	private static final String[] serverStateUnmanaged = new String[] {
-		"",
-		ServerUIPlugin.getResource("%viewStatusStarting4"),
-		ServerUIPlugin.getResource("%viewStatusStarted2"),
-		ServerUIPlugin.getResource("%viewStatusStopping4"),
-		ServerUIPlugin.getResource("%viewStatusStopped2")};
-
-	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 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)
-	};
-
-	/**
-	 * Returns a string representing the given state.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getStateLabel(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return "";
-		else if (state == IServer.STATE_STARTING)
-			return startingText[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingText[count];
-		else if (state == IServer.STATE_STARTED) {
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ServerUIPlugin.getResource("%viewStatusStartedDebug");
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ServerUIPlugin.getResource("%viewStatusStartedProfile");
-			else
-				return ServerUIPlugin.getResource("%viewStatusStarted");
-		} else if (state == IServer.STATE_STOPPED)
-			return ServerUIPlugin.getResource("%viewStatusStopped");
-		
-		return serverStateUnmanaged[state];
-	}
-
-	/**
-	 * Returns an image representing the given state.
-	 * 
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public Image getStateImage(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return null;
-		else if (state == IServer.STATE_STARTING)
-			return startingImages[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingImages[count];
-		else if (state == IServer.STATE_STOPPED)
-			return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED);
-		else { //if (state == IServer.STATE_STARTED) {
-			//String mode = server.getMode();
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG);
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE);
-			else
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED);
-		}
-	}
-
-	public String getModuleName() {
-		return "module";
-	}
-	
-	public boolean canRestart() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java
deleted file mode 100644
index 756d3d7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-public abstract class UIDecorator {
-	public static final int ACTION_STOP = 0;
-
-	/**
-	 * Returns a string representing the given state.
-	 *
-	 * @return java.lang.String
-	 */
-	public abstract String getStateLabel(int state, String mode, int count);
-
-	/**
-	 * Returns an image representing the given state.
-	 * 
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public abstract Image getStateImage(int state, String mode, int count);
-
-	public String getModuleName() {
-		return "module";
-	}
-	
-	public boolean canRestart() {
-		return false;
-	}
-	
-	public void setupAction(Action action, int action2) {
-		action.setToolTipText(ServerUIPlugin.getResource("%actionStopToolTip"));
-		action.setText(ServerUIPlugin.getResource("%actionStop"));
-		action.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP));
-		action.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP));
-		action.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java
deleted file mode 100644
index e55fdcf..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.wst.server.core.IServerType;
-
-public class UIDecoratorManager {
-	protected static UIDecorator decorator = new ManagedUIDecorator();
-	
-	public static UIDecorator getUIDecorator(IServerType serverType) {
-		return decorator;
-	}
-}
\ 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
index 7e57efa..9717898 100644
--- 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
@@ -19,7 +19,6 @@
 import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.wst.server.core.*;
 import org.eclipse.wst.server.core.internal.ProjectProperties;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.core.model.IRunningActionServer;
 import org.eclipse.wst.server.core.util.Task;
 import org.eclipse.wst.server.ui.internal.EclipseUtil;
@@ -77,7 +76,7 @@
 			add.toArray(add2);
 		}
 		
-		IFile file = ((Server)workingCopy).getFile();
+		IFile file = workingCopy.getFile();
 		if (file != null) {
 			IProject project = file.getProject();
 			
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
index 6691704..1c35b26 100644
--- 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
@@ -16,7 +16,6 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.wst.server.core.*;
 import org.eclipse.wst.server.core.internal.ProjectProperties;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.core.util.Task;
 import org.eclipse.wst.server.ui.internal.EclipseUtil;
 /**
@@ -35,7 +34,7 @@
 		if (server != null && server instanceof IServerWorkingCopy) {
 			IServerWorkingCopy workingCopy = (IServerWorkingCopy) server;
 			if (workingCopy.isDirty()) {
-				IFile file = ((Server)workingCopy).getFile();
+				IFile file = workingCopy.getFile();
 				if (file != null) {
 					IProject project = file.getProject();
 					
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
index b8613a7..6f5140d 100644
--- 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
@@ -37,7 +37,7 @@
 			if (!workingCopy.isDirty())
 				return;
 			
-			IFile file = ((Server)workingCopy).getFile();
+			IFile file = workingCopy.getFile();
 			if (file != null) {
 				IProject project = file.getProject();
 				
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
index 70c9890..6dbae79 100644
--- 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
@@ -25,11 +25,11 @@
 public class MonitorServerPortAction extends Action {
 	protected Shell shell;
 	protected IServer server;
-	protected ServerPort port;
+	protected IServerPort port;
 	protected IMonitoredServerPort monitoredPort;
 	protected boolean checked;
 	
-	public MonitorServerPortAction(Shell shell, IServer server, ServerPort port) {
+	public MonitorServerPortAction(Shell shell, IServer server, IServerPort port) {
 		super(ServerUIPlugin.getResource("%actionMonitorPort", new String[] { port.getPort() + "", port.getName() }));
 		
 		this.shell = shell;
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
index 2184ad5..9ecbd43 100644
--- 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
@@ -15,10 +15,10 @@
 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.internal.PublishServerJob;
 import org.eclipse.wst.server.ui.internal.RestartServerJob;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager;
 import org.eclipse.swt.widgets.Shell;
 /**
  * Restart a server.
@@ -50,7 +50,7 @@
 		String mode2 = mode;
 		if (mode2 == null)
 			mode2 = server.getMode();
-		return server.getServerType() != null && UIDecoratorManager.getUIDecorator(server.getServerType()).canRestart() && server.canRestart(mode2).isOK();
+		return server.getServerType() != null && server.getServerType().getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED && server.canRestart(mode2).isOK();
 	}
 
 	/**
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
index a7c1d55..1084cbe 100644
--- 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
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.view.servers;
 
+import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 
@@ -19,12 +20,30 @@
 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.wst.server.ui.internal.provisional.UIDecoratorManager;
 import org.eclipse.swt.graphics.Image;
 /**
  * Server table label provider.
  */
 public class ServerTableLabelProvider implements ITableLabelProvider {
+	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[] serverStateUnmanaged = new String[] {
+		"",
+		ServerUIPlugin.getResource("%viewStatusStarting4"),
+		ServerUIPlugin.getResource("%viewStatusStarted2"),
+		ServerUIPlugin.getResource("%viewStatusStopping4"),
+		ServerUIPlugin.getResource("%viewStatusStopped2")};
+
 	public static final String[] syncState = new String[] {
 		ServerUIPlugin.getResource("%viewSyncOkay"),
 		ServerUIPlugin.getResource("%viewSyncRestart"),
@@ -38,6 +57,16 @@
 		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;
 	
@@ -72,9 +101,9 @@
 		if (element instanceof ModuleServer) {
 			ModuleServer ms = (ModuleServer) element;
 			if (columnIndex == 0)
-				return ServerUICore.getLabelProvider().getImage(ms.module[ms.module.length - 1]);
+				ServerUICore.getLabelProvider().getImage(ms.module);
 			if (columnIndex == 1)
-				return getStateImage(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
+				return getStateImage(ms.server.getModuleState(ms.module), null);
 			return null;
 		}
 		IServer server = (IServer) element;
@@ -93,8 +122,8 @@
 			IServerType serverType = server.getServerType();
 			if (serverType == null)
 				return null;
-			//if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_PUBLISHED)
-			//	return null;
+			if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_PUBLISHED)
+				return null;
 			return getServerStateImage(server);
 		} else
 			return null;
@@ -108,9 +137,9 @@
 				return ms.module[size - 1].getName();
 			}
 			else if (columnIndex == 1)
-				return getStateLabel(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
+				return getStateLabel(ms.server.getModuleState(ms.module), null, IServerType.SERVER_STATE_SET_MANAGED);
 			else if (columnIndex == 2)
-				return "";
+				return "-";
 		}
 		IServer server = (IServer) element;
 		if (columnIndex == 0)
@@ -120,7 +149,7 @@
 		else if (columnIndex == 1) {
 			IServerType serverType = server.getServerType();
 			if (serverType != null)
-				return getServerStateLabel(server);
+				return getServerStateLabel(server, serverType.getServerStateSet());
 			
 			return "";
 		} else if (columnIndex == 2) {
@@ -145,11 +174,10 @@
 			if (server.getServerPublishState() != IServer.PUBLISH_STATE_NONE)
 				i += 2;
 			
-			//IServerType serverType = server.getServerType();
-			// TODO: state set
-			//if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED)
+			IServerType serverType = server.getServerType();
+			if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED)
 				return syncState[i];
-			//return syncStateUnmanaged[i];
+			return syncStateUnmanaged[i];
 		} else
 			return "-";
 	}
@@ -175,7 +203,7 @@
 	 * @param server org.eclipse.wst.server.core.IServer
 	 */
 	protected Image getServerStateImage(IServer server) {
-		return getStateImage(server.getServerType(), server.getServerState(), server.getMode());
+		return getStateImage(server.getServerState(), server.getMode());
 	}
 
 	/**
@@ -183,9 +211,8 @@
 	 * 
 	 * @return org.eclipse.jface.parts.IImage
 	 */
-	protected Image getStateImage(IServerType serverType, int state, String mode) {
-		return UIDecoratorManager.getUIDecorator(serverType).getStateImage(state, mode, count);
-		/*if (state == IServer.STATE_UNKNOWN)
+	protected Image getStateImage(int state, String mode) {
+		if (state == IServer.STATE_UNKNOWN)
 			return null;
 		else if (state == IServer.STATE_STARTING)
 			return startingImages[count];
@@ -201,7 +228,7 @@
 				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE);
 			else
 				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED);
-		}*/
+		}
 	}
 	
 	/**
@@ -210,8 +237,8 @@
 	 * @return java.lang.String
 	 * @param server org.eclipse.wst.server.core.IServer
 	 */
-	protected String getServerStateLabel(IServer server) {
-		return getStateLabel(server.getServerType(), server.getServerState(), server.getMode());
+	protected String getServerStateLabel(IServer server, int stateSet) {
+		return getStateLabel(server.getServerState(), server.getMode(), stateSet);
 	}
 
 	/**
@@ -219,9 +246,8 @@
 	 *
 	 * @return java.lang.String
 	 */
-	protected String getStateLabel(IServerType serverType, int state, String mode) {
-		return UIDecoratorManager.getUIDecorator(serverType).getStateLabel(state, mode, count);
-		/*if (stateSet == IServerType.SERVER_STATE_SET_PUBLISHED)
+	protected String getStateLabel(int state, String mode, int stateSet) {
+		if (stateSet == IServerType.SERVER_STATE_SET_PUBLISHED)
 			return "";
 		
 		if (stateSet == IServerType.SERVER_STATE_SET_MANAGED) {
@@ -242,7 +268,7 @@
 				return ServerUIPlugin.getResource("%viewStatusStopped");
 		}
 		
-		return serverStateUnmanaged[state];*/
+		return serverStateUnmanaged[state];
 	}
 	
 	protected void animate() {
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
index b778844..acafdbf 100644
--- 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
@@ -23,7 +23,6 @@
 import org.eclipse.wst.server.core.internal.IPublishListener;
 import org.eclipse.wst.server.core.internal.PublishAdapter;
 import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.util.ServerEvent;
 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;
@@ -62,7 +61,7 @@
 			if (servers != null) {
 				int size = servers.length;
 				for (int i = 0; i < size; i++) {
-					if (!((Server)servers[i]).isPrivate())
+					if (!servers[i].isPrivate())
 						list.add(servers[i]);
 				}
 			}
@@ -77,26 +76,10 @@
 			// do nothing
 		}
 
+		// TODO: support multi-level modules (trees like EAR > Web module)
 		public Object[] getChildren(Object element) {
-			if (element instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) element;
-				try {
-					IModule[] children = ms.server.getChildModules(ms.module, null);
-					int size = children.length;
-					ModuleServer[] ms2 = new ModuleServer[size];
-					for (int i = 0; i < size; i++) {
-						ms2[i] = new ModuleServer();
-						ms2[i].server = ms.server;
-						int size2 = ms.module.length;
-						ms2[i].module = new IModule[size2 + 1];
-						System.arraycopy(ms.module, 0, ms2[i].module, 0, size2);
-						ms2[i].module[size2] = children[i];
-					}
-					return ms2;
-				} catch (Exception e) {
-					return null;
-				}
-			}
+			if (element instanceof ModuleServer)
+				return null;
 			
 			IServer server = (IServer) element;
 			IModule[] modules = server.getModules(); 
@@ -306,40 +289,39 @@
 		};
 		
 		serverListener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				if (event == null) {
-					return;
+			public void moduleStateChange(IServer server, IModule[] module) {
+				refreshServer(server);
+			}
+		
+			public void serverStateChange(IServer server) {
+				refreshServer(server);
+				int state = server.getServerState();
+				String id = server.getId();
+				if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
+					if (!starting.contains(id)) {
+						if (starting.isEmpty())
+							startThread();
+						starting.add(id);
+					}
+				} else {
+					if (starting.contains(id)) {
+						starting.remove(id);
+						if (starting.isEmpty())
+							stopThread();
+					}
 				}
-				int eventKind = event.getKind();
-				IServer server = event.getServer();
-				if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) {
-					// Server change event
-					if ((eventKind & ServerEvent.STATE_CHANGE) != 0) {
-						refreshServer(server);
-						int state = event.getState();
-						String id = server.getId();
-						if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-							if (!starting.contains(id)) {
-								if (starting.isEmpty())
-									startThread();
-								starting.add(id);
-							}
-						} else {
-							if (starting.contains(id)) {
-								starting.remove(id);
-								if (starting.isEmpty())
-									stopThread();
-							}
-						}
-					} else if ((eventKind & ServerEvent.RESTART_STATE_CHANGE) != 0) {
-						refreshServer(server);
-					} 
-				} else if ((eventKind & ServerEvent.MODULE_CHANGE) != 0) {
-					// Module change event
-					if ((eventKind & ServerEvent.STATE_CHANGE) != 0) {
-						refreshServer(server);
-					} 
-				}
+			}
+			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) {
+				// do nothing
 			}
 		};
 		
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
index a76ad1a..826f71d 100644
--- 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
@@ -240,7 +240,7 @@
 		restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_RESTART));
 
 		// create the stop action
-		Action stopAction = new StopAction(shell, provider, "stop");
+		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));
@@ -248,12 +248,12 @@
 		stopAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP));
 
 		// create the disconnect action
-		/*Action disconnectAction = new StopAction(shell, provider, "disconnect", IServerType.SERVER_STATE_SET_ATTACHED);
+		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));*/
+		disconnectAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_DISCONNECT));
 
 		// create the publish action
 		Action publishAction = new PublishAction(shell, provider, "publish");
@@ -271,14 +271,15 @@
 		addModuleAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_MODIFY_MODULES));
 		addModuleAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_MODIFY_MODULES));
 		
-		actions = new Action[7];
+		actions = new Action[8];
 		actions[0] = debugAction;
 		actions[1] = runAction;
 		actions[2] = profileAction;
 		actions[3] = restartAction;
 		actions[4] = stopAction;
-		actions[5] = publishAction;
-		actions[6] = addModuleAction;
+		actions[5] = disconnectAction;
+		actions[6] = publishAction;
+		actions[7] = addModuleAction;
 		
 		// add toolbar buttons
 		IContributionManager cm = getViewSite().getActionBars().getToolBarManager();
@@ -355,7 +356,7 @@
 					public void menuAboutToShow(IMenuManager manager) {
 						menuManager.removeAll();
 						if (server2.isDelegateLoaded()) {
-							ServerPort[] ports = server2.getServerPorts();
+							IServerPort[] ports = server2.getServerPorts();
 							if (ports != null) {
 								int size = ports.length;
 								for (int i = 0; i < size; i++) {
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
index f2c9736..00e2e1b 100644
--- 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
@@ -21,8 +21,11 @@
  * Stop (terminate) a server.
  */
 public class StopAction extends AbstractServerAction {
-	public StopAction(Shell shell, ISelectionProvider selectionProvider, String name) {
+	protected int serverStateSet;
+
+	public StopAction(Shell shell, ISelectionProvider selectionProvider, String name, int serverStateSet) {
 		super(shell, selectionProvider, name);
+		this.serverStateSet = serverStateSet;
 		try {
 			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
 		} catch (Exception e) {
@@ -36,7 +39,7 @@
 	 * @param server org.eclipse.wst.server.core.IServer
 	 */
 	public boolean accept(IServer server) {
-		if (server.getServerType() == null)
+		if (server.getServerType() == null || server.getServerType().getServerStateSet() != serverStateSet)
 			return false;
 		return server.getServerType() != null && server.canStop().isOK();
 	}
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
index 08b3744..f76c59f 100644
--- 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
@@ -16,7 +16,6 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.ui.ServerUICore;
 import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
 import org.eclipse.ui.model.IWorkbenchAdapter;
@@ -104,7 +103,7 @@
 	public int hashCode() {
 		int hash = 0;
 		if (server != null) {
-			IFile file = ((Server)server).getFile();
+			IFile file = server.getFile();
 			if (file != null)
 				hash = file.hashCode();
 		}
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
index 440cac1..1e99f46 100644
--- 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
@@ -16,7 +16,6 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.ui.ServerUICore;
 import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
 import org.eclipse.ui.model.IWorkbenchAdapter;
@@ -138,7 +137,7 @@
 
 	protected IFile getFile() {
 		if (resource instanceof IServer)
-			return ((Server) resource).getFile();
+			return ((IServer) resource).getFile();
 		return null;
 	}
 	
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
index a7731d5..6a86f07 100644
--- 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
@@ -17,6 +17,7 @@
 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.IServerType;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.eclipse.wst.server.ui.ServerUICore;
 import org.eclipse.wst.server.ui.internal.*;
@@ -48,7 +49,9 @@
 		else
 			setImageDescriptor(((ServerLabelProvider)ServerUICore.getLabelProvider()).getImageDescriptor(config));
 		
-		if (server.getServerState() != IServer.STATE_STOPPED)
+		IServerType type = server.getServerType();
+		if (type.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED &&
+				server.getServerState() != IServer.STATE_STOPPED)
 			setEnabled(false);
 	}
 	
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
index e34f193..57eff07 100644
--- 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
@@ -23,7 +23,7 @@
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 import org.eclipse.wst.server.core.internal.IMonitoredServerPort;
 import org.eclipse.wst.server.core.internal.IServerMonitorManager;
 import org.eclipse.wst.server.core.internal.ServerMonitorManager;
@@ -34,7 +34,7 @@
  * 
  */
 public class MonitorComposite extends Composite {
-	//protected ServerPort selection;
+	//protected IServerPort selection;
 	protected PortSelectionListener listener;
 	protected IServer server;
 	
@@ -44,7 +44,7 @@
 	protected TableViewer monitorTableViewer;
 	
 	public interface PortSelectionListener {
-		public void portSelected(ServerPort port);
+		public void portSelected(IServerPort port);
 	}
 	
 	public MonitorComposite(Composite parent, int style, PortSelectionListener listener2, IServer server) {
@@ -131,7 +131,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				MonitorDialog dialog = new MonitorDialog(getShell(), server2);
 				if (dialog.open() != Window.CANCEL) {
-					ServerPort port = dialog.getServerPort();
+					IServerPort port = dialog.getServerPort();
 					IMonitoredServerPort sp = smm.createMonitor(server2, port, dialog.getMonitorPort(), dialog.getContentTypes());
 					if (sp != null)
 						monitorTableViewer.add(sp);
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
index d2496c6..07d9af0 100644
--- 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
@@ -20,14 +20,14 @@
 import org.eclipse.swt.widgets.*;
 
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.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 ServerPort port;
+	protected IServerPort port;
 	protected int monitorPort = -1;
 	protected String[] portContentTypes;
 	protected String[] contentTypes;
@@ -52,7 +52,7 @@
 		this.server = server;
 	}
 	
-	public MonitorDialog(Shell parentShell, IServer server, ServerPort port, int monitorPort, String[] contentTypes) {
+	public MonitorDialog(Shell parentShell, IServer server, IServerPort port, int monitorPort, String[] contentTypes) {
 		this(parentShell, server);
 		this.monitorPort = monitorPort;
 		this.contentTypes = contentTypes;
@@ -123,8 +123,8 @@
 		
 		tableViewer.setSorter(new ViewerSorter() {
 			public int compare(Viewer viewer, Object e1, Object e2) {
-				ServerPort port1 = (ServerPort) e1;
-				ServerPort port2 = (ServerPort) e2;
+				IServerPort port1 = (IServerPort) e1;
+				IServerPort port2 = (IServerPort) e2;
 				if (port1.getPort() == port2.getPort())
 					return 0;
 				else if (port1.getPort() > port2.getPort())
@@ -179,7 +179,7 @@
 		
 		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 			public void selectionChanged(SelectionChangedEvent event) {
-				port = (ServerPort) getSelection(tableViewer.getSelection());
+				port = (IServerPort) getSelection(tableViewer.getSelection());
 				if (port == null)
 					return;
 				if (!portChanged) {
@@ -236,7 +236,7 @@
 		return monitorPort;
 	}
 
-	public ServerPort getServerPort() {
+	public IServerPort getServerPort() {
 		return port;
 	}
 
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
index 7c674f7..ae4ea45 100644
--- 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
@@ -14,7 +14,7 @@
 import org.eclipse.swt.graphics.Image;
 
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
+import org.eclipse.wst.server.core.IServerPort;
 /**
  * Server port label provider.
  */
@@ -31,7 +31,7 @@
 	}
 
 	public String getColumnText(Object element, int columnIndex) {
-		ServerPort port = (ServerPort) element;
+		IServerPort port = (IServerPort) element;
 		if (columnIndex == 0)
 			return notNull(port.getName());
 		else if (columnIndex == 1)
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
index 7c6fa4d..25f8f2a 100644
--- 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
@@ -265,7 +265,7 @@
 		
 		if (createdServerWC) {
 			if (serverWC.isDirty()) {
-				IFile file = ((Server)serverWC).getFile();
+				IFile file = serverWC.getFile();
 				if (file != null) {
 					IProject project = file.getProject();
 					
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
index 5d48ad2..e3fdc69 100644
--- 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
@@ -21,9 +21,6 @@
  * @since 1.0
  */
 public interface IWizardHandle extends IMessageProvider {
-	/**
-	 * Updates the wizard error messages and buttons.
-	 */
 	public void update();
 
 	/**
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
index 02d1b65..41b642f 100644
--- 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
@@ -67,6 +67,8 @@
 	
 	private WizardFragment rootFragment;
 	private WizardFragment currentFragment;
+	
+	//private static TaskWizard current;
 
 	class FragmentData {
 		public TaskWizardPage page;
@@ -92,6 +94,8 @@
 		
 		setNeedsProgressMonitor(true);
 		setForcePreviousAndNextButtons(true);
+		
+		//current = this;
 	}
 
 	/**
@@ -188,10 +192,6 @@
 						public FinishWizardJob() {
 							super(getJobTitle());
 						}
-						
-						public boolean belongsTo(Object family) {
-							return "org.eclipse.wst.server.ui.family".equals(family);
-						}
 
 						public IStatus run(IProgressMonitor monitor2) {
 							try {
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
index cca972d..c4b5d61 100644
--- 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
@@ -34,8 +34,8 @@
 	
 	public void createControl(Composite parentComp) {
 		Composite comp = fragment.createComposite(parentComp, this);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = convertHorizontalDLUsToPixels(150);
+		GridData data = new GridData(GridData.FILL_BOTH);
+		data.widthHint = convertHorizontalDLUsToPixels(350);
 		//data.heightHint = convertVerticalDLUsToPixels(350);
 		comp.setLayoutData(data);
 		setControl(comp);