This commit was manufactured by cvs2svn to create tag 'v200710272355'.
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 751c8f2..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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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 122465d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.cvsignore
+++ /dev/null
@@ -1,9 +0,0 @@
-bin
-build.xml
-genericserver.jar
-org.eclipse.jst.server.generic.core_1.0.0.jar
-temp.folder
-*.settings
-genericserversrc.zip
-@dot
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.generic.core/.options b/plugins/org.eclipse.jst.server.generic.core/.options
deleted file mode 100644
index c6e77ac..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.tomcat.core plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.generic.core/debug=true
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/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 18c18c9..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.generic.core; singleton:=true
-Bundle-Version: 1.0.101.qualifier
-Bundle-Activator: org.eclipse.jst.server.generic.core.internal.CorePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.generic.core.internal;x-internal:=true,
- org.eclipse.jst.server.generic.core.internal.publishers;x-internal:=true,
- org.eclipse.jst.server.generic.internal.core.util;x-internal:=true,
- org.eclipse.jst.server.generic.internal.servertype.definition;x-internal:=true,
- org.eclipse.jst.server.generic.internal.servertype.definition.impl;x-internal:=true,
- org.eclipse.jst.server.generic.internal.servertype.definition.util;x-internal:=true,
- org.eclipse.jst.server.generic.internal.xml;x-internal:=true,
- org.eclipse.jst.server.generic.servertype.definition
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.launching;visibility:="reexport";bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.2.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.2.0)",
- org.eclipse.ant.ui;resolution:="optional";bundle-version="[3.2.0,4.0.0)",
- org.eclipse.emf.common;visibility:="reexport";bundle-version="[2.2.0,2.3.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.3.0)",
- org.eclipse.ui.externaltools;resolution:="optional";bundle-version="[3.1.100,3.3.0)",
- org.apache.ant;bundle-version="[1.6.5,1.7.0)",
- org.eclipse.debug.ui;resolution:="optional";bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.server.generic.core/about.html b/plugins/org.eclipse.jst.server.generic.core/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
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 5f3de99..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               xsd/ServerTypeDefinitionSchema.xsd,\
-               META-INF/,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html
-src.includes = xsd/,\
-               schema/,\
-               build.properties
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 d4fcff6..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName= Generic Server Plugin
-providerName=Eclipse.org
-pluginDescription=Provides generic server tools with easy to develop meta data configuration files
-
-externalLaunchConfigurationTypeName=Generic Server(External Launch)
-launchConfigurationTypeName=Generic Server
-extensionPointServerdefinition=Server definition
-extensionPointGenericpublisher=Generic Publisher
-# ====================================================================
-
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 723f523..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension-point id="serverdefinition" name="%extensionPointServerdefinition" schema="schema/serverdefinition.exsd"/>
- <extension-point id="genericpublisher" name="%extensionPointGenericpublisher" schema="schema/genericpublisher.exsd"/>
-	
- <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, profile"
-        sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
-        sourcePathComputerId="org.eclipse.jst.server.generic.core.sourcePathComputer"/>
-     <launchConfigurationType
-        id="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
-        name="%externalLaunchConfigurationTypeName"
-        delegate="org.eclipse.jst.server.generic.core.internal.ExternalLaunchConfigurationDelegate"
-        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.publishers.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 810ac40..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/schema/genericpublisher.exsd
+++ /dev/null
@@ -1,116 +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>
-         Defines a publisher that can be used for publishing modules to servers for generic servers. 
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="genericpublisher"/>
-         </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>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="genericpublisher">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  The unique id that refers to this publisher
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  class that extends GenericPublisher
-               </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>
-         &lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jst.server.generic.core.genericpublisher&quot;&gt;
-      &lt;genericpublisher
-            class=&quot;org.eclipse.jst.server.generic.core.internal.publishers.AntPublisher&quot;
-            id=&quot;org.eclipse.jst.server.generic.antpublisher&quot;/&gt;
- &lt;/extension&gt;
- &lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-          Value of the attribute class must be a fully qualified name of a Java class that extends org.eclipse.jst.server.generic.core.internal.GenericPublisher abstract class.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and 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.jst.server.generic.core/schema/serverdefinition.exsd b/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd
deleted file mode 100644
index 99331f8..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd
+++ /dev/null
@@ -1,122 +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 definition file.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="serverdefinition" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <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>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.jst.server.generic.core.serverdefinition&quot;&gt;
-		&lt;serverdefinition id=&quot;org.eclipse.jst.server.generic.runtime.jonas4&quot; definitionfile=&quot;/servers/jonas.serverdef&quot;&gt;
-		&lt;/serverdefinition&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and 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.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 f5cb0ef..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/CorePlugin.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author Gorkem Ercan
- */
-public class CorePlugin extends Plugin {
-
-
-	/**
-	 * Plug-in ID
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.generic.core"; //$NON-NLS-1$
-
-	//The shared instance.
-	private static CorePlugin plugin;
-	private ServerTypeDefinitionManager fServerTypeDefinitionManager;
-	/**
-	 * The constructor.
-	 */
-	public CorePlugin() {
-		super();
-		plugin = this;
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 * @return genericServerCoreInstance
-	 */
-	public static CorePlugin getDefault() {
-		return plugin;
-	}
-
-
-	/**
-	 * Returns the server type definition manager instance
-	 * 
-	 * @return instance
-	 */
-	public ServerTypeDefinitionManager getServerTypeDefinitionManager()
-	{
-		if(fServerTypeDefinitionManager==null)
-			fServerTypeDefinitionManager = new ServerTypeDefinitionManager(getInstallUrl());
-		return fServerTypeDefinitionManager;
-	}
-	
-	private URL getInstallUrl()
-	{
-		try {
-			return FileLocator.resolve(this.getBundle().getEntry("/")); //$NON-NLS-1$
-		} catch (IOException e) {
-			return null;
-		}	
-	}
-	
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalDebugLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalDebugLaunchConfigurationDelegate.java
deleted file mode 100644
index 91ba97f..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalDebugLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMConnector;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * <p>Extension of <code>AbstractJavaLaunchConfigurationDelegate</code> that supports 
- * the connection to remote JVMs for external servers. Used for debugging.</p>
- * 
- * <p>Based on JavaRemoteApplicationLaunchConfigurationDelegate</p>
- */
-public class ExternalDebugLaunchConfigurationDelegate 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 {
-
-        if (monitor == null) {
-            monitor = new NullProgressMonitor();
-        }
-
-        monitor.beginTask(NLS.bind(GenericServerCoreMessages.attachingToExternalGenericServer,new String[]{configuration.getName()}), 3);
-        
-        // check for cancellation
-        if (monitor.isCanceled()) {
-            return;
-        }                       
-                    
-        monitor.subTask(GenericServerCoreMessages.verifyingExternalServerDebuggingLaunchAttributes);
-                        
-        String connectorId = getVMConnectorId(configuration);
-        IVMConnector connector = null;
-        if (connectorId == null) {
-            connector = JavaRuntime.getDefaultVMConnector();
-        } else {
-            connector = JavaRuntime.getVMConnector(connectorId);
-        }
-        if (connector == null) {
-            abort(GenericServerCoreMessages.externalServerDebugConnectorNotSpecified,
-                    null, IJavaLaunchConfigurationConstants.ERR_CONNECTOR_NOT_AVAILABLE); 
-        }
-        
-        Map argMap = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, (Map)null);
-        
-        int connectTimeout = JavaRuntime.getPreferences().getInt(JavaRuntime.PREF_CONNECT_TIMEOUT);
-        argMap.put("timeout", ""+connectTimeout);  //$NON-NLS-1$//$NON-NLS-2$
-
-        // check for cancellation
-        if (monitor.isCanceled()) {
-            return;
-        }
-        
-        monitor.worked(1);
-        
-        monitor.subTask(GenericServerCoreMessages.creatingExternalServerDebuggingSourceLocator);
-        // set the default source locator if required
-        setDefaultSourceLocator(launch, configuration);
-        monitor.worked(1);      
-        
-        // connect to remote VM
-        connector.connect(argMap, monitor, launch);
-        
-        // check for cancellation
-        if (monitor.isCanceled()) {
-            IDebugTarget[] debugTargets = launch.getDebugTargets();
-            for (int i = 0; i < debugTargets.length; i++) {
-                IDebugTarget target = debugTargets[i];
-                if (target.canDisconnect()) {
-                    target.disconnect();
-                }
-            }
-            return;
-        }
-        
-        monitor.done();
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalLaunchConfigurationDelegate.java
deleted file mode 100644
index 5832377..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    rfrost@bea.com
- *    tyip@bea.com
- *    
- *    Based on GenericServerLaunchConfigurationDelegate by Gorkem Ercan
- *******************************************************************************/
-
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tools.ant.taskdefs.Execute;
-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.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.RuntimeProcess;
-import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-
-/**
- * <p>Extension of <code>AbstractJavaLaunchConfigurationDelegate</code> that supports 
- * servers which are started/stopped via external executables (e.g. scripts).</p>
- * 
- * <p>Note: <code>AbstractJavaLaunchConfigurationDelegate</code> is extended simply to take advantage
- * of a set of useful code that is not directly related to launching a JVM-based app.</p>
- */
-public class ExternalLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	/**
-	 * Identifier for the executable server configuration type
-	 * (value <code>"org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"</code>).
-	 */
-	public static final String ID_EXTERNAL_LAUNCH_TYPE = CorePlugin.PLUGIN_ID + ".ExternalLaunchConfigurationType"; //$NON-NLS-1$
-
-	/**
-	 * Name of the launch configuration attribute that holds the external executable commandline.
-	 */
-	public static final String COMMANDLINE = CorePlugin.PLUGIN_ID  + ".COMMANDLINE"; //$NON-NLS-1$
-
-	/**
-	 * Name of the launch configuration attribute that holds a descriptive name for the external executable.
-	 */
-	public static final String EXECUTABLE_NAME = CorePlugin.PLUGIN_ID + ".EXECUTABLE_NAME"; //$NON-NLS-1$
-
-	/**
-	 * Name of the launch configuration attribute that holds the debug port.
-	 */
-	public static final String DEBUG_PORT = CorePlugin.PLUGIN_ID + ".DEBUG_PORT"; //$NON-NLS-1$
-	
-	/**
-	 * Default value for the descriptive name for the external executable.
-	 */
-	public static final String DEFAULT_EXECUTABLE_NAME = "External Generic Server"; //$NON-NLS-1$
-	
-	/**
-	 * Debugging launch configuration delegate.
-	 */
-	private static ExternalDebugLaunchConfigurationDelegate debuggingDelegate =
-        new ExternalDebugLaunchConfigurationDelegate();
-	
-	/* (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(GenericServerCoreMessages.missingServer, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-		}	
-
-		ExternalServerBehaviour serverBehavior = (ExternalServerBehaviour) server.loadAdapter(ServerBehaviourDelegate.class, null);
-		
-		// initialize the server, check the ports and start the PingThread that will check 
-		// server state
-		serverBehavior.setupLaunch(launch, mode, monitor);
-		
-		// get the "external" command
-		String commandline = configuration.getAttribute(COMMANDLINE, (String) null);
-		if (commandline == null || commandline.length() == 0) {
-			abort(GenericServerCoreMessages.commandlineUnspecified, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);			
-		}
-		
-		// parse the "external" command into multiple args
-		String[] cmdArgs = DebugPlugin.parseArguments(commandline);
-		// get the "programArguments", parsed into multiple args
-		String[] pgmArgs = DebugPlugin.parseArguments(getProgramArguments(configuration));
-		
-		// Create the full array of cmds
-		String[] cmds = new String[cmdArgs.length + pgmArgs.length];
-		System.arraycopy(cmdArgs, 0, cmds, 0, cmdArgs.length);
-		System.arraycopy(pgmArgs, 0, cmds, cmdArgs.length, pgmArgs.length);
-		
-		// get a descriptive name for the executable
-		String executableName = configuration.getAttribute(EXECUTABLE_NAME, DEFAULT_EXECUTABLE_NAME);
-		
-		// get the executable environment
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		String[] env = manager.getEnvironment(configuration);
-		
-		// get the working directory
-		File workingDir = verifyWorkingDirectory(configuration);
-		if (workingDir == null) {
-			abort(GenericServerCoreMessages.workingdirUnspecified, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);			
-		}
-		
-		// Launch the executable for the configuration using the Ant Execute class
-		try {
-			Process process = Execute.launch(null, cmds, env, workingDir, true);
-			serverBehavior.startPingThread();
-			IProcess runtimeProcess = new RuntimeProcess(launch, process, executableName, null);
-			launch.addProcess(runtimeProcess);
-			serverBehavior.setProcess(runtimeProcess);
-		} catch (IOException ioe) {
-			abort(GenericServerCoreMessages.errorLaunchingExecutable, ioe,  IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-		}
-
-		if (mode.equals("debug")) { //$NON-NLS-1$
-			ILaunchConfigurationWorkingCopy wc = createDebuggingConfig(configuration);
-			// if we're launching the debugging we need to wait for the config to start
-			// before launching the debugging session
-			serverBehavior.setDebuggingConfig(wc, mode, launch, monitor);
-		}
-	}
-
-	private ILaunchConfigurationWorkingCopy createDebuggingConfig(ILaunchConfiguration configuration) 
-	throws CoreException {
-        ILaunchConfigurationWorkingCopy wc = configuration.getWorkingCopy();
-        setDebugArgument(wc, IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, "hostname", "localhost");  //$NON-NLS-1$//$NON-NLS-2$
-        String port = configuration.getAttribute(DEBUG_PORT, (String) null);
-        if (port==null || port.length()==0) {
-        	abort(GenericServerCoreMessages.debugPortUnspecified, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-        }
-        setDebugArgument(wc, IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, "port", port); //$NON-NLS-1$
-        return wc;
-	}
-	
-	/**
-	 * Starts the debugging session
-	 */
-	protected static void startDebugging(ILaunchConfigurationWorkingCopy wc,
-			       						 String mode,
-			       						 ILaunch launch, 
-			       						 IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.FINEST, "Starting debugging"); //$NON-NLS-1$
-		debuggingDelegate.launch(wc, mode, launch, monitor);
-	}
-	  
-    private void setDebugArgument(ILaunchConfigurationWorkingCopy config, String attribKey, String key, String arg) {
-        try {
-            Map args = config.getAttribute(attribKey, (Map)null);
-            if (args!=null) {
-                args = new HashMap(args);
-            } else {
-                args = new HashMap();
-            }
-            args.put(key, String.valueOf(arg));
-            config.setAttribute(attribKey, args);
-        } catch (CoreException ce) {
-            // ignore
-        }        
-    }
-	
-	/**
-	 * 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/ExternalServerBehaviour.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
deleted file mode 100644
index bd630bd..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    rfrost@bea.com - initial API and implementation
- *    
- *    Based on GenericServerBehavior by Gorkem Ercan
- *******************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.Iterator;
-import java.util.List;
-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.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jst.server.generic.internal.xml.Resolver;
-import org.eclipse.jst.server.generic.servertype.definition.External;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.util.SocketUtil;
-
-/**
- * Subclass of <code>GenericServerBehavior</code> that supports 
- * servers which are started/stopped via external executables (e.g. scripts).
- */
-public class ExternalServerBehaviour extends GenericServerBehaviour {
-	
-	// config for debugging session
-	private ILaunchConfigurationWorkingCopy fLaunchConfigurationWC;
-    private String fMode;
-    private ILaunch fLaunch; 
-    private IProgressMonitor fProgressMonitor;
-    
-    /**
-     * Override to reset the status if the state was unknown
-     * @param force 
-     */
-    public void stop(boolean force) {
-    	resetStatus(getServer().getServerState());
-    	super.stop(force);
-    }
-
-    /**
-     * Override to set status to unknown if the port was in use and to reset the status if the state was 
-     * unknown and an exception was not thrown. Will want to change logic once external generic server pings
-     * server process to determine state instead of maintaining handle to process. 
-     */
-    protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-    	int state = getServer().getServerState();
-    	try {
-    		super.setupLaunch(launch, launchMode, monitor);
-    	} catch (CoreException ce) {
-    		ServerPort portInUse = portInUse();
-    		if (portInUse != null) {
-    			Trace.trace(Trace.WARNING, "Port " + portInUse.getPort() + " is currently in use");  //$NON-NLS-1$//$NON-NLS-2$
-				Status status = new Status(IStatus.WARNING, CorePlugin.PLUGIN_ID, IStatus.OK, 
-							NLS.bind(GenericServerCoreMessages.errorPortInUse,Integer.toString(portInUse.getPort()),portInUse.getName()), null);
-				setServerStatus(status);
-				setServerState(IServer.STATE_UNKNOWN);
-    		}
-    		throw ce;
-    	}
-    	resetStatus(state);
-    }
-    
-    private ServerPort portInUse() {
-    	ServerPort[] ports = getServer().getServerPorts(null);
-    	ServerPort sp;
-    	for(int i=0;i<ports.length;i++){
-    		sp = ports[i];
-    		if (SocketUtil.isPortInUse(sp.getPort(), 5)) {
-    			return sp;
-    		}
-    	}
-    	return null;
-	}
-    
-	/**
-	 * Override to trigger the launch of the debugging session (if appropriate).
-	 */
-	protected synchronized void setServerStarted() {
-		if (fLaunchConfigurationWC != null) {
-			try {
-				ExternalLaunchConfigurationDelegate.startDebugging(fLaunchConfigurationWC, fMode, fLaunch, fProgressMonitor);
-			} catch (CoreException ce) {
-				// failed to start debugging, so set mode to run
-				setMode(ILaunchManager.RUN_MODE);
-				final Status status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 1,
-							GenericServerCoreMessages.errorStartingExternalDebugging, ce); 
-				CorePlugin.getDefault().getLog().log(status);
-				Trace.trace(Trace.SEVERE, GenericServerCoreMessages.errorStartingExternalDebugging, ce);
-			} finally {
-				clearDebuggingConfig();
-			}
-		}
-		setServerState(IServer.STATE_STARTED);
- 	}
-	
-	/*
-	 * If the server state is unknown, reset the status to OK
-	 */
-	private void resetStatus(int state) {
-		if (state == IServer.STATE_UNKNOWN) {
-			setServerStatus(null);
-		}
-	}
-	
-	/**
-	 * Since terminate() is called during restart, need to override to
-	 * call shutdown instead of just killing the original process.
-	 */
-	protected void terminate() {
-		int state = getServer().getServerState();
-		if (state == IServer.STATE_STOPPED) 
-    		return;
-    
-		// cache a ref to the current process
-		IProcess currentProcess = process;
-		// set the process var to null so that GenericServerBehavior.setProcess()
-		// will grab the stop executable (and declare the server stopped when it exits)
-		process = null;
-
-		// execute the standard shutdown
-		shutdown(state);
-		
-		// if the shutdown did not terminate the process, forcibly terminate it
-		try {
-    		if (currentProcess != null && !currentProcess.isTerminated()) {
-    			Trace.trace(Trace.FINER, "About to kill process: " + currentProcess); //$NON-NLS-1$
-    			currentProcess.terminate();
-    			currentProcess = null;
-    		}
-    	} catch (Exception e) {
-    		Trace.trace(Trace.SEVERE, "Error killing the process", e); //$NON-NLS-1$
-    	}
-	}
-	
-	/**
-	 * Override superclass method to correctly setup the launch configuration for starting an external
-	 * server.
-	 * @param workingCopy
-	 * @param monitor
-	 * @throws CoreException 
-	 */
-	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy,
-										 IProgressMonitor monitor) throws CoreException {
-		clearDebuggingConfig();
-		ServerRuntime serverDef = getServerDefinition();
-		Resolver resolver = serverDef.getResolver();
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-					resolver.resolveProperties(serverDef.getStart().getWorkingDirectory()));
-		String external = resolver.resolveProperties(getExternalForOS(serverDef.getStart().getExternal()));
-		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.COMMANDLINE, external);
-		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.DEBUG_PORT, 
-					resolver.resolveProperties(serverDef.getStart().getDebugPort()));
-		// just use the commandline for now
-		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.EXECUTABLE_NAME, external);
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStart());
-        if(!environVars.isEmpty()){
-        	workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-        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);
-        }
-	}
-
-	/*
-	 * Returns the first external whose "os" attribute matches (case insensitive) the beginning 
-	 * of the name of the current OS (as determined by the System "os.name" property). If
-	 * no such match is found, returns the first external that does not have an OS attribute.
-	 */
-	private String getExternalForOS(List externals) {
-		String currentOS = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
-		External external;
-		String matchingExternal = null;
-		String externalOS;
-		Iterator i = externals.iterator();
-		while (i.hasNext()) {
-			external= (External) i.next();
-			externalOS = external.getOs();
-			if (externalOS == null) {
-				if (matchingExternal == null) {
-					matchingExternal = external.getValue();
-				}
-			} else if (currentOS.startsWith(externalOS.toLowerCase())) {
-				matchingExternal = external.getValue();
-				break;
-			}
-		}
-		return matchingExternal;
-	}
-
-	/**
-     * Returns the String ID of the launch configuration type.
-     * @return launchTypeID
-     */
-	protected String getConfigTypeID() {
-		return ExternalLaunchConfigurationDelegate.ID_EXTERNAL_LAUNCH_TYPE;
-	}
-
-	/**
-	 * Returns the String name of the stop launch configuration.
-	 * @return launcherName
-	 */
-	protected String getStopLaunchName() {
-		return GenericServerCoreMessages.externalStopLauncher;
-	}
-	
-	/**
-	 * Sets up the launch configuration for stopping the server.
-	 * 
-	 */
-	protected void setupStopLaunchConfiguration(GenericServerRuntime runtime, ILaunchConfigurationWorkingCopy wc) {
-		clearDebuggingConfig();
-		ServerRuntime serverDef = getServerDefinition();
-		Resolver resolver = serverDef.getResolver(); 
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-					resolver.resolveProperties(serverDef.getStop().getWorkingDirectory()));
-		String external = resolver.resolveProperties(getExternalForOS(serverDef.getStop().getExternal()));
-		wc.setAttribute(ExternalLaunchConfigurationDelegate.COMMANDLINE, external);
-		// just use commandline for now
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStop());
-        if(!environVars.isEmpty()){
-        	wc.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-				resolver.resolveProperties(serverDef.getStop().getProgramArgumentsAsString()));
-		wc.setAttribute(ExternalLaunchConfigurationDelegate.EXECUTABLE_NAME, external); 	
-		wc.setAttribute(Server.ATTR_SERVER_ID, getServer().getId());
-	}
-	
-	/**
-	 * Sets the configuration to use for launching a debugging session
-	 */
-	protected synchronized void setDebuggingConfig(ILaunchConfigurationWorkingCopy wc,
-					 			      String mode,
-					 			      ILaunch launch, 
-					 			      IProgressMonitor monitor) {
-		this.fLaunchConfigurationWC = wc;
-		this.fMode = mode;
-		this.fLaunch = launch;
-		this.fProgressMonitor = monitor;
-	}
-	
-	private synchronized void clearDebuggingConfig() {
-		this.fLaunchConfigurationWC = null;
-		this.fMode = null;
-		this.fLaunch = null;
-		this.fProgressMonitor = 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 a5c4ea7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericPublisher.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-
-/**
- * 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 GenericServerRuntime fServerRuntime;
-    private GenericServer fServer;
-    
-    protected void initialize(IModule[] module, IServer server)
-    {
-        fModule = module;
-        fServer = (GenericServer)server.loadAdapter(GenericServer.class,null);
-        fServerRuntime = (GenericServerRuntime)server.getRuntime().loadAdapter(GenericServerRuntime.class,null);
-    }
-   /**
-    * 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 monitor
-    * @return status
-    */ 
-   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 status
-     */
-    public abstract IStatus[] publish(IModuleArtifact[] resource,
-            IProgressMonitor monitor);
-   
-    /**
-     * Returns the module associated with this publisher instance
-     * @return module
-     */
-    public IModule[] getModule() {
-        return fModule;
-    }
-
-    /**
-     * Generic server instance
-     * @return server
-     */
-    public GenericServer getServer(){
-    	return fServer;
-    }
-    /**
-     * a handle to server definition.
-     * @return serverdef
-     */
-    public GenericServerRuntime 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 1560268..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServer.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.File;
-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.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.core.FacetUtil;
-import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.core.IWebModule;
-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.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-
-/**
- * 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"; //$NON-NLS-1$
-
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		List moduleTypes = getServerDefinition().getModule();
-        int found =0;
-		for (int i = 0; i < add.length; i++) {
-			for(int j=0;j<moduleTypes.size();j++){
-				 Module module = (Module)moduleTypes.get(j);
-				 if(add[i].getModuleType()!= null && add[i].getModuleType().getId().equals(module.getType())){
-					 found++;
-					 break;
-				  }
-			}
-        }
-		
-		for (int i = 0; i < add.length; i++) {
-			IModule module = add[i];
-			if (module.getProject() != null) {
-				IStatus status = FacetUtil.verifyFacets(module.getProject(), getServer());
-				if (status != null && !status.isOK())
-					return status;
-			}
-		}
-		
-		if(found==add.length)
-			return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "CanModifyModules", null); //$NON-NLS-1$
-		
-		return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.moduleNotCompatible, null);
-	}
-	
-    /* (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++) {
-               
-               if(modules.contains(add[i].getId())==false)
-                    modules.add(add[i].getId());
-            }
-        }
-        if(remove!=null && remove.length>0 && modules!=null)
-        {
-            for (int i = 0; i < remove.length; i++) {
-                modules.remove(remove[i].getId());
-             }
-        }
-        if(modules!=null)    
-            setAttribute(ATTR_GENERIC_SERVER_MODULES,modules);
-        
-    }
-
- 	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IServerDelegate#getChildModules(org.eclipse.wst.server.core.model.IModule[])
-	 */
-	public IModule[] getChildModules(IModule[] module) {
-		if (module[0] != null && module[0].getModuleType() != null) {
-			if (module.length == 1) {
-				IModuleType moduleType = module[0].getModuleType();
-				if (moduleType != null && "jst.ear".equals(moduleType.getId())) { //$NON-NLS-1$
-					IEnterpriseApplication enterpriseApplication = (IEnterpriseApplication) module[0]
-							.loadAdapter(IEnterpriseApplication.class, null);
-					if (enterpriseApplication != null) {
-						IModule[] earModules = enterpriseApplication.getModules(); 
-						if ( earModules != null) {
-							return earModules;
-						}
-					}
-				}
-				else if (moduleType != null && "jst.web".equals(moduleType.getId())) { //$NON-NLS-1$
-					IWebModule webModule = (IWebModule) module[0].loadAdapter(IWebModule.class, null);
-					if (webModule != null) {
-						IModule[] modules = webModule.getModules();
-						return modules;
-					}
-				}
-			}
-		}
-		return new IModule[0];
-	}
-
-	/**
-	 * Returns the server instance properties including runtime properties. 
-	 * 
-	 * @return server instance properties.
-	 */
-	private Map getInstanceProperties() {
-		Map runtimeProperties =getRuntimeDelegate().getServerInstanceProperties();
-		Map serverProperties = getServerInstanceProperties();
-		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()));		 //$NON-NLS-1$
-		}
-	
-		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.loadAdapter(IWebModule.class,null)==null )
-				return null;
-            
-            IWebModule webModule =(IWebModule)module.loadAdapter(IWebModule.class,null);
-            String host = getServer().getHost();
-			String url = "http://"+host; //$NON-NLS-1$
-			int port = 0;
-			
-			port = getHttpPort();
-			port =ServerUtil.getMonitoredPort(getServer(), port, "web"); //$NON-NLS-1$
-			if (port != 80)
-				url += ":" + port; //$NON-NLS-1$
-
-			url += "/"+webModule.getContextRoot(); //$NON-NLS-1$
-
-			if (!url.endsWith("/")) //$NON-NLS-1$
-				url += "/"; //$NON-NLS-1$
-
-			return new URL(url);
-		} catch (Exception e) {
-			Trace.trace("Could not get root URL", e); //$NON-NLS-1$
-			return null;
-		}
-
-	}
-
-	/**
-	 * Return http port
-	 * @return port
-	 */
-	protected 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() ) ) //$NON-NLS-1$
-				port = Integer.parseInt(aPort.getNo());	
-		}
-		if( port == -1)
-			port = 8080;
-		return port;
-	}
-
-	/**
-	 * Returns the ServerRuntime that represents the .serverdef
-	 * file for this server. 
-	 * @return server runtime
-	 */
-    public ServerRuntime getServerDefinition(){
-		String rtTypeId = getServer().getRuntime().getRuntimeType().getId();
-		return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(rtTypeId,getInstanceProperties());
-	}
-
-    private GenericServerRuntime getRuntimeDelegate(){
-    	return (GenericServerRuntime)getServer().getRuntime().loadAdapter(GenericServerRuntime.class,null);
-     }
-
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.server.core.model.ServerDelegate#getRootModules(org.eclipse.wst.server.core.IModule)
-     */
-    public IModule[] getRootModules(IModule module) throws CoreException {
-     	IStatus status = canModifyModules(new IModule[] { module }, null);
-        if (status != null && !status.isOK())
-            throw  new CoreException(status);;
-        IModule[] childs = doGetParentModules(module);
-        if(childs.length>0)
-        	return childs;
-        return new IModule[] { module };
-    }
-
-
-	private IModule[] doGetParentModules(IModule module) {
-		IModule[] ears = ServerUtil.getModules("jst.ear"); //$NON-NLS-1$
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < ears.length; i++) {
-			IEnterpriseApplication ear = (IEnterpriseApplication)ears[i].loadAdapter(IEnterpriseApplication.class,null);
-			IModule[] childs = ear.getModules();
-			for (int j = 0; j < childs.length; j++) {
-				if(childs[j].equals(module))
-					list.add(ears[i]);
-			}
-		}
-		return (IModule[])list.toArray(new IModule[list.size()]);
-	}
-	/**
-	 * Returns the server properties.
-	 * @return Map of properties.
-	 */
-    public Map getServerInstanceProperties() {
- 		return getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES, new HashMap());
- 	}
- 	/**
- 	 * Change the server instance properties.
- 	 * 
- 	 * @param map
- 	 */
- 	public void setServerInstanceProperties(Map map) {
- 		setAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES, map);
- 	}
- 	/**
- 	 * Checks if the properties set for this server is valid. 
- 	 * @return status
- 	 */
- 	public IStatus validate() {
- 		List props = this.getServerDefinition().getProperty();
- 		for(int i=0;i<props.size();i++)
- 		{
- 			Property property =(Property)props.get(i);
- 			if(property.getType().equals(Property.TYPE_DIRECTORY) || property.getType().equals(Property.TYPE_FILE))
- 			{
- 				String path= (String)getInstanceProperties().get(property.getId());
- 				if(path!=null && !pathExist(path))
- 					return  new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, NLS.bind(GenericServerCoreMessages.invalidPath,path), null);
- 			}
- 		}
- 		return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
- 	}
-	private boolean pathExist(String path){
-		File f = new File(path);
-		return f.exists();
-	}
- 
-	public void setDefaults(IProgressMonitor monitor) {
- 		List props = this.getServerDefinition().getProperty();
- 		Map instancePropsMap = new HashMap();
- 		for (Iterator iter = props.iterator(); iter.hasNext();) {
-			Property element = (Property) iter.next();
-			if(Property.CONTEXT_SERVER.equalsIgnoreCase(element.getContext()))
-				instancePropsMap.put(element.getId(), element.getDefault());
-		}
- 		setServerInstanceProperties(instancePropsMap);
- 	}
- 	
-}
\ 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 046e674..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-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.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.ArgumentPair;
-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.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.internal.DeletedModule;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-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"; //$NON-NLS-1$
-    
-	// 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 {
-        // do nothing
-    }
-
-    /* (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{
-        	checkClosed(module);
-            String publisherId = ServerTypeDefinitionUtil.getPublisherID(module[0], getServerDefinition());
-            GenericPublisher publisher = PublishManager.getPublisher(publisherId);
-            if(publisher==null){
-                IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0, NLS.bind(GenericServerCoreMessages.unableToCreatePublisher,publisherId),null);
-                throw new CoreException(status);
-            }
-            publisher.initialize(module,getServer());
-            IStatus[] status= publisher.publish(null,monitor);
-            if(status==null){
-                setModulePublishState(module, IServer.PUBLISH_STATE_NONE);
-            }else {
-                for (int i=0; i < status.length; i++) {
-                    if (IStatus.ERROR == status[i].getSeverity()){
-                    	setModulePublishState(module, IServer.PUBLISH_STATE_UNKNOWN);
-                        throw new CoreException(status[i]);
-                    }
-                }
-            }
-        }
-    }
-
-    private void checkClosed(IModule[] module) throws CoreException
-    {
-    	for(int i=0;i<module.length;i++)
-    	{
-    		if(module[i] instanceof DeletedModule)
-    		{	
-                IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0, NLS.bind(GenericServerCoreMessages.canNotPublishDeletedModule,module[i].getName()),null);
-                throw new CoreException(status);
-    		}
-    	}
-    }
-    private void removeFromServer(IModule[] module, IProgressMonitor monitor) throws CoreException
-    {
-    	String publisherId = ServerTypeDefinitionUtil.getPublisherID(module[0], getServerDefinition());
-        GenericPublisher publisher = PublishManager.getPublisher(publisherId);  
-        if(publisher==null){
-            IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,NLS.bind(GenericServerCoreMessages.unableToCreatePublisher,publisherId),null);
-            throw new CoreException(status);
-        }
-        publisher.initialize(module,getServer());
-        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;
-		}
-		
-		shutdown(state);
-    }
-    
-    /**
-     * Shuts down the server via the launch configuration.
-     */
-    protected void shutdown(int state) {
-		GenericServerRuntime runtime = getRuntimeDelegate();
-		try {
-			Trace.trace(Trace.FINEST, "Stopping Server"); //$NON-NLS-1$
-			if (state != IServer.STATE_STOPPED)
-				setServerState(IServer.STATE_STOPPING);
-			String configTypeID = getConfigTypeID(); 
-			ILaunchManager mgr = DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfigurationType type = mgr.getLaunchConfigurationType(configTypeID);
-			String launchName = getStopLaunchName();
-			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);		
-			// Set the stop attribute so that we know we are stopping
-			wc.setAttribute(ATTR_STOP, "true"); //$NON-NLS-1$
-			
-			// Setup the launch config for stopping the server
-			setupStopLaunchConfiguration(runtime, wc);
-			
-			// Launch the stop launch config
-			wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
-
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping Server", e); //$NON-NLS-1$
-		}
-    }
-
-    /**
-     * Returns the String ID of the launch configuration type.
-     * @return id
-     */
-	protected String getConfigTypeID() {
-		return IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION;
-	}
-
-	/**
-	 * Returns the String name of the stop launch configuration.
-	 * @return launchname
-	 */
-	protected String getStopLaunchName() {
-		return "GenericServerStopper"; //$NON-NLS-1$
-	}
-	
-	private boolean isRemote(){
-		return (getServer().getServerType().supportsRemoteHosts()&& !SocketUtil.isLocalhost(getServer().getHost()) );
-	}	
-	/**
-	 * Sets up the launch configuration for stopping the server.
-	 */
-	protected void setupStopLaunchConfiguration(GenericServerRuntime runtime, ILaunchConfigurationWorkingCopy wc) {
-		if(isRemote())// Do not launch for remote servers.
-			return;
-		
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-				getServerDefinition().getResolver().resolveProperties(this.getServerDefinition().getStop().getMainClass()));
-
-		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());
-
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStop());
-        if(!environVars.isEmpty()){
-        	wc.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-        
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getWorkingDirectory()));
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getProgramArgumentsAsString()));
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getVmParametersAsString()));				
-	}
-
-    /**
-     * Start class name
-     * @return name
-     */
-    public String getStartClassName() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getMainClass());
-    }
-
-    /** 
-     * Server definition
-     * @return serverdef
-     */
-    public ServerRuntime getServerDefinition() {
-        GenericServer server = (GenericServer)getServer().loadAdapter(ServerDelegate.class, null);
-        return server.getServerDefinition();
-    }
-    
-    protected GenericServerRuntime getRuntimeDelegate() {
-       return (GenericServerRuntime)getServer().getRuntime().loadAdapter(GenericServerRuntime.class,null);
-    }
-
-    private List getStartClasspath() {
-    	String cpRef = getServerDefinition().getStart().getClasspathReference();
-    	return serverClasspath(cpRef);
-    }
-
-    /**
-     * @param cpRef
-     * @return classpath
-     */
-    protected List serverClasspath(String cpRef) {
-    	Classpath classpath = getServerDefinition().getClasspath(cpRef);
-    	
-        List cpEntryList = 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());
-    	
-    			cpEntryList.add(JavaRuntime.newArchiveRuntimeClasspathEntry(
-    					new Path(cpath)));
-         }
-    	return cpEntryList;
-    }
-
-    /**
-     * @param wc
-     * @param vmInstall
-     */
-    protected void setupLaunchClasspath(ILaunchConfigurationWorkingCopy wc, IVMInstall vmInstall, List cp) {
-		//merge existing classpath with server classpath
-		try {
-			IRuntimeClasspathEntry[] existingCps = JavaRuntime.computeUnresolvedRuntimeClasspath(wc);
-			for (int i = 0; i < existingCps.length; i++) {
-				if(cp.contains(existingCps[i])==false){ 
-					cp.add(existingCps[i]);
-				}
-			}
-		} catch (CoreException e) {
-			// ignore
-		}
-		
-    	wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, convertCPEntryToMemento(cp));
-    	wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH,false);
-    }
-
-	private List convertCPEntryToMemento(List cpEntryList)
-	{
-		List list = new ArrayList(cpEntryList.size());
-		Iterator iterator = cpEntryList.iterator();
-		while(iterator.hasNext())
-		{
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry)iterator.next();
-			try {
-				list.add(entry.getMemento());
-			} catch (CoreException e) {
-				// ignore
-			}
-		}
-		return list;
-	}
-
-    private String getWorkingDirectory() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getWorkingDirectory());
-    }
-
-    protected String getProgramArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getProgramArgumentsAsString());
-    }
-
-    protected Map getEnvironmentVariables(LaunchConfiguration config){
-        List variables = config.getEnvironmentVariable();
-        Map varsMap = new HashMap(variables.size());
-        Iterator iterator= variables.iterator();
-        while(iterator.hasNext()){
-        	ArgumentPair pair = (ArgumentPair)iterator.next();
-        	varsMap.put(pair.getName(),getServerDefinition().getResolver().resolveProperties(pair.getValue()));
-        }
-        return varsMap;
-    }
-    
-    private String getVmArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getVmParametersAsString());
-    }
-
-    public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException {
-		if(isRemote())// No launch for remote servers.
-			return;
-    	
-    	workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-                getStartClassName());
-
-        GenericServerRuntime runtime = 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());
-        
-
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStart());
-        if(!environVars.isEmpty()){
-        	workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-        
-        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. Checks all ports available 
-     * and sets server state and mode.
-     * 
-     * @param launch ILaunch
-     * @param launchMode String
-     * @param monitor IProgressMonitor
-     */
-    protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-    	if ("true".equals(launch.getLaunchConfiguration().getAttribute(ATTR_STOP, "false")))  //$NON-NLS-1$ //$NON-NLS-2$
-    		return;
-
-    	String host = getServer().getHost();
-    	ServerPort[] ports = getServer().getServerPorts(null);
-    	ServerPort sp = null;
-    	if(SocketUtil.isLocalhost(host)){
-	    	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, NLS.bind(GenericServerCoreMessages.errorPortInUse,Integer.toString(sp.getPort()),sp.getName()),null));
-	    	}
-    	}
-    	setServerState(IServer.STATE_STARTING);
-    	setMode(launchMode);
-    }
-    /**
-     * Call to start Ping thread that will check for startup of the server.
-     *
-     */
-    protected void startPingThread()
-    {
-    	try {
-    		String url = "http://"+getServer().getHost();; //$NON-NLS-1$
-    	  	ServerPort[] ports = getServer().getServerPorts(null);
-        	ServerPort sp = null;
-    	    for(int i=0;i<ports.length;i++){
-    	    	if(ports[i].getProtocol().equalsIgnoreCase("http")){//$NON-NLS-1$
-    	    		sp=ports[i];
-    	    	}
-    	    }
-	    	if(sp==null){
-	    		Trace.trace(Trace.SEVERE, "Can't ping for server startup."); //$NON-NLS-1$
-	    		return;
-	    	}
-        	int port = sp.getPort();
-    		if (port != 80)
-    			url += ":" + port; //$NON-NLS-1$
-    		ping = new PingThread(getServer(), url, this);
-    	} catch (Exception e) {
-    		Trace.trace(Trace.SEVERE, "Can't ping for server startup."); //$NON-NLS-1$
-    	}  	
-    }
-   
-    protected void setProcess(final IProcess newProcess) {
-    	if (process != null)
-    		return;
-    	if(processListener!=null)
-    		DebugPlugin.getDefault().removeDebugEventListener(processListener);
-    	if (newProcess==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!= null &&  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.stop();
-    		ping = null;
-    	}
-    	if (process != null) {
-    		process = null;
-    		DebugPlugin.getDefault().removeDebugEventListener(processListener);
-    		processListener = null;
-    	}
-    	setServerState(IServer.STATE_STOPPED);
-    }
-
-    /**
-     * Terminates the server.
-     * This method may be called before a process created while setting up the 
-     * launch config. 
-     */
-    protected void terminate() {
-    	if (getServer().getServerState() == IServer.STATE_STOPPED)
-    		return;
-    
-    	try {
-    		setServerState(IServer.STATE_STOPPING);
-    		Trace.trace(Trace.FINEST, "Killing the Server process"); //$NON-NLS-1$
-    		if (process != null && !process.isTerminated()) {
-    			process.terminate();
-    			
-    		}
-    		stopImpl();
-    	} catch (Exception e) {
-    		Trace.trace(Trace.SEVERE, "Error killing the process", e); //$NON-NLS-1$
-    	}
-    }
-
-    private List getStopClasspath() {
-    	String cpRef = getServerDefinition().getStop().getClasspathReference();
-    	return serverClasspath(cpRef);
-    }
-
-    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(new IModule[]{modules[i]})!=IServer.PUBLISH_STATE_NONE)
-                allpublished=false;
-        }
-        if(allpublished)
-            setServerPublishState(IServer.PUBLISH_STATE_NONE);
-    }
-    
- 	protected void setServerStarted() {
- 		setServerState(IServer.STATE_STARTED);
- 	}
-}
\ No newline at end of file
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 0eb57c6..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Helper class to get messages
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerCoreMessages extends NLS{
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jst.server.generic.core.internal.GenericServerCoreMessages";//$NON-NLS-1$
-	public static String cancelNoPublish;
-	public static String moduleNotCompatible;
-	public static String errorPortInUse;
-	public static String errorJRE;
-	public static String errorNoServerType;
-	public static String errorNoClasspath;
-	public static String errorMissingClasspathEntry;
-	public static String errorRemoveModuleAntpublisher;
-	public static String errorPublishAntpublisher;
-	public static String commandlineUnspecified;
-	public static String noProfiler;
-	public static String workingdirUnspecified;
-	public static String errorLaunchingExecutable;
-	public static String missingServer;
-	public static String externalStopLauncher;
-	public static String debugPortUnspecified;
-	public static String errorStartingExternalDebugging;
-	public static String invalidPath;
-	public static String runModeNotSupported;
-	public static String unableToCreatePublisher;
-	public static String canNotPublishDeletedModule;
-	public static String antLauncherMissing;
-    public static String attachingToExternalGenericServer;
-    public static String verifyingExternalServerDebuggingLaunchAttributes;
-    public static String externalServerDebugConnectorNotSpecified;
-    public static String creatingExternalServerDebuggingSourceLocator;
-    
-	
-	static{
-		  NLS.initializeMessages(RESOURCE_BUNDLE, GenericServerCoreMessages.class);
-	}
-
-
-
-
-
-}
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 befb747..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###############################################################################
-errorJRE=Invalid JRE
-errorNoServerType=No server type definition
-errorMissingClasspathEntry=Missing classpath entry {0}
-errorPortInUse=Server port In Use {0}-{1}
-cancelNoPublish=Nothing to publish
-moduleNotCompatible=Module type is not compatible
-errorNoClasspath=No classpath is defined
-errorRemoveModuleAntpublisher= Remove module failed using Ant publisher
-errorPublishAntpublisher= Publish failed using Ant publisher
-commandlineUnspecified=Executable commandline is unspecified
-workingdirUnspecified=Working directory is unspecified or invalid
-errorLaunchingExecutable=Error launching executable
-missingServer=Server does not exist
-externalStopLauncher=ExternalLaunchStopper
-debugPortUnspecified=Debugging port is unspecified
-errorStartingExternalDebugging=Error launching remote debugging for external server, changing to non-debugging mode.\nPlease check the debug port setting and ensure that the specified 'start' executable launches the server with debugging enabled
-invalidPath = {0} is not valid
-runModeNotSupported= Selected VM does not support this mode
-unableToCreatePublisher=Unable to create publisher {0}
-canNotPublishDeletedModule=Can not publish because module {0} is closed or deleted
-antLauncherMissing=Ant launcher is missing or disabled
-noProfiler=Could not launch in profiling mode because no profilers are configured.
-attachingToExternalGenericServer=Attaching to external generic server {0}.
-verifyingExternalServerDebuggingLaunchAttributes=Verifying debugging launch attributes.
-externalServerDebugConnectorNotSpecified=Debugging connector not specified.
-creatingExternalServerDebuggingSourceLocator=Creating debugging source locator.
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 f71a296..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.debug.core.ILaunchManager;
-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.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.ServerProfiler;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * 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(GenericServerCoreMessages.missingServer, null,
-					IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-		}
-		GenericServerBehaviour genericServer = (GenericServerBehaviour) server.loadAdapter(ServerBehaviourDelegate.class, null);
-
-		try {
-			genericServer.setupLaunch(launch, mode, monitor);
-			if(genericServer.getServer().getServerType().supportsRemoteHosts() && !SocketUtil.isLocalhost(genericServer.getServer().getHost())){
-			// no launch for remote servers
-				return;
-			}
-
-			String mainTypeName = genericServer.getStartClassName();
-			IVMInstall vm = verifyVMInstall(configuration);
-			IVMRunner runner = vm.getVMRunner(mode);
-			
-			if(runner == null && ILaunchManager.PROFILE_MODE.equals(mode)){
-				runner = vm.getVMRunner(ILaunchManager.RUN_MODE);
-			}
-			if(runner == null){
-				throw new CoreException(new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,GenericServerCoreMessages.runModeNotSupported,null));
-			}
-			File workingDir = verifyWorkingDirectory(configuration);
-			String workingDirName = null;
-			if (workingDir != null)
-				workingDirName = workingDir.getAbsolutePath();
-
-			// Program & VM args
-			String pgmArgs = getProgramArguments(configuration);
-			String vmArgs = getVMArguments(configuration);
-			String[] envp= getEnvironment(configuration);
-
-			if (ILaunchManager.PROFILE_MODE.equals(mode)) {
-				ServerProfiler[] sp = JavaServerPlugin.getServerProfilers();
-				if (sp == null || sp.length==0 || runner == null) {
-					genericServer.stopImpl();
-					throw new CoreException(new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.noProfiler, null));
-				}
-				String vmArgs2 = sp[0].getVMArgs(); //$NON-NLS-1$
-				vmArgs = vmArgs + " " + vmArgs2; //$NON-NLS-1$
-			}
-			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.setEnvironment(envp);
-			runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
-			// Bootpath
-			String[] bootpath = getBootpath(configuration);
-			if (bootpath != null && bootpath.length > 0)
-				runConfig.setBootClassPath(bootpath);
-
-			setDefaultSourceLocator(launch, configuration);
-			// Launch the configuration
-			genericServer.startPingThread();
-			runner.run(runConfig, launch, monitor);
-			genericServer.setProcess(launch.getProcesses()[0]);
-		} catch (CoreException e) {
-			Trace.trace(Trace.SEVERE,"error launching generic server",e); //$NON-NLS-1$
-			genericServer.terminate();
-			throw e;
-		}
-	}
-
-	/**
-	 * 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 426eecb..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.ArgumentPair;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-/**
- * Launchable adapter delegate for generic servers.
- * @author Gorkem Ercan 
- */
-public class GenericServerLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	private static final String JAVA_NAMING_PROVIDER_URL_PROPKEY = "java.naming.provider.url"; //$NON-NLS-1$
-	private static final String JAVA_NAMING_FACTORY_INITIAL_PROPKEY = "java.naming.factory.initial"; //$NON-NLS-1$
-
-	/*
-	 * @see ILaunchableAdapterDelegate#getLaunchable(IServer, IModuleObject)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact moduleObject) {
-		ServerDelegate delegate = (ServerDelegate)server.loadAdapter(ServerDelegate.class,null);
-		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_PROPKEY,definition.getJndiConnection().getInitialContextFactory());
-        props.put(JAVA_NAMING_PROVIDER_URL_PROPKEY,definition.getJndiConnection().getProviderUrl());
-        List jps = definition.getJndiConnection().getJndiProperty();
-        Iterator propsIt =jps.iterator();
-        while(propsIt.hasNext()){
-            ArgumentPair prop = (ArgumentPair)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 object
-     */
-    private Object prepareHttpLaunchable(IModuleArtifact moduleObject, ServerDelegate delegate) {
-        try {
-			URL url = ((IURLProvider) delegate).getModuleRootURL(moduleObject.getModule());
-			
-			Trace.trace("root: " + url); //$NON-NLS-1$
-
-			if (moduleObject instanceof Servlet) {
-				Servlet servlet = (Servlet) moduleObject;
-				if (servlet.getAlias() != null) {
-					String path = servlet.getAlias();
-					if (path.startsWith("/")) //$NON-NLS-1$
-						path = path.substring(1);
-					url = new URL(url, path);
-				} else
-					url = new URL(url, "servlet/" + servlet.getServletClassName()); //$NON-NLS-1$
-			} else if (moduleObject instanceof WebResource) {
-				WebResource resource = (WebResource) moduleObject;
-				String path = resource.getPath().toString();
-				Trace.trace("path: " + path); //$NON-NLS-1$
-				if (path != null && path.startsWith("/") && path.length() > 0) //$NON-NLS-1$
-					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); //$NON-NLS-1$
-			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 17e2d7e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntime.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IJavaRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * Generic server runtime support.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerRuntime extends RuntimeDelegate implements IJavaRuntime
-{
-	/**
-	 * Server definition attribute id in the server attributes
-	 */
-	public static final String SERVER_DEFINITION_ID = "server_definition_id"; //$NON-NLS-1$
-	/**
-	 * Server instance properties attribute id on server attributes
-	 */
-	public static final String SERVER_INSTANCE_PROPERTIES = "generic_server_instance_properties"; //$NON-NLS-1$	
-	private static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id"; //$NON-NLS-1$
-	private static final String PROP_VM_INSTALL_ID = "vm-install-id"; //$NON-NLS-1$
-
-
-	/**
-	 * Returns the vm type id
-	 * @return id
-	 */
-	public String getVMInstallTypeId() {
-		return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-	
-	/**
-	 * Is use default VM selected
-	 * @return boolean
-	 */
-	public boolean isUsingDefaultJRE() {
-		return getVMInstallTypeId() == null;
-	}
-
-
-	/**
-	 * Returns VM id
-	 * @return id
-	 */
-	public String getVMInstallId() {
-		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.core.IGenericRuntime#getVMInstall()
-	 */
-	public IVMInstall getVMInstall() {
-		if (getVMInstallTypeId() == null)
-			return JavaRuntime.getDefaultVMInstall();
-		try {
-			IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId());
-			IVMInstall[] vmInstalls = vmInstallType.getVMInstalls();
-			int size = vmInstalls.length;
-			String id = getVMInstallId();
-			for (int i = 0; i < size; i++) {
-				if (id.equals(vmInstalls[i].getId()))
-					return vmInstalls[i];
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	
-	}
-
-	/* (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.errorJRE, null);
-		}
-		ServerRuntime serverTypeDefinition = getServerTypeDefinition();
-        if(serverTypeDefinition == null) {
-		    return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.errorNoServerType, null);
-        }
-		if(serverTypeDefinition.getClasspath()== null || serverTypeDefinition.getClasspath().size()<1) {
-            return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.errorNoClasspath,null);
-		}
-        return validateClasspaths(serverTypeDefinition);
-	}
-
-	/**
-	 * Checks all defined classpaths.
-	 */
-	protected IStatus validateClasspaths(ServerRuntime serverTypeDefinition) {
-		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.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 ,NLS.bind(GenericServerCoreMessages.errorMissingClasspathEntry,f.getPath()),null);	
-			}
-		}
-        return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
-	}
-	
-	/**
-	 * 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);
-	}
-	
-	/**
-	 * SetVM to be used
-	 * @param vmInstall
-	 */
-	public void setVMInstall(IVMInstall vmInstall) {
-		if (vmInstall == null) {
-			setVMInstall(null, null);
-		} else
-			setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-	}
-	
-	private void setVMInstall(String typeId, String id) {
-		if (typeId == null)
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-		
-		if (id == null)
-			setAttribute(PROP_VM_INSTALL_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_ID, id);
-	}
-	
-	
-	/**
-	 * Return instance proerties
-	 * @return property map
-	 */
-	public Map getServerInstanceProperties() {
-		return getAttribute(SERVER_INSTANCE_PROPERTIES, new HashMap());
-	}
-	
-	/**
-	 * Returns serverdef id
-	 * @return serverdef id
-	 */
-	public String getServerDefinitionId() {
-		return getAttribute(SERVER_DEFINITION_ID, (String) null);
-	}
-	
-	/**
-	 * set instance properties
-	 * @param map
-	 */
-	public void setServerInstanceProperties(Map map) {
-		setAttribute(SERVER_INSTANCE_PROPERTIES, map);
-	}
-	
-	/**
-	 * Set serverdef id
-	 * @param s
-	 */
-	public void setServerDefinitionId(String s) {
-		setAttribute(SERVER_DEFINITION_ID, s);
-	}
-	
-	public void setDefaults(IProgressMonitor monitor) {
-		List props = this.getServerTypeDefinition().getProperty();
- 		Map instancePropsMap = new HashMap();
- 		for (Iterator iter = props.iterator(); iter.hasNext();) {
-			Property element = (Property) iter.next();
-			if(Property.CONTEXT_RUNTIME.equalsIgnoreCase(element.getContext()))
-				instancePropsMap.put(element.getId(), element.getDefault());
-		}
- 		setServerInstanceProperties(instancePropsMap);
-
-		
-	}
-}
\ No newline at end of file
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 2f468f5..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntimeTargetHandler.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.RuntimeClasspathProviderDelegate;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * Provides the Classpath containers to be added into project classpaths.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerRuntimeTargetHandler extends RuntimeClasspathProviderDelegate {
-
-	/* (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 resolveClasspathContainer(runtime);
-	}
-	/* (non-Javadoc)
-	 * @see ClasspathRuntimeTargetHandler#resolveClasspathContainer(IRuntime)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime){		
-		return ServerTypeDefinitionUtil.getServerClassPathEntry(runtime);
-	}
-    
-
-	/**
-	 * Read the classpath entries for the serverdef.
-	 * 
-	 * @param runtime
-	 * @param monitor
-	 * @return classpathEntries
-	 */
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		GenericServerRuntime genericRuntime = (GenericServerRuntime)runtime.loadAdapter(GenericServerRuntime.class, monitor);
-		if (genericRuntime == null)
-			return new IClasspathEntry[0];
-		IVMInstall vmInstall = genericRuntime.getVMInstall();
-		if (vmInstall != null) {
-			String name = vmInstall.getName();
-			String typeId = vmInstall.getVMInstallType().getId();
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(name)) };
-		}
-		return null;
-	}
-}
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 15dd6f1..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * 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);
-		List sourcefolderList = new ArrayList();
-		
-		IServer server =  ServerUtil.getServer(configuration);
-		IModule[] modules = server.getModules();
-		
-		List javaProjectList = new ArrayList();
-		
-		processModules(sourcefolderList, modules, javaProjectList, server,monitor);
-
-
-		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);
-		ISourceContainer[] javaSourceContainers = JavaRuntime.getSourceContainers(resolved);
-		
-		if (!sourcefolderList.isEmpty()) {
-			ISourceContainer[] combinedSourceContainers = new ISourceContainer[javaSourceContainers.length + sourcefolderList.size()];
-			sourcefolderList.toArray(combinedSourceContainers);
-			System.arraycopy(javaSourceContainers, 0, combinedSourceContainers, sourcefolderList.size(), javaSourceContainers.length);
-			javaSourceContainers = combinedSourceContainers;
-		}
-		
-		return javaSourceContainers;
-		
-	}
-
-	private void processModules(List sourcefolderList, IModule[] modules, List javaProjectList, IServer server, IProgressMonitor monitor) {
-		for (int i = 0; i < modules.length; i++) {
-			IProject project = modules[i].getProject();
-			IModule[] pModule = new IModule[1];
-			pModule[0]=modules[i];
-			IModule[] cModule = server.getChildModules(pModule, monitor);
-			if(cModule != null && cModule.length>0)
-			{
-				processModules(sourcefolderList, cModule, javaProjectList, server, monitor);
-			}
-			if (project != null) {
-				IFolder moduleFolder = project.getFolder(modules[i].getName());
-				if (moduleFolder.exists()) {
-					sourcefolderList.add(new FolderSourceContainer(moduleFolder, true));
-				} else {
-					try {
-						if (project.hasNature(JavaCore.NATURE_ID)) {
-							IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-							if(!javaProjectList.contains(javaProject)){
-								javaProjectList.add(javaProject);
-							}
-						}
-					} catch (Exception e) {
-						// ignore
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PingThread.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PingThread.java
deleted file mode 100644
index 159f0b0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PingThread.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.ServerType;
-import org.eclipse.wst.server.core.util.SocketUtil;
-
-/**
- * Thread used to ping server to test when it is started.
- * 
- */
-public class PingThread {
-	// delay before pinging starts
-	private static final int PING_DELAY = 2000;
-
-	// delay between pings
-	private static final int PING_INTERVAL = 250;
-
-	// maximum number of pings before giving up
-	private int maxPings = 56; // total: 16 seconds + connection time
-
-	private boolean stop = false;
-	private String fUrl;
-	private IServer fServer;
-	private GenericServerBehaviour fGenericServer;
-
-	/**
-	 * Create a new PingThread.
-	 * 
-	 * @param server
-	 * @param url
-	 * @param genericServer
-	 */
-	public PingThread(IServer server, String url, GenericServerBehaviour genericServer) {
-		super();
-		this.fServer = server;
-		this.fUrl = url;
-		this.maxPings = guessMaxPings(genericServer);
-		this.fGenericServer = genericServer;
-		Thread t = new Thread() {
-			public void run() {
-				ping();
-			}
-		};
-		t.setDaemon(true);
-		t.start();
-	}
-    
-	private int guessMaxPings(GenericServerBehaviour server)
-    {
-    	int maxpings=60;
-    	int startTimeout = ((ServerType)server.getServer().getServerType()).getStartTimeout();
-    	if(startTimeout>0)
-    		maxpings=startTimeout/PING_INTERVAL;
-    	return maxpings;
-    }
-	private boolean isRemote(){
-		return (fServer.getServerType().supportsRemoteHosts()&& !SocketUtil.isLocalhost(fServer.getHost()) );
-	}
-	/**
-	 * Ping the server until it is started. Then set the server
-	 * state to STATE_STARTED.
-	 */
-	protected void ping() {
-		int count = 0;
-		try {
-			Thread.sleep(PING_DELAY);
-		} catch (Exception e) {
-			// ignore
-		}
-		while (!stop) {
-			try {
-				if (count == maxPings && !isRemote()) {
-					try {
-						fServer.stop(false);
-					} catch (Exception e) {
-						Trace.trace(Trace.FINEST, "Ping: could not stop server"); //$NON-NLS-1$
-					}
-					stop = true;
-					break;
-				}
-				if(!isRemote())
-					count++;
-				
-				Trace.trace(Trace.FINEST, "Ping: pinging"); //$NON-NLS-1$
-				URL pingUrl = new URL(fUrl);
-				URLConnection conn = pingUrl.openConnection();
-				((HttpURLConnection)conn).getResponseCode();
-	
-				// ping worked - server is up
-				if (!stop) {
-					Trace.trace(Trace.FINEST, "Ping: success"); //$NON-NLS-1$
-					Thread.sleep(200);
-					fGenericServer.setServerStarted();
-				}
-				if(!isRemote())
-					stop = true;
-			} catch (FileNotFoundException fe) {
-				try {
-					Thread.sleep(200);
-				} catch (Exception e) {
-					// ignore
-				}
-				fGenericServer.setServerStarted();
-				if(!isRemote())
-					stop = true;
-			} catch (Exception e) {
-				Trace.trace(Trace.FINEST, "Ping: failed"); //$NON-NLS-1$
-				// pinging failed
-				if (!stop) {
-					try {
-						Thread.sleep(PING_INTERVAL);
-					} catch (InterruptedException e2) {
-						// ignore
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Tell the pinging to stop.
-	 */
-	public void stop() {
-		Trace.trace(Trace.FINEST, "Ping: stopping"); //$NON-NLS-1$
-		stop = 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 00272fe..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PublishManager.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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;
-
-/**
- * Utility for managing generic publishers.
- *
- * @author Gorkem Ercan
- */
-public class PublishManager 
-{
-   /**
-     * Returns the generic publisher for given ID
-     * @param id
-     * @return publisher
-     */
-    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)) { //$NON-NLS-1$
-                        return (GenericPublisher)configs[j].createExecutableExtension("class"); //$NON-NLS-1$
-                      }
-                }
-            }
-        }catch(CoreException e){
-            //ignored
-        }
-        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 7e378df..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionManager.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IExtensionDelta;
-import org.eclipse.core.runtime.IRegistryChangeEvent;
-import org.eclipse.core.runtime.IRegistryChangeListener;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-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;
-	
-	private class RegistryChangeListener implements IRegistryChangeListener{
-		public void registryChanged(IRegistryChangeEvent event) {
-			IExtensionDelta[] deltas = event.getExtensionDeltas(CorePlugin.PLUGIN_ID, ExtensionPointUtil.SERVERDEFINITION_EXTENSION_ID);
-			if(deltas!=null && deltas.length>0){
-				handleServerDefinitionsChanged();
-			}
-		}		
-	}
-	
-	protected ServerTypeDefinitionManager(URL serverDefinitionURL){
-		super();
-		fXmlUtils = new XMLUtils();
-		ExtensionPointUtil.addRegistryListener(new RegistryChangeListener());
-	}
-
-	/**
-	 * Returns the ServerRuntime that represents the .serverdef file
-	 * for a given runtime type.
-	 * @param id runtime type id
-	 * @param properties user provided properties
-	 * @return server runtime that is initialized with user properties 
-	 */
-	public ServerRuntime getServerRuntimeDefinition(String id, Map properties){
-		ServerRuntime definition =  fXmlUtils.getServerTypeDefinition(id);
-		if(definition !=null)
-            definition.setPropertyValues(properties);
-		return definition;
-	}
-	
-	/**
-	 * Returns all the ServerRuntimes registered a .serverdef.
-	 * @return serverRuntimes
-	 */
-	public ServerRuntime[] getServerTypeDefinitions(){
-		 List definitionList = fXmlUtils.getServerTypeDefinitions();
-		 return (ServerRuntime[])definitionList.toArray(new ServerRuntime[definitionList.size()]);
-	}
-	
-	private void handleServerDefinitionsChanged(){	
-		XMLUtils utils = new XMLUtils();
-		fXmlUtils = utils;
-	}
-	
-}
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 d45d6a3..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionUtil.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-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.Module;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IRuntime;
-
-/**
- * Utilities for ServerRuntime definition files.
- *
- * @author Gorkem Ercan
- */
-public class ServerTypeDefinitionUtil 
-{
-	/**
-	 * Returns the server definition for runtime.
-	 * @param runtime
-	 * @return serverRuntime
-	 */
-	public static ServerRuntime getServerTypeDefinition(IRuntime runtime)
-	{
-		if(runtime==null)
-			return null;
-	    GenericServerRuntime delegate = (GenericServerRuntime)runtime.loadAdapter(GenericServerRuntime.class,null);
-	    if(delegate==null)
-	    	return null;
-		String serverType = delegate.getRuntime().getRuntimeType().getId();
-		Map properties = delegate.getServerInstanceProperties();
-		ServerRuntime definition = 
-			CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(serverType,properties);
-		return definition;
-	}
-	/**
-	 * Extracts the server classpath entry array.
-	 *
-	 * @param runtime
-	 * @return classpathEntry
-	 */
-	public static IClasspathEntry[] getServerClassPathEntry(IRuntime runtime)
-	{
-		ServerRuntime definition = getServerTypeDefinition(runtime);
-		if(definition==null)
-			return null;
-		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()]);
-	}
-	/**
-	 * Given the serverDefinition and module returns the publisher id 
-	 * that handles the publishing of module type for this serverDefinition.
-	 * @param module
-	 * @param serverDefinition
-	 * @return publisher id
-	 */
-	public static String getPublisherID(IModule module, ServerRuntime serverDefinition)
-	{
-		if(module==null || module.getModuleType()== null)
-			return null;
-		Module m = serverDefinition.getModule(module.getModuleType().getId());
-		return m.getPublisherReference();
-	}
-	
-}
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 385cbac..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/Trace.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Trace level CONFIG
-	 */
-	public static byte CONFIG = 0;
-	/**
-	 * Trace level WARNING
-	 */
-	public static byte WARNING = 1;
-	/**
-	 * Trace level SEVERE
-	 */
-	public static byte SEVERE = 2;
-	/**
-	 * Trace level FINEST
-	 */
-	public static byte FINEST = 3;
-	/**
-	 * Trace level FINER
-	 */
-	public static byte FINER = 4;
-	
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-	
-	/**
-	 * Trace the given text.
-	 * 
-	 * @param level trace level constant
-	 * @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 level trace level constant
-	 * @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 t throwable
-	 */
-	public static void trace(String s, Throwable t) {
-		trace(FINEST, s, t);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AbstractModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AbstractModuleAssembler.java
deleted file mode 100644
index 23855ae..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AbstractModuleAssembler.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-			
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.PublishUtil;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.model.IModuleFolder;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.util.ProjectModule;
-
-/**
- * Base class for module assemblers
- * 
- * @author Gorkem Ercan
- */
-public abstract class AbstractModuleAssembler {
-
-	protected ServerRuntime fServerdefinition;
-	protected IModule fModule; 
-	protected GenericServer fServer;
-	protected IPath fAssembleRoot;
-	
-	protected AbstractModuleAssembler(IModule module, GenericServer server, IPath assembleRoot)
-	{
-		fModule=module;
-		fServerdefinition=server.getServerDefinition();
-		fServer=server;
-		fAssembleRoot = assembleRoot;
-	}
-	
-	/**
-	 * Assemble the module.
-	 * 
-	 * @param monitor
-	 * @throws CoreException
-	 */
-	public abstract IPath assemble(IProgressMonitor monitor) throws CoreException;
-
-	
-	/**
-	 * Factory for creating concrete module assemblers for 
-	 * corressponding module types.
-	 *
-	 */
-	public static class Factory {		
-		
-		public static IPath getDefaultAssembleRoot(IModule module, GenericServer server) {
-			ProjectModule pm =(ProjectModule)module.loadAdapter(ProjectModule.class, new NullProgressMonitor());
-			return ServerPlugin.getInstance().getTempDirectory(server.getServer().getId()).append(pm.getId());
-		}
-		
-		/**
-		 * Returns a concrete module assembler
-		 * 
-		 * @param module
-		 * @param server
-		 * @return assembler
-		 */
-		public static AbstractModuleAssembler getModuleAssembler(IModule module, GenericServer server)
-		{
-			return getModuleAssembler(module, server, getDefaultAssembleRoot(module, server));
-		}
-		
-		/**
-		 * Returns a concrete module assembler that assembles under the specified root path
-		 * 
-		 * @param module
-		 * @param server
-		 * @param assembleRoot
-		 * @return assembler
-		 */
-		public static AbstractModuleAssembler getModuleAssembler(IModule module, GenericServer server, IPath assembleRoot)
-		{
-			if(isModuleType(module, "jst.web")) //$NON-NLS-1$
-				return new WarModuleAssembler(module,server,assembleRoot);
-			if(isModuleType(module, "jst.ear")) //$NON-NLS-1$
-				return new EarModuleAssembler(module,server,assembleRoot);
-			return new DefaultModuleAssembler(module,server,assembleRoot);
-		}
-		
-		private static boolean isModuleType(IModule module, String moduleTypeId){	
-			if(module.getModuleType()!=null && moduleTypeId.equals(module.getModuleType().getId()))
-				return true;
-			return false;
-		}
-	}
-	
-	protected void packModule(IModule module, String deploymentUnitName, IPath destination)throws CoreException {
-		
-	
-		String dest = destination.append(deploymentUnitName).toString();
-		ModulePackager packager = null;
-		try {
-			packager = new ModulePackager(dest, false);
-			ProjectModule pm = (ProjectModule) module.loadAdapter(ProjectModule.class, null);
-			IModuleResource[] resources = pm.members();
-			for (int i = 0; i < resources.length; i++) {
-				doPackModule(resources[i], packager);
-			}
-		} catch (IOException e) {
-			IStatus status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0,
-					"unable to assemble module", e); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-		finally{
-			try{
-				packager.finished();
-			}
-			catch(IOException e){
-				//unhandled
-			}
-		}
-	}
-
-	private void doPackModule(IModuleResource resource, ModulePackager packager) throws CoreException, IOException{
-			if (resource instanceof IModuleFolder) {
-				IModuleFolder mFolder = (IModuleFolder)resource;
-				IModuleResource[] resources = mFolder.members();
-
-				packager.writeFolder(resource.getModuleRelativePath().append(resource.getName()).toPortableString());
-
-				for (int i = 0; resources!= null && i < resources.length; i++) {
-					doPackModule(resources[i], packager);
-				}
-			} else {
-				String destination = resource.getModuleRelativePath().append(resource.getName()).toPortableString();
-				IFile file = (IFile) resource.getAdapter(IFile.class);
-				if (file != null)
-					packager.write(file, destination);
-				else {
-					File file2 = (File) resource.getAdapter(File.class);
-					packager.write(file2, destination);
-				}
-			}
-	}
-
-	protected IPath copyModule(IModule module, IProgressMonitor monitor) throws CoreException {
-		ProjectModule pm =(ProjectModule)module.loadAdapter(ProjectModule.class, monitor);
-		PublishUtil.smartCopy(pm.members(), fAssembleRoot, monitor);
-		return fAssembleRoot;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java
deleted file mode 100644
index 36b2af6..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.core.internal.GenericPublisher;
-import org.eclipse.jst.server.generic.core.internal.GenericServerCoreMessages;
-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.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-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>
- * <li>project.working.dir: the working dir of the project that deployed module
- * is in</li>
- * </ul>
- * 
- * @author Gorkem Ercan
- */
-
-public class AntPublisher extends GenericPublisher {
-	private static final String JAR_PROTOCOL_PREFIX = "jar"; //$NON-NLS-1$
-
-	/**
-	 * publisher id for ANT publisher.
-	 */
-	public static final String PUBLISHER_ID = "org.eclipse.jst.server.generic.antpublisher"; //$NON-NLS-1$
-
-	protected static final String PROP_SERVER_PUBLISH_DIR = "server.publish.dir";//$NON-NLS-1$
-
-	protected static final String PROP_PROJECT_WORKING_DIR = "project.working.dir";//$NON-NLS-1$
-
-	protected static final String PROP_MODULE_DIR = "module.dir";//$NON-NLS-1$
-
-	protected static final String PROP_MODULE_NAME = "module.name";//$NON-NLS-1$
-
-	protected static final String PROP_CONTEXT_ROOT = "contextRoot";//$NON-NLS-1$
-
-	protected static final String PROP_PROJECT_NAME = "project.name";//$NON-NLS-1$
-
-	protected static final String MODULE_PUBLISH_TARGET_PREFIX = "target.publish."; //$NON-NLS-1$
-
-	protected static final String MODULE_UNPUBLISH_TARGET_PREFIX = "target.unpublish.";//$NON-NLS-1$
-
-	protected static final String DATA_NAME_BUILD_FILE = "build.file";//$NON-NLS-1$
-
-	protected static final String PROP_MODULE_ARCHIVE_NAME = "module.archive.name"; //$NON-NLS-1$
-
-	/*
-	 * (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) {
-		if (getModule().length > 1)// only respond to root module calls.
-			return null;
-		try {
-			if (monitor.isCanceled())
-				return null;
-			assembleModule(monitor);
-			File file = computeBuildFile();
-			if (monitor.isCanceled())
-				return null;
-			runAnt(file.toString(), getPublishTargetsForModule(), getPublishProperties(), monitor);
-		} catch (CoreException e) {
-			IStatus s = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.errorPublishAntpublisher, e);
-			CorePlugin.getDefault().getLog().log(s);
-			return new IStatus[] { s };
-		}
-		return null;
-	}
-
-	protected void assembleModule(IProgressMonitor monitor) throws CoreException {
-		AbstractModuleAssembler assembler = AbstractModuleAssembler.Factory.getModuleAssembler(getModule()[0], getServer());
-		assembler.assemble(monitor);
-	}
-
-	/**
-	 * 
-	 * @return file
-	 * @throws CoreException
-	 */
-	private File computeBuildFile() throws CoreException {
-		Bundle bundle = Platform.getBundle(getServerRuntime().getServerTypeDefinition().getConfigurationElementNamespace());
-		URL bundleUrl = bundle.getEntry(getBuildFile());
-		URL fileURL = FileUtil.resolveURL(bundleUrl);
-		if (fileURL.getProtocol().equals(JAR_PROTOCOL_PREFIX)) {
-			OutputStream os = null;
-			InputStream is = null;
-			try {
-				String filename = fileURL.getPath();
-				String jarname = fileURL.getFile().substring(0, filename.indexOf('!'));
-
-				File jarFile = new File(new URL(jarname).getFile());
-				JarFile jar = new JarFile(jarFile);
-				File tmpFile = FileUtil.createTempFile(getBuildFile(), CorePlugin.getDefault().getStateLocation().toOSString());
-				os = new FileOutputStream(tmpFile);
-				String entryname = getBuildFile();
-				if (entryname.startsWith("/"))//$NON-NLS-1$
-					entryname = entryname.substring(1);
-				JarEntry entry = jar.getJarEntry(entryname);
-				is = jar.getInputStream(entry);
-				FileUtil.copy(is, os);
-				return tmpFile;
-			} catch (IOException e) {
-				IStatus s = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, "error creating temporary build file", e);//$NON-NLS-1$
-				CorePlugin.getDefault().getLog().log(s);
-				throw new CoreException(s);
-			} finally {
-				try {
-					if (is != null)
-						is.close();
-					if (os != null)
-						os.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-		} else {
-			return FileUtil.resolveFile(fileURL);
-		}
-	}
-
-	private String getPublishTargetsForModule() {
-		return doGetTargets(MODULE_PUBLISH_TARGET_PREFIX + getModuleTypeId());
-	}
-
-	private String getUnpublishTargetsForModule() {
-		return doGetTargets(MODULE_UNPUBLISH_TARGET_PREFIX + getModuleTypeId());
-	}
-
-	private String doGetTargets(String dataname) {
-		StringBuffer buffer = new StringBuffer();
-		Iterator iterator = getServerRuntime().getServerTypeDefinition().getPublisher(PUBLISHER_ID).getPublisherdata().iterator();
-		while (iterator.hasNext()) {
-			PublisherData data = (PublisherData) iterator.next();
-			if (dataname.equals(data.getDataname())) {
-				if (buffer.length() > 0)
-					buffer.append(",");//$NON-NLS-1$
-				buffer.append(data.getDatavalue());
-			}
-		}
-		return buffer.toString();
-	}
-
-	private String getModuleTypeId() {
-		return getModule()[0].getModuleType().getId();
-	}
-
-	private String getBuildFile() {
-		Iterator iterator = getServerRuntime().getServerTypeDefinition().getPublisher(PUBLISHER_ID).getPublisherdata().iterator();
-		while (iterator.hasNext()) {
-			PublisherData data = (PublisherData) iterator.next();
-			if (DATA_NAME_BUILD_FILE.equals(data.getDataname()))
-				return getServerRuntime().getServerTypeDefinition().getResolver().resolveProperties(data.getDatavalue());
-		}
-		return null;
-	}
-
-	private Map getPublishProperties() {
-		Map props = new HashMap();
-		// pass all properties to build file.
-		Map serverProperties = getServer().getServerInstanceProperties();
-		Map properties = getServerRuntime().getServerInstanceProperties();
-		properties.putAll(serverProperties);
-		Iterator propertyIterator = properties.keySet().iterator();
-		while (propertyIterator.hasNext()) {
-			String property = (String) propertyIterator.next();
-			String value = (String) properties.get(property);
-			if (value != null && value.trim().length() > 0)
-				props.put(property, properties.get(property));
-		}
-		Module module = getServerRuntime().getServerTypeDefinition().getModule(getModuleTypeId());
-		String modDir = module.getPublishDir();
-		modDir = getServerRuntime().getServerTypeDefinition().getResolver().resolveProperties(modDir);
-		IModule webModule = getModule()[0];
-
-		String moduleName = guessModuleName(webModule);
-		String contextRoot = guessContextRoot(webModule);
-		props.put(PROP_PROJECT_WORKING_DIR, getProjectWorkingLocation().toString());
-		props.put(PROP_MODULE_NAME, moduleName);
-		props.put(PROP_CONTEXT_ROOT, contextRoot);
-		if (isModuleType(webModule, "jst.ear")) {//$NON-NLS-1$
-			props.put(PROP_MODULE_ARCHIVE_NAME, moduleName + ".ear"); //$NON-NLS-1$
-		} else if (isModuleType(webModule, "jst.web")) { //$NON-NLS-1$
-			props.put(PROP_MODULE_ARCHIVE_NAME, moduleName + ".war"); //$NON-NLS-1$
-		} else if (isModuleType(webModule, "jst.ejb")) { //$NON-NLS-1$
-			props.put(PROP_MODULE_ARCHIVE_NAME, moduleName + ".jar"); //$NON-NLS-1$
-		}
-		if (webModule.getProject() != null) {
-			props.put(PROP_MODULE_DIR, getModuleWorkingDir().toString());
-			props.put(PROP_PROJECT_NAME, webModule.getProject().getName());
-		}
-		props.put(PROP_SERVER_PUBLISH_DIR, modDir);
-		return props;
-	}
-
-	private IPath getModuleWorkingDir() {
-		return getProjectWorkingLocation().append(getModule()[0].getProject().getName());
-	}
-
-	private IPath getProjectWorkingLocation() {
-		return ServerPlugin.getInstance().getTempDirectory(getServer().getServer().getId());
-	}
-
-	private String guessModuleName(IModule module) {
-		String moduleName = module.getName();
-		if ("jst.web".equals(getModuleTypeId())) { //$NON-NLS-1$
-			IWebModule webModule = (IWebModule) getModule()[0].loadAdapter(IWebModule.class, null);
-			if (webModule == null) {
-				return module.getName();
-			}
-			String contextRoot = webModule.getURI(module);
-			moduleName = contextRoot.substring(0, contextRoot.lastIndexOf('.'));
-		}
-		return moduleName;
-	}
-
-	private String guessContextRoot(IModule module) {
-		String moduleName = guessModuleName(module);
-		String contextRoot = moduleName;
-		if ("jst.web".equals(getModuleTypeId())) { //$NON-NLS-1$
-			IWebModule webModule = (IWebModule) getModule()[0].loadAdapter(IWebModule.class, null);
-			if (webModule != null) {
-				contextRoot = webModule.getContextRoot();
-				if (contextRoot == null || contextRoot.length() == 0) {
-					contextRoot = moduleName;
-				}
-			}
-		}
-		return contextRoot;
-	}
-
-	private void runAnt(String buildFile, String targets, Map properties, IProgressMonitor monitor) throws CoreException {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType type = launchManager
-				.getLaunchConfigurationType(IAntLaunchConfigurationConstants.ID_ANT_LAUNCH_CONFIGURATION_TYPE);
-		if (type == null) {
-			IStatus s = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.antLauncherMissing, null);
-			throw new CoreException(s);
-		}
-		ILaunchConfigurationWorkingCopy wc = type.newInstance(null, properties.get(PROP_MODULE_NAME) + " module publisher"); //$NON-NLS-1$
-		wc.setContainer(null);
-		wc.setAttribute(IExternalToolConstants.ATTR_LOCATION, buildFile);
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-		wc.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, targets);
-		wc.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, properties);
-		wc.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
-		wc.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true);
-		wc.setAttribute(IDebugUIConstants.ATTR_PRIVATE, true);
-
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, getServerRuntime().getVMInstall().getName());
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, getServerRuntime().getVMInstall().getVMInstallType()
-				.getId());
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-				"org.eclipse.ant.internal.ui.antsupport.InternalAntRunner"); //$NON-NLS-1$
-		wc.setAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID, IAntUIConstants.REMOTE_ANT_PROCESS_FACTORY_ID);
-
-		setupAntLaunchConfiguration(wc);
-
-		ILaunchConfiguration launchConfig = wc.doSave();
-		launchConfig.launch("run", monitor); //$NON-NLS-1$
-	}
-
-	/**
-	 * Hook method for subclasses.
-	 * 
-	 * @param wc
-	 */
-	protected void setupAntLaunchConfiguration(ILaunchConfigurationWorkingCopy wc) {
-		// nothing to do
-	}
-
-	private static boolean isModuleType(IModule module, String moduleTypeId) {
-		if (module.getModuleType() != null && moduleTypeId.equals(module.getModuleType().getId()))
-			return true;
-		return false;
-	}
-
-	/*
-	 * (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) {
-
-		if (getModule().length > 1)// only respond to root module calls.
-			return null;
-		try {
-			File file = computeBuildFile();
-			runAnt(file.toString(), getUnpublishTargetsForModule(), getPublishProperties(), monitor);
-		} catch (CoreException e) {
-			IStatus s = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.errorRemoveModuleAntpublisher, 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/publishers/DefaultModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/DefaultModuleAssembler.java
deleted file mode 100644
index 720dbf3..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/DefaultModuleAssembler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.wst.server.core.IModule;
-
-/**
- * Default module assembler that basically copies the contents.
- * @author Gorkem Ercan
- */
-public class DefaultModuleAssembler extends AbstractModuleAssembler {
-	
-	protected DefaultModuleAssembler(IModule module, GenericServer server, IPath assembleRoot)
-	{
-		super(module, server, assembleRoot);
-	}
-	
-	public IPath assemble(IProgressMonitor monitor) throws CoreException {
-		return copyModule(fModule,monitor);		
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java
deleted file mode 100644
index e75cd7c..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.wst.server.core.IModule;
-
-/**
- * Utility for EAR module assembly.
- */
-public class EarModuleAssembler extends AbstractModuleAssembler {
-
-	protected EarModuleAssembler(IModule module, GenericServer server, IPath assembleRoot)
-	{
-		super(module, server, assembleRoot);
-	}
-
-	public IPath assemble(IProgressMonitor monitor) throws CoreException{
-		IPath parent =copyModule(fModule,monitor);
-		IEnterpriseApplication earModule = (IEnterpriseApplication)fModule.loadAdapter(IEnterpriseApplication.class, monitor);
-		IModule[] childModules = earModule.getModules();
-		for (int i = 0; i < childModules.length; i++) {
-			IModule module = childModules[i];
-			String uri = earModule.getURI(module);
-			if(uri==null){
-				IStatus status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0,	"unable to assemble module null uri",null ); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-				
-			packModule(module,uri, parent);
-		}
-		return parent;
-	}
-	
-	protected void packModule(IModule module, String deploymentUnitName, IPath destination) throws CoreException {
-		if(module.getModuleType().getId().equals("jst.web")) //$NON-NLS-1$
-		{
-			AbstractModuleAssembler assembler= AbstractModuleAssembler.Factory.getModuleAssembler(module, fServer);
-			IPath webAppPath = assembler.assemble(new NullProgressMonitor());
-			String realDestination = destination.append(deploymentUnitName).toString();
-			ModulePackager packager=null;
-			try {
-				packager =new ModulePackager(realDestination,false);
-				packager.pack(webAppPath.toFile(),webAppPath.toOSString());
-			
-			} catch (IOException e) {
-				IStatus status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0,
-						"unable to assemble module", e); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-			finally{
-				if(packager!=null)
-				{
-					
-					try {
-						packager.finished();
-					} catch (IOException e) {
-						// Unhandled
-					}
-				}
-				
-			}
-			
-			
-		}
-		else
-		{
-			super.packModule(module, deploymentUnitName, destination);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/ModulePackager.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/ModulePackager.java
deleted file mode 100644
index 78d05e7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/ModulePackager.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/***************************************************************************************************
-* Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-* accompanying materials are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-* 
-* Contributors: Gorkem Ercan - initial API and implementation
-*               
-**************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.jar.JarOutputStream;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-
-/**
- * Packages resources to a .zip file
- */
-public class ModulePackager {
-	private static final String JAR_FILE_SEPERATOR = "/";
-	private JarOutputStream outputStream;
-//	private StringBuffer manifestContents;
-
-	private boolean useCompression = true;
-
-	/**
-	 * Create an instance of this class.
-	 * 
-	 * @param filename java.lang.String
-	 * @param compress boolean
-	 * @exception java.io.IOException
-	 */
-	public ModulePackager(String filename, boolean compress) throws IOException {
-		Path directoryPath = new Path(filename);
-		directoryPath = (Path) directoryPath.removeLastSegments(1);
-		File newZipFile = new File(directoryPath.toString());
-		newZipFile.mkdirs();
-		outputStream = new JarOutputStream(new FileOutputStream(filename)); 
-		useCompression = compress;
-	}
-
-	/**
-	 * Do all required cleanup now that we're finished with the currently-open .zip
-	 * 
-	 * @exception java.io.IOException
-	 */
-	public void finished() throws IOException {
-		outputStream.close();
-	}
-
-	/**
-	 * Create a new ZipEntry with the passed pathname and contents, and write it to the current
-	 * archive
-	 * 
-	 * @param pathname
-	 *            java.lang.String
-	 * @param contents
-	 *            byte[]
-	 * @exception java.io.IOException
-	 */
-	protected void write(String pathname, byte[] contents) throws IOException {
-		ZipEntry newEntry = new ZipEntry(pathname);
-
-		// if the contents are being compressed then we get the below for free.
-		if (!useCompression) {
-			newEntry.setMethod(ZipEntry.STORED);
-			newEntry.setSize(contents.length);
-			CRC32 checksumCalculator = new CRC32();
-			checksumCalculator.update(contents);
-			newEntry.setCrc(checksumCalculator.getValue());
-		}
-
-		outputStream.putNextEntry(newEntry);
-		outputStream.write(contents);
-		outputStream.closeEntry();
-	}
-
-	/**
-	 * @param destinationPath
-	 * @throws IOException
-	 */
-	public void writeFolder(String destinationPath) throws IOException {
-		if (!destinationPath.endsWith(JAR_FILE_SEPERATOR )) 
-			destinationPath = destinationPath + JAR_FILE_SEPERATOR;
-		ZipEntry newEntry = new ZipEntry(destinationPath);
-		outputStream.putNextEntry(newEntry);
-		outputStream.closeEntry();
-	}
-
-	/**
-	 * Write the passed resource to the current archive
-	 * 
-	 * @param resource
-	 *            org.eclipse.core.resources.IFile
-	 * @param destinationPath
-	 *            java.lang.String
-	 * @exception java.io.IOException
-	 * @exception org.eclipse.core.runtime.CoreException
-	 */
-	public void write(IFile resource, String destinationPath) throws IOException, CoreException {
-		InputStream contentStream = null;
-		try {
-			contentStream = resource.getContents(false);
-			write(contentStream, destinationPath);
-		} finally {
-			if (contentStream != null)
-				contentStream.close();
-		}
-	}
-
-	/**
-	 * Write the passed resource to the current archive
-	 * 
-	 * @param resource
-	 *            java.io.IFile
-	 * @param destinationPath
-	 *            java.lang.String
-	 * @exception java.io.IOException
-	 * @exception org.eclipse.core.runtime.CoreException
-	 */
-	public void write(File resource, String destinationPath) throws IOException, CoreException {
-		InputStream contentStream = null;
-		try {
-			contentStream = new FileInputStream(resource);
-			write(contentStream, destinationPath);
-		} finally {
-			if (contentStream != null)
-				contentStream.close();
-		}
-	}
-
-	/**
-	 * @param contentStream
-	 * @param destinationPath
-	 * @throws IOException
-	 * @throws CoreException
-	 */
-	public void write(InputStream contentStream, String destinationPath) throws IOException, CoreException {
-		ByteArrayOutputStream output = null;
-
-		try {
-			output = new ByteArrayOutputStream();
-			int chunkSize = contentStream.available();
-			byte[] readBuffer = new byte[chunkSize];
-			int n = contentStream.read(readBuffer);
-
-			while (n > 0) {
-				output.write(readBuffer);
-				n = contentStream.read(readBuffer);
-			}
-		} finally {
-			if (output != null)
-				output.close();
-		}
-
-		write(destinationPath, output.toByteArray());
-	}
-	
-	/**
-	 * pack directory relative to root
-	 * @param directory
-	 * @param root
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public void pack(File directory, String root) throws CoreException, IOException
-	{
-        File[] files = directory.listFiles();
-        for( int i = 0; i < files.length; i++ )
-        {
-        	String relativeFolder = makeRelative( files[i].getAbsolutePath(), root );
-            if( files[i].isDirectory() )
-            {
-            	if( relativeFolder != null )
-                {// should always be true
-                    writeFolder( relativeFolder );
-                }
-                pack( files[i], root );
-            } else
-            {
-            	if( relativeFolder != null )
-                {// should always be true
-                    write( files[i], relativeFolder );
-                }
-            }
-        }
-
-    }
-	/**
-	 * Make directoryname relative to root
-	 * @param fileName
-	 * @param root
-	 * @return
-	 */
-	private String makeRelative(String fileName, String root)
-	{
-		String folder=null;
-		if(fileName.startsWith(root))
-		{
-			folder=fileName.substring(root.length());
-		}
-        folder = folder.replaceAll("\\\\", "/");  //$NON-NLS-1$ //$NON-NLS-2$
-        if (folder.length() > 0 && folder.charAt(0) == '/')
-              folder = folder.substring(1);
-		return folder;		
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/WarModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/WarModuleAssembler.java
deleted file mode 100644
index 4b33578..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/WarModuleAssembler.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.wst.server.core.IModule;
-
-/**
- * Assembly utility for war modules.
- * 
- */
-public class WarModuleAssembler extends AbstractModuleAssembler {
-	
-	protected WarModuleAssembler(IModule module, GenericServer server, IPath assembleRoot)
-	{
-		super(module, server, assembleRoot);
-	}
-
-	public IPath assemble(IProgressMonitor monitor) throws CoreException{
-		IPath parent =copyModule(fModule,monitor);
-		IWebModule webModule = (IWebModule)fModule.loadAdapter(IWebModule.class, monitor);
-		IModule[] childModules = webModule.getModules();
-		for (int i = 0; i < childModules.length; i++) {
-			IModule module = childModules[i];
-			packModule(module, webModule.getURI(module), parent);
-		}
-		return parent;
-	}
-}
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 cedf0ed..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/ExtensionPointUtil.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.IRegistryChangeListener;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-
-/**
- * Utilities for handling the extension points.
- *
- * @author Gorkem Ercan
- */
-public class ExtensionPointUtil {
-    /**
-     * serverdefinition extension id
-     */
-    public static final String SERVERDEFINITION_EXTENSION_ID = "serverdefinition"; //$NON-NLS-1$
-    private static final String GENERICPUBLISHER_EXTENSION_ID = "genericpublisher"; //$NON-NLS-1$
-
-    /**
-     * Returns serverdefinition extensions
-     * @return serverdefinitionExtensions
-     */
-    public static IExtension[] getGenericServerDefinitionExtensions(){
-        return getExtensions(CorePlugin.PLUGIN_ID+"."+SERVERDEFINITION_EXTENSION_ID); //$NON-NLS-1$
-    }
-    
-    /**
-     * Returns publisher extensions
-     * @return genericpublisher extensions
-     */
-    public static IExtension[] getGenericPublisherExtension(){
-        return getExtensions(CorePlugin.PLUGIN_ID+"."+GENERICPUBLISHER_EXTENSION_ID); //$NON-NLS-1$
-    }
-
-    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;
-    }
-    
-    
-    /**
-     * Returns the configuration elements
-     *
-     * @param extension
-     * @return configurationElements
-     */
-    public static IConfigurationElement[] getConfigurationElements(IExtension extension){
-        return extension!=null?extension.getConfigurationElements():null;
-    }
-    
-    /**
-     * Add listener to extension registry.
-     * @param listener
-     */
-    public static void addRegistryListener(IRegistryChangeListener listener){
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		registry.addRegistryChangeListener(listener, CorePlugin.PLUGIN_ID);
-    }
-}
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 dfbaab7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/FileUtil.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.core.util;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Utilities for file operations.
- * 
- * @author Gorkem Ercan
- */
-public class FileUtil {
-
-	
-	
-	/**
-	 * Returns a resolved equivalent of url, use with the 
-	 * platform relative urls
-	 * 
-	 * @param url
-	 * @return URL
-	 */
-	public static URL resolveURL(URL url){
-		try{
-			return Platform.resolve(url);
-		}catch(IOException e){
-			//ignore
-		}
-		return null;
-	}
-	
-	
-	
-	/**
-	 * Create a temporary file
-	 * @param name
-	 * @param dir
-	 * @return file
-	 */
-	public static File createTempFile(String name, String dir){
-		if(name==null || dir == null)
-			return null;
-		
-		File temp=null;
-		String filePath;
-		filePath = name.replace('/', File.separatorChar);
-		if (filePath.startsWith(File.separator))
-			filePath = filePath.substring(1);
-		temp = new File(dir, filePath);
-		verifyPath(temp,true);
-		temp.deleteOnExit();
-		return temp;
-	
-	}
-	
-	/**
-	 * Copies a file
-	 * @param input
-	 * @param output
-	 * @throws IOException
-	 */
-	public static void copy(InputStream input, OutputStream output) throws IOException{
-		byte[] buf = new byte[4096];
-		int len = input.read(buf);
-		while(len!=-1){
-			output.write(buf,0,len);
-			len= input.read(buf);
-		}
-	}
-	
-	private static void verifyPath(File path, boolean isFile) {
-		// if we are expecting a file back off 1 path element
-		if (isFile) {
-			if (path.getAbsolutePath().endsWith(File.separator)) {
-				// make sure this is a file
-				path = path.getParentFile();
-				isFile = false;
-			}
-		}
-		// already exists ... just return
-		if (path.exists())
-			return;
-		// does not exist ... ensure parent exists
-		File parent = path.getParentFile();
-		verifyPath(parent, false);
-		// ensure directories are made. Mark files or directories for deletion
-		if (!isFile)
-			path.mkdir();
-		path.deleteOnExit();
-	}
-
-    /**
-     * Resolves a URL to a file.
-     * 
-     * @param url
-     * @return file
-     */
-    public static File resolveFile(URL url){
-        try {
-            URL resolvedUrl = resolveURL(url);
-              URI uri = new URI(resolvedUrl.getProtocol(), resolvedUrl.getHost(),resolvedUrl.getPath(), resolvedUrl.getQuery());
-            return new File(uri);
-        } 
-        catch (URISyntaxException e) {
-        	//ignore
-        }
-        return null;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java
deleted file mode 100644
index c230966..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java
+++ /dev/null
@@ -1,1593 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.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;
-import org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory;
-
-/**
- * <!-- 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
- * @model kind="package"
- * @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.internal.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.internal.servertype.definition.impl.ArgumentPairImpl <em>Argument Pair</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getArgumentPair()
-	 * @generated
-	 */
-	int ARGUMENT_PAIR = 1;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARGUMENT_PAIR__NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARGUMENT_PAIR__VALUE = 1;
-
-	/**
-	 * The number of structural features of the the '<em>Argument Pair</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARGUMENT_PAIR_FEATURE_COUNT = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.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 = 2;
-
-	/**
-	 * 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 number of structural features of the the '<em>Classpath</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSPATH_FEATURE_COUNT = 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl <em>External</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getExternal()
-	 * @generated
-	 */
-	int EXTERNAL = 3;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTERNAL__VALUE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Os</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTERNAL__OS = 1;
-
-	/**
-	 * The number of structural features of the the '<em>External</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTERNAL_FEATURE_COUNT = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.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 = 4;
-
-	/**
-	 * 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.internal.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 = 5;
-
-	/**
-	 * The feature id for the '<em><b>Group</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP = 0;
-
-	/**
-	 * The feature id for the '<em><b>Environment Variable</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Group1</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP1 = 2;
-
-	/**
-	 * The feature id for the '<em><b>Program Arguments</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS = 3;
-
-	/**
-	 * 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 = 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 = 5;
-
-	/**
-	 * The feature id for the '<em><b>Group2</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP2 = 6;
-
-	/**
-	 * The feature id for the '<em><b>Vm Parameters</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__VM_PARAMETERS = 7;
-
-	/**
-	 * 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 = 8;
-
-	/**
-	 * The feature id for the '<em><b>Debug Port</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__DEBUG_PORT = 9;
-
-	/**
-	 * The feature id for the '<em><b>Group3</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP3 = 10;
-
-	/**
-	 * The feature id for the '<em><b>External</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__EXTERNAL = 11;
-
-	/**
-	 * 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 = 12;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.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 = 6;
-
-	/**
-	 * 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.internal.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 = 7;
-
-	/**
-	 * 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.internal.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 = 8;
-
-	/**
-	 * 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.internal.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 = 9;
-
-	/**
-	 * 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.internal.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 = 10;
-
-	/**
-	 * 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.internal.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 = 11;
-
-	/**
-	 * 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.internal.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 = 12;
-
-	/**
-	 * 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.ArgumentPair <em>Argument Pair</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Argument Pair</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair
-	 * @generated
-	 */
-	EClass getArgumentPair();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#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.ArgumentPair#getName()
-	 * @see #getArgumentPair()
-	 * @generated
-	 */
-	EAttribute getArgumentPair_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#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.ArgumentPair#getValue()
-	 * @see #getArgumentPair()
-	 * @generated
-	 */
-	EAttribute getArgumentPair_Value();
-
-	/**
-	 * 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 class '{@link org.eclipse.jst.server.generic.servertype.definition.External <em>External</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>External</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.External
-	 * @generated
-	 */
-	EClass getExternal();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.External#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.External#getValue()
-	 * @see #getExternal()
-	 * @generated
-	 */
-	EAttribute getExternal_Value();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.External#getOs <em>Os</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Os</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.External#getOs()
-	 * @see #getExternal()
-	 * @generated
-	 */
-	EAttribute getExternal_Os();
-
-	/**
-	 * 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.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 list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#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.LaunchConfiguration#getGroup()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable <em>Environment Variable</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Environment Variable</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EReference getLaunchConfiguration_EnvironmentVariable();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#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.LaunchConfiguration#getGroup1()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group1();
-
-	/**
-	 * Returns the meta object for the attribute list '{@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 list '<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#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#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 list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#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.LaunchConfiguration#getGroup2()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group2();
-
-	/**
-	 * Returns the meta object for the attribute list '{@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 list '<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 the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Debug Port</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_DebugPort();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#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.LaunchConfiguration#getGroup3()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group3();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal <em>External</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>External</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EReference getLaunchConfiguration_External();
-
-	/**
-	 * 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/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 f5559fa..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-
-
-
-
-/**
- * <!-- 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/ArgumentPairImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java
deleted file mode 100644
index 7fadb22..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Argument Pair</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ArgumentPairImpl extends EObjectImpl implements ArgumentPair {
-	/**
-	 * 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 ArgumentPairImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getArgumentPair();
-	}
-
-	/**
-	 * <!-- 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.ARGUMENT_PAIR__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.ARGUMENT_PAIR__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARGUMENT_PAIR__NAME:
-				return getName();
-			case ServerTypePackage.ARGUMENT_PAIR__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.ARGUMENT_PAIR__NAME:
-				setName((String)newValue);
-				return;
-			case ServerTypePackage.ARGUMENT_PAIR__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.ARGUMENT_PAIR__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARGUMENT_PAIR__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case ServerTypePackage.ARGUMENT_PAIR__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();
-	}
-
-} //ArgumentPairImpl
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 34bf381..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-
-
-
-
-/**
- * <!-- 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>
- * </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;
-
-	/**
-	 * <!-- 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 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();
-		}
-		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;
-		}
-		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;
-		}
-		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);
-		}
-		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();
-	}
-
-} //ClasspathImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java
deleted file mode 100644
index 7a55255..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.External;
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>External</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl#getValue <em>Value</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl#getOs <em>Os</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ExternalImpl extends EObjectImpl implements External {
-	/**
-	 * 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;
-
-	/**
-	 * The default value of the '{@link #getOs() <em>Os</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOs()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OS_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOs() <em>Os</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOs()
-	 * @generated
-	 * @ordered
-	 */
-	protected String os = OS_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ExternalImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getExternal();
-	}
-
-	/**
-	 * <!-- 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.EXTERNAL__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOs() {
-		return os;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOs(String newOs) {
-		String oldOs = os;
-		os = newOs;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.EXTERNAL__OS, oldOs, os));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				return getValue();
-			case ServerTypePackage.EXTERNAL__OS:
-				return getOs();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				setValue((String)newValue);
-				return;
-			case ServerTypePackage.EXTERNAL__OS:
-				setOs((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-			case ServerTypePackage.EXTERNAL__OS:
-				setOs(OS_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-			case ServerTypePackage.EXTERNAL__OS:
-				return OS_EDEFAULT == null ? os != null : !OS_EDEFAULT.equals(os);
-		}
-		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(" (value: ");
-		result.append(value);
-		result.append(", os: ");
-		result.append(os);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ExternalImpl
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 362b84e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.JndiConnection;
-
-
-
-
-/**
- * <!-- 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/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 dd4089f..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
+++ /dev/null
@@ -1,637 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
-
-
-
-
-/**
- * <!-- 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#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getEnvironmentVariable <em>Environment Variable</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup1 <em>Group1</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#getWorkingDirectory <em>Working Directory</em>}</li>
- *   <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#getGroup2 <em>Group2</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>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getDebugPort <em>Debug Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup3 <em>Group3</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getExternal <em>External</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class LaunchConfigurationImpl extends EObjectImpl implements LaunchConfiguration {
-	/**
-	 * 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 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 #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 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 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;
-
-	/**
-	 * The default value of the '{@link #getDebugPort() <em>Debug Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDebugPort()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String DEBUG_PORT_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getDebugPort() <em>Debug Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDebugPort()
-	 * @generated
-	 * @ordered
-	 */
-	protected String debugPort = DEBUG_PORT_EDEFAULT;
-
-	/**
-	 * 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;
-
-	/**
-	 * <!-- 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 FeatureMap getGroup2() {
-		if (group2 == null) {
-			group2 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2);
-		}
-		return group2;
-	}
-
-	/**
-	 * <!-- 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 List getProgramArguments() {
-		return ((FeatureMap)getGroup1()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_ProgramArguments());
-	}
-
-	/**
-	 * @generated NOT
-	 * @return
-	 */
-	private String cleanWhiteSpace(String string)
-	{
-		if(string==null)
-			return null;
-        char[] chars = string.toCharArray();
-		for (int i = 0; i < chars.length; i++) {
-			if(Character.isWhitespace(chars[i]))
-				chars[i]=' ';
-		}
-		return (new String(chars)).trim();
-		
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getVmParameters() {
-		return ((FeatureMap)getGroup2()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_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 List getExternal() {
-		return ((FeatureMap)getGroup3()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_External());
-	}
-
-	/**
-	 * <!-- 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.LAUNCH_CONFIGURATION__GROUP:
-					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-					return ((InternalEList)getEnvironmentVariable()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-					return ((InternalEList)getGroup1()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-					return ((InternalEList)getGroup2()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-					return ((InternalEList)getGroup3()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-					return ((InternalEList)getExternal()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getDebugPort() {
-		return debugPort;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDebugPort(String newDebugPort) {
-		String oldDebugPort = debugPort;
-		debugPort = newDebugPort;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT, oldDebugPort, debugPort));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureMap getGroup3() {
-		if (group3 == null) {
-			group3 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3);
-		}
-		return group3;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureMap getGroup() {
-		if (group == null) {
-			group = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP);
-		}
-		return group;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getEnvironmentVariable() {
-		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_EnvironmentVariable());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureMap getGroup1() {
-		if (group1 == null) {
-			group1 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1);
-		}
-		return group1;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				return getGroup();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				return getEnvironmentVariable();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				return getGroup1();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				return getProgramArguments();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				return getWorkingDirectory();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				return getMainClass();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				return getGroup2();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				return getVmParameters();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				return getClasspathReference();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				return getDebugPort();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				return getGroup3();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				return getExternal();
-		}
-		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__GROUP:
-				getGroup().clear();
-				getGroup().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				getEnvironmentVariable().clear();
-				getEnvironmentVariable().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				getGroup1().clear();
-				getGroup1().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				getProgramArguments().clear();
-				getProgramArguments().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				setWorkingDirectory((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				setMainClass((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				getGroup2().clear();
-				getGroup2().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				getVmParameters().clear();
-				getVmParameters().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				setClasspathReference((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				setDebugPort((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				getGroup3().clear();
-				getGroup3().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				getExternal().clear();
-				getExternal().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				getGroup().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				getEnvironmentVariable().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				getGroup1().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				getProgramArguments().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				setWorkingDirectory(WORKING_DIRECTORY_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				setMainClass(MAIN_CLASS_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				getGroup2().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				getVmParameters().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				setDebugPort(DEBUG_PORT_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				getGroup3().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				getExternal().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				return group != null && !group.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				return !getEnvironmentVariable().isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				return group1 != null && !group1.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				return !getProgramArguments().isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				return WORKING_DIRECTORY_EDEFAULT == null ? workingDirectory != null : !WORKING_DIRECTORY_EDEFAULT.equals(workingDirectory);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				return MAIN_CLASS_EDEFAULT == null ? mainClass != null : !MAIN_CLASS_EDEFAULT.equals(mainClass);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				return group2 != null && !group2.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				return !getVmParameters().isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				return DEBUG_PORT_EDEFAULT == null ? debugPort != null : !DEBUG_PORT_EDEFAULT.equals(debugPort);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				return group3 != null && !group3.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				return !getExternal().isEmpty();
-		}
-		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(", workingDirectory: ");
-		result.append(workingDirectory);
-		result.append(", mainClass: ");
-		result.append(mainClass);
-		result.append(", group2: ");
-		result.append(group2);
-		result.append(", classpathReference: ");
-		result.append(classpathReference);
-		result.append(", debugPort: ");
-		result.append(debugPort);
-		result.append(", group3: ");
-		result.append(group3);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * @generated NOT
-	 */
-	public String getProgramArgumentsAsString() {
-		return concatList(getProgramArguments());
-	}
-	
-	/**
-	 * @generated NOT
-	 */
-	public String getVmParametersAsString() {
-		return concatList(getVmParameters());
-	}
-	
-	private String concatList(List list){
-		StringBuffer concatString = new StringBuffer();
-		Iterator iterator = list.iterator();
-		while(iterator.hasNext()){
-			concatString.append(iterator.next());
-			concatString.append(" ");
-		}
-		return concatString.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 db96887..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-
-
-
-
-/**
- * <!-- 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 ea923f7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Port;
-
-
-
-
-/**
- * <!-- 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 09966d2..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Project;
-
-
-
-
-/**
- * <!-- 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 bc5d823..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.core.runtime.Platform;
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-
-
-
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.osgi.framework.Bundle;
-
-/**
- * <!-- 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 -->
-     * labels support "%" nls support from the plugin.xml
-	 * <!-- end-user-doc -->
-     * @generated NOT
-     */
-	public String getLabel() {
-		if(label.startsWith("%",0))
-		{
-			ServerRuntime rt = (ServerRuntime)eResource().getContents().get(0);
-			Bundle bundle =Platform.getBundle(rt.getConfigurationElementNamespace());
-			return Platform.getResourceString(bundle,label);
-		}
-		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 8156d00..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.PublisherData;
-
-
-
-
-/**
- * <!-- 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 164869c..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Publisher;
-
-
-
-
-/**
- * <!-- 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 6962067..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
+++ /dev/null
@@ -1,946 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.servertype.definition.ServerTypePackage;
-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;
-
-
-
-
-/**
- * <!-- 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 2843263..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-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 an 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.ARGUMENT_PAIR: return createArgumentPair();
-			case ServerTypePackage.CLASSPATH: return createClasspath();
-			case ServerTypePackage.EXTERNAL: return createExternal();
-			case ServerTypePackage.JNDI_CONNECTION: return createJndiConnection();
-			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 ArgumentPair createArgumentPair() {
-		ArgumentPairImpl argumentPair = new ArgumentPairImpl();
-		return argumentPair;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Classpath createClasspath() {
-		ClasspathImpl classpath = new ClasspathImpl();
-		return classpath;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public External createExternal() {
-		ExternalImpl external = new ExternalImpl();
-		return external;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public JndiConnection createJndiConnection() {
-		JndiConnectionImpl jndiConnection = new JndiConnectionImpl();
-		return jndiConnection;
-	}
-
-	/**
-	 * <!-- 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 2d7b771..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
+++ /dev/null
@@ -1,1585 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.External;
-import org.eclipse.jst.server.generic.servertype.definition.JndiConnection;
-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;
-
-
-
-
-/**
- * <!-- 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 argumentPairEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass classpathEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass externalEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    private EClass jndiConnectionEClass = 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.internal.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 getArgumentPair() {
-		return argumentPairEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArgumentPair_Name() {
-		return (EAttribute)argumentPairEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArgumentPair_Value() {
-		return (EAttribute)argumentPairEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- 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 EClass getExternal() {
-		return externalEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getExternal_Value() {
-		return (EAttribute)externalEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getExternal_Os() {
-		return (EAttribute)externalEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- 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 getLaunchConfiguration() {
-		return launchConfigurationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getLaunchConfiguration_MainClass() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group2() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_WorkingDirectory() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_ProgramArguments() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_VmParameters() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_ClasspathReference() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getLaunchConfiguration_External() {
-		return (EReference)launchConfigurationEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_DebugPort() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group3() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getLaunchConfiguration_EnvironmentVariable() {
-		return (EReference)launchConfigurationEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group1() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- 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);
-
-		argumentPairEClass = createEClass(ARGUMENT_PAIR);
-		createEAttribute(argumentPairEClass, ARGUMENT_PAIR__NAME);
-		createEAttribute(argumentPairEClass, ARGUMENT_PAIR__VALUE);
-
-		classpathEClass = createEClass(CLASSPATH);
-		createEAttribute(classpathEClass, CLASSPATH__GROUP);
-		createEReference(classpathEClass, CLASSPATH__ARCHIVE);
-		createEAttribute(classpathEClass, CLASSPATH__ID);
-
-		externalEClass = createEClass(EXTERNAL);
-		createEAttribute(externalEClass, EXTERNAL__VALUE);
-		createEAttribute(externalEClass, EXTERNAL__OS);
-
-		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);
-
-		launchConfigurationEClass = createEClass(LAUNCH_CONFIGURATION);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP);
-		createEReference(launchConfigurationEClass, LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP1);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__WORKING_DIRECTORY);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__MAIN_CLASS);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP2);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__VM_PARAMETERS);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__DEBUG_PORT);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP3);
-		createEReference(launchConfigurationEClass, LAUNCH_CONFIGURATION__EXTERNAL);
-
-		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(argumentPairEClass, ArgumentPair.class, "ArgumentPair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getArgumentPair_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ArgumentPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getArgumentPair_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, ArgumentPair.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);
-
-		initEClass(externalEClass, External.class, "External", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getExternal_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, External.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getExternal_Os(), theXMLTypePackage.getString(), "os", null, 0, 1, External.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.getArgumentPair(), 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(launchConfigurationEClass, LaunchConfiguration.class, "LaunchConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getLaunchConfiguration_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getLaunchConfiguration_EnvironmentVariable(), this.getArgumentPair(), null, "environmentVariable", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_Group1(), ecorePackage.getEFeatureMapEntry(), "group1", null, 0, -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, 0, -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_MainClass(), theXMLTypePackage.getString(), "mainClass", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_Group2(), ecorePackage.getEFeatureMapEntry(), "group2", null, 0, -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, 0, -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, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_DebugPort(), theXMLTypePackage.getString(), "debugPort", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_Group3(), ecorePackage.getEFeatureMapEntry(), "group3", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getLaunchConfiguration_External(), this.getExternal(), null, "external", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, 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
-		  (argumentPairEClass, 
-		   source, 
-		   new String[] {
-			 "name", "ArgumentPair",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getArgumentPair_Name(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "name"
-		   });		
-		addAnnotation
-		  (getArgumentPair_Value(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "value"
-		   });		
-		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
-		  (externalEClass, 
-		   source, 
-		   new String[] {
-			 "name", "External",
-			 "kind", "simple"
-		   });		
-		addAnnotation
-		  (getExternal_Value(), 
-		   source, 
-		   new String[] {
-			 "name", ":0",
-			 "kind", "simple"
-		   });		
-		addAnnotation
-		  (getExternal_Os(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "os"
-		   });		
-		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
-		  (launchConfigurationEClass, 
-		   source, 
-		   new String[] {
-			 "name", "LaunchConfiguration",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:0"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_EnvironmentVariable(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "environmentVariable",
-			 "group", "#group:0"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group1(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:2"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_ProgramArguments(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "programArguments",
-			 "group", "#group:2"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_WorkingDirectory(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "workingDirectory"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_MainClass(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "mainClass"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group2(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:6"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_VmParameters(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "vmParameters",
-			 "group", "#group:6"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_ClasspathReference(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "classpathReference"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_DebugPort(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "debugPort"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group3(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:10"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_External(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "external",
-			 "group", "#group:10"
-		   });		
-		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 ae5f826..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-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.internal.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 caseArgumentPair(ArgumentPair object) {
-				return createArgumentPairAdapter();
-			}
-			public Object caseClasspath(Classpath object) {
-				return createClasspathAdapter();
-			}
-			public Object caseExternal(External object) {
-				return createExternalAdapter();
-			}
-			public Object caseJndiConnection(JndiConnection object) {
-				return createJndiConnectionAdapter();
-			}
-			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.ArgumentPair <em>Argument Pair</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.ArgumentPair
-	 * @generated
-	 */
-	public Adapter createArgumentPairAdapter() {
-		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.External <em>External</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.External
-	 * @generated
-	 */
-	public Adapter createExternalAdapter() {
-		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.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 4488177..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.resource.impl.ResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * <!-- 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 ResourceFactoryImpl {
-	/**
-	 * Creates an instance of the resource factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerTypeResourceFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * 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, Boolean.TRUE);
-		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
-		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 33c691d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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 2b8bd8d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
+++ /dev/null
@@ -1,386 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage;
-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.internal.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.ARGUMENT_PAIR: {
-				ArgumentPair argumentPair = (ArgumentPair)theEObject;
-				Object result = caseArgumentPair(argumentPair);
-				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.EXTERNAL: {
-				External external = (External)theEObject;
-				Object result = caseExternal(external);
-				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.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>Argument Pair</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>Argument Pair</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseArgumentPair(ArgumentPair 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>External</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>External</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseExternal(External 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>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 1beb060..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-package org.eclipse.jst.server.generic.internal.xml;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-
-/**
- * Utility to resolve serverdef properties with the user provided data.
- * 
- * @author Gorkem Ercan
- */
-public class Resolver {
-	
-	private static final String PROP_START2 = "%{"; //$NON-NLS-1$
-	private static final String PROP_END = "}"; //$NON-NLS-1$
-	private static final String PROP_START = "${"; //$NON-NLS-1$
-	private Map fPropertyValues = new HashMap();
-	private ServerRuntime server;
-
-	/**
-	 * @param runtime 
-	 */
-	public Resolver(ServerRuntime runtime) {
-		this.server = runtime;
-	}
-	
-	/**
-	 * Resolves a classpath element.
-	 * 
-	 * @param cpList
-	 * @return list
-	 */
-	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;
-	}	
-	/**
-	 * Returns a resolved string.
-	 * @param proppedString
-	 * @return resolved string
-	 */
-	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());
-			if(Property.TYPE_DIRECTORY.equals(element.getType()) || Property.TYPE_FILE.equals(element.getType()))
-				value = value.replace('\\','/');
-			 cache.put(element.getId(), value);
-		}
-		//String vmPath = install.getInstallLocation().getCanonicalPath();
-		//vmPath = vmPath.replace('\\', '/');
-		cache.put("jrePath", "JRE"); //$NON-NLS-1$ //$NON-NLS-2$
-		cache.put("pathChar", File.pathSeparator); //$NON-NLS-1$
-
-		String str = resolvePropertiesFromCache(proppedString, cache);
-		str = fixPassthroughProperties(str);
-		return str;
-	}
-
-	private List getProperties() {
-		return this.server.getProperty();
-	}
-
-	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(PROP_START,end);
-			if( start < 0)
-				return start;
-			end = str.indexOf(PROP_END, 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(PROP_START2) >= 0;
-	}
-
-	private String resolveProperty(String proppedString, int start, HashMap cache) {
-		String str = proppedString;
-		start = str.indexOf(PROP_START);
-		int end = str.indexOf(PROP_END, 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(PROP_START2);
-		return str.substring(0, start)
-			+ PROP_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 247d777..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-package org.eclipse.jst.server.generic.internal.xml;
-
-import java.net.URISyntaxException;
-import java.net.URL;
-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.core.internal.Trace;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.internal.servertype.definition.util.ServerTypeResourceFactoryImpl;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.osgi.framework.Bundle;
-
-/**
- * Utility for handling the xml data from .serverdef files
- * 
- * @author Gorkem Ercan
- */
-public class XMLUtils {
-
-	
-    private ArrayList definitions;
-
-
-	/**
-	 * Constructor
-	 */
-	public XMLUtils() {
-		refresh();
-	}
-
-	private void refresh() {
-		definitions= new ArrayList();
-         IExtension[] extensions = ExtensionPointUtil.getGenericServerDefinitionExtensions();
-        for (int i = 0; extensions!=null && i < extensions.length; i++) {
-            java.net.URI 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);
-                ServerRuntime runtime =readFile(definitionFile);
-                    if(runtime!=null){
-                        runtime.setId(element.getAttribute("id")); //$NON-NLS-1$
-                        runtime.setConfigurationElementNamespace(element.getNamespace());
-                        definitions.add(runtime);
-                    }
-                }
-            }
-
-       }
-
-
-
-    private java.net.URI getDefinitionFile(IConfigurationElement element) {
-        
-        Bundle bundle = Platform.getBundle(element.getNamespace());
-        String definitionFile = element.getAttribute("definitionfile"); //$NON-NLS-1$
-        Trace.trace(Trace.FINEST,"Loading serverdef file "+definitionFile+" from bundle "+bundle.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-        
-        URL url = bundle.getEntry(definitionFile);
-		try {
-			java.net.URI uri = new java.net.URI(url.getProtocol(), url.getHost(),url.getPath(), url.getQuery());
-		    return uri;
-		} catch (URISyntaxException e) {
-			//ignore
-		}
-        return null;
-    }
-
-    private ServerRuntime readFile(java.net.URI 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.createURI(file.toString());
-
-        // 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)); //$NON-NLS-1$
-        }
-
-        if (resource != null) {
-            ServerRuntime def = (ServerRuntime) resource.getContents().get(0);
-            if (def != null) {
-                def.setFilename(file.toString());
-                return def;
-            }
-        }
-        return null;
-
-    }
-
-
-	/**
-	 * @return ArrayList
-	 */
-	public ArrayList getServerTypeDefinitions() {
-		return definitions;
-	}
-
-    /**
-     * Get the memory presentation for the .serverdef file
-     * @param id
-     * @return serverRuntime
-     */
-    public ServerRuntime getServerTypeDefinition(String id) {
-    	Iterator defs = getServerTypeDefinitions().iterator();
-        while (defs.hasNext()) {
-            ServerRuntime elem = (ServerRuntime) defs.next();
-            if (id.equals(elem.getId()))
-                return elem;
-        }
-        return null;
-    }
-}
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 4c5e6b0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-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.internal.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>
-	 * 
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Path</em>' attribute.
-	 * @see #setPath(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Path</em>' attribute.
-     * @see #getPath()
-     * @generated
-     */
-//	void setPath(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Path</em>' attribute.
-	 * @see #getPath()
-	 * @generated
-	 */
-	void setPath(String value);
-
-} // ArchiveType
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java
deleted file mode 100644
index 986987a..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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>Argument Pair</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArgumentPair()
- * @model extendedMetaData="name='ArgumentPair' kind='elementOnly'"
- * @generated
- */
-public interface ArgumentPair 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.internal.servertype.definition.ServerTypePackage#getArgumentPair_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.ArgumentPair#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.internal.servertype.definition.ServerTypePackage#getArgumentPair_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.ArgumentPair#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);
-
-} // ArgumentPair
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 575d6b0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.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.internal.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.internal.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.internal.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);
-
-    /**
-     * 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/External.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java
deleted file mode 100644
index e39228d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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>External</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.External#getValue <em>Value</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.External#getOs <em>Os</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getExternal()
- * @model extendedMetaData="name='External' kind='simple'"
- * @generated
- */
-public interface External extends EObject{
-	/**
-	 * 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.internal.servertype.definition.ServerTypePackage#getExternal_Value()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="name=':0' kind='simple'"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.External#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);
-
-	/**
-	 * Returns the value of the '<em><b>Os</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Os</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Os</em>' attribute.
-	 * @see #setOs(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getExternal_Os()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='os'"
-	 * @generated
-	 */
-	String getOs();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.External#getOs <em>Os</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Os</em>' attribute.
-	 * @see #getOs()
-	 * @generated
-	 */
-	void setOs(String value);
-
-} // External
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 2f19c5e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.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.internal.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.internal.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.ArgumentPair}.
-	 * <!-- 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.internal.servertype.definition.ServerTypePackage#getJndiConnection_JndiProperty()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArgumentPair" 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.internal.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);
-
-	/**
-	 * 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/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 7b4d426..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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>Launch Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable <em>Environment Variable</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup1 <em>Group1</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#getWorkingDirectory <em>Working Directory</em>}</li>
- *   <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#getGroup2 <em>Group2</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>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup3 <em>Group3</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal <em>External</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.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.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_MainClass()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        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>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.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group2()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:6'"
-	 * @generated
-	 */
-	FeatureMap getGroup2();
-
-	/**
-	 * Returns the value of the '<em><b>Working Directory</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Working Directory</em>' attribute.
-	 * @see #setWorkingDirectory(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Program Arguments</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_ProgramArguments()
-	 * @model type="java.lang.String" unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='programArguments' group='#group:2'"
-	 * @generated
-	 */
-	List getProgramArguments();
-
-	/**
-	 * Returns a concatenated String of all Program Arguments
-	 * @generated NOT
-	 * @return
-	 */
-	String getProgramArgumentsAsString();
-	
-	/**
-	 * Returns a concatenated String of all Vm parameters.
-	 * @generated NOT
-	 * @return
-	 */
-	String getVmParametersAsString();
-
-	/**
-	 * Returns the value of the '<em><b>Vm Parameters</b></em>' attribute list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Vm Parameters</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_VmParameters()
-	 * @model type="java.lang.String" unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='vmParameters' group='#group:6'"
-	 * @generated
-	 */
-	List getVmParameters();
-
-	/**
-	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Classpath Reference</em>' attribute.
-	 * @see #setClasspathReference(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_ClasspathReference()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        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);
-
-	/**
-	 * 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);
-
-	/**
-	 * Returns the value of the '<em><b>External</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.External}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>External</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>External</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_External()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.External" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='external' group='#group:10'"
-	 * @generated
-	 */
-	List getExternal();
-
-	/**
-	 * Returns the value of the '<em><b>Debug Port</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Debug Port</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Debug Port</em>' attribute.
-	 * @see #setDebugPort(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_DebugPort()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='element' name='debugPort'"
-	 * @generated
-	 */
-	String getDebugPort();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Debug Port</em>' attribute.
-	 * @see #getDebugPort()
-	 * @generated
-	 */
-	void setDebugPort(String 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.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group3()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:10'"
-	 * @generated
-	 */
-	FeatureMap getGroup3();
-
-	/**
-	 * 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.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_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>Environment Variable</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Environment Variable</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>Environment Variable</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_EnvironmentVariable()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArgumentPair" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='environmentVariable' group='#group:0'"
-	 * @generated
-	 */
-	List getEnvironmentVariable();
-
-	/**
-	 * 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.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group1()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:2'"
-	 * @generated
-	 */
-	FeatureMap getGroup1();
-
-} // 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 ad8da17..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.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.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Publish Dir</em>' attribute.
-	 * @see #setPublishDir(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Publisher Reference</em>' attribute.
-	 * @see #setPublisherReference(String)
-	 * @see org.eclipse.jst.server.generic.internal.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);
-
-	/**
-	 * 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 82a89cb..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.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.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Protocol</em>' attribute.
-	 * @see #setProtocol(String)
-	 * @see org.eclipse.jst.server.generic.internal.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);
-
-	/**
-	 * 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 9625f5a..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.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.internal.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);
-
-	/**
-	 * 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 60a0a41..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.servertype.definition.ServerTypePackage#getProperty()
- * @model extendedMetaData="name='Property' kind='empty'"
- * @generated
- */
-public interface Property extends EObject{
-	public static final String CONTEXT_RUNTIME = "runtime";
-	public static final String CONTEXT_SERVER = "server";
-	public static final String TYPE_FILE="file";
-	public static final String TYPE_DIRECTORY="directory";
-	public static final String TYPE_BOOLEAN="boolean";
-	public static final String TYPE_TEXT="string";
-	public static final String TYPE_SELECT="select";
-
-	/**
-	 * 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.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Default</em>' attribute.
-	 * @see #setDefault(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Id</em>' attribute.
-	 * @see #setId(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Label</em>' attribute.
-	 * @see #setLabel(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jst.server.generic.internal.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);
-
-	/**
-	 * 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 9e3336d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.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.internal.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.internal.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.internal.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);
-
-	/**
-	 * 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 a3baf7b..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublisherData.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.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.internal.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 -->
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Datavalue</em>' attribute.
-	 * @see #setDatavalue(String)
-	 * @see org.eclipse.jst.server.generic.internal.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);
-
-	/**
-	 * 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 52740e5..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-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.internal.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.internal.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.internal.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.internal.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.internal.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.internal.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.internal.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.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Start</em>' containment reference.
-	 * @see #setStart(LaunchConfiguration)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Stop</em>' containment reference.
-	 * @see #setStop(LaunchConfiguration)
-	 * @see org.eclipse.jst.server.generic.internal.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.internal.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.internal.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.internal.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.internal.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.internal.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 -->
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Version</em>' attribute.
-	 * @see #setVersion(String)
-	 * @see org.eclipse.jst.server.generic.internal.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 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);
-	/**
-	 * @param id the id of the '<em>Publisher</em>' attribute.
-	 * @return
-	 * @generated NOT
-	 */
-	Publisher getPublisher(String id);
-} // 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 5aeb3c8..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-
-/**
- * <!-- 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.internal.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>Argument Pair</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Argument Pair</em>'.
-	 * @generated
-	 */
-	ArgumentPair createArgumentPair();
-
-	/**
-	 * 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>External</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>External</em>'.
-	 * @generated
-	 */
-	External createExternal();
-
-	/**
-	 * 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>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/xsd/ServerTypeDefinitionSchema.xsd b/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
deleted file mode 100644
index 87fa96e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
+++ /dev/null
@@ -1,153 +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>
-			<sequence minOccurs="0" maxOccurs="unbounded">
-				<element name="environmentVariable"
-					type="jst:ArgumentPair">
-				</element>
-			</sequence>
-			<sequence minOccurs="0" maxOccurs="unbounded">
-				<element name="programArguments" type="string" />
-			</sequence>
-			<element name="workingDirectory" type="string" />
-			<choice>
-				<sequence>
-					<element name="mainClass" type="string" />
-					<sequence minOccurs="0" maxOccurs="unbounded">
-						<element name="vmParameters" type="string" />
-					</sequence>
-					<element name="classpathReference" type="string" />
-				</sequence>
-				<sequence>
-					<element name="debugPort" type="string" />
-					<sequence maxOccurs="unbounded" minOccurs="1">
-						<element name="external" type="jst:External"></element>
-					</sequence>
-				</sequence>
-			</choice>
-		</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"/>
-	</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:ArgumentPair"/>
-    		</sequence>
-    		<element name="initialContextFactory" type="string"/>
-    	</sequence>
-    </complexType>
-
-    <complexType name="ArgumentPair">
-    	<all maxOccurs="1" minOccurs="1">
-    		<element name="name" type="string"/>
-    		<element name="value" type="string"/>
-    	</all>
-    </complexType>
-
-    <complexType name="External">
-    	<simpleContent>
-    		<extension base="string">
-    			<attribute name="os" type="string"></attribute>
-    		</extension>
-    	</simpleContent>
-    </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 21b385f..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
+++ /dev/null
@@ -1,501 +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="ArgumentPair">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="ArgumentPair"/>
-      <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="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>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="External">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="External"/>
-      <details key="kind" value="simple"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="name" value=":0"/>
-        <details key="kind" value="simple"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="os" 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="os"/>
-      </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="#//ArgumentPair" 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="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="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="environmentVariable" upperBound="-1"
-        eType="#//ArgumentPair" 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="environmentVariable"/>
-        <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:EAttribute" name="programArguments" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
-        volatile="true" transient="true" derived="true">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="programArguments"/>
-        <details key="group" value="#group:2"/>
-      </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="mainClass" 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="element"/>
-        <details key="name" value="mainClass"/>
-      </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:6"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="vmParameters" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
-        volatile="true" transient="true" derived="true">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="vmParameters"/>
-        <details key="group" value="#group:6"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" 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="element"/>
-        <details key="name" value="classpathReference"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="debugPort" 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="element"/>
-        <details key="name" value="debugPort"/>
-      </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:10"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="external" upperBound="-1"
-        eType="#//External" 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="external"/>
-        <details key="group" value="#group:10"/>
-      </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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Generic Server Type Definition. It must have a list of&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;properties.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
-    </eAnnotations>
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="ServerRuntime"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-1"
-        eType="#//Property" volatile="true" transient="true" derived="true" containment="true"
-        resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="property"/>
-        <details key="group" value="#group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group1" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:2"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="port" upperBound="-1" eType="#//Port"
-        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="port"/>
-        <details key="group" value="#group:2"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group2" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:4"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="module" lowerBound="1"
-        upperBound="-1" eType="#//Module" volatile="true" transient="true" derived="true"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="module"/>
-        <details key="group" value="#group:4"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="project" lowerBound="1"
-        eType="#//Project" containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="project"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//LaunchConfiguration"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="start"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stop" lowerBound="1" eType="#//LaunchConfiguration"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="stop"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group3" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:9"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="publisher" upperBound="-1"
-        eType="#//Publisher" volatile="true" transient="true" derived="true" containment="true"
-        resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="publisher"/>
-        <details key="group" value="#group:9"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group4" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:11"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="classpath" lowerBound="1"
-        upperBound="-1" eType="#//Classpath" volatile="true" transient="true" derived="true"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="classpath"/>
-        <details key="group" value="#group:11"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore: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 74670bb..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
+++ /dev/null
@@ -1,97 +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" importerID="org.eclipse.xsd.ecore.importer">
-  <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#//ArgumentPair">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair/name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair/value"/>
-    </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"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//External">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//External/value"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//External/os"/>
-    </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#//LaunchConfiguration">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/environmentVariable"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group1"/>
-      <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/workingDirectory"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/mainClass"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group2"/>
-      <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"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/debugPort"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group3"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/external"/>
-    </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.wst.server.core/.classpath b/plugins/org.eclipse.wst.server.core/.classpath
deleted file mode 100644
index f29ae05..0000000
--- a/plugins/org.eclipse.wst.server.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="servercore/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.server.core/.cvsignore b/plugins/org.eclipse.wst.server.core/.cvsignore
deleted file mode 100644
index 1d68140..0000000
--- a/plugins/org.eclipse.wst.server.core/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-temp.folder
-build.xml
-servercore.jar
-org.eclipse.wst.server.core_3.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.server.core/.options b/plugins/org.eclipse.wst.server.core/.options
deleted file mode 100644
index 3812a2f..0000000
--- a/plugins/org.eclipse.wst.server.core/.options
+++ /dev/null
@@ -1,16 +0,0 @@
-# Debugging options for the org.eclipse.wst.server.core plugin
-
-# Turn on general debugging
-org.eclipse.wst.server.core/debug=true
-
-# Tracking of server resources
-org.eclipse.wst.server.core/resources=false
-
-# Loading of extension points
-org.eclipse.wst.server.core/extension_point=false
-
-# Server listeners
-org.eclipse.wst.server.core/listeners=false
-
-# Performance of loading and calling delegates
-org.eclipse.wst.server.core/performance=false
diff --git a/plugins/org.eclipse.wst.server.core/.project b/plugins/org.eclipse.wst.server.core/.project
deleted file mode 100644
index bf1e7ef..0000000
--- a/plugins/org.eclipse.wst.server.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 11d988c..0000000
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 07 20:50:54 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f94b0ac..0000000
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Sun May 07 20:56:17 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=ignore
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=ignore
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=ignore
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56711e0..0000000
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 07 20:56:13 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>
diff --git a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
deleted file mode 100644
index c77b4b4..0000000
--- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.server.core; singleton:=true
-Bundle-Version: 1.0.109.qualifier
-Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.server.core,
- org.eclipse.wst.server.core.internal;x-friends:="org.eclipse.wst.server.ui",
- org.eclipse.wst.server.core.internal.provisional;x-internal:=true,
- org.eclipse.wst.server.core.model,
- org.eclipse.wst.server.core.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.wst.server.core/about.html b/plugins/org.eclipse.wst.server.core/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.server.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.server.core/build.properties b/plugins/org.eclipse.wst.server.core/build.properties
deleted file mode 100644
index d9a7e00..0000000
--- a/plugins/org.eclipse.wst.server.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               .options,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/,\
-               component.xml
-source.. = servercore/
diff --git a/plugins/org.eclipse.wst.server.core/component.xml b/plugins/org.eclipse.wst.server.core/component.xml
deleted file mode 100644
index 4f43974..0000000
--- a/plugins/org.eclipse.wst.server.core/component.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?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"/>
-  <plugin id="org.eclipse.wst.server.core" fragment="false"/>
-  <package name="org.eclipse.wst.server.core">
-    <type name="IModule" implement="false" subclass="false" instantiate="false"/>
-    <type name="IModuleArtifact" implement="false" subclass="false" instantiate="false"/>
-    <type name="IModuleType" implement="false" subclass="false" instantiate="false"/>
-<!--    <type name="IProjectProperties" implement="false" subclass="false" instantiate="false"/>-->
-    <type name="IPublishListener" subclass="false" instantiate="false"/>
-    <type name="IRuntime" implement="false" subclass="false" instantiate="false"/>
-    <type name="IRuntimeLifecycleListener" subclass="false" instantiate="false"/>
-<!--    <type name="IRuntimeTargetHandler" implement="false" subclass="false" instantiate="false"/>-->
-    <type name="IRuntimeType" implement="false" subclass="false" instantiate="false"/>
-    <type name="IRuntimeWorkingCopy" implement="false" subclass="false" instantiate="false"/>
-    <type name="IServer" implement="false" subclass="false" instantiate="false"/>
-    <type name="IServerAttributes" implement="false" subclass="false" instantiate="false"/>
-    <type name="IServerLifecycleListener" subclass="false" instantiate="false"/>
-    <type name="IServerListener" subclass="false" instantiate="false"/>
-    <type name="IServerType" implement="false" subclass="false" instantiate="false"/>
-    <type name="IServerWorkingCopy" implement="false" subclass="false" instantiate="false"/>
-    <type name="ServerCore" implement="false" subclass="false" instantiate="false"/>
-    <type name="ServerEvent" implement="false" subclass="false" instantiate="false"/>
-    <type name="ServerPort"/>
-    <type name="ServerUtil" implement="false" subclass="false" instantiate="false"/>
-    <type name="TaskModel" implement="false"/>
-  </package>
-  <package name="org.eclipse.wst.server.core.model">
-    <type name="IURLProvider" subclass="false"/>
-    <type name="ModuleFactoryDelegate"/>
-    <type name="RuntimeDelegate"/>
-    <type name="RuntimeLocatorDelegate"/>
-<!--    <type name="RuntimeTargetHandlerDelegate"/> -->
-    <type name="IModuleFile"/>
-    <type name="IModuleFolder"/>
-    <type name="IModuleResource"/>
-    <type name="IModuleResourceDelta"/>
-    <type name="ModuleArtifactAdapterDelegate"/>
-    <type name="LaunchableAdapterDelegate"/>
-    <type name="ClientDelegate"/>
-    <type name="ModuleDelegate"/>
-    <type name="PublishTaskDelegate"/>
-    <type name="PublishOperation"/>
-    <type name="ServerBehaviourDelegate"/>
-    <type name="ServerDelegate"/>
-    <type name="InternalInitializer" implement="false" subclass="false" instantiate="false" reference="false"/>
-  </package>
-  <package name="org.eclipse.wst.server.core.util">
-    <type name="HttpLaunchable"/>
-    <type name="IStaticWeb"/>
-    <type name="NullModuleArtifact"/>
-    <type name="PublishAdapter"/>
-    <type name="ProjectModule"/>
-    <type name="ProjectModuleFactoryDelegate"/>
-    <type name="RuntimeLifecycleAdapter"/>
-    <type name="ServerLifecycleAdapter"/>
-    <type name="SocketUtil"/>
-    <type name="WebResource"/>
-  </package>
-
-  <plugin id="org.eclipse.wst.server.ui" fragment="false"/>
-  <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.editor">
-    <type name="ServerEditorPart"/>
-    <type name="ServerEditorSection"/>
-    <type name="IServerEditorPartInput"/>
-  </package>
-  <package name="org.eclipse.wst.server.ui.wizard">
-    <type name="IWizardHandle"/>
-    <type name="WizardFragment"/>
-  </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
deleted file mode 100644
index c81668e..0000000
--- a/plugins/org.eclipse.wst.server.core/plugin.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Server Core
-providerName=Eclipse.org
-
-extensionPointServerStartup=Server Startup
-extensionPointModuleTypes=Module Types
-extensionPointRuntimeTypes=Runtime Types
-extensionPointRuntimeTargetHandlers=Runtime Target Handlers
-extensionPointRuntimeLocators=Runtime Locators
-extensionPointServerTypes=Server Types
-extensionPointServerLocators=Server Locators
-extensionPointModuleFactories=Module Factories
-extensionPointModuleArtifactAdapters=Module Artifact Adapters
-extensionPointLaunchableAdapters=Launchable Adapters
-extensionPointClients=Clients
-extensionPointPublishTasks=Publish Tasks
-extensionPointServerMonitors=Server Monitors
-extensionPointInstallableServers=Installable Servers
-extensionPointInstallableRuntimes=Installable Runtimes
-
-moduleTypeUnknown=Unknown module
-moduleTypeStaticWebName=Static Web project
-
-clientNoneName=Do nothing
-clientNoneDescription=Launch the module on the server but do not bring up a client application.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/plugin.xml b/plugins/org.eclipse.wst.server.core/plugin.xml
deleted file mode 100644
index 3eb42a8..0000000
--- a/plugins/org.eclipse.wst.server.core/plugin.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension-point id="moduleTypes" name="%extensionPointModuleTypes" schema="schema/moduleTypes.exsd"/>
-  <extension-point id="runtimeTypes" name="%extensionPointRuntimeTypes" schema="schema/runtimeTypes.exsd"/>
-  <extension-point id="runtimeTargetHandlers" name="%extensionPointRuntimeTargetHandlers" schema="schema/runtimeTargetHandlers.exsd"/>
-  <extension-point id="runtimeLocators" name="%extensionPointRuntimeLocators" schema="schema/runtimeLocators.exsd"/>
-  <extension-point id="serverTypes" name="%extensionPointServerTypes" schema="schema/serverTypes.exsd"/>
-  <extension-point id="serverLocators" name="%extensionPointServerLocators" schema="schema/internalServerLocators.exsd"/>
-  <extension-point id="moduleFactories" name="%extensionPointModuleFactories" schema="schema/moduleFactories.exsd"/>
-  <extension-point id="moduleArtifactAdapters" name="%extensionPointModuleArtifactAdapters" schema="schema/moduleArtifactAdapters.exsd"/>
-  <extension-point id="launchableAdapters" name="%extensionPointLaunchableAdapters" schema="schema/launchableAdapters.exsd"/>
-  <extension-point id="clients" name="%extensionPointClients" schema="schema/clients.exsd"/>
-  <extension-point id="publishTasks" name="%extensionPointPublishTasks" schema="schema/publishTasks.exsd"/>
-  <extension-point id="internalServerMonitors" name="%extensionPointServerMonitors" schema="schema/serverMonitors.exsd"/>
-  <extension-point id="internalStartup" name="%extensionPointServerStartup" schema="schema/startup.exsd"/>
-  <extension-point id="installableServers" name="%extensionPointInstallableServers" schema="schema/installableServers.exsd"/>
-  <extension-point id="installableRuntimes" name="%extensionPointInstallableRuntimes" schema="schema/installableRuntimes.exsd"/>
-
-  <extension point="org.eclipse.wst.server.core.moduleTypes">
-    <moduleType
-       id="*"
-       name="%moduleTypeUnknown"/>
-    <moduleType
-       id="wst.web"
-       name="%moduleTypeStaticWebName"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.launchableAdapters">
-    <launchableAdapter
-      class="org.eclipse.wst.server.core.internal.NullLaunchableAdapterDelegate"
-      id="org.eclipse.wst.server.core.null"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.clients">
-    <client
-      id="org.eclipse.wst.server.core.null"
-      name="%clientNoneLabel"
-      description="%clientNoneDescription"
-      launchable="org.eclipse.wst.server.core.util.NullModuleArtifact"
-      class="org.eclipse.wst.server.core.internal.NullClientDelegate"/>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/schema/clients.exsd b/plugins/org.eclipse.wst.server.core/schema/clients.exsd
deleted file mode 100644
index 99517fc..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/clients.exsd
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="client">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="enablement"/>

-         </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 extend &lt;samp&gt;ClientDelegate&lt;/samp&gt;.

-Clieint instances of this type will delegate to instances of this class to launch.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the client

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this client

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional priority atrribute which specifies a relative ordering of artifact adapters. Adapters with a higher number are always used first. To override another adapter, simply provide a higher priority value that the other adapter. The priority is 0 if no priority is specified

-               </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>

-         The following is an example of a client extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.clients&quot;&gt;

-      &lt;client

-            id=&quot;com.example.clients&quot;

-            name=&quot;%clientName&quot;

-            description=&quot;%clientDescription&quot;

-            class=&quot;com.example.ExampleClient&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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 &lt;code&gt;org.eclipse.wst.server.core.model.ClientDelegate&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-   

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/installableRuntimes.exsd b/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
deleted file mode 100644
index 20802b3..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="installableRuntimes" name="Installable Runtimes"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to install new runtimes from remote update manager sites.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="installableRuntime" 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="installableRuntime">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="installableRuntime"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="featureId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id of the feature containing the runtime bundle
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="featureVersion" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the version of the feature containing the runtime bundle
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="featureSite" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the feature (update manager) site URL
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="bundleId" type="string">
-            <annotation>
-               <documentation>
-                  the id of the bundle in which the runtime zip is in
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="bundleVersion" type="string">
-            <annotation>
-               <documentation>
-                  the optional version of the bundle in which the runtime zip is in
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="path" type="string" use="required">
-            <annotation>
-               <documentation>
-                  if bundleId is specified then represents the relative path of the runtime zip inside the bundle, otherwise it assumes a relative path of the runtime archive inside the feature directory
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an installable runtime extension point:
-
-&lt;pre&gt;
-   &lt;extension 
-         point=&quot;org.eclipse.wst.server.core.installableRuntimes&quot;&gt;
-      &lt;installableRuntime
-            id=&quot;com.myruntime.id&quot;
-            featureVersion=&quot;1.0.0&quot;
-            featureId=&quot;com.myfeature&quot;
-            featureSite=&quot;xyz&quot;
-            bundleId=&quot;com.ibm.mybundle&quot;
-            path=&quot;/zips/myRuntime.zip&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-
-The following is an example of using the installable runtime extension point but having the runtime archive as a data archive in the feature.
-
-&lt;pre&gt;
-   &lt;extension 
-         point=&quot;org.eclipse.wst.server.core.installableRuntimes&quot;&gt;
-      &lt;installableRuntime
-            id=&quot;com.myruntime.id&quot;
-            featureVersion=&quot;1.0.0&quot;
-            featureId=&quot;com.myfeature&quot;
-            featureSite=&quot;xyz&quot;
-            path=&quot;myRuntime-1.0.zip&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-
-In the feature manifest and data entry should be entered for the runtime archive as well as an installhandler. The default install handler can be used which will install the data archive inside the feature.
-
-&lt;data
-    id=&quot;myRuntime-1.0.zip&quot;
-    download-size=&quot;0&quot;
-    install-size=&quot;0&quot;/&gt;
-
-&lt;install-handler handler=&quot;org.eclipse.update.core.DefaultInstallHandler&quot;/&gt;
-
-If the runtime archive is not packaged within the feature, then you need to map the archive path to a relative or absolute url to the site.xml
-
-&lt;archive path=&quot;features/com.myfeature_1.0.0/myRuntime-1.0.zip&quot; url=&quot;../../1.0/myRuntime-1.0.zip&quot;/&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </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.server.core/schema/installableServers.exsd b/plugins/org.eclipse.wst.server.core/schema/installableServers.exsd
deleted file mode 100644
index aa48b2f..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/installableServers.exsd
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="installableServers" name="Installable Servers"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to install new server adapters from remote update manager sites.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="installableServer" 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="installableServer">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="installableServer"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used to identify the runtime type
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable description of the runtime type
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="vendor" type="string">
-            <annotation>
-               <documentation>
-                  a translatable vendor name
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string">
-            <annotation>
-               <documentation>
-                  a translatable version number
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="featureId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id of the feature containing the server adapter bundle
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="featureVersion" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the version of the feature containing the server adapter bundle
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="featureSite" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the feature (update manager) site URL
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an installable server extension point:
-
-&lt;pre&gt;
-   &lt;extension 
-         point=&quot;org.eclipse.wst.server.core.installableServers&quot;&gt;
-      &lt;installableServer
-            id=&quot;com.myserver.id&quot;
-            name=&quot;My runtime name&quot;
-            description=&quot;My runtime description&quot;
-            vendor=&quot;xyz&quot;
-            version=&quot;1.0&quot;
-            featureVersion=&quot;1.0.0&quot;
-            featureId=&quot;com.myfeature&quot;
-            featureSite=&quot;xyz&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </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.server.core/schema/internalServerLocators.exsd b/plugins/org.eclipse.wst.server.core/schema/internalServerLocators.exsd
deleted file mode 100644
index 8ef14c3..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/internalServerLocators.exsd
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="serverLocators" name="Server Locators"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to locate new servers on the local or remote machines.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="serverLocator" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="serverLocator">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;ServerLocatorDelegate&lt;/samp&gt;.
-Server locator instances of this type will delegate to instances of this class.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="supportsRemoteHosts" type="string" use="required">
-            <annotation>
-               <documentation>
-                  true if the server supports remote server support, and false if only local servers are supported
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="typeIds" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a comma separated list of server type ids. May include wildcards (*) at the end of an id
-               </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>
-         The following is an example of a server locator extension point:
-
-&lt;pre&gt;
-   &lt;extension 
-         point=&quot;org.eclipse.wst.server.core.serverLocators&quot;&gt;
-      &lt;serverLocator
-            id=&quot;com.example.locator&quot;
-            name=&quot;%serverLocatorName&quot;
-            description=&quot;%serverLocatorDescription&quot;
-            class=&quot;com.example.ExampleServerLocator&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.wst.server.core.internal.provisional.ServerLocatorDelegate&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 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.server.core/schema/launchableAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
deleted file mode 100644
index 8ee715b..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         This extension point provides a way for a server to support the Run on Server scenario.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="launchableAdapter">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;LaunchableAdapterDelegate&lt;/samp&gt;.

-Launchable adapter instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of server type ids. May include wildcards (*) at the end of an id

-               </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>

-         The following is an example of a launchable adapter extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.launchableAdapters&quot;&gt;

-      &lt;launchableAdapter

-              id=&quot;com.example.launchableAdapter&quot;

-              class=&quot;com.example.ExampleLaunchableAdapterDelegate&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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 &lt;code&gt;org.eclipse.wst.server.core.model.LaunchableAdapterDelegate&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/moduleArtifactAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
deleted file mode 100644
index 0a63f1d..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.ui" id="moduleArtifactAdapters" name="Module Artifact Adapters"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="enablement"/>

-         </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>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional priority atrribute which specifies a relative ordering of artifact adapters. Adapters with a higher number are always used first. To override another adapter, simply provide a higher priority value that the other adapter. The priority is 0 if no priority is specified

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a module object adapter extension point:

-

-&lt;pre&gt;

-

-&lt;/pre&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 &lt;code&gt;org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/moduleFactories.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
deleted file mode 100644
index e04bfdc..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleFactory">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;ModuleFactoryDelegate&lt;/samp&gt;.

-Module factory instances of this type will delegate to instances of this class

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  true if this factory may return projects within the workspace, and false otherwise

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an integer that specifies the order that the module factory is processed

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of module type ids

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of module versions

-               </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>

-         The following is an example of a module factory extension point:

-

-&lt;pre&gt;

-&lt;extension point=&quot;org.eclipse.wst.server.core.moduleFactories&quot;&gt;

-   &lt;moduleFactory

-      projects=&quot;true&quot;

-      class=&quot;org.eclipse.MyWebFactory&quot;

-      id=&quot;org.eclipse.wst.static.web&quot;&gt;

-      &lt;moduleType

-         versions=&quot;1.0&quot;

-         types=&quot;wst.web&quot;&gt;

-      &lt;/moduleType&gt;

-   &lt;/moduleFactory&gt;

-&lt;/extension&gt;

-&lt;/pre&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 &lt;code&gt;org.eclipse.wst.server.core.model.ModuleFactoryDelegate&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/moduleTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd
deleted file mode 100644
index d1659de..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the module type

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a module type extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.moduleTypes&quot;&gt;

-      &lt;moduleType

-            id=&quot;com.example&quot;

-            name=&quot;%moduleTypeName&quot;

-            description=&quot;%moduleTypeDescription&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-   

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/publishTasks.exsd b/plugins/org.eclipse.wst.server.core/schema/publishTasks.exsd
deleted file mode 100644
index 1730958..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/publishTasks.exsd
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="publishTasks" name="Publish Tasks"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to provide a task that is run while publishing to a server.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="publishTask" 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="publishTask">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.wst.server.core.model.PublishTaskDelegate&lt;/samp&gt;.
-Publish task instances of this type will delegate to instances of this class.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.PublishTaskDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="typeIds" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a comma separated list of server type ids that this task may apply to. Used for memory &amp; performance reasons
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a publish task extension point:
-
-&lt;pre&gt;
-
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;code&gt;org.eclipse.wst.server.core.model.PublishTaskDelegate&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 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.server.core/schema/runtimeLocators.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
deleted file mode 100644
index 5fc095d..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="runtimeLocator">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;RuntimeLocatorDelegate&lt;/samp&gt;.

-Runtime locator instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of runtime type ids. May include wildcards (*) at the end of an id

-               </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>

-         The following is an example of a runtime locator extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.runtimeLocators&quot;&gt;

-      &lt;runtimeLocator

-            id=&quot;com.example.locator&quot;

-            name=&quot;%runtimeLocatorName&quot;

-            description=&quot;%runtimeLocatorDescription&quot;

-            class=&quot;com.example.ExampleRuntimeLocator&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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 &lt;code&gt;org.eclipse.wst.server.core.model.RuntimeLocatorDelegate&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/runtimeTargetHandlers.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
deleted file mode 100644
index 13f4961..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-

-This extension point as well as the classes required to implement it are deprecated due to the addition of facets in WTP 1.0. If you were using this extension point for classpath then you can use the org.eclipse.jst.server.core.runtimeClasspathProviders extension point instead.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="runtimeTargetHandler">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;RuntimeTargetHandlerDelegate&lt;/samp&gt;.

-Runtime target handler instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a runtime target handler extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.runtimeTargetHandlers&quot;&gt;

-      &lt;runtimeTargetHandler

-            id=&quot;com.example.runtimeTargetHandler&quot;

-            runtimeTypeIds=&quot;com.example.runtime, com.example2.*&quot;

-            class=&quot;com.example.ExampleRuntimeTargetHandler&quot;/&gt;

-    &lt;/extension&gt;

-&lt;/pre&gt;

-      </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 &lt;code&gt;org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/runtimeTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
deleted file mode 100644
index d10ed02..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="runtimeType">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the runtime type

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of the runtime type

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable vendor name

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable version number

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an id used to identify the vendor

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;RuntimeDelegate&lt;/samp&gt;.

-Runtime instances of this type will delegate to instances of this class. Delegates must also have a public 0-arg constructor.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleType">

-      <complexType>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a runtime type extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.runtimeTypes&quot;&gt;

-      &lt;runtimeType

-            id=&quot;com.example.runtime&quot;

-            name=&quot;%runtimeTypeName&quot;

-            description=&quot;%runtimeTypeDescription&quot;

-            vendor=&quot;%runtimeTypeVendor&quot;

-            version=&quot;1.0&quot;

-            class=&quot;com.example.ExampleRuntimeDelegate&quot;&gt;

-         &lt;moduleType

-               types=&quot;j2ee.web&quot;

-               versions=&quot;1.2, 1.3, 1.4&quot;/&gt;

-      &lt;/runtimeType&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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 &lt;code&gt;org.eclipse.wst.server.core.model.RuntimeDelegate&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-   

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/serverMonitors.exsd b/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
deleted file mode 100644
index f0f49b4..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="monitor">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify this monitor

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this monitor

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.wst.server.core.internal.ServerMonitorDelegate&lt;/samp&gt;

-

-This extension point is internal and should not be used by any other plugins.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a server monitor extension point:

-

-&lt;pre&gt;

-

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;code&gt;org.eclipse.wst.server.core.internal.ServerMonitorDelegate&lt;/code&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/serverTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
deleted file mode 100644
index 39b0ee9..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="serverType"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="serverType">

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  unique identifier for the server type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify this server type

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this server type

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </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.server.core.model.ServerDelegate&lt;/samp&gt;.

-Server instances of this type will delegate to instances of this class. Delegates must also have a public 0-arg constructor

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.wst.server.core.model.ServerBehaviourDelegate&lt;/samp&gt;.

-Server instances of this type will delegate to instances of this class. Delegates must also have a public 0-arg constructor

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  true if this server has server configuration files

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the runtime type id that this server type corresponds to

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  true if this server type can work with remote host names, false if this server type can only work on localhost. if unspecified, false is assumed

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  true if this server requires a runtime, and false otherwise

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of the launch modes that this server supports

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the timeout value that the tool will wait for the server to be started. The default is 2 minutes

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the timeout value that the tool will wait for the server to be stopped. The default is 2 minutes

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  boolean value &quot;true&quot; or &quot;false&quot; to specify whether the server needs to be started for publishing to occur. If &quot;true&quot;, the server will be started on every call to publish() before executing the publish code

-               </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>

-         The following is an example of a server type extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.serverTypes&quot;&gt;

-      &lt;serverType

-            id=&quot;com.example.serverType&quot;

-            name=&quot;%serverTypeName&quot;

-            description=&quot;%serverTypeDescription&quot;

-            supportsRemoteHosts=&quot;true&quot;

-            runtime=&quot;true&quot;

-            initialState=&quot;stopped&quot;

-            hasConfiguration=&quot;true&quot;

-            launchConfigId=&quot;com.example.launchConfigurationType&quot;

-            runtimeTypeId=&quot;com.example.runtime&quot;

-            class=&quot;com.example.ExampleServerDelegate&quot;

-            behaviourClass=&quot;com.example.ExampleServerBehaviourDelegate&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&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;code&gt;org.eclipse.wst.server.core.model.ServerDelegate&lt;/code&gt; and has a public 0-arg constructor.

-

-Value of the attribute &lt;b&gt;behaviourClass&lt;/b&gt; must be a fully qualified name of a Java class that extends the abstract class &lt;code&gt;org.eclipse.wst.server.core.model.ServerBehaviourDelegate&lt;/code&gt; and has a public 0-arg constructor.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/schema/startup.exsd b/plugins/org.eclipse.wst.server.core/schema/startup.exsd
deleted file mode 100644
index 25bbd3c..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/startup.exsd
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="startup">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that extends &lt;samp&gt;org.eclipse.wst.server.core.internal.IStartup&lt;/samp&gt;.

-

-This extension point is internal and should not be used by any other plugins.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a startup extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.core.startup&quot;&gt;

-      &lt;startup

-            id=&quot;com.example.startup&quot;

-            class=&quot;com.example.ExampleStartup&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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 &lt;code&gt;org.eclipse.wst.server.core.model.IStartup&lt;/code&gt; and contains a public 0-arg constructor.

-      </documentation>

-   </annotation>

-   

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 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.server.core/servercore/org/eclipse/wst/server/core/IModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java
deleted file mode 100644
index 91fc261..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java
+++ /dev/null
@@ -1,129 +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.server.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * A module is a unit of "content" that can be published to a
- * server.
- * <p>
- * All modules have a module type, which is fixed for the
- * lifetime of the module. The set of module types (or
- * "kinds") is open-ended.
- * </p>
- * <p>
- * All modules are created by module factories using the moduleFactories
- * extension point.
- * </p>
- * <p>
- * The content of a module is a collection of file and folder
- * resources in the workspace.
- * </p>
- * <p>
- * In principle, a module exists independent of any
- * particular server. The same module instance can be associated
- * with multiple server instances at the same time. That is
- * why you cannot ask the module which server it's associated
- * with.
- * </p>
- * <p>
- * [issue: Equality/identify for modules?]
- * </p>
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @since 1.0
- */
-public interface IModule extends IAdaptable {
-	/**
-	 * Returns the id of this module.
-	 * Each module has a distinct id, used to distinguish this
-	 * module from all other modules in the workspace (and
-	 * within a server). Ids are intended to be used internally
-	 * as keys; they are not intended to be shown to end users.
-	 * 
-	 * @return the module id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this module.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this module
-	 */
-	public String getName();
-
-	/**
-	 * Returns the type of this module.
-	 * 
-	 * @return the module type
-	 */
-	public IModuleType getModuleType();
-
-	/**
-	 * Returns the workbench project that this module is contained in,
-	 * or null if the module is outside of the workspace.
-	 * 
-	 * @return a project
-	 */
-	public IProject getProject();
-
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> if
-	 * no such object can be found, or if the delegate is not
-	 * loaded.
-	 * <p>
-	 * This method will not check the delegate classes for adapting
-	 * unless they are already loaded. No plugin loading will occur
-	 * when calling this method. It is suitable for popup menus and
-	 * other UI artifacts where performance is a concern.
-	 * </p>
-	 *
-	 * @param adapter the adapter class to look up
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 * @see IAdaptable#getAdapter(Class)
-	 * @see #loadAdapter(Class, IProgressMonitor)
-	 */
-	public Object getAdapter(Class adapter);
-
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> only if
-	 * no such object can be found after loading and initializing
-	 * delegates.
-	 * <p>
-	 * This method will force a load and initialization of all delegate
-	 * classes and check them for adapting.
-	 * </p>
-	 *
-	 * @param adapter the adapter class to look up
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 * @see #getAdapter(Class)
-	 */
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java
deleted file mode 100644
index 9391398..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * A module artifact is a resource within a module, which can be launched
- * on the server. Examples of module artifacts are servlets, HTML pages,
- * or EJB beans.
- * <p>
- * Objects that provide an adapter of this type will be considered by the
- * contextual Run on Server launch support. 
- * </p>
- * 
- * @see org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate
- * @since 1.0
- */
-public interface IModuleArtifact {
-	/**
-	 * Returns the module that this artifact is a part of.
-	 * 
-	 * @return the module that this artifact is contained in
-	 */
-	public IModule getModule();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java
deleted file mode 100644
index 98800b8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java
+++ /dev/null
@@ -1,63 +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.server.core;
-/**
- * Represents the type of a module.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @since 1.0
- */
-public interface IModuleType {
-	/**
-	 * Returns the module type id.
-	 * <p>
-	 * The module type id is a "." separated string uniquely identifying the
-	 * type of module. Like a java package name, it should scope the type from
-	 * most general to specific. For instance, "jst.web".
-	 * </p>
-	 * 
-	 * @return the module type id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this module type.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this module type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the version (specification level) of this module type,
-	 * e.g. "1.0" or "1.3.2a".
-	 * <p>
-	 * The version will normally be a series of numbers separated by
-	 * ".", but it could be different depending on the type of module.
-	 * For module types where a version does not make sense (e.g.
-	 * a static Web module), <code>null</code> is returned.
-	 * </p>
-	 * 
-	 * @return the specification version of this module type, or
-	 *    <code>null</code> if there is no version 
-	 */
-	public String getVersion();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java
deleted file mode 100644
index d8dbeed..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.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.server.core;
-/**
- * This interface holds information on the properties of a given project.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @deprecated Project facet support should now be used instead of this API. @see
- *    org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime()
- */
-public interface IProjectProperties {
-	/**
-	 * Returns the current runtime target for this project.
-	 * 
-	 * @return the current runtime target, or <code>null</code> if the project has
-	 *    no runtime target
-	 * @deprecated Project facet support should now be used instead of this API. @see
-	 *    org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime()
-	 */
-	public IRuntime getRuntimeTarget();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishListener.java
deleted file mode 100644
index 0c16468..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishListener.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.server.core;
-
-import org.eclipse.core.runtime.IStatus;
-/**
- * A publish listener is used to listen for publishing events from a server.
- * The events are typically received in the following order:
- * 
- * publishStarted() - The publish operation is starting
- *   publishModuleStarted() - This section is fired for each module in the server
- *   publishModuleFinished() - This module is finished publishing
- *   publishModuleStarted() - The next module is publishing
- *   ...
- * publishFinished() - The publish operation is finished
- * <p>
- * Publish listeners are added to a server via IServer.addPublishListener().
- * </p>
- * @see IServer
- * @since 1.0
- */
-public interface IPublishListener {
-	/**
-	 * Fired to notify that publishing has begun.
-	 *
-	 * @param server the server that publishing started on
-	 */
-	public void publishStarted(IServer server);
-
-	/**
-	 * Publishing has finished. Returns the overall status.
-	 *
-	 * @param server the server that publishing finished on
-	 * @param status indicating what (if anything) went wrong
-	 */
-	public void publishFinished(IServer server, IStatus status);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java
deleted file mode 100644
index d187c8c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java
+++ /dev/null
@@ -1,212 +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.server.core;
-
-import org.eclipse.core.runtime.*;
-/**
- * Represents a runtime instance. Every runtime is an instance of a
- * particular, fixed runtime type.
- * <p>
- * Servers have a runtime. The server runtime corresponds to the
- * installed code base for the server. The main role played by the server
- * runtime is in identifying code libraries to compile or build against.
- * In the case of local servers, the server runtime may play a secondary role
- * of being used to launch the server for testing. Having the server runtimes
- * identified as an entity separate from the server itself facilitates sharing
- * server runtimes between several servers.
- * </p>
- * <p>
- * IRuntime implements IAdaptable to allow users to obtain a runtime-type-specific
- * class. By casting the runtime extension to the type prescribed in the API
- * documentation for that particular runtime type, the client can access
- * runtime-type-specific properties and methods. getAdapter() may involve plugin
- * loading, and should not be called from popup menus, etc.
- * </p>
- * <p>
- * The server framework maintains a global list of all known runtime instances
- * ({@link ServerCore#getRuntimes()}).
- * </p>
- * <p>
- * All runtimes have a unique id. Two runtimes (or more likely a runtime and it's
- * working copy) with the same id are equal, and two runtimes with different ids
- * are never equal.
- * </p>
- * <p>
- * Two runtimes are identical if and only if they have the same id.
- * </p>
- * <p>This interface is not intended to be implemented by clients.</p>
- * 
- * @see IRuntimeWorkingCopy
- * @since 1.0
- */
-public interface IRuntime extends IAdaptable {
-	/**
-	 * Returns the displayable name for this runtime.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-
-	/**
-	 * Returns the id of this runtime instance.
-	 * Each runtime (of a given type) has a distinct id, fixed for
-	 * its lifetime. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * <p>
-	 * For the id of the runtime type, use {@link IRuntimeType#getId()}
-	 * </p>
-	 * 
-	 * @return the runtime id
-	 */
-	public String getId();
-
-	/**
-	 * Deletes the persistent representation of this runtime.
-	 * 
-	 * @throws CoreException if there was any error received while deleting the runtime
-	 *    or if this method is called on a working copy
-	 */
-	public void delete() throws CoreException;
-
-	/**
-	 * Returns whether this runtime is marked read only.
-	 * When a runtime is read only, working copies can be created but
-	 * they cannot be saved.
-	 *
-	 * @return <code>true</code> if this runtime is marked as read only,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean isReadOnly();
-
-	/**
-	 * Returns true if this is a working copy.
-	 * 
-	 * @return <code>true</code> if this runtime is a working copy
-	 *    (can be cast to IRuntimeWorkingCopy), and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> if
-	 * no such object can be found, or if the delegate is not
-	 * loaded.
-	 * <p>
-	 * This method will not check the delegate classes for adapting
-	 * unless they are already loaded. No plugin loading will occur
-	 * when calling this method. It is suitable for popup menus and
-	 * other UI artifacts where performance is a concern.
-	 * </p>
-	 *
-	 * @param adapter the adapter class to look up
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 * @see IAdaptable#getAdapter(Class)
-	 * @see #loadAdapter(Class, IProgressMonitor)
-	 */
-	public Object getAdapter(Class adapter);
-	
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> only if
-	 * no such object can be found after loading and initializing
-	 * delegates.
-	 * <p>
-	 * This method will force a load and initialization of all delegate
-	 * classes and check them for adapting.
-	 * </p>
-	 *
-	 * @param adapter the adapter class to look up
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 * @see #getAdapter(Class)
-	 */
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor);
-
-	/**
-	 * Returns the type of this runtime instance.
-	 * 
-	 * @return the runtime type
-	 */
-	public IRuntimeType getRuntimeType();
-
-	/**
-	 * Returns a runtime working copy for modifying this runtime instance.
-	 * If this instance is already a working copy, it is returned.
-	 * If this instance is not a working copy, a new runtime working copy
-	 * is created with the same id and attributes.
-	 * Clients are responsible for saving or releasing the working copy when
-	 * they are done with it.
-	 * <p>
-	 * The runtime working copy is related to this runtime instance
-	 * in the following ways:
-	 * <pre>
-	 * this.getWorkingCopy().getId() == this.getId()
-	 * this.getWorkingCopy().getOriginal() == this
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * [issue: IRuntimeWorkingCopy extends IRuntime. 
-	 * Runtime.getWorkingCopy() create a new working copy;
-	 * RuntimeWorkingCopy.getWorkingCopy() returns this.
-	 * This may be convenient in code that is ignorant of
-	 * whether they are dealing with a working copy or not.
-	 * However, it is hard for clients to manage working copies
-	 * with this design.
-	 * </p>
-	 * 
-	 * @return a new working copy
-	 */
-	public IRuntimeWorkingCopy createWorkingCopy();
-
-	/**
-	 * Returns the absolute path in the local file system to the root of the runtime,
-	 * typically the installation directory.
-	 * 
-	 * @return the location of this runtime, or <code>null</code> if none
-	 */
-	public IPath getLocation();
-
-	/**
-	 * Returns whether this runtime is a stub (used for compilation only)
-	 * or a full runtime.
-	 * 
-	 * @return <code>true</code> if this runtime is a stub, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isStub();
-
-	/**
-	 * Validates this runtime instance. This method returns an error if the runtime
-	 * is pointing to a null or invalid location (e.g. not pointing to the correct
-	 * installation directory), or if the runtime-type-specific properties are missing
-	 * or invalid.
-	 * <p>
-	 * This method is not on the working copy so that the runtime can be validated at
-	 * 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
-	 */
-	public IStatus validate(IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLifecycleListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLifecycleListener.java
deleted file mode 100644
index e3067c8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLifecycleListener.java
+++ /dev/null
@@ -1,48 +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.server.core;
-/**
- * Listener interface for changes to runtimes.
- * <p>
- * This interface is fired whenever a runtime is added, modified, or removed.
- * All events are fired post-change, so that all server tools API called as a
- * result of the event will return the updated results. (for example, on
- * runtimeAdded the new server will be in the global list of runtimes
- * ({@link ServerCore#getRuntimes()}), and on runtimeRemoved the runtime will
- * not be in the list.
- * </p>
- * 
- * @see ServerCore
- * @see IRuntime
- * @since 1.0
- */
-public interface IRuntimeLifecycleListener {
-	/**
-	 * A new runtime has been created.
-	 *
-	 * @param runtime the new runtime
-	 */
-	public void runtimeAdded(IRuntime runtime);
-
-	/**
-	 * An existing runtime has been updated or modified.
-	 *
-	 * @param runtime the modified runtime
-	 */
-	public void runtimeChanged(IRuntime runtime);
-
-	/**
-	 * A existing runtime has been removed.
-	 *
-	 * @param runtime the removed runtime
-	 */
-	public void runtimeRemoved(IRuntime runtime);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java
deleted file mode 100644
index 01712ff..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.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.server.core;
-
-import org.eclipse.core.runtime.IAdaptable;
-/**
- * A runtime target handler is used to apply some properties to a project
- * this is being targeted to a given runtime. For instance, the handler
- * might update the classpath of a Java project to include the runtime's
- * classes, add validation for the given runtime, or restrict the type of
- * resources that can be created.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @deprecated use project facets instead of runtime targets
- */
-public interface IRuntimeTargetHandler extends IAdaptable {
-	/**
-	 * Returns the id of this runtime target handler.
-	 * Each known runtime target handler has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the runtime target handler id
-	 */
-	public String getId();
-
-	/**
-	 * Returns <code>true</code> if this runtime target handler supports
-	 * (can work with) the given runtime.
-	 * 
-	 * @param runtimeType a runtime type
-	 * @return <code>true</code> if the handler can accept the given runtime type,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean supportsRuntimeType(IRuntimeType runtimeType);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
deleted file mode 100644
index 346cf34..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
+++ /dev/null
@@ -1,144 +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.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents a (server) runtime type from which runtime instances can be
- * created.
- * <p>
- * The server core framework supports
- * an open-ended set of runtime types, which are contributed via
- * the <code>runtimeTypes</code> extension point in the server core
- * plug-in. Runtime type objects carry no state (all information is
- * read-only and is supplied by the server runtime type declaration).
- * The global list of known runtime types is available via
- * {@link ServerCore#getRuntimeTypes()}.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * [issue: What value do runtimes add?
- * It's main role is for setting up the Java build classpath
- * for projects holding modules that must be Java compiled.
- * If the notion of module is to transcend the vagaries of particular
- * types of server, and, indeed, be published to multiple servers
- * simultaneously, then matters of build classpath had better not
- * be tied to the particular servers involved.]
- * </p>
- * <p>
- * Two runtime types are identical if and only if they have the same id.
- * </p>
- * 
- * @since 1.0
- */
-public interface IRuntimeType {
-	/**
-	 * Returns the id of this runtime type.
-	 * Each known server runtime type has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the runtime type id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this runtime type.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this runtime type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the displayable description for this runtime type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this runtime type
-	 */
-	public String getDescription();
-	
-	/**
-	 * Returns the displayable vendor name for this runtime type. If the
-	 * runtime type did not specific a vendor, an empty string is returned.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable vendor name for this runtime type
-	 */
-	public String getVendor();
-	
-	/**
-	 * Returns the displayable version name for this runtime type. If the
-	 * runtime type did not specific a vendor, an empty string is returned.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable version name for this runtime type
-	 */
-	public String getVersion();
-
-	/**
-	 * Returns an array of module types that this runtime type can support.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return the array of module types {@link IModuleType}
-	 */
-	public IModuleType[] getModuleTypes();
-
-	/**
-	 * Returns whether this runtime type can be instantiated.
-	 * <p>
-	 * [issue: It's unclear what this method is for.
-	 * The implementation checks whether the "class"
-	 * and "workingCopyClass" attributes (both optional) were specified.
-	 * What would be the point of a runtime type that didn't
-	 * have both of these attributes and could not be "created"?]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of runtime can be
-	 *    instantiated, and <code>false</code> if it cannot
-	 * @see #createRuntime(String, IProgressMonitor)
-	 */
-	public boolean canCreate();
-
-	/**
-	 * Creates a working copy instance of this runtime type.
-	 * After setting various properties of the working copy,
-	 * the client should call {@link IRuntimeWorkingCopy#save(boolean, IProgressMonitor)}
-	 * to bring the runtime instance into existence.
-	 * <p>
-	 * Default values are set by calling the instance's delegate.
-	 * Clients should assume that the location and other properties are
-	 * not set and must be explicitly set by the client.
-	 * </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
-	 * @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
-	 */
-	public IRuntimeWorkingCopy createRuntime(String id, 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/IRuntimeWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java
deleted file mode 100644
index 66e8de3..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,172 +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.server.core;
-
-import java.beans.PropertyChangeListener;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * A working copy runtime object used for formulating changes
- * to a runtime instance ({@link IRuntime}). Changes made on a
- * working copy do not occur (and are not persisted) until a
- * save() is performed. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see IRuntime
- * @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;
-	
-	/**
-	 * 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";
-
-	/**
-	 * Sets the displayable name for this runtime.
-	 * <p>
-	 * The name should be appropriate for the current locale.
-	 * </p>
-	 *
-	 * @param name a displayable name
-	 * @see IRuntime#getName()
-	 */
-	public void setName(String name);
-	
-	/**
-	 * Sets or unsets whether this runtime is marked as read only.
-	 * When a runtime is read only, working copies can be created but
-	 * they cannot be saved.
-	 *
-	 * @param readOnly <code>true</code> to set this runtime to be marked
-	 *    read only, and <code>false</code> to unset
-	 */
-	public void setReadOnly(boolean readOnly);
-	
-	/**
-	 * Returns whether this working copy has unsaved changes.
-	 * 
-	 * @return <code>true</code> if this working copy has unsaved
-	 *    changes, and <code>false</code> otherwise
-	 */
-	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>
-	 *
-	 * @param listener a property change listener
-	 * @see #removePropertyChangeListener(PropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener);
-
-	/**
-	 * Removes a property change listener from this runtime.
-	 * Has no effect if the listener is not registered.
-	 *
-	 * @param listener a property change listener
-	 * @see #addPropertyChangeListener(PropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener);
-
-	/**
-	 * Returns the runtime instance that this working copy is
-	 * associated with.
-	 * <p>
-	 * For a runtime working copy created by a call to
-	 * {@link IRuntime#createWorkingCopy()},
-	 * <code>this.getOriginal()</code> returns the original
-	 * runtime object. For a runtime working copy just created by
-	 * a call to {@link IRuntimeType#createRuntime(String, IProgressMonitor)},
-	 * <code>this.getOriginal()</code> returns <code>null</code>.
-	 * </p>
-	 * 
-	 * @return the associated runtime instance, or <code>null</code> if none
-	 */
-	public IRuntime getOriginal();
-
-	/**
-	 * Sets the absolute path in the local file system to the root of the runtime,
-	 * typically the installation directory. 
-	 * 
-	 * @param path the location of this runtime, or <code>null</code> if none
-	 * @see IRuntime#getLocation()
-	 */
-	public void setLocation(IPath path);
-
-	/**
-	 * Returns whether this runtime is a stub (used for compilation only)
-	 * or a full runtime.
-	 * 
-	 * @param stub <code>true</code> if this runtime is a stub, and
-	 *    <code>false</code> otherwise
-	 */
-	public void setStub(boolean stub);
-
-	/**
-	 * Commits the changes made in this working copy. If there is
-	 * no extant runtime instance with a matching id and runtime
-	 * type, this will create a runtime instance with attributes
-	 * taken from this working copy, and return that object.
-	 * <p>
-	 * If there an existing runtime instance with a matching id and
-	 * runtime type, this will change the runtime instance accordingly.
-	 * The returned runtime will be the same runtime this is returned
-	 * from getOriginal(), after the changes have been applied.
-	 * Otherwise, this method will return a newly created runtime.
-	 * </p>
-	 * Runtimes can be saved even when they have invalid properties. It
-	 * is the clients responsibility to call validate() or check the
-	 * properties before saving.
-	 * <p>
-	 * [issue: What is lifecycle for RuntimeWorkingCopyDelegate
-	 * 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
deleted file mode 100644
index 9e21ba0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
+++ /dev/null
@@ -1,664 +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.server.core;
-
-import org.eclipse.core.runtime.*;
-/**
- * Represents a server instance. Every server is an instance of a
- * particular, fixed server type.
- * <p>
- * Not surprisingly, the notion of <b>server</b> is central in the web tools
- * server infrastructure. In this context, understand that a server is
- * a web server of some ilk. It could be a simple web server lacking Java
- * support, or an J2EE based server, or perhaps even some kind of database
- * server. A more exact definition is not required for the purposes of this API.
- * From a tool-centric point of view, a server
- * is something that the developer is writing "content" for.
- * The unit of content is termed a module.
- * In a sense, the server exists, but lacks useful content. The
- * development task is to provide that content. The content can include
- * anything from simple, static HTML web pages to complex, highly dynamic
- * web applications.
- * In the course of writing and debugging this content,
- * the developer will want to test their content on a web server, to see how it
- * gets served up. For this they will need to launch a server process running on
- * some host machine (often the local host on which the IDE is running), or
- * attach to a server that's already running on a remote (or local) host. 
- * The newly developed content sitting in the developer's workspace needs to
- * end up in a location and format that the running server can use for its
- * serving purposes.
- * </p>
- * <p>
- * In this picture, an <code>IServer</code> object is a proxy for the real web
- * server. Through this proxy, a client can configure the server, and start,
- * stop, and restart it.
- * </p>
- * <p>
- * The server framework maintains a global list of all known server instances
- * ({@link ServerCore#getServers()}).
- * </p>
- * <p>
- * [rough notes:
- * Server has a state.
- * Server can be started, stopped, and restarted.
- * To modify server attributes, get a working copy, modify it, and then save it
- * to commit the changes.
- * Server attributes. Serialization.
- * Chained working copies for runtime, server configuration.
- * Server has a set of root modules.
- * Modules have state wrt a server.
- * Restarting modules.
- * ]
- * </p>
- * <p>
- * Two servers are identical if and only if they have the same id.
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * 
- * @since 1.0
- */
-public interface IServer extends IServerAttributes {
-	/**
-	 * An operation listener is used to receive notification back about a
-	 * specific server operation, such as starting or stopping a server.
-	 * 
-	 * @since 1.0
-	 */
-	public interface IOperationListener {
-		/**
-		 * Called once when the operation is complete.
-		 * 
-		 * @param result a status object with code <code>IStatus.OK</code> if
-		 *    the operation completed successfully, otherwise a status object
-		 *    indicating why it didn't
-		 */
-		public void done(IStatus result);
-	}
-
-	/**
-	 * Server state constant (value 0) indicating that the
-	 * server is in an unknown state.
-	 * 
-	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
-	 */
-	public static final int STATE_UNKNOWN = 0;
-
-	/**
-	 * Server state constant (value 1) indicating that the
-	 * server is starting, but not yet ready to serve content.
-	 * 
-	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
-	 */
-	public static final int STATE_STARTING = 1;
-
-	/**
-	 * Server state constant (value 2) indicating that the
-	 * server is ready to serve content.
-	 * 
-	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
-	 */
-	public static final int STATE_STARTED = 2;
-
-	/**
-	 * Server state constant (value 3) indicating that the
-	 * server is shutting down.
-	 * 
-	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
-	 */
-	public static final int STATE_STOPPING = 3;
-
-	/**
-	 * Server state constant (value 4) indicating that the
-	 * server is stopped.
-	 * 
-	 * @see #getServerState()
-	 * @see #getModuleState(IModule[])
-	 */
-	public static final int STATE_STOPPED = 4;
-
-	/**
-	 * Publish state constant (value 0) indicating that it's
-	 * in an unknown state.
-	 * 
-	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
-	 */
-	public static final int PUBLISH_STATE_UNKNOWN = 0;
-
-	/**
-	 * Publish state constant (value 1) indicating that there
-	 * is no publish required.
-	 * 
-	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
-	 */
-	public static final int PUBLISH_STATE_NONE = 1;
-
-	/**
-	 * Publish state constant (value 2) indicating that an
-	 * incremental publish is required.
-	 * 
-	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
-	 */
-	public static final int PUBLISH_STATE_INCREMENTAL = 2;
-
-	/**
-	 * Publish state constant (value 3) indicating that a
-	 * full publish is required.
-	 * 
-	 * @see #getServerPublishState()
-	 * @see #getModulePublishState(IModule[])
-	 */
-	public static final int PUBLISH_STATE_FULL = 3;
-
-	/**
-	 * Publish kind constant (value 1) indicating an incremental publish request.
-	 * 
-	 * @see #publish(int, IProgressMonitor)
-	 */
-	public static final int PUBLISH_INCREMENTAL = 1;
-
-	/**
-	 * Publish kind constant (value 2) indicating a full publish request.
-	 * 
-	 * @see #publish(int, IProgressMonitor)
-	 */
-	public static final int PUBLISH_FULL = 2;
-
-	/**
-	 * Publish kind constant (value 3) indicating an automatic publish request.
-	 * 
-	 * @see #publish(int, IProgressMonitor)
-	 */
-	public static final int PUBLISH_AUTO = 3;
-
-	/**
-	 * Publish kind constant (value 4) indicating a publish clean request
-	 * 
-	 * @see #publish(int, IProgressMonitor)
-	 */
-	public static final int PUBLISH_CLEAN = 4;
-
-	/**
-	 * Returns the current state of this server.
-	 * <p>
-	 * Note that this operation is guaranteed to be fast
-	 * (it does not actually communicate with any actual
-	 * server).
-	 * </p>
-	 *
-	 * @return one of the server state (<code>STATE_XXX</code>)
-	 * constants declared on {@link IServer}
-	 */
-	public int getServerState();
-
-	/**
-	 * Returns the ILaunchManager mode that the server is in. This method will
-	 * return null if the server is not running.
-	 * 
-	 * @return the mode in which a server is running, one of the mode constants
-	 *    defined by {@link org.eclipse.debug.core.ILaunchManager}, or
-	 *    <code>null</code> if the server is stopped.
-	 */
-	public String getMode();
-
-	/**
-	 * Returns the server's sync state.
-	 *
-	 * @return one of the PUBLISH_XXX state flags
-	 */
-	public int getServerPublishState();
-
-	/**
-	 * 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
-	 * @see #removeServerListener(IServerListener)
-	 */
-	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.
-	 * 
-	 * @param listener the listener
-	 * @see #addServerListener(IServerListener)
-	 */
-	public void removeServerListener(IServerListener listener);
-
-	/**
-	 * Adds a publish listener to this server.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the publish listener
-	 * @see #removePublishListener(IPublishListener)
-	 */
-	public void addPublishListener(IPublishListener listener);
-
-	/**
-	 * Removes a publish listener from this server.
-	 * Has no effect if the listener is not registered.
-	 *
-	 * @param listener the publish listener
-	 * @see #addPublishListener(IPublishListener)
-	 */
-	public void removePublishListener(IPublishListener listener);
-
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be published to.
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if the server can
-	 *   be published to, otherwise a status object indicating what is wrong
-	 */
-	public IStatus canPublish();
-
-	/**
-	 * Publish to the server using the progress monitor. The result of the
-	 * publish operation is returned as an IStatus.
-	 * <p>
-	 * This method should not be called from the UI thread. Publishing is long-
-	 * running and may trigger resource change events or builds. Although this
-	 * framework is safe, there is no guarantee that other bundles are UI-safe
-	 * and the risk of UI deadlock is high. 
-	 * </p>
-	 * 
-	 * @param kind the kind of publish being requested. Valid values are
-	 *    <ul>
-	 *    <li><code>PUBLSIH_FULL</code>- indicates a full publish.</li>
-	 *    <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish.
-	 *    <li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws
-	 *      out all state and cleans up the module on the server before doing a
-	 *      full publish.
-	 *    </ul>
-	 * @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(int kind, IProgressMonitor monitor);
-
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be started in the given mode.
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @return a status object with code <code>IStatus.OK</code> if the server can
-	 *    be started, otherwise a status object indicating why it can't
-	 */
-	public IStatus canStart(String launchMode);
-
-	/**
-	 * Asynchronously starts this server in the given launch mode.
-	 * <p>
-	 * If canStart(launchMode) is false, this method will throw an
-	 * exception.
-	 * </p>
-	 * <p>
-	 * If the caller wants to listen for failure or success of the
-	 * server starting, it can add a server listener or use the
-	 * version of this method that takes a status listener as a
-	 * parameter.
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @exception CoreException if an error occurs while trying to start the server
-	 */
-	public void start(String launchMode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Asynchronously starts this server in the given launch mode.
-	 * <p>
-	 * If canStart(launchMode) is false, this method will throw an
-	 * exception.
-	 * </p>
-	 * <p>
-	 * The operation listener can be used to add a listener for notification
-	 * of this specific server launch. The listener will be called with a
-	 * single successful status (severity OK) when the server has
-	 * finished starting, or a single failure (severity ERROR) if
-	 * there was an error starting the server.
-	 * </p>
-	 * 
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param listener an operation listener to receive notification when this
-	 *    operation is done, or <code>null</code> if notification is not
-	 *    required
-	 */
-	public void start(String launchMode, IOperationListener listener);
-
-	/**
-	 * Starts this server in the given launch mode and waits until the server
-	 * has finished starting.
-	 * <p>
-	 * This convenience method uses {@link #start(String, IProgressMonitor)}
-	 * to start the server, and an internal thread and listener to detect
-	 * when the server has finished starting.
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @deprecated this method is deprecated. use start(String,
-	 *    IProgressMonitor, IOperationListener) instead
-	 * @exception CoreException if an error occurs while trying to start the server
-	 */
-	public void synchronousStart(String launchMode, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be restarted in the given mode. Note that only servers
-	 * that are currently running can be restarted.
-	 *
-	 * @param mode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @return a status object with code <code>IStatus.OK</code> if the server can
-	 *    be restarted, otherwise a status object indicating why it can't
-	 */
-	public IStatus canRestart(String mode);
-
-	/**
-	 * Returns whether this server is out of sync and needs to be
-	 * restarted. This method will return false when the
-	 * server is not running.
-	 * <p>
-	 * [issue: Need to explain what is it that can get out of
-	 * "out of sync" here, and how this can happen.]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this server is out of sync and needs to be
-	 * restarted, and <code>false</code> otherwise (e.g., if the contents have
-	 * not been modified and the server process is still in sync); the
-	 * result is unspecified if the server is not currently running
-	 */
-	public boolean getServerRestartState();
-
-	/**
-	 * Asynchronously restarts this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canRestart(String)}
-	 * returns <code>false</code>.
-	 * This method cannot be used to start the server from a stopped state.
-	 * <p>
-	 * If the caller wants to listen for failure or success of the
-	 * server restarting, it can add a server listener or use the
-	 * version of this method that takes a status listener as a
-	 * parameter.
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public void restart(String launchMode, IProgressMonitor monitor);
-
-	/**
-	 * Asynchronously restarts this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canRestart(String)}
-	 * returns <code>false</code>.
-	 * This method cannot be used to start the server from a stopped state.
-	 * <p>
-	 * The operation listener can be used to add a listener for notification
-	 * of this specific server restart. The listener will be called with a
-	 * single successful status (severity OK) when the server has
-	 * finished restarting, or a single failure (severity ERROR) if
-	 * there was an error restarting the server.
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param listener an operation listener to receive notification when this
-	 *    operation is done, or <code>null</code> if notification is not
-	 *    required
-	 */
-	public void restart(String launchMode, IOperationListener listener);
-
-	/**
-	 * Synchronously restarts this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canRestart(String)}
-	 * returns <code>false</code>.
-	 * <p>
-	 * [issue: There is no way to communicate failure to the
-	 * client. Given that this operation can go awry, there probably
-	 * should be a mechanism that allows failing asynch operations
-	 * to be diagnosed.]
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there was an error
-	 * @deprecated this method is deprecated. use restart(String,
-	 *    IProgressMonitor, IOperationListener) instead
-	 */
-	public void synchronousRestart(String launchMode, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be stopped.
-	 * Servers can be stopped if they are not already stopped and if
-	 * they belong to a state-set that can be stopped.
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if the server can
-	 *   be stopped, otherwise a status object indicating why it can't
-	 */
-	public IStatus canStop();
-
-	/**
-	 * Asynchronously stops this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canStop()}
-	 * returns <code>false</code>.
-	 * <p>
-	 * If force is <code>false</code>, it will attempt to stop the server
-	 * normally/gracefully. If force is <code>true</code>, then the server
-	 * process will be terminated any way that it can.
-	 * </p>
-	 * <p>
-	 * If the caller wants to listen for success or failure of the
-	 * server stopping, it can add a server listener or use the
-	 * version of this method that takes a status listener as a
-	 * parameter.
-	 * </p>
-	 * 
-	 * @param force <code>true</code> to kill the server, or <code>false</code>
-	 *    to stop normally
-	 */
-	public void stop(boolean force);
-
-	/**
-	 * Asynchronously stops this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canStop()}
-	 * returns <code>false</code>.
-	 * <p>
-	 * If force is <code>false</code>, it will attempt to stop the server
-	 * normally/gracefully. If force is <code>true</code>, then the server
-	 * process will be terminated any way that it can.
-	 * </p>
-	 * <p>
-	 * The operation listener can be used to add a listener for notification
-	 * of this specific server stop. The listener will be called with a
-	 * single successful status (severity OK) when the server has
-	 * finished stopping, or a single failure (severity ERROR) if
-	 * there was an error stopping the server.
-	 * </p>
-	 * 
-	 * @param force <code>true</code> to kill the server, or <code>false</code>
-	 *    to stop normally
-	 * @param listener an operation listener to receive notification when this
-	 *    operation is done, or <code>null</code> if notification is not
-	 *    required
-	 */
-	public void stop(boolean force, IOperationListener listener);
-
-	/**
-	 * Stops this server and waits until the server has completely stopped.
-	 * <p>
-	 * This convenience method uses {@link #stop(boolean)}
-	 * to stop the server, and an internal thread and listener to detect
-	 * when the server has complied.
-	 * </p>
-	 * 
-	 * @param force <code>true</code> to kill the server, or <code>false</code>
-	 *    to stop normally
-	 * @deprecated this method is deprecated. use stop(boolean,
-	 *    IOperationListener) instead
-	 */
-	public void synchronousStop(boolean force);
-
-	/**
-	 * Returns the current state of the given module on this server.
-	 * Returns <code>STATE_UNKNOWN</code> if the module
-	 * is not among the ones associated with this server.
-	 * 
-	 * @param module the module
-	 * @return one of the state (<code>STATE_XXX</code>) constants declared
-	 *    on {@link IServer}
-	 */
-	public int getModuleState(IModule[] module);
-
-	/**
-	 * Returns the module's sync state.
-	 * 
-	 * @param module the module
-	 * @return one of the PUBLISH_XXX state flags
-	 */
-	public int getModulePublishState(IModule[] module);
-
-	/**
-	 * Check if the given module is in sync on the server. It should
-	 * return true if the module should be restarted (is out of
-	 * sync) or false if the module does not need to be restarted.
-	 *
-	 * @param module the module
-	 * @return boolean
-	 */
-	public boolean getModuleRestartState(IModule[] module);
-
-	/**
-	 * Returns whether the given module can be restarted.
-	 * <p>
-	 * This method has a progress monitor because it may involve plugin
-	 * and class loading. No communication to the server will occur.
-	 * </p>
-	 * 
-	 * @param module the module
-	 * @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 the module can
-	 *    be restarted, otherwise a status object indicating why it can't
-	 */
-	public IStatus canControlModule(IModule[] module, IProgressMonitor monitor);
-
-	/**
-	 * Asynchronously starts this server in the given launch mode.
-	 * <p>
-	 * If canStart(launchMode) is false, this method will throw an
-	 * exception.
-	 * </p>
-	 * <p>
-	 * The operation listener can be used to add a listener for notification
-	 * of this specific module start. The listener will be called with a
-	 * single successful status (severity OK) when the module has
-	 * finished starting, or a single failure (severity ERROR) if
-	 * there was an error starting the module.
-	 * </p>
-	 *
-	 *@param module the module to be started
-	 * @param listener an operation listener to receive notification when this
-	 *    operation is done, or <code>null</code> if notification is not
-	 *    required
-	 */
-	public void startModule(IModule[] module, IOperationListener listener);
-
-	/**
-	 * Asynchronously stops the given module. This operation does
-	 * nothing if this module cannot be stopped.
-	 * <p>
-	 * The operation listener can be used to add a listener for notification
-	 * of this specific module stop. The listener will be called with a
-	 * single successful status (severity OK) when the module has
-	 * finished stopping, or a single failure (severity ERROR) if
-	 * there was an error stopping the module.
-	 * </p>
-	 * 
-	 * @param module the module to be stopped
-	 * @param listener an operation listener to receive notification when this
-	 *    operation is done, or <code>null</code> if notification is not
-	 *    required
-	 */
-	public void stopModule(IModule[] module, IOperationListener listener);
-
-	/**
-	 * Asynchronously restarts the given module on the server.
-	 * <p>
-	 * The implementation should update the module sync state and fire
-	 * an event for the module. If the module does not exist on the server,
-	 * an exception will be thrown.
-	 * </p>
-	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
-	 * any need for the progress monitor?]
-	 * </p>
-	 * <p>
-	 * [issue: IServer.synchronousModuleRestart throws CoreException
-	 * if anything goes wrong.]
-	 * </p>
-	 * <p>
-	 * [issue: If the module was just published to the server
-	 * and had never been started, would is be ok to "start"
-	 * the module using this method?]
-	 * </p>
-	 * 
-	 * @param module the module to be started
-	 * @param listener an operation listener to receive notification when this
-	 *    operation is done, or <code>null</code> if notification is not
-	 *    required
-	 */
-	public void restartModule(IModule[] module, IOperationListener listener);
-}
\ 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
deleted file mode 100644
index 30562d2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
+++ /dev/null
@@ -1,349 +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.server.core;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-/**
- * Represents a server instance. Every server is an instance of a
- * particular, fixed server type.
- * <p>
- * Not surprisingly, the notion of <b>server</b> is central in the web tools
- * server infrastructure. In this context, understand that a server is
- * a web server of some ilk. It could be a simple web server lacking Java
- * support, or an J2EE based server, or perhaps even some kind of database
- * server. A more exact definition is not required for the purposes of this API.
- * From a tool-centric point of view, a server
- * is something that the developer is writing "content" for.
- * The unit of content is termed a module.
- * In a sense, the server exists, but lacks useful content. The
- * development task is to provide that content. The content can include
- * anything from simple, static HTML web pages to complex, highly dynamic
- * web applications.
- * In the course of writing and debugging this content,
- * the developer will want to test their content on a web server, to see how it
- * gets served up. For this they will need to launch a server process running on
- * some host machine (often the local host on which the IDE is running), or
- * attach to a server that's already running on a remote (or local) host. 
- * The newly developed content sitting in the developer's workspace needs to
- * end up in a location and format that the running server can use for its
- * serving purposes.
- * </p>
- * <p>
- * In this picture, an <code>IServer</code> object is a proxy for the real web
- * server. Through this proxy, a client can configure the server, and start,
- * stop, and restart it.
- * </p>
- * <p>
- * IServerAttributes implements IAdaptable to allow users to obtain a
- * server-type-specific class. By casting the runtime extension to the type
- * prescribed in the API documentation for that particular server type, the
- * client can access server-type-specific properties and methods.
- * getAdapter() may involve plugin loading, and should not be called from
- * popup menus, etc.
- * </p>
- * <p>
- * The server framework maintains a global list of all known server instances
- * ({@link ServerCore#getServers()}).
- * </p>
- * <p>
- * [rough notes:
- * Server has a state.
- * Server can be started, stopped, and restarted.
- * To modify server attributes, get a working copy, modify it, and then save it
- * to commit the changes.
- * Server attributes. Serialization.
- * Chained working copies for runtime, server configuration.
- * Server has a set of root modules.
- * Modules have state wrt a server.
- * Restarting modules.]
- * </p>
- * <p>
- * Two servers are identical if and only if they have the same id.
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * 
- * @since 1.0
- */
-public interface IServerAttributes extends IAdaptable {
-	/**
-	 * Returns the displayable name for this server.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns the id of this server.
-	 * Each server (of a given type) has a distinct id, fixed for
-	 * its lifetime. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * 
-	 * @return the server id
-	 */
-	public String getId();
-
-	/**
-	 * 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;
-
-	/**
-	 * Returns whether this server is marked read only.
-	 * When a server is read only, working copies can be created but
-	 * they cannot be saved.
-	 *
-	 * @return <code>true</code> if this server is marked as read only,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean isReadOnly();
-
-	/**
-	 * Returns true if this is a working copy.
-	 * 
-	 * @return <code>true</code> if this server is a working copy,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean isWorkingCopy();
-
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> if
-	 * no such object can be found, or if the delegate is not
-	 * loaded.
-	 * <p>
-	 * This method will not check the delegate classes for adapting
-	 * unless they are already loaded. No plugin loading will occur
-	 * when calling this method. It is suitable for popup menus and
-	 * other UI artifacts where performance is a concern.
-	 * </p>
-	 * 
-	 * @param adapter the adapter class to look up
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 * @see IAdaptable#getAdapter(Class)
-	 * @see #loadAdapter(Class, IProgressMonitor)
-	 */
-	public Object getAdapter(Class adapter);
-
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> only if
-	 * no such object can be found after loading and initializing
-	 * delegates.
-	 * <p>
-	 * This method will force a load and initialization of all delegate
-	 * classes and check them for adapting.
-	 * </p>
-	 * 
-	 * @param adapter the adapter class to look up
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 * @see #getAdapter(Class)
-	 */
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor);
-
-	/**
-	 * 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.
-	 * 
-	 * @return a host string conforming to RFC 2732
-	 * @see java.net.URL#getHost()
-	 */
-	public String getHost();
-
-	/**
-	 * Returns the runtime associated with this server.
-	 * <p>
-	 * Note: The runtime of a server working copy may or may not
-	 * be a working copy. For a server instance that is not a
-	 * working copy, the runtime instance is not a working copy
-	 * either.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * runtimeTypeId is a mandatory attribute. It seems odd
-	 * then to have server runtime instance being an
-	 * optional property of server instance. What does it mean
-	 * for a server to not have a runtime?]
-	 * </p>
-	 * 
-	 * @return the runtime, or <code>null</code> if none
-	 */
-	public IRuntime getRuntime();
-	
-	/**
-	 * Returns the type of this server.
-	 * 
-	 * @return the server type
-	 * @see IServerType
-	 */
-	public IServerType getServerType();
-	
-	/**
-	 * Returns the server configuration associated with this server.
-	 * <p>
-	 * Note: The server configuration of a server working copy may
-	 * or may not be a working copy. For a server instance that is
-	 * not a working copy, the server configuration instance is not
-	 * a working copy either.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * configurationTypeId is an optional attribute. If a server type
-	 * has no server configuration type, then it seems reasonable to 
-	 * expect this method to return null for all instances of that server
-	 * type. But what about a server type that explicitly specifies
-	 * a server configuration type. Does that mean that all server
-	 * instances of that server type must have a server configuration
-	 * instance of that server configuration type, and that this method
-	 * never returns null in those cases?]
-	 * </p>
-	 * 
-	 * @return the server configuration, or <code>null</code> if none
-	 */
-	public IFolder getServerConfiguration();
-
-	/**
-	 * Returns a server working copy for modifying this server instance.
-	 * If this instance is already a working copy, it is returned.
-	 * If this instance is not a working copy, a new server working copy
-	 * is created with the same id and attributes.
-	 * Clients are responsible for saving or releasing the working copy when
-	 * they are done with it.
-	 * <p>
-	 * The server working copy is related to this server instance
-	 * in the following ways:
-	 * <pre>
-	 * this.getWorkingCopy().getId() == this.getId()
-	 * this.getWorkingCopy().getFile() == this.getFile()
-	 * this.getWorkingCopy().getOriginal() == this
-	 * this.getWorkingCopy().getRuntime() == this.getRuntime()
-	 * this.getWorkingCopy().getServerConfiguration() == this.getServerConfiguration()
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * [issue: IServerWorkingCopy extends IServer. 
-	 * Server.getWorkingCopy() create a new working copy;
-	 * ServerWorkingCopy.getWorkingCopy() returns this.
-	 * This may be convenient in code that is ignorant of
-	 * whether they are dealing with a working copy or not.
-	 * However, it is hard for clients to manage working copies
-	 * with this design.]
-	 * </p>
-	 * 
-	 * @return a new working copy
-	 */
-	public IServerWorkingCopy createWorkingCopy();
-
-	/**
-	 * Returns an array of user modules that are currently configured on
-	 * the server. When the server is published, these are the projects
-	 * that will be configured on the server. This method may not return
-	 * the list of projects that are currently on the server if a module
-	 * has been added since the last publish.
-	 * <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>
-	 * 
-	 * @return a possibly-empty array of modules
-	 */
-	public IModule[] getModules();
-
-	/**
-	 * Returns whether the specified module modifications could be made to this
-	 * server at this time.
-	 * <p>
-	 * This method may decide based on the type of module
-	 * or refuse simply due to reaching a maximum number of
-	 * modules or other criteria.
-	 * </p>
-	 * <p>
-	 * [issue: This seems odd to have a pre-flight method.
-	 * I should expect that the client can propose making
-	 * any set of module changes they desire (via a server
-	 * working copy). If the server doesn't like it, the operation
-	 * should fail.]
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return <code>true</code> if the proposed modifications
-	 * look feasible, and <code>false</code> otherwise
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor);
-
-	/**
-	 * Returns the child module(s) of this module. If this
-	 * module contains other modules, it should list those
-	 * modules. If not, it should return an empty list.
-	 *
-	 * <p>This method should only return the direct children.
-	 * To obtain the full module tree, this method may be
-	 * recursively called on the children.</p>
-	 *
-	 * @param module a module
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return an array of direct module children
-	 */
-	public IModule[] getChildModules(IModule module[], IProgressMonitor monitor);
-
-	/**
-	 * Returns the parent module(s) of this module. When determining if a given
-	 * project can run on a server, this method will be used to find the actual
-	 * module(s) that may be run on the server. For instance, a Web module may
-	 * return a list of EAR modules that it is contained in if the server only
-	 * supports configuring EAR modules. If the server supports running a module
-	 * directly, the returned array should contain the module.
-	 * 
-	 * <p>If the module type is not supported, this method will return null or
-	 * an empty array. If the type is normally supported but there is a
-	 * configuration problem or missing parent, etc., this method will fire a
-	 * CoreException that may then be presented to the user.</p>
-	 * 
-	 * <p>If it does return valid parent(s), this method will always return
-	 * the topmost parent module(s), even if there are a few levels
-	 * (a heirarchy) of modules.</p>
-	 * 
-	 * @param module a module
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return an array of possible root modules
-	 * @throws CoreException if there is a problem
-	 */
-	public IModule[] getRootModules(IModule module, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Returns an array of ServerPorts that this server has.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly empty array of servers ports
-	 */
-	public ServerPort[] getServerPorts(IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleListener.java
deleted file mode 100644
index d2c20b8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * Listener interface for changes to servers.
- * <p>
- * This interface is fired whenever a server is added, modified, or removed.
- * All events are fired post-change, so that all server tools API called as a
- * result of the event will return the updated results. (for example, on
- * serverAdded the new server will be in the global list of servers
- * ({@link ServerCore#getServers()}), and on serverRemoved the server will
- * not be in the list.
- * </p>
- * 
- * @see ServerCore
- * @see IServer
- * @since 1.0
- */
-public interface IServerLifecycleListener {
-	/**
-	 * A new server has been created.
-	 *
-	 * @param server the new server
-	 */
-	public void serverAdded(IServer server);
-
-	/**
-	 * An existing server has been updated or modified.
-	 *
-	 * @param server the modified server
-	 */
-	public void serverChanged(IServer server);
-
-	/**
-	 * A existing server has been removed.
-	 *
-	 * @param server the removed server
-	 */
-	public void serverRemoved(IServer server);
-}
\ 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
deleted file mode 100644
index 3840581..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * This interface is used by the server to broadcast a change of state.
- * Usually, the change of state will be caused by some user action,
- * (e.g. requesting to start a server) however, it is equally fine for
- * a server to broadcast a change of state through no direct user action.
- * (e.g. stopping because the server crashed) This information can be
- * used to inform the user of the change or update the UI.
- *
- * <p>Note: The server listener event MUST NOT directly be used to modify
- * the server's 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>
- *   
- * @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
-	 */
-	public void serverChanged(ServerEvent event); 
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
deleted file mode 100644
index 30a2d6e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
+++ /dev/null
@@ -1,226 +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.server.core;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents a server type from which server instances can be created.
- * <p>
- * The server core framework supports
- * an open-ended set of server types, which are contributed via
- * the <code>serverTypes</code> extension point in the server core
- * plug-in. Server type objects carry no state (all information is
- * read-only and is supplied by the server type declaration).
- * The global list of known server types is available via
- * {@link ServerCore#getServerTypes()}. 
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * Two server types are identical if and only if they have the same id.
- * </p>
- * 
- * @since 1.0
- */
-public interface IServerType {
-	/**
-	 * Returns the id of this server type.
-	 * Each known server type has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the server type id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this server type.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this server type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the displayable description for this server type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this server type
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns the type of server runtime that this type
-	 * of server requires.
-	 * <p>
-	 * [issue: "runtimeTypeId" is mandatory according the
-	 * serverTypes schema. This suggests that all types
-	 * of servers have a server runtime. But there is also
-	 * a boolean "runtime" attribute indicating whether the
-	 * server requires a runtime. I supect that server type
-	 * has an optional server runtime, in which case you
-	 * can make "runtimeTypeId" optional and dispense with
-	 * "runtime".]
-	 * </p>
-	 * <p>
-	 * [issue: Does it really make sense for
-	 * runtimeTypes and serverTypes be separate extension
-	 * points? Would it not be sufficient to have the party declaring
-	 * the server type also declare the server runtime type?
-	 * Having runtimeType as a separate extension point
-	 * only makes sense if it would be possible in principle to 
-	 * declare a server runtime type that could actually be
-	 * used on serveral server types. If server runtimes
-	 * always end up being server-type specific, it would be better
-	 * to combine them.]
-	 * </p>
-	 * <p>
-	 * [issue: What should happen when a server type mentions
-	 * the id of a server runtime type that is not known
-	 * to the system?]
-	 * </p>
-	 * 
-	 * @return a server runtime type
-	 */
-	public IRuntimeType getRuntimeType();
-	
-	/**
-	 * Returns whether this type of server requires a server
-	 * runtime.
-	 * <p>
-	 * [issue: See issues on getRuntimeType(). I suspect this
-	 * method is unnecessary, and that 
-	 * this.getRuntimeType() != null will do.]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server requires
-	 * a server runtime, and <code>false</code> if it does not
-	 * @see #getRuntimeType()
-	 */
-	public boolean hasRuntime();
-	
-	/**
-	 * Returns whether this type of server supports the given launch mode.
-	 * <p>
-	 * [issue: It also seems odd that this is part of the server type
-	 * declaration. This means that any server type has to commit
-	 * so early on which modes it supports.]
-	 * </p>
-	 * 
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @return whether this type of server supports the given mode
-	 */
-	public boolean supportsLaunchMode(String launchMode);
-
-	/**
-	 * Returns whether this type of server requires a server
-	 * configuration.
-	 * <p>
-	 * [issue: It's not clear how this method differs from 
-	 * this.getServerConfigurationType() != null]
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this type of server requires
-	 *    a server configuration, and <code>false</code> if it does not
-	 */
-	public boolean hasServerConfiguration();
-
-	/**
-	 * 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).
-	 * 
-	 * @return <code>true</code> if this type of server can run on
-	 *    a remote host, and <code>false</code> if it cannot
-	 */
-	public boolean supportsRemoteHosts();
-
-	/**
-	 * Creates an working copy instance of this server type.
-	 * After setting various properties of the working copy,
-	 * the client should call {@link IServerWorkingCopy#save(boolean, IProgressMonitor)}
-	 * to bring the server instance into existence.
-	 * <p>
-	 * [issue: Why is a runtime passed in? 
-	 * IServerWorkingCopy.setRuntime(runtime) could be called on
-	 * the result to accomplish the same thing.]
-	 * </p>
-	 * <p>
-	 * [issue: The implementation of this method never creates a server
-	 * config working copy, whereas the other one does!?]
-	 * Consider combining the method with the other.]
-	 * </p>
-	 * <p>
-	 * The server returned from this method will have it's host set to
-	 * "localhost". Other defaults will be set by calling the server
-	 * delegate's setDefaults() method.
-	 * </p>
-	 * 
-	 * @param id the id to assign to the server instance; a generated
-	 *    id is used if id is <code>null</code> or an empty string
-	 * @param file the file in the workspace where the server instance
-	 *    is to be serialized, or <code>null</code> if the information is
-	 *    instead to be persisted with the workspace but not with any
-	 *    particular workspace resource
-	 * @param runtime the runtime to associate with the server instance,
-	 *    or <code>null</code> if none
-	 * @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
-	 */
-	public IServerWorkingCopy createServer(String id, IFile file, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Creates a working copy instance of this server type.
-	 * After setting various properties of the working copy,
-	 * the client should call {@link IServerWorkingCopy#save(boolean, IProgressMonitor)}
-	 * to bring the server instance into existence.
-	 * <p>
-	 * [issue: Since this method just creates a working copy,
-	 * it's not clear the operation is long-running and in need
-	 * of a progress monitor.]
-	 * </p>
-	 * <p>
-	 * The server returned from this method will have it's host set to
-	 * "localhost". Other defaults will be set by calling the server
-	 * delegate's setDefaults() method.
-	 * </p>
-	 * <p>
-	 * [issue: The implementation of this method creates a server
-	 * config working copy, whereas the other one does not!?
-	 * Consider combining the method with the other.]
-	 * </p>
-	 * 
-	 * @param id the id to assign to the server instance; a generated
-	 *    id is used if id is <code>null</code> or an empty string
-	 * @param file the file in the workspace where the server instance
-	 *    is to be serialized, or <code>null</code> if the information is
-	 *    instead to be persisted with the workspace but not with any
-	 *    particular workspace resource
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a new server working copy with the given id
-	 * @throws CoreException if an exception occurs while creating this runtime
-	 *    or setting it's default values
-	 */
-	public IServerWorkingCopy createServer(String id, IFile file, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java
deleted file mode 100644
index ce68672..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java
+++ /dev/null
@@ -1,283 +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.server.core;
-
-import java.beans.PropertyChangeListener;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * A working copy server object used for formulating changes
- * to a server instance ({@link IServer}).
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- * 
- * @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;
-
-	/**
-	 * Sets the displayable name for this server.
-	 * <p>
-	 * The name should be appropriate for the current locale.
-	 * </p>
-	 *
-	 * @param name a displayable name
-	 * @see IServerAttributes#getName()
-	 */
-	public void setName(String name);
-	
-	/**
-	 * Sets or unsets whether this server is marked as read only.
-	 * When a server is read only, working copies can be created but
-	 * they cannot be saved.
-	 *
-	 * @param readOnly <code>true</code> to set this server to be marked
-	 *    read only, and <code>false</code> to unset
-	 */
-	public void setReadOnly(boolean readOnly);
-	
-	/**
-	 * Returns whether this working copy has unsaved changes.
-	 * 
-	 * @return <code>true</code> if this working copy has unsaved
-	 *    changes, and <code>false</code> otherwise
-	 */
-	public boolean isDirty();
-
-	/**
-	 * 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)
-	 */
-	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)
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener);
-
-	/**
-	 * Sets the server configuration associated with this server working copy.
-	 * <p>
-	 * Note: The server configuration of a server working copy may
-	 * or may not be a working copy.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * configurationTypeId is an optional attribute. What happens if the
-	 * server configuration passed is null but the server must have a
-	 * server configuration? What happens of the server configuration
-	 * has the wrong type? Do the errors get detected and reported now, or
-	 * upon save()?]
-	 * </p>
-	 * 
-	 * @param configuration the server configuration, or <code>null</code> if none
-	 */
-	public void setServerConfiguration(IFolder configuration);
-	
-	/**
-	 * Returns the server instance that this working copy is
-	 * associated with.
-	 * <p>
-	 * For a server working copy created by a call to
-	 * {@link IServer#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)},
-	 * <code>this.getOriginal()</code> returns <code>null</code>.
-	 * </p>
-	 * 
-	 * @return the associated server instance, or <code>null</code> if none
-	 */
-	public IServer getOriginal();
-
-	/**
-	 * Commits the changes made in this working copy. If there is
-	 * no extant server instance with a matching id and server
-	 * type, this will create a server instance with attributes
-	 * taken from this working copy. If there an existing server
-	 * instance with a matching id and server type, this will
-	 * change the server instance accordingly.
-	 * <p>
-	 * If there an existing server instance with a matching id and
-	 * server type, this will change the server instance accordingly.
-	 * The returned server will be the same server this is returned
-	 * from getOriginal(), after the changes have been applied.
-	 * Otherwise, this method will return a newly created server.
-	 * </p>
-	 * <p>
-	 * Servers can be saved even when they have invalid properties. It
-	 * is the clients responsibility to validate or check the
-	 * properties before saving.
-	 * </p>
-	 * <p>
-	 * This method does not apply changes to the server. A publish()
-	 * must be completed to push out after the save to push out any
-	 * changes to the server.
-	 * </p>
-	 * <p>
-	 * [issue: What is lifecycle for ServerWorkingCopyDelegate
-	 * associated with this working copy?]
-	 * </p>
-	 * <p>
-	 * [issue: Since it does not make sense to commit a server
-	 * working copy without first committing any associated
-	 * runtime and server config working copies, the semantics
-	 * of saveAll should be part and parcel of the
-	 * normal save, and the saveAll method eliminated.]
-	 * </p>
-	 * 
-	 * @param 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;
-
-	/**
-	 * Commits the changes made in this server working copy after
-	 * first committing any associated server configuration or
-	 * server runtime working copies.
-	 * <p>
-	 * This convenience method is equivalent to:
-	 * <pre>
-	 * IRuntime rt = this.getRuntime();
-	 * if (rt != null && rt.isWorkingCopy()) {
-	 *    ((IRuntimeWorkingCopy) rt).save(monitor);
-	 * }
-	 * IServerConfiguration cf = this.getServerConfiguration();
-	 * if (cf != null && cf.isWorkingCopy()) {
-	 *    ((IServerConfigurationWorkingCopy) cf).save(monitor);
-	 * }
-	 * return save(monitor);
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * [issue: Since it does not make sense to commit a server
-	 * working copy without first committing any associated
-	 * runtime and server config working copies, the semantics
-	 * of this operation should be part and parcel of the
-	 * normal save, and the saveAll method eliminated.]
-	 * </p>
-	 * 
-	 * @param 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 runtime associated with this server working copy.
-	 * <p>
-	 * Note: The runtime of a server working copy may
-	 * or may not be a working copy.
-	 * </p>
-	 * <p>
-	 * [issue: According to serverType extension point, 
-	 * runtimeTypeId is a mandatory attribute. But IServer.getRuntime()
-	 * is allowed to return null, suggesting that it is optional for instances.
-	 * What happens if the runtime passed is null but the server must
-	 * have a runtime? What happens if the runtime has the wrong
-	 * type? Do the errors get detected and reported now, or upon save()?]
-	 * </p>
-	 * 
-	 * @param runtime the runtime, or <code>null</code> if none
-	 */
-	public void setRuntime(IRuntime runtime);
-
-	/**
-	 * Changes the host for the server.
-	 * The format of the host can be either a qualified or unqualified hostname,
-	 * or an IP address and must conform to RFC 2732.
-	 * 
-	 * <p>
-	 * [issue: This is a questionable operation if there is a running
-	 * server associated with the original. When a host name
-	 * change is committed, the server instance loses contact with
-	 * the running server because of the host name change.]
-	 * </p>
-	 * 
-	 * @param host a host string conforming to RFC 2732
-	 * @see IServer#getHost()
-	 * @see java.net.URL#getHost()
-	 */
-	public void setHost(String host);
-
-	/**
-	 * Modifies the list of modules associated with the server.
-	 * The modules included in the <code>add</code> list
-	 * must exist in the workspace and must not already be associated
-	 * with the server.
-	 * The modules included in the <code>remove</code> list
-	 * must be associated with the server, but may or may not exist
-	 * in the workspace.
-	 * <p>
-	 * This method will not communicate with the server. After saving,
-	 * publish() can be used to sync up with the server.
-	 * </p>
-	 * <p>
-	 * [issue: How to formulate what it means
-	 * to say "the module must exist in the workspace"?]
-	 * </p>
-	 * <p>
-	 * [issue: The spec should be more lax. Attempting to add
-	 * a module that's already include should be quietly ignore;
-	 * ditto removing a module that's not on this list. This
-	 * simplifies the handling of various other wacko cases 
-	 * such as duplication within and between the add and remove
-	 * lists.]
-	 * </p>
-	 * <p>
-	 * [issue: The spec had also said: "...canModifyModules()
-	 * should have returned true. The configuration must assume
-	 * any default settings and add the module without any UI."]
-	 * </p>
-	 * <p>
-	 * [issue: What error checking should be performed by this
-	 * operation, and what needs to be performed by save() if
-	 * the client tries to commit these hypothetisized changes?]
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException [missing]
-	 */
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
deleted file mode 100644
index 971ad57..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
+++ /dev/null
@@ -1,532 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.internal.*;
-/**
- * Main class for server core API.
- * <p>
- * This class provides API to access most of the types in the server
- * framework, including server runtimes and servers. Methods **
- * The methods on this class are thread safe.
- * </p>
- * <p>
- * This class provides all its functionality through static members.
- * It is not intended to be subclassed or instantiated.
- * </p>
- * 
- * @since 1.0
- */
-public class ServerCore {
-	private static final String EXTENSION_SERVER_TYPE = "serverTypes";
-	private static final String EXTENSION_RUNTIME_TYPE = "runtimeTypes";
-
-	//	cached copy of all runtime types
-	private static List runtimeTypes;
-
-	//	cached copy of all server and configuration types
-	private static List serverTypes;
-
-	private static IRegistryChangeListener registryListener;
-
-	private static boolean initialized = false;
-
-	private static class RegistryChangeListener implements IRegistryChangeListener {
-		public void registryChanged(IRegistryChangeEvent event) {
-			IExtensionDelta[] deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE);
-			if (deltas != null) {
-				for (int i = 0; i < deltas.length; i++) {
-					handleRuntimeTypeDelta(deltas[i]);
-				}
-			}
-			
-			deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE);
-			if (deltas != null) {
-				for (int i = 0; i < deltas.length; i++) {
-					handleServerTypeDelta(deltas[i]);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Cannot create ServerCore - use static methods.
-	 */
-	private ServerCore() {
-		// can't create
-	}
-
-	/**
-	 * Returns the resource manager.
-	 *
-	 * @return org.eclipse.wst.server.core.internal.ResourceManager
-	 */
-	private final static ResourceManager getResourceManager() {
-		if (!initialized)
-			initialize();
-		return ResourceManager.getInstance();
-	}
-
-	/**
-	 * Returns the preference information for the project. The project may not
-	 * be null.
-	 *
-	 * @param project a project
-	 * @return the properties of the project
-	 * @deprecated Project facet support should now be used instead of this API. @see
-	 *    org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime()
-	 */
-	public static IProjectProperties getProjectProperties(IProject project) {
-		if (project == null)
-			throw new IllegalArgumentException();
-		return new IProjectProperties() {
-			public IRuntime getRuntimeTarget() {
-				return null;
-			}
-		};
-	}
-
-	/**
-	 * Returns an array of all known runtime types.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return the array of runtime types {@link IRuntimeType}
-	 */
-	public static IRuntimeType[] getRuntimeTypes() {
-		if (runtimeTypes == null)
-			loadRuntimeTypes();
-		
-		IRuntimeType[] rt = new IRuntimeType[runtimeTypes.size()];
-		runtimeTypes.toArray(rt);
-		return rt;
-	}
-
-	/**
-	 * Returns the runtime type with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * runtime types ({@link #getRuntimeTypes()}) for the one with a matching
-	 * runtime type id ({@link IRuntimeType#getId()}). The id may not be null.
-	 *
-	 * @param id the runtime type id
-	 * @return the runtime type, or <code>null</code> if there is no runtime type
-	 * with the given id
-	 */
-	public static IRuntimeType findRuntimeType(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-
-		if (runtimeTypes == null)
-			loadRuntimeTypes();
-		
-		Iterator iterator = runtimeTypes.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeType runtimeType = (IRuntimeType) iterator.next();
-			if (id.equals(runtimeType.getId()))
-				return runtimeType;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns an array of all known runtime target handler instances.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of runtime target handler instances
-	 *    {@link IRuntimeTargetHandler}
-	 */
-	public static IRuntimeTargetHandler[] getRuntimeTargetHandlers() {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Returns the runtime target handler with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known runtime
-	 * target handlers ({@link #getRuntimeTargetHandlers()}) for the one with
-	 * a matching runtime target handler id ({@link IRuntimeTargetHandler#getId()}).
-	 * The id may not be null.
-	 *
-	 * @param id the runtime target handler id
-	 * @return the runtime target handler instance, or <code>null</code> if
-	 *   there is no runtime target handler with the given id
-	 */
-	public static IRuntimeTargetHandler findRuntimeTargetHandler(String id) {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Returns an array of all known server types.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return the array of server types {@link IServerType}
-	 */
-	public static IServerType[] getServerTypes() {
-		if (serverTypes == null)
-			loadServerTypes();
-		
-		IServerType[] st = new IServerType[serverTypes.size()];
-		serverTypes.toArray(st);
-		return st;
-	}
-
-	/**
-	 * Returns the server type with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * server types ({@link #getServerTypes()}) for the one with a matching
-	 * server type id ({@link IServerType#getId()}). The id may not be null.
-	 *
-	 * @param id the server type id
-	 * @return the server type, or <code>null</code> if there is no server type
-	 * with the given id
-	 */
-	public static IServerType findServerType(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-
-		if (serverTypes == null)
-			loadServerTypes();
-		
-		Iterator iterator = serverTypes.iterator();
-		while (iterator.hasNext()) {
-			IServerType serverType = (IServerType) iterator.next();
-			if (id.equals(serverType.getId()))
-				return serverType;
-		}
-		return null;
-	}
-
-	/**
-	 * Execute the server startup extension points.
-	 */
-	private static synchronized void executeStartups() {
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .startup extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalStartup");
-
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			try {
-				IStartup startup = (IStartup) cf[i].createExecutableExtension("class");
-				try {
-					startup.startup();
-				} catch (Exception ex) {
-					Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex);
-				}
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded startup: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load startup: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .startup extension point -<-");
-	}
-
-	private static synchronized void initialize() {
-		if (initialized)
-			return;
-		
-		initialized = true;
-		executeStartups();
-	}
-
-	/**
-	 * Load the runtime types.
-	 */
-	private static synchronized void loadRuntimeTypes() {
-		if (runtimeTypes != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .runtimeTypes extension point ->-");
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE);
-		List list = new ArrayList(cf.length);
-		addRuntimeTypes(cf, list);
-		addRegistryListener();
-		runtimeTypes = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .runtimeTypes extension point -<-");
-	}
-
-	/**
-	 * Load the runtime types.
-	 */
-	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List list) {
-		for (int i = 0; i < cf.length; i++) {
-			try {
-				list.add(new RuntimeType(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded runtimeType: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load runtimeType: " + cf[i].getAttribute("id"), t);
-			}
-		}
-	}
-
-	/**
-	 * Load the server types.
-	 */
-	private static synchronized void loadServerTypes() {
-		if (serverTypes != null)
-			return;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverTypes extension point ->-");
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE);
-		List list = new ArrayList(cf.length);
-		addServerTypes(cf, list);
-		addRegistryListener();
-		serverTypes = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverTypes extension point -<-");
-	}
-
-	/**
-	 * Load the server types.
-	 */
-	private static synchronized void addServerTypes(IConfigurationElement[] cf, List list) {
-		for (int i = 0; i < cf.length; i++) {
-			try {
-				list.add(new ServerType(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded serverType: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverType: " + cf[i].getAttribute("id"), t);
-			}
-		}
-	}
-
-	/**
-	 * Returns the runtime with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * runtimes ({@link #getRuntimes()}) for the one with a matching
-	 * runtime id ({@link IRuntime#getId()}). The id may not be null.
-	 *
-	 * @param id the runtime id
-	 * @return the runtime instance, or <code>null</code> if there is no runtime
-	 * with the given id
-	 */
-	public static IRuntime findRuntime(String id) {
-		if (!initialized)
-			initialize();
-		return getResourceManager().getRuntime(id);
-	}
-
-	/**
-	 * Returns an array of all known runtime instances. The list will not contain any
-	 * working copies.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of runtime instances {@link IRuntime}
-	 */
-	public static IRuntime[] getRuntimes() {
-		if (!initialized)
-			initialize();
-		return getResourceManager().getRuntimes();
-	}
-
-	/**
-	 * Returns the server with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * servers ({@link #getServers()}) for the one with a matching
-	 * server id ({@link IServer#getId()}). The id must not be null.
-	 *
-	 * @param id the server id
-	 * @return the server instance, or <code>null</code> if there is no server
-	 * with the given id
-	 */
-	public static IServer findServer(String id) {
-		if (!initialized)
-			initialize();
-		return getResourceManager().getServer(id);
-	}
-
-	/**
-	 * Returns an array of all known server instances. The array will not include any
-	 * working copies.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of server instances {@link IServer}
-	 */
-	public static IServer[] getServers() {
-		if (!initialized)
-			initialize();
-		return getResourceManager().getServers();
-	}
-
-	/**
-	 * Adds a new runtime lifecycle listener.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a runtime lifecycle listener
-	 * @see #removeRuntimeLifecycleListener(IRuntimeLifecycleListener)
-	 */
-	public static void addRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		getResourceManager().addRuntimeLifecycleListener(listener);
-	}
-
-	/**
-	 * Removes a runtime lifecycle listener.
-	 * Has no effect if the listener is not registered.
-	 *
-	 * @param listener a runtime lifecycle listener
-	 * @see #addRuntimeLifecycleListener(IRuntimeLifecycleListener)
-	 */
-	public static void removeRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		getResourceManager().removeRuntimeLifecycleListener(listener);
-	}
-
-	/**
-	 * Adds a new server lifecycle listener.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a server lifecycle listener
-	 * @see #removeServerLifecycleListener(IServerLifecycleListener)
-	 */
-	public static void addServerLifecycleListener(IServerLifecycleListener listener) {
-		getResourceManager().addServerLifecycleListener(listener);
-	}
-
-	/**
-	 * Removes a server lifecycle listener.
-	 * Has no effect if the listener is not registered.
-	 *
-	 * @param listener a server lifecycle listener
-	 * #addServerLifecycleListener(IServerLifecycleListener)
-	 */
-	public static void removeServerLifecycleListener(IServerLifecycleListener listener) {
-		getResourceManager().removeServerLifecycleListener(listener);
-	}
-
-	/**
-	 * Returns the preferred runtime server for the given module. This method
-	 * returns null if the server was never chosen or does not currently exist. (if the
-	 * server is recreated or was in a closed project, etc. this method will return
-	 * the original value if it becomes available again)
-	 *
-	 * @param module a module
-	 * @return the current default server, or <code>null</code> if there is no
-	 *    default server
-	 */
-	public static IServer getDefaultServer(IModule module) {
-		if (!initialized)
-			initialize();
-		return ModuleProperties.getInstance().getDefaultServer(module);
-	}
-
-	/**
-	 * Sets the preferred runtime server for the given module. Set the server to
-	 * null to clear the setting. If there is a problem saving the file, a CoreException
-	 * will be thrown.
-	 * 
-	 * @param module the module to set the default for
-	 * @param server the server to set the default server, or <code>null</code>
-	 *    to unset the default
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is a problem setting the default server
-	 */
-	public static void setDefaultServer(IModule module, IServer server, IProgressMonitor monitor) throws CoreException {
-		if (!initialized)
-			initialize();
-		ModuleProperties.getInstance().setDefaultServer(module, server, monitor);
-	}
-
-	/**
-	 * Handles a change to the server type extension point due to bundles getting added
-	 * or removed dynamically at runtime.
-	 * 
-	 * @param delta an extension delta
-	 */
-	protected static void handleServerTypeDelta(IExtensionDelta delta) {
-		if (serverTypes == null) // not loaded yet
-			return;
-		
-		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
-		
-		List list = new ArrayList(serverTypes);
-		if (delta.getKind() == IExtensionDelta.ADDED) {
-			addServerTypes(cf, list);
-		} else {
-			int size = list.size();
-			ServerType[] st = new ServerType[size];
-			list.toArray(st);
-			int size2 = cf.length;
-			
-			for (int i = 0; i < size; i++) {
-				for (int j = 0; j < size2; j++) {
-					if (st[i].getId().equals(cf[j].getAttribute("id"))) {
-						st[i].dispose();
-						list.remove(st[i]);
-					}
-				}
-			}
-		}
-		serverTypes = list;
-		getResourceManager().resolveServers();
-	}
-
-	/**
-	 * Handles a change to the runtime type extension point due to bundles getting added
-	 * or removed dynamically at runtime.
-	 * 
-	 * @param delta an extension delta
-	 */
-	protected static void handleRuntimeTypeDelta(IExtensionDelta delta) {
-		if (runtimeTypes == null) // not loaded yet
-			return;
-		
-		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
-		
-		List list = new ArrayList(runtimeTypes);
-		if (delta.getKind() == IExtensionDelta.ADDED) {
-			addRuntimeTypes(cf, list);
-		} else {
-			int size = list.size();
-			RuntimeType[] rt = new RuntimeType[size];
-			list.toArray(rt);
-			int size2 = cf.length;
-			
-			for (int i = 0; i < size; i++) {
-				for (int j = 0; j < size2; j++) {
-					if (rt[i].getId().equals(cf[j].getAttribute("id"))) {
-						rt[i].dispose();
-						list.remove(rt[i]);
-					}
-				}
-			}
-		}
-		runtimeTypes = list;
-		getResourceManager().resolveRuntimes();
-		getResourceManager().resolveServers();
-	}
-
-	private static void addRegistryListener() {
-		if (registryListener != null)
-			return;
-		
-		registryListener = new RegistryChangeListener();
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		registry.addRegistryChangeListener(registryListener, ServerPlugin.PLUGIN_ID);
-		ServerPlugin.setRegistryListener(registryListener);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerEvent.java
deleted file mode 100644
index d17e2c6..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerEvent.java
+++ /dev/null
@@ -1,223 +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;
-/**
- * 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/ServerPort.java
deleted file mode 100644
index 9914bf8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerPort.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core;
-/**
- * This class represents a port on a server.
- * 
- * @since 1.0
- */
-public class ServerPort {
-	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);
-	}
-
-	/**
-	 * 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, String[] contentTypes, boolean advanced) {
-		super();
-		this.id = id;
-		this.name = name;
-		this.port = port;
-		this.protocol = protocol;
-		this.contentTypes = contentTypes;
-		this.advanced = advanced;
-	}
-
-	/**
-	 * Return an optional internal id used to identify this port.
-	 * 
-	 * @return an internal id
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Return the name of the port.
-	 * 
-	 * @return the name of the port
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Return the actual port number.
-	 * 
-	 * @return the port number
-	 */
-	public int getPort() {
-		return port;
-	}
-
-	/**
-	 * Returns the protocol, e.g. HTTP of this port. Returns null
-	 * if the protocol is unknown.
-	 * 
-	 * @return the procotol
-	 */
-	public String getProtocol() {
-		return protocol;
-	}
-
-	/**
-	 * 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() {
-		return contentTypes;
-	}
-
-	/**
-	 * 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() {
-		return advanced;
-	}
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ServerPort))
-			return false;
-		ServerPort sp = (ServerPort) obj;
-		return (sp.port == port);
-	}
-
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return port;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "ServerPort [" + getName() + ", " + getId() + ", " + getPort() + ", " + getProtocol() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
deleted file mode 100644
index dc47f1d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
+++ /dev/null
@@ -1,801 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.internal.*;
-/**
- * Server utility methods. These static methods can be used to perform
- * common operations on server artifacts.
- * 
- * @since 1.0
- */
-public class ServerUtil {
-	/**
-	 * Static utility class - cannot create an instance.
-	 */
-	private ServerUtil() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the module contained within the given project. If more than one module
-	 * is contained with the project, this method will return an arbitrary module
-	 * unless the module factory defines an ordering. If there might be multiple
-	 * modules in a project, users should typically use getModules(IProject) instead.
-	 * 
-	 * @param project a project
-	 * @return a module that is contained with the project, or null if no
-	 *    modules are contained in the given project
-	 * @see #getModules(IProject)
-	 */
-	public static IModule getModule(IProject project) {
-		if (project == null)
-			throw new IllegalArgumentException();
-		
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-		if (factories != null) {
-			int size = factories.length;
-			for (int i = 0; i < size; i++) {
-				IModule[] modules = factories[i].getModules(project);
-				if (modules != null) {
-					int size2 = modules.length;
-					for (int j = 0; j < size2; j++) {
-						if (project.equals(modules[j].getProject()) && isSupportedModule(factories[i].getModuleTypes(), modules[j].getModuleType())) {
-							return modules[j];
-						}
-					}
-				}
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Returns the modules contained within the given project.
-	 * 
-	 * @param project a project
-	 * @return a possibly-empty array of modules
-	 * @see #getModule(IProject)
-	 */
-	public static IModule[] getModules(IProject project) {
-		if (project == null)
-			throw new IllegalArgumentException();
-		
-		IModule[] modules = getModules();
-		List list = new ArrayList();
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				if (modules[i] != null && project.equals(modules[i].getProject()))
-					list.add(modules[i]);
-			}
-		}
-		IModule[] modules2 = new IModule[list.size()];
-		list.toArray(modules2);
-		return modules2;
-	}
-
-	/**
-	 * 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
-	 */
-	public static IModule getModule(String moduleId) {
-		if (moduleId == null)
-			throw new IllegalArgumentException();
-		
-		int index = moduleId.indexOf(":");
-		if (index <= 0)
-			return null;
-		
-		String factoryId = moduleId.substring(0, index);
-		ModuleFactory moduleFactory = ServerPlugin.findModuleFactory(factoryId);
-		if (moduleFactory == null)
-			return null;
-
-		String moduleSubId = moduleId.substring(index+1);
-		IModule module = moduleFactory.getModule(moduleSubId);
-		if (module != null)
-			return module;
-		return null;
-	}
-
-	/**
-	 * Return all the available modules from all factories whose
-	 * type matches the given module types.
-	 * 
-	 * @param moduleTypes an array of module types
-	 * @return a possibly empty array of modules
-	 */
-	public static IModule[] getModules(IModuleType[] moduleTypes) {
-		List list = new ArrayList();
-
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-		if (factories != null) {
-			int size = factories.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(factories[i].getModuleTypes(), moduleTypes)) {
-					IModule[] modules = factories[i].getModules();
-					if (modules != null) {
-						int size2 = modules.length;
-						for (int j = 0; j < size2; j++)
-							list.add(modules[j]);
-					}
-				}
-			}
-		}
-		IModule[] modules = new IModule[list.size()];
-		list.toArray(modules);
-		return modules;
-	}
-
-	/**
-	 * Return all the available modules from all factories whose
-	 * type matches the given module type id.
-	 * 
-	 * @param type a module type
-	 * @return a possibly empty array of modules
-	 */
-	public static IModule[] getModules(String type) {
-		List list = new ArrayList();
-
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-		if (factories != null) {
-			int size = factories.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(factories[i].getModuleTypes(), type, null)) {
-					IModule[] modules = factories[i].getModules();
-					if (modules != null) {
-						int size2 = modules.length;
-						for (int j = 0; j < size2; j++)
-							if(type.equals(modules[j].getModuleType().getId()))
-								list.add(modules[j]);
-					}
-				}
-			}
-		}
-		IModule[] modules = new IModule[list.size()];
-		list.toArray(modules);
-		return modules;
-	}
-
-	/**
-	 * 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 id, or null for any module type
-	 * @param versionId a module version, or null for any version
-	 * @return <code>true</code> if the module type is supported, and
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean isSupportedModule(IModuleType[] moduleTypes, String typeId, String versionId) {
-		if ("".equals(typeId))
-			typeId = null;
-		if ("".equals(versionId))
-			versionId = null;
-		
-		if (moduleTypes != null) {
-			int size = moduleTypes.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(moduleTypes[i], typeId, versionId))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	private static boolean isSupportedModule(IModuleType[] moduleTypes, IModuleType[] mt) {
-		if (mt != null) {
-			int size = mt.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(moduleTypes, mt[i]))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * 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, may not be null
-	 * @return <code>true</code> if the module type is supported, and
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean isSupportedModule(IModuleType[] moduleTypes, IModuleType mt) {
-		if (mt == null)
-			throw new IllegalArgumentException();
-		
-		if (moduleTypes != null) {
-			int size = moduleTypes.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(moduleTypes[i], mt))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private static boolean isSupportedModule(IModuleType moduleType, String type, String version) {
-		String type2 = moduleType.getId();
-		if (matches(type, type2)) {
-			String version2 = moduleType.getVersion();
-			if (matches(version, version2))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * 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
-	 * @return <code>true</code> if the module type is supported, and
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean isSupportedModule(IModuleType moduleType, IModuleType mt) {
-		if (moduleType == null || mt == null)
-			throw new IllegalArgumentException();
-		
-		String type2 = moduleType.getId();
-		if (matches(mt.getId(), type2)) {
-			String version2 = moduleType.getVersion();
-			if (matches(mt.getVersion(), version2))
-				return true;
-		}
-		return false;
-	}
-
-	private static boolean matches(String a, String b) {
-		if (a == null || b == null || "*".equals(a) || "*".equals(b) || a.startsWith(b) || b.startsWith(a)
-			|| (a.endsWith(".*") && b.startsWith(a.substring(0, a.length() - 1)))
-			|| (b.endsWith(".*") && a.startsWith(b.substring(0, b.length() - 1))))
-			return true;
-		return false;
-	}
-
-	/**
-	 * Return all the available modules from all factories.
-	 * 
-	 * @return a possibly empty array of modules
-	 */
-	private static IModule[] getModules() {
-		Set set = new HashSet();
-		
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-		if (factories != null) {
-			int size = factories.length;
-			for (int i = 0; i < size; i++) {
-				IModule[] modules = factories[i].getModules();
-				if (modules != null) {
-					int size2 = modules.length;
-					for (int j = 0; j < size2; j++) {
-						if (!set.contains(modules[j])) {
-							if (isSupportedModule(factories[i].getModuleTypes(), modules[j].getModuleType()))
-								set.add(modules[j]);
-							else
-								Trace.trace(Trace.WARNING, "Invalid module returned from factory, ignored: " + modules[j]);
-						}
-					}
-				}
-			}
-		}
-		IModule[] modules = new IModule[set.size()];
-		set.toArray(modules);
-		return modules;
-	}
-
-	/**
-	 * Adds or removes modules from a server. Will search for the first parent module
-	 * of each module and add it to the server instead. This method will handle multiple
-	 * modules having the same parent (the parent will only be added once), but may not
-	 * handle the case where the same module or parent is being both added and removed.
-	 * 
-	 * @param server 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 monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if anything goes wrong
-	 */
-	public static void modifyModules(IServerWorkingCopy server, IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		if (server == null)
-			throw new IllegalArgumentException();
-		
-		if (add == null)
-			add = new IModule[0];
-		if (remove == null)
-			remove = new IModule[0];
-		
-		int size = add.length;
-		List addParentModules = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			boolean found = false;
-			try {
-				IModule[] parents = server.getRootModules(add[i], monitor);
-				if (parents != null && parents.length > 0) {				
-					Object parent = parents[0];
-					found = true;
-					if (!addParentModules.contains(parent))
-						addParentModules.add(parent);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not find parent module", e);
-			}
-			
-			if (!found)
-				addParentModules.add(add[i]);
-		}
-		
-		size = remove.length;
-		List removeParentModules = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			boolean found = false;
-			try {
-				IModule[] parents = server.getRootModules(remove[i], monitor);
-				if (parents != null && parents.length > 0) {				
-					Object parent = parents[0];
-					found = true;
-					if (!removeParentModules.contains(parent))
-						removeParentModules.add(parent);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not find parent module 2", e);
-			}
-			
-			if (!found)
-				removeParentModules.add(remove[i]);
-		}
-		
-		IModule[] add2 = new IModule[addParentModules.size()];
-		addParentModules.toArray(add2);
-		IModule[] remove2 = new IModule[removeParentModules.size()];
-		removeParentModules.toArray(remove2);
-		
-		server.modifyModules(add2, remove2, monitor);
-	}
-
-	/**
-	 * Sets a default name on the given runtime.
-	 * 
-	 * @param runtime a runtime
-	 */
-	public static void setRuntimeDefaultName(IRuntimeWorkingCopy runtime) {
-		String typeName = runtime.getRuntimeType().getName();
-		
-		String name = NLS.bind(Messages.defaultRuntimeName, typeName);
-		int i = 2;
-		while (isNameInUse(name)) {
-			name = NLS.bind(Messages.defaultRuntimeName2, new String[] {typeName, i + ""});
-			i++;
-		}
-		runtime.setName(name);
-	}
-
-	/**
-	 * Sets a default name on the given server.
-	 * 
-	 * @param server a server
-	 */
-	public static void setServerDefaultName(IServerWorkingCopy server) {
-		if (server == null)
-			throw new IllegalArgumentException();
-		
-		String typeName = server.getServerType().getName();
-		String host = server.getHost();
-		
-		String name = NLS.bind(Messages.defaultServerName, new String[] {typeName, host});
-		int i = 2;
-		while (isNameInUse(name)) {
-			name = NLS.bind(Messages.defaultServerName2, new String[] {typeName, host, i + ""});
-			i++;
-		}
-		server.setName(name);
-	}
-
-	private static boolean isValidFilename(String name) {
-		IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE);
-		if (status != null && !status.isOK())
-			return false;
-		
-		status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FOLDER);
-		if (status != null && !status.isOK())
-			return false;
-		
-		return true;
-	}
-
-	private static String getValidFileName(String name) {
-		if (isValidFilename(name))
-			return name;
-	
-		// remove invalid characters
-		String[] s = new String[] {".", "\\", "/", "?", ":", "*", "\"", "|", "<", ">"};
-		int ind = 0;
-		while (ind < s.length) {
-			int index = name.indexOf(s[ind]);
-			while (index >= 0) {
-				name = name.substring(0, index) + name.substring(index+1);
-				index = name.indexOf(s[ind]);
-			}
-			ind++;
-		}
-		return name;
-	}
-
-	/**
-	 * Returns an unused file in the given project.
-	 * 
-	 * @param project a project
-	 * @param type a server type
-	 * @return an unused file within the given project
-	 */
-	/*public static IFile getUnusedServerFile(IProject project, IServerType type) {
-		if (project == null || type == null)
-			throw new IllegalArgumentException();
-		
-		String typeName = getValidFileName(type.getName());
-		String name = NLS.bind(Messages.defaultServerName3, typeName)+ "."  + Server.FILE_EXTENSION;
-		int i = 2;
-		while (isFileNameInUse(project, name)) {
-			name = NLS.bind(Messages.defaultServerName4, new String[] {typeName, i + ""}) + "."  + Server.FILE_EXTENSION;
-			i++;
-		}
-		return project.getFile(name);
-	}*/
-
-	/**
-	 * Returns an unused file in the given project.
-	 * 
-	 * @param project a project
-	 * @param server a server
-	 * @return an unused file within the given project
-	 */
-	public static IFile getUnusedServerFile(IProject project, IServer server) {
-		if (project == null || server == null)
-			throw new IllegalArgumentException();
-		
-		String typeName = getValidFileName(server.getName());
-		String name = NLS.bind(Messages.defaultServerName3, typeName)+ "."  + Server.FILE_EXTENSION;
-		int i = 2;
-		while (isFileNameInUse(project, name)) {
-			name = NLS.bind(Messages.defaultServerName4, new String[] {typeName, i + ""}) + "."  + Server.FILE_EXTENSION;
-			i++;
-		}
-		return project.getFile(name);
-	}
-
-	/**
-	 * Returns true if a server or runtime exists with the given name.
-	 *
-	 * @param name a name
-	 * @return <code>true</code> if the name is in use, and <code>false</code>
-	 *    otherwise
-	 */
-	private static boolean isNameInUse(String name) {
-		if (name == null)
-			return true;
-	
-		List list = new ArrayList();
-		
-		addAll(list, ServerCore.getRuntimes());
-		addAll(list, ServerCore.getServers());
-
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServerAttributes && name.equalsIgnoreCase(((IServerAttributes)obj).getName()))
-				return true;
-			if (obj instanceof IRuntime && name.equalsIgnoreCase(((IRuntime)obj).getName()))
-				return true;
-		}
-
-		return false;
-	}
-	
-	private static void addAll(List list, Object[] obj) {
-		if (obj == null)
-			return;
-		
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			list.add(obj[i]);
-		}
-	}
-	
-	/**
-	 * 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
-	 */
-	private static boolean isFileNameInUse(IProject project, String name) {
-		if (name == null || project == null)
-			return false;
-		
-		if (project.getFile(name).exists())
-			return true;
-		if (project.getFolder(name).exists())
-			return true;
-	
-		return false;
-	}
-
-	/**
-	 * 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
-	 * @return a possibly-empty array of runtime instances {@link IRuntime}
-	 */
-	public static IRuntime[] getRuntimes(String type, String version) {
-		List list = new ArrayList();
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		if (runtimes != null) {
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				IRuntimeType runtimeType = runtimes[i].getRuntimeType();
-				if (runtimeType != null && isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-					list.add(runtimes[i]);
-				}
-			}
-		}
-		
-		IRuntime[] runtimes2 = new IRuntime[list.size()];
-		list.toArray(runtimes2);
-		return runtimes2;
-	}
-
-	/**
-	 * 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
-	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
-	 */
-	public static IRuntimeType[] getRuntimeTypes(String type, String version) {
-		List list = new ArrayList();
-		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
-		if (runtimeTypes != null) {
-			int size = runtimeTypes.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(runtimeTypes[i].getModuleTypes(), type, version)) {
-					list.add(runtimeTypes[i]);
-				}
-			}
-		}
-		
-		IRuntimeType[] rt = new IRuntimeType[list.size()];
-		list.toArray(rt);
-		return rt;
-	}
-	
-	/**
-	 * Return a list of all runtime types that match the given type, version,
-	 * and partial runtime type id. If type, version, or runtimeTypeId is null,
-	 * it matches all of that type or version.
-	 * 
-	 * @param type a module type
-	 * @param version a module version
-	 * @param runtimeTypeId the id of a runtime type
-	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
-	 */
-	public static IRuntimeType[] getRuntimeTypes(String type, String version, String runtimeTypeId) {
-		List list = new ArrayList();
-		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
-		if (runtimeTypes != null) {
-			int size = runtimeTypes.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(runtimeTypes[i].getModuleTypes(), type, version)) {
-					if (runtimeTypeId == null || runtimeTypes[i].getId().startsWith(runtimeTypeId))
-						list.add(runtimeTypes[i]);
-				}
-			}
-		}
-		
-		IRuntimeType[] rt = new IRuntimeType[list.size()];
-		list.toArray(rt);
-		return rt;
-	}
-
-	/**
-	 * Returns a list of all servers that this deployable is not currently
-	 * configured on, but could be added to. If includeErrors is true, this
-	 * method return servers where the parent deployable may throw errors. For
-	 * instance, this deployable may be the wrong spec level.
-	 *
-	 * @param module 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 monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly empty array of servers
-	 */
-	public static IServer[] getAvailableServersForModule(IModule module, boolean includeErrors, IProgressMonitor monitor) {
-		if (module == null)
-			return new IServer[0];
-
-		// do it the slow way - go through all servers and
-		// see if this deployable is not configured in it
-		// but could be added
-		List list = new ArrayList();
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (!containsModule(servers[i], module, monitor)) {
-					try {
-						IModule[] parents = servers[i].getRootModules(module, monitor);
-						if (parents != null && parents.length > 0) {
-							boolean found = false;
-							if (parents != null) {
-								int size2 = parents.length;
-								for (int j = 0; !found && j < size2; j++) {
-									IModule parent = parents[j];
-									IStatus status = servers[i].canModifyModules(new IModule[] { parent }, new IModule[0], monitor);
-									if (status == null || status.isOK()){
-										list.add(servers[i]);
-										found = true;
-									}
-								}
-							}
-						}
-					} catch (Exception se) {
-						if (includeErrors)
-							list.add(servers[i]);
-					}
-				}
-			}
-		}
-		
-		// make sure that the preferred server is the first one
-		//IServer server = ServerCore.getServerPreferences().getDeployableServerPreference(deployable);
-		//if (server != null && list.contains(server) && list.indexOf(server) != 0) {
-		//	list.remove(server);
-		//	list.add(0, server);
-		//}
-
-		IServer[] allServers = new IServer[list.size()];
-		list.toArray(allServers);
-		return allServers;
-	}
-
-	/**
-	 * Returns a list of all servers that this module is configured on.
-	 * 
-	 * @param module a module
-	 * @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}
-	 */
-	public static IServer[] getServersByModule(IModule module, IProgressMonitor monitor) {
-		if (module == null)
-			return new IServer[0];
-
-		// do it the slow way - go through all servers and
-		// see if this module is configured in it
-		List list = new ArrayList();
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (containsModule(servers[i], module, monitor))
-					list.add(servers[i]);
-			}
-		}
-		
-		IServer[] allServers = new IServer[list.size()];
-		list.toArray(allServers);
-		return allServers;
-	}
-
-	/**
-	 * Returns true if the given server currently contains the given module.
-	 *
-	 * @param server a server
-	 * @param module a module
-	 * @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
-	 */
-	public static boolean containsModule(IServer server, final IModule module, IProgressMonitor monitor) {
-		if (server == null)
-			return false;
-		Trace.trace(Trace.FINEST, "containsModule() " + server + " " + module);
-		
-		final boolean[] b = new boolean[1];
-		
-		((Server)server).visit(new IModuleVisitor() {
-			public boolean visit(IModule[] modules) {
-				int size = modules.length;
-				if (modules[size - 1].equals(module)) {
-					b[0] = true;
-					return false;
-				}
-				return true;
-			}
-		}, null);
-		return b[0];
-	}
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * Returns the port that is being used to monitor the given port on the server.
-	 * This method can be used whenever creating a 'client' for the server, and allows
-	 * the client to seamlessly use a monitored port instead of going directly to the
-	 * server.
-	 * 
-	 * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
-	 * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
-	 * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
-	 * (repeatedly) as the API evolves.
-	 * </p>
-	 * 
-	 * @param server a server
-	 * @param port a port on the server
-	 * @param contentType the content type, e.g. "web"
-	 * @return the monitored port, or the original port number if the port is not
-	 *    currently being monitored
-	 */
-	public static int getMonitoredPort(IServer server, int port, String contentType) {
-		return ServerMonitorManager.getInstance().getMonitoredPort(server, port, contentType);
-	}
-}
\ 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
deleted file mode 100644
index 816dbb4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.HashMap;
-import java.util.Map;
-/**
- * A task model represents a model that can be shared between multiple
- * tasks in a common workflow.
- * <p>
- * The task model contains information about the overall task flow and allows
- * tasks to store and retreive data. Its usage allows mutliple tasks to be
- * chained together and share data from the output of one task to the input
- * of another.
- * </p>
- * 
- * @since 1.0
- */
-public class TaskModel {
-	/**
-	 * Task model id for an IRuntime.
-	 * 
-	 * @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)
-	 */
-	public static final String TASK_SERVER = "server";
-
-	/**
-	 * Task model id for an array of modules.
-	 * The value is a List containing IModule[] arrays.
-	 * 
-	 * @see #getObject(String)
-	 * @see TaskModel#putObject(String, Object)
-	 */
-	public static final String TASK_MODULES = "modules";
-	
-	/**
-	 * Task model id for a launch mode.
-	 * 
-	 * @see #getObject(String)
-	 * @see #putObject(String, Object)
-	 */
-	public static final String TASK_LAUNCH_MODE = "launch-mode";
-	
-	private Map map = new HashMap();
-
-	/**
-	 * Returns the object in the task model with the given id.
-	 * <p>
-	 * The id can be any of the predefined ids within TaskModel, or
-	 * any other key to retreive task-specific data.
-	 * </p>
-	 * 
-	 * @param id an id for the object
-	 * @return the object with the given id, or <code>null</code>
-	 *    if no object could be found with that id
-	 */
-	public Object getObject(String id) {
-		try {
-			return map.get(id);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Put an object into the task model with the given id.
-	 * <p>
-	 * The id can be any of the predefined ids within TaskModel, or
-	 * any other key to store task-specific data. 
-	 * </p>
-	 * 
-	 * @param id the id to associate the object with
-	 * @param obj an object, or <code>null</code> to reset (clear) the id
-	 */
-	public void putObject(String id, Object obj) {
-		map.put(id, obj);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
deleted file mode 100644
index 8591ed7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-/**
- * Helper class for storing runtime and server attributes.
- */
-public abstract class Base {
-	protected static final String PROP_LOCKED = "locked";
-	protected static final String PROP_PRIVATE = "private";
-	protected static final String PROP_NAME = "name";
-	protected static final String PROP_ID = "id";
-	protected static final String PROP_TIMESTAMP = "timestamp";
-
-	protected Map map = new HashMap();
-	
-	// file loaded from, or null if it is saved in metadata
-	protected IFile file;
-	
-	/**
-	 * Create a new object.
-	 * 
-	 * @param file
-	 */
-	public Base(IFile file) {
-		this.file = file;
-	}
-
-	/**
-	 * Create a new object.
-	 * 
-	 * @param file
-	 * @param id
-	 */
-	public Base(IFile file, String id) {
-		this.file = file;
-		//this.map = map;
-		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(PROP_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;
-	}
-
-	public String getAttribute(String attributeName, String defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return (String) obj;
-		} catch (Exception e) {
-			// ignore
-		}
-		return defaultValue;
-	}
-
-	public int getAttribute(String attributeName, int defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return Integer.parseInt((String) obj);
-		} catch (Exception e) {
-			// ignore
-		}
-		return defaultValue;
-	}
-
-	public boolean getAttribute(String attributeName, boolean defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return Boolean.valueOf((String) obj).booleanValue();
-		} catch (Exception e) {
-			// ignore
-		}
-		return defaultValue;
-	}
-	
-	public List getAttribute(String attributeName, List defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			List list = (List) obj;
-			if (list != null)
-				return list;
-		} catch (Exception e) {
-			// ignore
-		}
-		return defaultValue;
-	}
-	
-	public Map getAttribute(String attributeName, Map defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			Map map2 = (Map) obj;
-			if (map2 != null)
-				return map2;
-		} catch (Exception e) {
-			// ignore
-		}
-		return defaultValue;
-	}
-
-	public String getId() {
-		return getAttribute(PROP_ID, "");
-	}
-
-	public String getName() {
-		return getAttribute(PROP_NAME, "");
-	}
-
-	public boolean isReadOnly() {
-		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);
-	}
-	
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-	protected abstract String getXMLRoot();
-	
-	protected void save(IMemento memento) {
-		//IMemento child = memento.createChild("properties");
-		IMemento child = memento;
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			Object obj = map.get(key);
-			if (obj instanceof String)
-				child.putString(key, (String) obj);
-			else if (obj instanceof Integer) {
-				Integer in = (Integer) obj;
-				child.putInteger(key, in.intValue());
-			} else if (obj instanceof Boolean) {
-				Boolean bool = (Boolean) obj;
-				child.putBoolean(key, bool.booleanValue());
-			} else if (obj instanceof List) {
-				List list = (List) obj;
-				saveList(child, key, list);
-			} else if (obj instanceof Map) {
-				Map map2 = (Map) obj;
-				saveMap(child, key, map2);
-				
-			}
-		}
-		saveState(child);
-	}
-	protected void saveMap(IMemento memento, String key, Map map2) {
-		IMemento child = memento.createChild("map");
-		child.putString("key", key);
-		Iterator iterator = map2.keySet().iterator();
-		while (iterator.hasNext()) {
-			String s = (String) iterator.next();
-			child.putString(s, (String)map2.get(s));
-		}
-	}
-	
-	protected void saveList(IMemento memento, String key, List list) {
-		IMemento child = memento.createChild("list");
-		child.putString("key", key);
-		int i = 0;
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			String s = (String) iterator.next();
-			child.putString("value" + (i++), s);
-		}
-	}
-
-	protected void saveToFile(IProgressMonitor monitor) throws CoreException {
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot(getXMLRoot());
-			save(memento);
-
-			InputStream in = memento.getInputStream();
-			if (file.exists())
-				file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			else
-				file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 1000));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save " + getXMLRoot(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorSaving, getFile().toString()), e));
-		}
-	}
-	
-	protected void doSave(IProgressMonitor monitor) throws CoreException {
-		if (file != null)
-			saveToFile(monitor);
-		else
-			saveToMetadata(monitor);
-		ResourceManager.getInstance().resolveServers();
-	}
-	
-	protected void saveToMetadata(IProgressMonitor monitor) {
-		// do nothing
-	}
-	
-	protected abstract void saveState(IMemento memento);
-
-	protected void load(IMemento memento) {
-		map = new HashMap();
-		
-		Iterator iterator = memento.getNames().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			map.put(key, memento.getString(key));
-		}
-		IMemento[] children = memento.getChildren("list");
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				loadList(children[i]);
-			}
-		}
-		IMemento[] maps = memento.getChildren("map");
-		if (maps != null) {
-			for (int i = 0; i <maps.length ; i++) {
-				loadMap(maps[i]);
-			}
-		}
-		
-		loadState(memento);
-	}
-
-	
-	protected void loadMap(IMemento memento) {
-		String key = memento.getString("key");
-		Map vMap = new HashMap();
-		List keys = memento.getNames();
-		Iterator iterator = keys.iterator();
-		while(iterator.hasNext()) {
-			String s = (String)iterator.next();
-			String v = memento.getString(s);
-			vMap.put(s,v);
-		}
-		map.put(key, vMap);
-	}
-	
-	
-	protected void loadList(IMemento memento) {
-		String key = memento.getString("key");
-		List list = new ArrayList();
-		int i = 0;
-		String key2 = memento.getString("value" + (i++));
-		while (key2 != null) {
-			list.add(key2);
-			key2 = memento.getString("value" + (i++));
-		}
-		map.put(key, list);
-	}
-	
-	protected abstract void loadState(IMemento memento);
-	
-	protected void resolve() {
-		// do nothing
-	}
-	
-	public void delete() throws CoreException {
-		if (isWorkingCopy())
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "Cannot delete a working copy", null));
-		
-		if (file != null)
-			deleteFromFile();
-		else
-			deleteFromMetadata();
-	}
-
-	protected void deleteFromFile() throws CoreException {
-		file.delete(true, true, new NullProgressMonitor());
-	}
-
-	protected void deleteFromMetadata() {
-		// do nothing
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Base))
-			return false;
-		
-		Base base = (Base) obj;
-		if (getId() == null)
-			return false;
-		return getId().equals(base.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected void loadFromFile(IProgressMonitor monitor) throws CoreException {
-		InputStream in = null;
-		try {
-			in = file.getContents();
-			IMemento memento = XMLMemento.loadMemento(in);
-			load(memento);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from file" + e.getMessage(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, getFile().toString()), e));
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-	
-	protected void loadFromMemento(IMemento memento, IProgressMonitor monitor) {
-		load(memento);
-	}
-	
-	/**
-	 * 
-	 */
-	protected void loadFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		FileInputStream fin = null;
-		try {
-			fin = new FileInputStream(path.toFile());
-			IMemento memento = XMLMemento.loadMemento(fin);
-			load(memento);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from path: " + e.getMessage(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, path.toString()), e));
-		} finally {
-			try {
-				fin.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-	
-	public IStatus validateEdit(Object context) {
-		if (file == null)
-			return null;
-	
-		return file.getWorkspace().validateEdit(new IFile[] { file }, context);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ChainedJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ChainedJob.java
deleted file mode 100644
index 93763b8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ChainedJob.java
+++ /dev/null
@@ -1,100 +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 org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.IJobChangeListener;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.wst.server.core.IServer;
-/**
- * A Job that can start another job upon successful completion.
- */
-public abstract class ChainedJob extends Job {
-	private IServer server;
-	private Job nextJob;
-	private IJobChangeListener listener;
-
-	/**
-	 * Create a new dependant job.
-	 * 
-	 * @param name the name of the job
-	 * @param server the server to publish to
-	 */
-	public ChainedJob(String name, IServer server) {
-		super(name);
-		this.server = server;
-	}
-
-	/**
-	 * @see Job#belongsTo(java.lang.Object)
-	 */
-	public boolean belongsTo(Object family) {
-		return ServerPlugin.PLUGIN_ID.equals(family);
-	}
-
-	/**
-	 * Returns the server that this job was created with.
-	 * 
-	 * @return a server
-	 */
-	public IServer getServer() {
-		return server;
-	}
-
-	/**
-	 * Create a listener for when this job finishes.
-	 */
-	protected void createListener() {
-		if (listener != null)
-			return;
-		
-		listener = new JobChangeAdapter() {
-			public void done(IJobChangeEvent event) {
-				jobDone(event.getResult());
-			}
-		};
-		
-		addJobChangeListener(listener);
-	}
-
-	/**
-	 * Called when this job is complete.
-	 * 
-	 * @param status the result of the current job
-	 */
-	protected void jobDone(IStatus status) {
-		if (listener == null)
-			return;
-		
-		removeJobChangeListener(listener);
-		listener = null;
-		
-		if (nextJob != null && status != null && status.getSeverity() != IStatus.ERROR
-				&& status.getSeverity() != IStatus.CANCEL)
-			nextJob.schedule();
-	}
-
-	/**
-	 * Set the next job, which should be scheduled if and only if this job completes
-	 * successfully. The next job will be run as long as the result of this job is
-	 * not an ERROR or CANCEL status.
-	 * This method is not thread-safe. However, the next job can be changed anytime
-	 * up until the current job completes.
-	 * 
-	 * @param job the next job that should be scheduled
-	 */
-	public void setNextJob(Job job) {
-		nextJob = job;
-		createListener();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
deleted file mode 100644
index ececf5b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.ClientDelegate;
-/**
- * 
- */
-public class Client implements IClient {
-	private IConfigurationElement element;
-	private ClientDelegate delegate;
-
-	/**
-	 * Create a new client.
-	 * 
-	 * @param element a configuration element
-	 */
-	public Client(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * @see IClient#getId()
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * Returns the relative priority of this adapter.
-	 *
-	 * @return a priority
-	 */
-	public int getPriority() {
-		try {
-			return Integer.parseInt(element.getAttribute("priority"));
-		} catch (Exception e) {
-			return 0;
-		}
-	}
-
-	/**
-	 * @see IClient#getDescription()
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-	
-	protected String getLaunchable() {
-		return element.getAttribute("launchable");
-	}
-
-	/**
-	 * @see IClient#getName()
-	 */
-	public String getName() {
-		String label = element.getAttribute("name");
-		if (label == null)
-			return "n/a";
-		return label;
-	}
-
-	/**
-	 * Return the delegate.
-	 * 
-	 * @return the delegate, or <code>null</code> if it couldn't be loaded
-	 */
-	public ClientDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (ClientDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * @see IClient#supports(IServer, Object, String)
-	 */
-	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) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return false;
-		}
-	}
-
-	/**
-	 * @see IClient#launch(IServer, Object, String, ILaunch)
-	 */
-	public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch) {
-		try {
-			return getDelegate().launch(server, launchable, launchMode, launch);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return null;
-	}
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return String
-	 */
-	public String toString() {
-		return "Client[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/DeletedModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/DeletedModule.java
deleted file mode 100644
index a33d5d5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/DeletedModule.java
+++ /dev/null
@@ -1,86 +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 org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-/**
- * 
- */
-public class DeletedModule implements IModule {
-	protected String id;
-	protected String name;
-	protected IModuleType moduleType2;
-
-	public DeletedModule(String id, String name, IModuleType moduleType) {
-		this.id = id;
-		this.name = name;
-		this.moduleType2 = moduleType;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public IStatus validate(IProgressMonitor monitor) {
-		return null;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public IModuleType getModuleType() {
-		return moduleType2;
-	}
-
-	public IProject getProject() {
-		return null;
-	}
-
-	public void addModuleListener(IModuleListener listener) {
-		// ignore
-	}
-
-	public void removeModuleListener(IModuleListener listener) {
-		// ignore
-	}
-
-	public IModule[] getChildModules(IProgressMonitor monitor) {
-		return null;
-	}
-
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor) {
-		return null;
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof IModule))
-			return false;
-			
-		IModule m = (IModule) obj;
-		if (!getId().equals(m.getId()))
-			return false;
-			
-		return true;
-	}
-
-	public String toString() {
-		return "DeletedModule[" + name + "," + id + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IClient.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IClient.java
deleted file mode 100644
index 6d92c66..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IClient.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.wst.server.core.IServer;
-/**
- * A launchable client is a client side application or test
- * harness that can be launched (run) against a resource
- * running on a server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IClient {
-	/**
-	 * Returns the id of this client. Each known client has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the client id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this client.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this client
-	 */
-	public String getName();
-
-	/**
-	 * Returns the displayable description for this client.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this client
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns true if this launchable can be run by this client.
-	 * 
-	 * @param server the server
-	 * @param launchable the launchable object
-	 * @param launchMode the mode
-	 * @return boolean
-	 */
-	public boolean supports(IServer server, Object launchable, String launchMode);
-
-	/**
-	 * Launches the client.
-	 * 
-	 * @param server the server
-	 * @param launchable the launchable object
-	 * @param launchMode the mode
-	 * @param launch the launch
-	 * @return a status object with code <code>IStatus.OK</code> if the launch was
-	 *   successful, otherwise a status object indicating what went wrong
-	 */
-	public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableRuntime.java
deleted file mode 100644
index 20bfa99..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableRuntime.java
+++ /dev/null
@@ -1,59 +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 org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents an installable runtime.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IInstallableRuntime {
-	/**
-	 * Returns the id of this runtime type.
-	 * Each known server runtime type has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the runtime type id
-	 */
-	public String getId();
-
-	/**
-	 * Downloads the license from the update site.
-	 * 
-	 * @param monitor a progress monitor
-	 * @return the license
-	 * @throws CoreException
-	 */
-	public String getLicense(IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Kicks off a background job to install the runtime.
-	 * 
-	 * @param path the path to install the runtime at
-	 */
-	public void install(IPath path);
-
-	/**
-	 * Install this runtime.
-	 * 
-	 * @param path the path to install the runtime at
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired 
-	 * @throws CoreException if an exception occurs while creating this runtime
-	 *    or setting it's default values
-	 */
-	public void install(IPath path, 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/internal/IInstallableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableServer.java
deleted file mode 100644
index c87a31c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableServer.java
+++ /dev/null
@@ -1,92 +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 org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents an installable server adapter.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IInstallableServer {
-	/**
-	 * Returns the id of this runtime type.
-	 * Each known server runtime type has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the runtime type id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this runtime type.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this runtime type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the displayable description for this runtime type.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this runtime type
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns the displayable vendor name for this runtime type. If the
-	 * runtime type did not specific a vendor, an empty string is returned.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable vendor name for this runtime type
-	 */
-	public String getVendor();
-
-	/**
-	 * Returns the displayable version name for this runtime type. If the
-	 * runtime type did not specific a vendor, an empty string is returned.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable version name for this runtime type
-	 */
-	public String getVersion();
-
-	/**
-	 * Downloads the license from the update site.
-	 * 
-	 * @param monitor a progress monitor
-	 * @return the license
-	 * @throws CoreException
-	 */
-	public String getLicense(IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Install this server.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired 
-	 * @throws CoreException if an exception occurs while creating this runtime
-	 *    or setting it's default values
-	 */
-	public void install(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/internal/ILaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ILaunchableAdapter.java
deleted file mode 100644
index d907a6d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ILaunchableAdapter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-/**
- * This interface, typically implemented by the server
- * code, converts from an IModuleArtifact to an
- * ILaunchable.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface ILaunchableAdapter {
-	/**
-	 * Returns the id of this adapter. Each known adapter has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the adapter id
-	 */
-	public String getId();
-
-	/**
-	 * Returns a launchable object from this module object.
-	 * 
-	 * @param server the server
-	 * @param moduleArtifact an artifact in the module
-	 * @return a launchable object
-	 * @exception CoreException thrown if there is a problem returning the launchable
-	 */
-	public 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/internal/IMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java
deleted file mode 100644
index fdfdddd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/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.server.core.internal;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-	
-	/**
-	 * Returns the floating point value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not a floating point number
-	 */
-	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
-
-	/**
-	 * Returns the integer value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not an integer
-	 */
-	public Integer getInteger(String key);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Returns the boolean value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not a boolean
-	 */
-	public Boolean getBoolean(String key);
-	
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleListener.java
deleted file mode 100644
index ad03292..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-/**
- * 
- */
-public interface IModuleListener {
-	/**
-	 * A module has been changed as specified in the event.
-	 *
-	 * @param event org.eclipse.wst.server.core.model.ModuleEvent
-	 */
-	public void moduleChanged(ModuleEvent event);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModulePublishHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModulePublishHelper.java
deleted file mode 100644
index ea6dfad..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModulePublishHelper.java
+++ /dev/null
@@ -1,28 +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 org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.IModule;
-/**
- * Temporary interface to help the web services team.
- */
-public interface IModulePublishHelper {
-	/**
-	 * Returns the path that the module is published to, or null if the module is not
-	 * published to the server or the location is unknown.
-	 * 
-	 * @param module a module on the server 
-	 * @return the path that the module is published to, or <code>null</code> if not
-	 *   a valid module or the location is unknown
-	 */
-	public IPath getPublishDirectory(IModule[] module);
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleResourceDeltaVisitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleResourceDeltaVisitor.java
deleted file mode 100644
index 45e7325..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleResourceDeltaVisitor.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-/**
- * An objects that visits module resource deltas.
- * <p> 
- * Usage:
- * <pre>
- * class Visitor implements IModuleResourceDeltaVisitor {
- *     public boolean visit(IModuleResourceDelta delta) {
- *       switch (delta.getKind()) {
- *         case IModuleResourceDelta.ADDED :
- *             // handle added resource
- *             break;
- *         case IModuleResourceDelta.REMOVED :
- *             // handle removed resource
- *             break;
- *         case IModuleResourceDelta.CHANGED :
- *             // handle changed resource
- *             break;
- *         }
- *       return true;
- *     }
- * }
- * IModuleResourceDelta rootDelta = ...;
- * rootDelta.accept(new Visitor());
- * </pre>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- *
- * [issue: @see IModuleResourceDelta#accept(IModuleResourceVisitor)]
- */
-public interface IModuleResourceDeltaVisitor {
-	/** 
-	 * Visits the given module resource delta.
-	 * 
-	 * @param delta the resource delta
-	 * @return <code>true</code> if the resource delta's children should
-	 *		be visited; <code>false</code> if they should be skipped.
-	 * @throws CoreException if the visit fails for some reason.
-	 */
-	public boolean visit(IModuleResourceDelta delta) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleVisitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleVisitor.java
deleted file mode 100644
index 00e362b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleVisitor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.wst.server.core.IModule;
-/**
- * A visitor on a server's modules.
- */
-public interface IModuleVisitor {
-	/**
-	 * Visit a single module. Returns true to keep visiting, and
-	 * false if it should stop visiting the module. 
-	 * 
-	 * @param module a module on the server
-	 * @return boolean <code>true</code> to visit the next module, or
-	 *    <code>false</code> to stop visiting
-	 */
-	public boolean visit(IModule[] module);
-}
\ No newline at end of file
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
deleted file mode 100644
index 69ae23b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-
-/**
- * An monitored port on a server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IMonitoredServerPort {
-	/**
-	 * Returns the server that it being monitored.
-	 * 
-	 * @return org.eclipse.wst.server.core.IServer
-	 */
-	public IServer getServer();
-
-	/**
-	 * Returns the server port.
-	 * 
-	 * @return org.eclipse.wst.server.model.IServerPort
-	 */
-	public ServerPort getServerPort();
-
-	/**
-	 * Return the port that is being used to monitor.
-	 * 
-	 * @return int
-	 */
-	public int getMonitorPort();
-
-	/**
-	 * Returns the content types that are being monitored, or null for all content.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getContentTypes();
-
-	/**
-	 * Returns true if the monitor is currently running/active.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isStarted();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IOrdered.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IOrdered.java
deleted file mode 100644
index e0f3007..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IOrdered.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-/**
- * An object that has an absolute ordering, and can be ordered against other objects.
- * 
- * <p>
- * [issue: It is notoriously difficult to place any kind of
- * useful order on objects that are contributed independently by
- * non-collaborating parties. The IOrdered mechanism is weak, and
- * can't really solve the problem. Issues of presentation are usually
- * best left to the UI, which can sort objects based on arbitrary
- * properties.]
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IOrdered {
-	/**
-	 * Returns the order (index/priority).
-	 * 
-	 * @return int
-	 */
-	public int getOrder();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IPublishTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IPublishTask.java
deleted file mode 100644
index 50915e3..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IPublishTask.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.PublishOperation;
-/**
- * A task for a server.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IPublishTask {
-	/**
-	 * Returns the id of the adapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Returns true if the given type (given by the id) can use this task. This
-	 * result is based on the result of the getTypeIds() method.
-	 * 
-	 * @param id a server type id
-	 * @return boolean
-	 */
-	public boolean supportsType(String id);
-
-	/**
-	 * Lets the task know that it is about to be used. This method should
-	 * be used to clean out any previously cached information, or start to
-	 * create a new cache.
-	 * 
-	 * @param server the server
-	 * @param modules a list containing IModule arrays
-	 * @return a possibly empty array of optional tasks 
-	 */
-	public PublishOperation[] getTasks(IServer server, List modules);
-
-	/**
-	 * Returns the tasks that should be performed during publishing.
-	 * 
-	 * @param server the server
-	 * @param modules a list containing IModule arrays
-	 * @param kind one of the IServer.PUBLISH_XX constants
-	 * @param kindList one of the IServer publish change constants
-	 * @return the tasks that should be performed on the server
-	 */
-	public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IRuntimeLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IRuntimeLocator.java
deleted file mode 100644
index d5bf9ec..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IRuntimeLocator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-/**
- * A runtime locator provides the ability to locate or search for additional
- * runtimes of a particular type.
- * <p>
- * Runtime locators are found via ServerCore.getRuntimeLocators().
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IRuntimeLocator {
-	/**
-	 * A callback listener interface.
-	 */
-	public interface IRuntimeSearchListener {
-		/**
-		 * Called when a new runtime is found by the locator.
-		 * The runtime must never be null.
-		 * 
-		 * @param runtime the runtime that was found.
-		 */
-		public void runtimeFound(IRuntimeWorkingCopy runtime);
-	}
-
-	/**
-	 * Returns the id of this runtime locator.
-	 * Each known runtime locator has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the runtime locator id
-	 */
-	public String getId();
-
-	/**
-	 * Returns true if the runtime locator can find runtimes of the given type.
-	 * The id should never be null.
-	 * 
-	 * @param runtimeTypeId the id of a runtime type
-	 * @return boolean
-	 */
-	public boolean supportsType(String runtimeTypeId);
-
-	/**
-	 * Searches for local runtimes.
-	 * It uses the callback listener to report runtimes that are found.
-	 * The path contains the absolute path of the folder to search in,
-	 * or <code>null</code> to search the entire machine.
-	 * 
-	 * @param path the path to search for runtimes in
-	 * @param listener a listener to report status to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException
-	 */
-	public void searchForRuntimes(IPath path, IRuntimeSearchListener listener, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java
deleted file mode 100644
index 242cafb..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * A server locator provides the ability to locate or search for additional
- * servers of a particular type, on a particular host.
- * <p>
- * Server locators are found via ServerCore.getServerLocators().
- * </p>
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerLocator {
-	/**
-	 * A callback listener interface.
-	 */
-	public interface IServerSearchListener {
-		/**
-		 * Called when a new server is found by the locator.
-		 * The server must never be null.
-		 * 
-		 * @param server the runtime that was found.
-		 */
-		public void serverFound(IServerWorkingCopy server);
-	}
-
-	/**
-	 * Returns the id of this server locator.
-	 * Each known server locator has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the server locator id
-	 */
-	public String getId();
-
-	/**
-	 * Returns true if the server locator can find servers of the given type.
-	 * The id should never be null.
-	 * 
-	 * @param serverTypeId the id of a server type
-	 * @return boolean
-	 */
-	public boolean supportsType(String serverTypeId);
-	
-	/**
-	 * 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).
-	 * 
-	 * @return <code>true</code> if this type of server can run on
-	 *    a remote host, and <code>false</code> if it cannot
-	 */
-	public boolean supportsRemoteHosts();
-
-	/**
-	 * Searches for servers. 
-	 * It uses the callback listener to report servers that are found.
-	 * 
-	 * @param host a host string conforming to RFC 2732
-	 * @param listener a listener to report status to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException
-	 */
-	public void searchForServers(String host, IServerSearchListener listener, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java
deleted file mode 100644
index 780d186..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.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.server.core.internal;
-/**
- * An interface to a TCP/IP monitor.
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerMonitor {
-	/**
-	 * Returns the id of the monitor.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId();
-
-	/**
-	 * Returns the label (name) of this monitor.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getName();
-
-	/**
-	 * Returns the description of this monitor.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getDescription();
-
-	/**
-	 * Start monitoring the given port, and return the port number to
-	 * tunnel requests through. The monitorPort is the new port to use, or
-	 * -1 to pick a random port.
-	 * 
-	 * @param port
-	 * @return
-	 */
-	//public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException;
-
-	/**
-	 * Stop monitoring the given port.
-	 * 
-	 * @param port
-	 */
-	//public void stopMonitoring(IServer server, ServerPort 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
deleted file mode 100644
index 7d1faf7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitorManager.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerMonitorManager {
-	/**
-	 * Returns the array of ports that are currently being monitored.
-	 *
-	 * @param server a server
-	 * @return an array containing the monitored ports for this server
-	 */
-	public IMonitoredServerPort[] getMonitoredPorts(IServer server);
-
-	/**
-	 * Starts monitoring the given port, and returns the new port # to use that will
-	 * route to the monitored port.
-	 * 
-	 * @param server
-	 * @param port
-	 * @param monitorPort - the new port number to use for monitoring, or -1 to pick a new port
-	 * @param content
-	 * @return monitor port number
-	 */
-	public IMonitoredServerPort createMonitor(IServer server, ServerPort port, int monitorPort, String[] content);
-
-	/**
-	 * Stop monitoring the given port. Throws a CoreException if there was a problem
-	 * stopping the monitoring
-	 *
-	 * @param msp the monitored port
-	 */
-	public void removeMonitor(IMonitoredServerPort msp);
-
-	/**
-	 * Start the monitor. If the msp port is -1, it will be updated to the port that is actually in use.
-	 * 
-	 * @param msp the monitored port 
-	 * @throws CoreException
-	 */
-	public void startMonitor(IMonitoredServerPort msp) throws CoreException;
-
-	/**
-	 * Stop monitoring.
-	 * 
-	 * @param msp the monitored port
-	 */
-	public void stopMonitor(IMonitoredServerPort msp);
-
-	/**
-	 * Returns the monitored port to use when making requests to the given server, port number,
-	 * and content. Returns the existing port number if the port is not being monitored.
-	 * 
-	 * @param server
-	 * @param port
-	 * @param contentType
-	 * @return the monitored port number
-	 */
-	public int getMonitoredPort(IServer server, int port, String contentType);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IStartup.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IStartup.java
deleted file mode 100644
index c8654da..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IStartup.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-/**
- * An interface for the startup extension point.
- * Plug-ins that register a startup extension will be activated when the server
- * core plug-in initializes and have an opportunity to run code that can't be
- * implemented using the normal contribution mechanisms.
- */
-public interface IStartup {
-	/**
-	 * Will be called on server core startup.
-	 */
-	public void startup();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java
deleted file mode 100644
index 36ec2a7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.InstallCommand;
-import org.osgi.framework.Bundle;
-/**
- * 
- */
-public class InstallableRuntime implements IInstallableRuntime {
-	private IConfigurationElement element;
-
-	public InstallableRuntime(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		try {
-			return element.getAttribute("id");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public String getFeatureVersion() {
-		try {
-			return element.getAttribute("featureVersion");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getFeatureId() {
-		try {
-			return element.getAttribute("featureId");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getBundleId() {
-		try {
-			return element.getAttribute("bundleId");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getBundleVersion() {
-		try {
-			return element.getAttribute("bundleVersion");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getPath() {
-		try {
-			return element.getAttribute("path");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getFromSite() {
-		try {
-			return element.getAttribute("featureSite");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	/*
-	 * @see IInstallableRuntime#getLicense(IProgressMonitor)
-	 */
-	public String getLicense(IProgressMonitor monitor) throws CoreException {
-		String featureId = getFeatureId();
-		String featureVersion = getFeatureVersion();
-		String fromSite = getFromSite();
-		
-		if (featureId == null || featureVersion == null || fromSite == null)
-			return null;
-		
-		ISite site = InstallableRuntime.getSite(fromSite, monitor);
-		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
-		for (int i = 0; i < featureRefs.length; i++) {
-			if (featureId.equals(featureRefs[i].getName()) && featureVersion.equals(featureRefs[i].getVersionedIdentifier().getVersion().toString())) {
-				IFeature feature = featureRefs[i].getFeature(monitor);
-				IURLEntry license = feature.getLicense();
-				if (license != null)
-					return license.getAnnotation();
-				return null;
-			}
-		}
-		return null;
-	}
-
-	protected Bundle getBundleVersion(Bundle[] bundles, String version) {
-		if (bundles == null)
-			return null;
-		
-		int size = bundles.length;
-		return bundles[size - 1];
-	}
-
-	/*
-	 * @see IInstallableRuntime#install(IPath)
-	 */
-	public void install(final IPath path) {
-		Job installRuntimeJob = new Job(Messages.jobInstallingRuntime) {
-			public boolean belongsTo(Object family) {
-				return ServerPlugin.PLUGIN_ID.equals(family);
-			}
-			
-			protected IStatus run(IProgressMonitor monitor) {
-				try {
-					install(path, monitor);
-				} catch (CoreException ce) {
-					return ce.getStatus();
-				}
-				
-				return Status.OK_STATUS;
-			}
-		};
-		
-		installRuntimeJob.schedule();
-	}
-
-	public static ISite getSite(String fromSite, IProgressMonitor monitor) {
-		try {
-			URL siteURL = new URL(fromSite);
-			return SiteManager.getSite(siteURL, monitor);
-		} catch (MalformedURLException e) {
-			Trace.trace(Trace.WARNING, "Could not parse site", e);
-		} catch (CoreException e) {
-			Trace.trace(Trace.WARNING, "Could not parse site", e);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not parse site", e);
-		}
-		return null;
-	}
-
-	public static String getMirror(String fromSite, ISite site) {
-		if (site != null) {
-			String mirrorSite = getMirror(site);
-			if (mirrorSite != null) 
-				return mirrorSite;
-		}
-		return fromSite;
-	}
-
-	public static String getMirror(ISite site) {
-		// if the site is a site containing mirrors, set the fromSite to the
-		// first mirror site since many mirror list generators will sort the mirrors
-		// to closest geographic location
-		if (site != null && site instanceof ISiteWithMirrors) {
-			try {
-				IURLEntry[] urlEntries = ((ISiteWithMirrors) site).getMirrorSiteEntries();
-				if (urlEntries.length > 0)
-					return urlEntries[0].getURL().toExternalForm();
-			} catch (CoreException e) {
-				Trace.trace(Trace.WARNING, "Could not find mirror site", e);
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * @see IInstallableRuntime#install(IPath, IProgressMonitor)
-	 */
-	public void install(IPath path, IProgressMonitor monitor) throws CoreException {
-		String featureId = getFeatureId();
-		String featureVersion = getFeatureVersion();
-		String fromSite = getFromSite();
-		
-		if (featureId == null || featureVersion == null || fromSite == null)
-			return;
-		
-		ISite site = getSite(fromSite, monitor);
-		fromSite = getMirror(fromSite, site);
-		
-		boolean install = false;
-		if (getBundleId() != null) {
-			install = Platform.getBundles(getBundleId(), getBundleVersion()) == null;
-		} else if (getPath() != null) {
-			install = !new File(getFeatureArchivePath()).exists();
-		}
-		
-		// download and install plugins
-		if (install) {
-			try {
-				monitor.setTaskName("Installing feature");
-				InstallCommand command = new InstallCommand(featureId, featureVersion, fromSite, null, "false");
-				boolean b = command.run(monitor);
-				if (!b)
-					throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-							Messages.errorInstallingServerFeature, null));
-				command.applyChangesNow();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error installing feature", e);
-				throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-						NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-			}
-		}
-		
-		try {
-			URL url = null;
-			if (getBundleId() != null) {
-				Bundle[] bundles = Platform.getBundles(getBundleId(), getBundleVersion());
-				Bundle bundle = getBundleVersion(bundles, getBundleVersion());
-				url = bundle.getEntry(getPath());
-				url = FileLocator.resolve(url);
-			} else {
-				// data archive used so get the url of the runtime archive from inside the feature
-				url = new File(getFeatureArchivePath()).toURL();
-			}
-			
-			// unzip from bundle into path
-			InputStream in = url.openStream();
-			BufferedInputStream bin = new BufferedInputStream(in);
-			ZipInputStream zin = new ZipInputStream(bin);
-			ZipEntry entry = zin.getNextEntry();
-			byte[] buf = new byte[8192];
-			while (entry != null) {
-				String name = entry.getName();
-				monitor.setTaskName("Unzipping: " + name);
-				
-				if (entry.isDirectory()) {
-					path.append(name).toFile().mkdirs();
-				} else {
-					FileOutputStream fout = new FileOutputStream(path.append(name).toFile());
-					int r = zin.read(buf);
-					while (r >= 0) {
-						fout.write(buf, 0, r);
-						r = zin.read(buf);
-					}
-				}
-				zin.closeEntry();
-				entry = zin.getNextEntry();
-			}
-			zin.close();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error unzipping runtime", e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-					NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-		} 
-	}
-
-	private String getFeatureArchivePath() {
-		String feature = getFeatureId() + "_" + getFeatureVersion();
-		String platformLoc = Platform.getInstallLocation().getURL().getFile();
-		return platformLoc.concat(File.separator + Site.DEFAULT_INSTALLED_FEATURE_PATH + feature + File.separator + getPath());
-	}
-
-	public String toString() {
-		return "InstallableRuntime[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
deleted file mode 100644
index 63e1c55..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.ISite;
-import org.eclipse.update.core.ISiteFeatureReference;
-import org.eclipse.update.core.IURLEntry;
-import org.eclipse.update.standalone.InstallCommand;
-import org.osgi.framework.Version;
-/**
- * 
- */
-public class InstallableServer implements IInstallableServer {
-	private IConfigurationElement element;
-
-	public InstallableServer(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		try {
-			return element.getAttribute("id");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * 
-	 * @return the name
-	 */
-	public String getName() {
-		try {
-			return element.getAttribute("name");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * 
-	 * @return the description
-	 */
-	public String getDescription() {
-		try {
-			return element.getAttribute("description");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public String getVendor() {
-		try {
-			String vendor = element.getAttribute("vendor");
-			if (vendor != null)
-				return vendor;
-		} catch (Exception e) {
-			// ignore
-		}
-		return Messages.defaultVendor;
-	}
-
-	public String getVersion() {
-		try {
-			String version = element.getAttribute("version");
-			if (version != null)
-				return version;
-		} catch (Exception e) {
-			// ignore
-		}
-		return Messages.defaultVersion;
-	}
-
-	public String getFeatureVersion() {
-		try {
-			return element.getAttribute("featureVersion");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getFeatureId() {
-		try {
-			return element.getAttribute("featureId");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getFromSite() {
-		try {
-			return element.getAttribute("featureSite");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	/*
-	 * @see IInstallableServer#getLicense(IProgressMonitor)
-	 */
-	public String getLicense(IProgressMonitor monitor) throws CoreException {
-		String featureId = getFeatureId();
-		String featureVersion = getFeatureVersion();
-		String fromSite = getFromSite();
-
-		if (featureId == null || featureVersion == null || fromSite == null)
-			return null;
-		
-		ISite site = InstallableRuntime.getSite(fromSite, monitor);
-		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
-		for (int i = 0; i < featureRefs.length; i++) {
-			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(featureRefs[i].getVersionedIdentifier().getVersion().toString())) {
-				IFeature feature = featureRefs[i].getFeature(monitor);
-				IURLEntry license = feature.getLicense();
-				if (license != null)
-					return license.getAnnotation();
-				return null;
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * @see IInstallableServer#install(IProgressMonitor)
-	 */
-	public void install(IProgressMonitor monitor) throws CoreException {
-		String featureId = getFeatureId();
-		String featureVersion = getFeatureVersion();
-		String fromSite = getFromSite();
-		
-		if (featureId == null || featureVersion == null || fromSite == null)
-			return;
-		
-		ISite site = InstallableRuntime.getSite(fromSite, monitor);
-		fromSite = InstallableRuntime.getMirror(fromSite, site);
-		featureVersion = getLatestVersion(site, featureVersion, featureId);
-		
-		try {
-			InstallCommand command = new InstallCommand(featureId, featureVersion, fromSite, null, "false");
-			boolean b = command.run(monitor);
-			if (!b)
-				throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-						Messages.errorInstallingServerFeature, null));
-			//command.applyChangesNow();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error installing feature", e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-					NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-		}
-		
-		try {
-			Thread.sleep(1000);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	public static String getLatestVersion(ISite site, String version, String featureId) {
-		Version latestVersion = new Version(version);
-		try {
-			ISiteFeatureReference[] features = site.getFeatureReferences();
-			for (int i = 0; i < features.length; i++) {
-				if (features[i].getVersionedIdentifier().getIdentifier().equals(featureId)) {
-					Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
-					if (nextCand.compareTo(latestVersion) > 0) {
-						latestVersion = nextCand;
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error searching for latest feature version", e);
-		}
-		
-		return latestVersion.toString();
-	}
-
-	public String toString() {
-		return "InstallableServer[" + getId() + ", " + getName() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java
deleted file mode 100644
index 6af7ca1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.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.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public class LaunchableAdapter implements ILaunchableAdapter {
-	private IConfigurationElement element;
-	private LaunchableAdapterDelegate delegate;
-
-	/**
-	 * LaunchableAdapter constructor comment.
-	 * 
-	 * @param element a configuration element
-	 */
-	public LaunchableAdapter(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this LaunchableAdapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	public LaunchableAdapterDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (LaunchableAdapterDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * @see ILaunchableAdapter#getLaunchable(IServer, IModuleArtifact)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact object) {
-		try {
-			return getDelegate().getLaunchable(server, object);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return null;
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "LaunchableAdapter[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
deleted file mode 100644
index 9df6522..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
+++ /dev/null
@@ -1,69 +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 org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String publishing;
-	public static String errorRuntimeName;
-	public static String errorDuplicateRuntimeName;
-	public static String errorSaving;
-	public static String errorLoading;
-	public static String errorCannotAddModule;
-	public static String defaultVendor;
-	public static String defaultVersion;
-	public static String savingTask;
-	public static String taskPerforming;
-	public static String deletingTask;
-	public static String defaultServerProjectName;
-	public static String defaultRuntimeName;
-	public static String defaultRuntimeName2;
-	public static String defaultServerName;
-	public static String defaultServerName2;
-	public static String defaultServerName3;
-	public static String defaultServerName4;
-	public static String taskModifyModules;
-	public static String errorWorkingCopyTimestamp;
-	public static String errorPublishStarting;
-	public static String errorPublishNoRuntime;
-	public static String errorPublishNoConfiguration;
-	public static String errorNoConfiguration;
-	public static String publishingStatusOk;
-	public static String publishingStatusInfo;
-	public static String publishingStatusWarning;
-	public static String publishingStatusError;
-	public static String errorPublishing;
-	public static String publishingStop;
-	public static String publishingModule;
-	public static String publishedModule;
-	public static String errorStartTimeout;
-	public static String errorStartFailed;
-	public static String errorModuleRestartFailed;
-	public static String errorInstallingServer;
-	public static String errorInstallingServerFeature;
-	public static String errorRestartModule;
-	public static String canStartErrorState;
-	public static String errorLaunchMode;
-	public static String errorRestartNotStarted;
-	public static String errorStopAlreadyStopped;
-	public static String moduleTypeUnknown;
-	public static String jobStartingServer;
-	public static String jobRestartingServer;
-	public static String jobUpdateServer;
-	public static String jobInstallingRuntime;
-	
-	static {
-		NLS.initializeMessages(ServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
deleted file mode 100644
index 4174737..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
+++ /dev/null
@@ -1,73 +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
-###############################################################################
-
-# --------------- Tasks (progress monitors) ---------------
-savingTask=Saving {0}
-deletingTask=Deleting {0}
-
-taskPerforming=Performing Tasks
-taskModifyModules=Adding and/or removing projects.
-
-publishing=Publishing to {0}...
-publishingStatusOk=Publishing finished successfully
-publishingStatusInfo=Publishing completed with information
-publishingStatusWarning=Publishing completed with a warning
-publishingStatusError=Publishing failed
-publishingStop=Disconnecting from server
-
-publishingModule=Publishing: {0}
-publishedModule={0} published successfully
-
-jobStartingServer=Starting server - {0}
-jobRestartingServer=Restarting server - {0}
-jobUpdateServer=Updating status for {0}...
-jobInstallingRuntime=Installing server runtime
-
-# --------------- Misc UI ---------------
-
-# Error Messages
-errorPublishing=Could not publish to the server.
-errorNoConfiguration=The server has no configuration.
-errorLoading=Error loading from {0}.
-errorSaving=Could not save to {0}.
-errorModuleRestartFailed=Could not restart the module.
-errorWorkingCopyTimestamp=Could not save because the file has been modified since the start of editing.
-errorRuntimeName=Enter a name for the runtime.
-errorDuplicateRuntimeName=Name is already in use.
-errorStartTimeout=Timeout waiting for {0} to start. Server did not start after {1}s. 
-errorStartFailed=Server {0} failed to start.
-errorCannotAddModule=The server does not support version {1} of the {0} specification.
-errorInstallingServer=Error occurred installing server: {0}
-errorInstallingServerFeature=Could not download and install update feature.
-
-# Default server creation names
-# {0} will be replaced by a number if the given name is already being used
-defaultServerProjectName=Servers{0}
-defaultRuntimeName={0}
-defaultRuntimeName2={0} ({1})
-defaultServerName={0} @ {1}
-defaultServerName2={0} @ {1} ({2})
-defaultServerName3={0}
-defaultServerName4={0} ({1})
-
-# Used when a name can't be found
-defaultVendor=Basic
-defaultVersion=Basic
-moduleTypeUnknown=Unknown module
-
-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.
-errorPublishNoRuntime=Cannot publish to the server because it is missing its runtime.
-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.
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java
deleted file mode 100644
index 7ee216f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.ModuleDelegate;
-/**
- * 
- */
-public class Module implements IModule {
-	protected String id;
-	protected String name;
-	protected ModuleFactory factory;
-	protected String type;
-	protected String version;
-	protected IProject project;
-	protected ModuleDelegate delegate;
-	protected String id2;
-
-	/**
-	 * Module constructor.
-	 * 
-	 * @param factory
-	 * @param id
-	 * @param name
-	 * @param type
-	 * @param version
-	 * @param project
-	 */
-	public Module(ModuleFactory factory, String id, String name, String type, String version, IProject project) {
-		super();
-		this.factory = factory;
-		this.project = project;
-		this.type = type;
-		this.version = version;
-		this.id = id;
-		this.name = name;
-		if (factory != null)
-			id2 = factory.getId() + ":";
-		else
-			id2 = ":";
-		id2 += id;
-	}
-
-	/**
-	 * Returns the id of this module.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return id2;
-	}
-
-	/**
-	 * Returns the internal (partial) id of this module.
-	 *
-	 * @return the id
-	 */
-	public String getInternalId() {
-		return id;
-	}
-
-	/**
-	 * Returns the type of this module.
-	 * 
-	 * @return the module type
-	 */
-	public IModuleType getModuleType() {
-		return new ModuleType(type, version);
-	}
-
-	/**
-	 * Returns the workbench project that this module is contained in,
-	 * or null if the module is outside of the workspace.
-	 * 
-	 * @return the project that the module is contained in
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/*
-	 * @see IModule#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the <code>ModuleFactory</code> that created this module.
-	 * 
-	 * @return the module factory that created this module
-	 */
-	public ModuleFactory getModuleFactory() {
-		return factory;
-	}
-
-	protected ModuleDelegate getDelegate(IProgressMonitor monitor) {
-		if (delegate != null)
-			return delegate;
-		
-		synchronized (this) {
-			if (delegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					delegate = factory.getDelegate(monitor).getModuleDelegate(this);
-					delegate.initialize(this);
-					Trace.trace(Trace.PERFORMANCE, "Module.getDelegate(): <" + (System.currentTimeMillis() - time) + " " + factory.getId());
-				} catch (Throwable t) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Returns the child modules of this module.
-	 *
-	 * @param monitor a progress monitor
-	 * @return a possibly empty array of modules
-	 */
-	public IModule[] getChildModules(IProgressMonitor monitor) {
-		try {
-			return getDelegate(monitor).getChildModules();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getChildModules() " + toString(), e);
-			return null;
-		}
-	}
-
-	/**
-	 * Validates this module.
-	 * <p>
-	 * [issue: Conjecture: Each different type of module prescribes
-	 * legal arrangements of, and the significance of, the files within
-	 * it. This would be spelled out in the spec for the particular
-	 * module types.
-	 * This validate operation is suppose to check the actual
-	 * arrangement of files in this module to see whether they
-	 * meet expectations.
-	 * It's an open question as to how "strenuous" a check this
-	 * is.]
-	 * </p>
-	 * <p>
-	 * [issue: Old comment said: "If there is an error
-	 * that should block the server from starting (e.g. major errors)
-	 * it should be returned from this method. This method can also be used to
-	 * return warning for such things as an open (and dirty) editor."]
-	 * </p>
-	 * <p>
-	 * [issue: All existing implementations of this return null,
-	 * which is illegal.]
-	 * </p>
-	 * <p>
-	 * [issue: Old comment said: "Returns an IStatus that is used to determine if this object can
-	 * be published to the server." Since the same module can
-	 * be associated with any number of servers, "the server" is
-	 * ill-defined.]
-	 * </p>
-	 * <p>
-	 * [issue: Old comment said: "Should return an error if there
-	 * is a major problem with the resources, or can be used to
-	 * return warnings on unsaved files, etc." It is usually
-	 * difficult in principle for core-level infrastructure to
-	 * detect whether there are open editors with unsaved changes.]
-	 * </p>
-	 *
-	 * @param monitor a progress monitor, or <code>null</code> if no
-	 *    progress reporting is required
-	 * @return a status object with code <code>IStatus.OK</code> if the given
-	 *    module is valid, otherwise a status object indicating what is
-	 *    wrong with it
-	 */
-	public IStatus validate(IProgressMonitor monitor) {
-		try {
-			return getDelegate(monitor).validate();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate validate() " + toString(), e);
-			return null;
-		}
-	}
-
-	/**
-	 * @see IModule#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (delegate != null) {
-			if (adapter.isInstance(delegate))
-				return delegate;
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @see IModule#loadAdapter(Class, IProgressMonitor)
-	 */
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor) {
-		getDelegate(monitor);
-		if (adapter.isInstance(delegate))
-			return delegate;
-		return Platform.getAdapterManager().loadAdapter(this, adapter.getName());
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof IModule))
-			return false;
-		
-		IModule m = (IModule) obj;
-		if (!id2.equals(m.getId()))
-			return false;
-		if (project != null && m.getProject() != null && !project.equals(m.getProject()))
-			return false;
-		//if (!getModuleType().equals(m.getModuleType()))
-		//	return false;
-		
-		return true;
-	}
-
-	public int hashCode() {
-		int result = id2.hashCode() + 17;
-		if (project != null)
-			result += project.hashCode() * 37;
-		return result;
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "Module[" + name + "," + id2 + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java
deleted file mode 100644
index 8e4efff..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.expressions.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate;
-import org.osgi.framework.Bundle;
-/**
- * 
- */
-public class ModuleArtifactAdapter {
-	private IConfigurationElement element;
-	private Expression fContextualLaunchExpr = null;
-	private ModuleArtifactAdapterDelegate delegate;
-
-	/**
-	 * ModuleArtifactAdapter constructor comment.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ModuleArtifactAdapter(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this ModuleArtifactAdapter.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the relative priority of this adapter.
-	 *
-	 * @return a priority
-	 */
-	public int getPriority() {
-		try {
-			return Integer.parseInt(element.getAttribute("priority"));
-		} catch (Exception e) {
-			return 0;
-		}
-	}
-
-	/**
-	 * Returns true if the plugin that loaded this class has been loaded.
-	 *
-	 * @return boolean
-	 */
-	public boolean isPluginActivated() {
-		String name = element.getDeclaringExtension().getContributor().getName();
-		return Platform.getBundle(name).getState() == Bundle.ACTIVE;
-	}
-
-	/**
-	 * Returns an expression that represents the enablement logic for the
-	 * contextual launch element of this launch shortcut description or
-	 * <code>null</code> if none.
-	 * @return an evaluatable expression or <code>null</code>
-	 * @throws CoreException if the configuration element can't be
-	 *  converted. Reasons include: (a) no handler is available to
-	 *  cope with a certain configuration element or (b) the XML
-	 *  expression tree is malformed.
-	 */
-	public Expression getContextualLaunchEnablementExpression() throws CoreException {
-		if (fContextualLaunchExpr == null) {
-			IConfigurationElement[] elements = element.getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
-
-			if (enablement != null)
-				fContextualLaunchExpr = ExpressionConverter.getDefault().perform(enablement);
-		}
-		return fContextualLaunchExpr;
-	}
-	
-	/**
-	 * Evaluate the given expression within the given context and return
-	 * the result. Returns <code>true</code> iff result is either TRUE or NOT_LOADED.
-	 * This allows optimistic inclusion of shortcuts before plugins are loaded.
-	 * Returns <code>false</code> if exp is <code>null</code>.
-	 * 
-	 * @param exp the enablement expression to evaluate or <code>null</code>
-	 * @param context the context of the evaluation. Usually, the
-	 *  user's selection.
-	 * @return the result of evaluating the expression
-	 * @throws CoreException
-	 */
-	protected boolean evalEnablementExpression(IEvaluationContext context, Expression exp) throws CoreException {
-		return (exp != null) ? ((exp.evaluate(context)) != EvaluationResult.FALSE) : false;
-	}
-	
-	/**
-	 * @return an Evaluation context with default variable = selection
-	 */
-	/*protected IEvaluationContext createContext(Object obj) {
-		List list = null;
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-			    IWorkbenchPart activePart = page.getActivePart();
-			    if (activePart instanceof IEditorPart) {
-			        list = new ArrayList();
-			        list.add(((IEditorPart)activePart).getEditorInput());
-			    } else if (activePart != null) {
-			        IWorkbenchPartSite site = activePart.getSite();
-			        if (site != null) {
-	                    ISelectionProvider selectionProvider = site.getSelectionProvider();
-	                    if (selectionProvider != null) {
-	                        ISelection selection = selectionProvider.getSelection();
-					        if (selection instanceof IStructuredSelection) {
-					            list = ((IStructuredSelection)selection).toList();
-					        }
-	                    }
-			        }
-			    }
-			}
-		}
-		// create a default evaluation context with default variable
-		// of the user selection or editor input
-		if (list == null) {
-		    list = Collections.EMPTY_LIST;
-		}
-		IEvaluationContext context = new EvaluationContext(null, list);
-		context.addVariable("selection", list); //$NON-NLS-1$
-		
-		return context;
-	}*/
-
-	/**
-	 * Returns true if enabled for the given object.
-	 * 
-	 * @param obj an object
-	 * @return <code>true</code> if enabled
-	 * @throws CoreException if anything goes wrong
-	 */
-	public boolean isEnabled(Object obj) throws CoreException {
-		IEvaluationContext context = new EvaluationContext(null, obj);
-		context.addVariable("selection", obj);
-		return evalEnablementExpression(context, getContextualLaunchEnablementExpression());
-	}
-
-	public ModuleArtifactAdapterDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (ModuleArtifactAdapterDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-	
-	public boolean isDelegateLoaded() {
-		return (delegate != null);
-	}
-
-	/**
-	 * Returns the module artifact.
-	 * 
-	 * @param obj an object
-	 * @return the module artifact, or <code>null</code>
-	 */
-	public IModuleArtifact getModuleArtifact(Object obj) {
-		try {
-			return getDelegate().getModuleArtifact(obj);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return null;
-		}
-	}
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ModuleArtifactAdapter[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleEvent.java
deleted file mode 100644
index a39dd4f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleEvent.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.server.core.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.IModule;
-/**
- * An event fired when a module changes.
- */
-public class ModuleEvent {
-	private IModule module;
-	private boolean isChanged;
-	private IModule[] added;
-	private IModule[] changed;
-	private IModule[] removed;
-
-	class IModuleArtifact {
-		IPath path;
-		long timestamp;
-	}
-
-	/**
-	 * Create a new module event.
-	 * 
-	 * @param module the module that has been changed
-	 * @param isChanged true if the module has changed
-	 * @param added added child modules
-	 * @param changed changed child modules
-	 * @param removed removed child modules
-	 */
-	public ModuleEvent(IModule module, boolean isChanged, IModule[] added, IModule[] changed, IModule[] removed) {
-		this.module = module;
-		this.isChanged = isChanged;
-		this.added = added;
-		this.changed = changed;
-		this.removed = removed;
-	}
-
-	/**
-	 * Returns the module that has been changed.
-	 *
-	 * @return the module
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Returns true if this module's settings have changed.
-	 * 
-	 * @return <code>true</code> if the contents have changed
-	 */
-	public boolean isChanged() {
-		return isChanged;
-	}
-
-	/**
-	 * Returns any child modules that have been added.
-	 * 
-	 * @return the added child modules, or null if no modules have been added
-	 */
-	public IModule[] getAddedChildModules() {
-		return added;
-	}
-
-	/**
-	 * Returns any child modules that have been changed.
-	 * 
-	 * @return the changed child modules, or null if no modules have been changed
-	 */
-	public IModule[] getChangedChildModules() {
-		return changed;
-	}
-
-	/**
-	 * Returns any child modules that have been removed.
-	 * 
-	 * @return the removed child modules, or null if no modules have been removed
-	 */
-	public IModule[] getRemovedChildModules() {
-		return removed;
-	}
-
-	/**
-	 * Returns the module artifacts that have changed.
-	 * 
-	 * @return the changed module artifacts
-	 */
-	public IModuleArtifact[] getChangedArtifacts() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
deleted file mode 100644
index 6d0db2f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.model.InternalInitializer;
-import org.eclipse.wst.server.core.model.ModuleFactoryDelegate;
-import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
-/**
- * 
- */
-public class ModuleFactory implements IOrdered {
-	private IConfigurationElement element;
-	public ModuleFactoryDelegate delegate;
-	private List moduleTypes;
-	
-	private List modules;
-
-	/**
-	 * ModuleFactory constructor comment.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ModuleFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the index (ordering) of this task.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			return Integer.parseInt(element.getAttribute("order"));
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	/**
-	 * Return the supported module types.
-	 * 
-	 * @return an array of module types
-	 */
-	public IModuleType[] getModuleTypes() {
-		if (moduleTypes == null)
-			moduleTypes = ServerPlugin.getModuleTypes(element.getChildren("moduleType"));
-
-		IModuleType[] mt = new IModuleType[moduleTypes.size()];
-		moduleTypes.toArray(mt);
-		return mt;
-	}
-	
-	/**
-	 * Returns true if this modules factory produces project modules.
-	 *
-	 * @return boolean
-	 */
-	public boolean isProjectModuleFactory() {
-		return "true".equalsIgnoreCase(element.getAttribute("projects"));
-	}
-
-	/*
-	 * @see IModuleFactoryDelegate#getDelegate()
-	 */
-	public ModuleFactoryDelegate getDelegate(IProgressMonitor monitor) {
-		if (delegate == null) {
-			try {
-				delegate = (ModuleFactoryDelegate) element.createExecutableExtension("class");
-				//delegate.initialize(this);
-				InternalInitializer.initializeModuleFactoryDelegate(delegate, this, monitor);
-				//ResourceManager.getInstance().addModuleFactoryListener(delegate);
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/*
-	 * @see
-	 */
-	public IModule getModule(String id) {
-		IModule[] modules2 = getModules();
-		if (modules2 != null) {
-			int size = modules2.length;
-			for (int i = 0; i < size; i++) {
-				Module module = (Module) modules2[i];
-				if (id.equals(module.getInternalId()))
-					return module;
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * Temporary method to patch 204165. Do not use, see equivalent API in 2.0.
-	 */
-	public IModule[] getModules(IProject project) {
-		ModuleFactoryDelegate mfd = getDelegate(null);
-		if (mfd instanceof ProjectModuleFactoryDelegate) {
-			return ((ProjectModuleFactoryDelegate) mfd).getModules204165(project);
-		}
-		return mfd.getModules();
-	}
-
-	public void clearModuleCache() {
-		modules = null;
-	}
-
-	/*
-	 * @see
-	 */
-	public IModule[] getModules() {
-		//Trace.trace(Trace.FINER, "getModules() > " + this);
-		if (modules == null) {
-			try {
-				modules = new ArrayList();
-				IModule[] modules2 = getDelegate(null).getModules();
-				if (modules2 != null) {
-					int size = modules2.length;
-					for (int i = 0; i < size; i++)
-						modules.add(modules2[i]);
-				}
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + t.getMessage());
-				return null;
-			}
-		}
-		
-		//Trace.trace(Trace.FINER, "getModules() < " + this);
-		
-		IModule[] m = new IModule[modules.size()];
-		modules.toArray(m);
-		return m;
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ModuleFactory[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactoryEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactoryEvent.java
deleted file mode 100644
index 0f2877a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactoryEvent.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.server.core.internal;
-
-import org.eclipse.wst.server.core.IModule;
-/**
- * An event fired when a module factory changes.
- */
-public class ModuleFactoryEvent {
-	protected IModule[] added;
-	protected IModule[] removed;
-
-	/**
-	 * Create a new event.
-	 * 
-	 * @param added added modules
-	 * @param removed removed modules
-	 */
-	public ModuleFactoryEvent(IModule[] added, IModule[] removed) {
-		this.added = added;
-		this.removed = removed;
-	}
-
-	/**
-	 * Returns any modules that have been added.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getAddedModules() {
-		return added;
-	}
-
-	/**
-	 * Returns any modules that have been removed.
-	 * 
-	 * @return org.eclipse.wst.server.core.model.IModule[]
-	 */
-	public IModule[] getRemovedModules() {
-		return removed;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.java
deleted file mode 100644
index 177c0d8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.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.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModuleFile;
-/**
- * 
- */
-public class ModuleFile implements IModuleFile {
-	protected IFile file;
-	protected File file2;
-	protected String name;
-	protected IPath path;
-	protected long stamp = -1;
-
-	/**
-	 * Creates a workspace module file with the current modification stamp.
-	 * 
-	 * @param file
-	 * @param name
-	 * @param path
-	 */
-	public ModuleFile(IFile file, String name, IPath path) {
-		this.file = file;
-		this.name = name;
-		this.path = path;
-		if (file != null)
-			stamp = file.getModificationStamp() + file.getLocalTimeStamp();
-	}
-
-	/**
-	 * Creates an external module file with the current modification stamp.
-	 * 
-	 * @param file
-	 * @param name
-	 * @param path
-	 */
-	public ModuleFile(File file, String name, IPath path) {
-		this.file2 = file;
-		this.name = name;
-		this.path = path;
-		if (file != null)
-			stamp = file2.lastModified();
-	}
-
-	/**
-	 * Creates a workspace module file with a specific modification stamp.
-	 * 
-	 * @param file
-	 * @param name
-	 * @param path
-	 * @param stamp
-	 * @deprecated use one of the top two constructors instead
-	 */
-	public ModuleFile(IFile file, String name, IPath path, long stamp) {
-		this.file = file;
-		this.name = name;
-		this.path = path;
-		this.stamp = stamp;
-	}
-
-	/**
-	 * Creates a module file with a specific modification stamp and no
-	 * file reference.
-	 * 
-	 * @param name
-	 * @param path
-	 * @param stamp
-	 */
-	public ModuleFile(String name, IPath path, long stamp) {
-		this.name = name;
-		this.path = path;
-		this.stamp = stamp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleFile#getModificationStamp()
-	 */
-	public long getModificationStamp() {
-		return stamp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath()
-	 */
-	public IPath getModuleRelativePath() {
-		return path;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof IModuleFile))
-			return false;
-		
-		IModuleFile mf = (IModuleFile) obj;
-		if (!name.equals(mf.getName()))
-			return false;
-		if (!path.equals(mf.getModuleRelativePath()))
-			return false;
-		return true;
-	}
-
-	public int hashCode() {
-		return name.hashCode() * 37 + path.hashCode();
-	}
-
-	public Object getAdapter(Class cl) {
-		if (IFile.class.equals(cl))
-			return file;
-		if (File.class.equals(cl))
-			return file2;
-		return null;
-	}
-
-	public String toString() {
-		return "ModuleFile [" + name + ", " + path + ", " + stamp + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java
deleted file mode 100644
index c1f4b1f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java
+++ /dev/null
@@ -1,109 +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 org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModuleFolder;
-import org.eclipse.wst.server.core.model.IModuleResource;
-/**
- * 
- */
-public class ModuleFolder implements IModuleFolder {
-	private static final IModuleResource[] EMPTY_RESOURCE_ARRAY = new IModuleResource[0];
-	protected IContainer container;
-	protected String name;
-	protected IPath path;
-	protected IModuleResource[] members;
-
-	/**
-	 * Creates a workspace module folder.
-	 * 
-	 * @param container
-	 * @param name
-	 * @param path
-	 */
-	public ModuleFolder(IContainer container, String name, IPath path) {
-		this.container = container;
-		this.name = name;
-		this.path = path;
-	}
-
-	/**
-	 * Creates a workspace module folder with no folder reference.
-	 * 
-	 * @param name
-	 * @param path
-	 */
-	public ModuleFolder(String name, IPath path) {
-		this.name = name;
-		this.path = path;
-	}
-
-	/**
-	 * Sets the members (contents) of this folder.
-	 * 
-	 * @param members
-	 */
-	public void setMembers(IModuleResource[] members) {
-		this.members = members;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath()
-	 */
-	public IPath getModuleRelativePath() {
-		return path;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleFolder#members()
-	 */
-	public IModuleResource[] members() {
-		if (members == null)
-			return EMPTY_RESOURCE_ARRAY;
-		return members;
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ModuleFolder))
-			return false;
-		
-		ModuleFolder mf = (ModuleFolder) obj;
-		if (!name.equals(mf.name))
-			return false;
-		if (!path.equals(mf.path))
-			return false;
-		return true;
-	}
-
-	public int hashCode() {
-		return name.hashCode() * 37 + path.hashCode();
-	}
-
-	public Object getAdapter(Class cl) {
-		if (IContainer.class.equals(cl) || IFolder.class.equals(cl))
-			return container;
-		return null;
-	}
-
-	public String toString() {
-		return "ModuleFolder [" + name + ", " + path + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java
deleted file mode 100644
index 7bd8184..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-/**
- * 
- */
-public class ModuleKind {
-	protected String id;
-	protected String name;
-	
-	public ModuleKind(IConfigurationElement ce) {
-		super();
-		this.id = ce.getAttribute("id");
-		this.name = ce.getAttribute("name");
-	}
-	
-	public ModuleKind(String id, String name) {
-		super();
-		this.id = id;
-		this.name = name;
-	}
-	
-	public String getId() {
-		return id;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public String toString() {
-		return "ModuleType[" + id + ", " + name + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java
deleted file mode 100644
index 5555635..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java
+++ /dev/null
@@ -1,133 +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.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.wst.server.core.*;
-/**
- * Helper class that stores preference information for the server tools.
- */
-public class ModuleProperties {
-	private static final String MODULE_DATA_FILE = "modules.xml";
-
-	protected static ModuleProperties instance;
-	protected Map modules;
-
-	/**
-	 * ModuleProperties constructor.
-	 */
-	protected ModuleProperties() {
-		super();
-		load();
-		instance = this;
-	}
-
-	/**
-	 * Return a static instance.
-	 * 
-	 * @return a static instance
-	 */
-	public static ModuleProperties getInstance() {
-		if (instance == null)
-			new ModuleProperties();
-		return instance;
-	}
-	
-	/**
-	 * Load the data.
-	 */
-	private void load() {
-		Trace.trace(Trace.FINEST, "Loading module info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append(MODULE_DATA_FILE).toOSString();
-		modules = new HashMap();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("module");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				String moduleId = children[i].getString("moduleId");
-				String serverId = children[i].getString("serverId");
-				modules.put(moduleId, serverId);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
-		}
-	}
-	
-	private void save(IProgressMonitor monitor) throws CoreException {
-		String filename = ServerPlugin.getInstance().getStateLocation().append(MODULE_DATA_FILE).toOSString();
-		
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("modules");
-
-			Iterator iterator = modules.keySet().iterator();
-			while (iterator.hasNext()) {
-				String moduleId = (String) iterator.next();
-				String serverId = (String) modules.get(moduleId);
-
-				IMemento child = memento.createChild("module");
-				child.putString("moduleId", moduleId);
-				child.putString("serverId", serverId);
-			}
-
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save servers", e);
-		}
-	}
-
-	/*
-	 * @see ServerCore#getDefaultServer(IModule)
-	 */
-	public IServer getDefaultServer(IModule module) {
-		if (module == null)
-			throw new IllegalArgumentException();
-		
-		String serverId = (String) modules.get(module.getId());
-		if (serverId == null || serverId.length() == 0)
-			return null;
-		
-		return ServerCore.findServer(serverId);
-	}
-
-	/*
-	 * @see ServerCore#setDefaultServer(IModule, IServer, IProgressMonitor)
-	 */
-	public void setDefaultServer(IModule module, IServer server, IProgressMonitor monitor) throws CoreException {
-		if (module == null)
-			throw new IllegalArgumentException();
-		
-		String newServerId = null;
-		if (server != null)
-			newServerId = server.getId();
-		
-		String serverId = (String) modules.get(module.getId());
-		if (serverId == null && newServerId == null)
-			return;
-		if (serverId != null && serverId.equals(newServerId))
-			return;
-		
-		modules.put(module.getId(), newServerId);
-		save(monitor);
-	}
-
-	public String toString() {
-		return "ModuleProperties[]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
deleted file mode 100644
index 0a368e9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
+++ /dev/null
@@ -1,323 +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.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.model.IModuleFile;
-import org.eclipse.wst.server.core.model.IModuleFolder;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-import org.eclipse.wst.server.core.model.ModuleDelegate;
-/**
- * Publish information for a specific module on a specific server.
- */
-public class ModulePublishInfo {
-	private static final String MODULE_ID = "module-ids";
-	private static final String NAME = "name";
-	private static final String MODULE_TYPE_ID = "module-type-id";
-	private static final String MODULE_TYPE_VERSION = "module-type-version";
-	private static final String PATH = "path";
-	private static final String STAMP = "stamp";
-	private static final String FILE = "file";
-	private static final String FOLDER = "folder";
-
-	private String moduleId;
-	private String name;
-	private IModuleResource[] resources = new IModuleResource[0];
-	private IModuleType moduleType;
-
-	private boolean useCache;
-	private IModuleResource[] currentResources = null;
-	private IModuleResourceDelta[] delta = null;
-	private boolean hasDelta;
-
-	/**
-	 * ModulePublishInfo constructor.
-	 * 
-	 * @param moduleId a module id
-	 * @param name the module's name
-	 * @param moduleType the module type
-	 */
-	public ModulePublishInfo(String moduleId, String name, IModuleType moduleType) {
-		super();
-
-		this.moduleId = moduleId;
-		this.name = name;
-		this.moduleType = moduleType;
-	}
-
-	/**
-	 * ModulePublishInfo constructor.
-	 * 
-	 * @param memento a memento
-	 */
-	public ModulePublishInfo(IMemento memento) {
-		super();
-		
-		load(memento);
-	}
-
-	public String getModuleId() {
-		return moduleId;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public IModuleType getModuleType() {
-		return moduleType;
-	}
-
-	public IModuleResource[] getResources() {
-		return resources;
-	}
-
-	public void setResources(IModuleResource[] res) {
-		resources = res;
-	}
-
-	/**
-	 * 
-	 */
-	protected void load(IMemento memento) {
-		Trace.trace(Trace.FINEST, "Loading module publish info for: " + memento);
-	
-		try {
-			moduleId = memento.getString(MODULE_ID);
-			name = memento.getString(NAME);
-			String mt = memento.getString(MODULE_TYPE_ID);
-			String mv = memento.getString(MODULE_TYPE_VERSION);
-			if (mt != null && mt.length() > 0)
-				moduleType = new ModuleType(mt, mv);
-			
-			resources = loadResource(memento, new Path(""));
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load module publish info information: " + e.getMessage());
-		}
-	}
-
-	protected IModuleResource[] loadResource(IMemento memento, IPath path) {
-		if (memento == null)
-			return new IModuleResource[0];
-		
-		List list = new ArrayList(10);
-		
-		// load files
-		IMemento[] children = memento.getChildren(FILE);
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				String name2 = children[i].getString(NAME);
-				long stamp = Long.parseLong(children[i].getString(STAMP));
-				ModuleFile file = new ModuleFile(name2, path, stamp);
-				list.add(file);
-			}
-		}
-		
-		// load folders
-		children = memento.getChildren(FOLDER);
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				String name2 = children[i].getString(NAME);
-				ModuleFolder folder = new ModuleFolder(null, name2, path);
-				folder.setMembers(loadResource(children[i], path.append(name2)));
-				list.add(folder);
-			}
-		}
-		
-		IModuleResource[] resources2 = new IModuleResource[list.size()];
-		list.toArray(resources2);
-		return resources2;
-	}
-
-	/**
-	 * 
-	 */
-	protected void save(IMemento memento) {
-		try {
-			memento.putString(MODULE_ID, moduleId);
-			if (name != null)
-				memento.putString(NAME, name);
-			
-			if (moduleType != null) {
-				memento.putString(MODULE_TYPE_ID, moduleType.getId());
-				memento.putString(MODULE_TYPE_VERSION, moduleType.getVersion());
-			}
-			
-			saveResource(memento, resources);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save module publish info", e);
-		}
-	}
-
-	protected void saveResource(IMemento memento, IModuleResource[] resources2) {
-		if (resources2 == null)
-			return;
-		int size = resources2.length;
-		for (int i = 0; i < size; i++) {
-			if (resources2[i] instanceof IModuleFile) {
-				IModuleFile file = (IModuleFile) resources2[i];
-				IMemento child = memento.createChild(FILE);
-				child.putString(NAME, file.getName());
-				child.putString(PATH, file.getModuleRelativePath().toPortableString());
-				child.putString(STAMP, "" + file.getModificationStamp());
-			} else {
-				IModuleFolder folder = (IModuleFolder) resources2[i];
-				IMemento child = memento.createChild(FOLDER);
-				child.putString(NAME, folder.getName());
-				child.putString(PATH, folder.getModuleRelativePath().toPortableString());
-				IModuleResource[] resources3 = folder.members();
-				saveResource(child, resources3);
-			}
-		}
-	}
-
-	/**
-	 * Start using the module cache.
-	 */
-	protected void startCaching() {
-		useCache = true;
-		currentResources = null;
-	}
-
-	/**
-	 * Fill the module cache.
-	 * 
-	 * @param module
-	 */
-	private void fillCache(IModule[] module) {
-		if (currentResources != null)
-			return;
-		
-		try {
-			long time = System.currentTimeMillis();
-			int size = module.length;
-			ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null);
-			if (pm != null)
-				currentResources = pm.members();
-			else
-				currentResources = new IModuleResource[0];
-			
-			delta = ServerPublishInfo.getDelta(resources, currentResources);
-			hasDelta = (delta != null && delta.length > 0);
-			Trace.trace(Trace.PERFORMANCE, "Filling publish cache for " + module[size-1].getName() + ": " + (System.currentTimeMillis() - time));
-		} catch (CoreException ce) {
-			Trace.trace(Trace.WARNING, "Couldn't fill publish cache for " + module);
-		}
-		if (delta == null)
-			delta = new IModuleResourceDelta[0];
-	}
-
-	protected void clearCache() {
-		useCache = false;
-		currentResources = null;
-		delta = null;
-	}
-
-	protected IModuleResource[] getModuleResources(IModule[] module) {
-		if (module == null)
-			return new IModuleResource[0];
-		
-		if (useCache) {
-			fillCache(module);
-			return currentResources;
-		}
-		
-		long time = System.currentTimeMillis();
-		
-		int size = module.length;
-		ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null);
-		IModuleResource[] x = new IModuleResource[0];
-		try {
-			if (pm != null)
-				x = pm.members();
-		} catch (CoreException ce) {
-			// ignore
-		}
-		Trace.trace(Trace.PERFORMANCE, "Time to get members() for " + module[size - 1].getName() + ": " + (System.currentTimeMillis() - time));
-		return x;
-	}
-
-	protected IModuleResourceDelta[] getDelta(IModule[] module) {
-		if (module == null)
-			return new IModuleResourceDelta[0];
-		
-		if (useCache) {
-			fillCache(module);
-			return delta;
-		}
-		
-		int size = module.length;
-		ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null);
-		IModuleResource[] resources2 = null;
-		try {
-			if (pm != null)
-				resources2 = pm.members();
-		} catch (CoreException ce) {
-			// ignore
-		}
-		if (resources2 == null)
-			resources2 = new IModuleResource[0];
-		return ServerPublishInfo.getDelta(getResources(), resources2);
-	}
-
-	protected boolean hasDelta(IModule[] module) {
-		if (module == null)
-			return false;
-		
-		if (useCache) {
-			fillCache(module);
-			return hasDelta;
-		}
-		
-		int size = module.length;
-		ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null);
-		IModuleResource[] resources2 = null;
-		try {
-			if (pm != null)
-				resources2 = pm.members();
-		} catch (CoreException ce) {
-			// ignore
-		}
-		if (resources2 == null)
-			resources2 = new IModuleResource[0];
-		return ServerPublishInfo.hasDelta(getResources(), resources2);
-	}
-
-	public void fill(IModule[] module) {
-		if (module == null)
-			return;
-		
-		if (useCache) {
-			fillCache(module);
-			setResources(currentResources);
-			return;
-		}
-		
-		int size = module.length;
-		ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null);
-		try {
-			if (pm != null)
-				setResources(pm.members());
-		} catch (CoreException ce) {
-			// ignore
-		}
-	}
-
-	public String toString() {
-		return "ModulePublishInfo [" + moduleId + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleResourceDelta.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleResourceDelta.java
deleted file mode 100644
index d05bdc6..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleResourceDelta.java
+++ /dev/null
@@ -1,75 +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 org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-/**
- * 
- */
-public class ModuleResourceDelta implements IModuleResourceDelta {
-	protected IModuleResource resource;
-	protected int kind;
-	
-	protected IModuleResourceDelta[] children;
-
-	public ModuleResourceDelta(IModuleResource resource, int kind) {
-		this.resource = resource;
-		this.kind = kind;
-	}
-	
-	public void setChildren(IModuleResourceDelta[] children) {
-		this.children = children;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath()
-	 */
-	public IPath getModuleRelativePath() {
-		return resource.getModuleRelativePath();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResourceDelta#getModuleResource()
-	 */
-	public IModuleResource getModuleResource() {
-		return resource;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResourceDelta#getKind()
-	 */
-	public int getKind() {
-		return kind;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResourceDelta#getAffectedChildren()
-	 */
-	public IModuleResourceDelta[] getAffectedChildren() {
-		return children;
-	}
-
-	public String toString() {
-		return "ModuleResourceDelta [" + resource + ", " + kind + "]";
-	}
-	
-	public void trace(String indent) {
-		System.out.println(indent + toString());
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				((ModuleResourceDelta)children[i]).trace(indent + "  ");
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
deleted file mode 100644
index c3f0281..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.server.core.IModuleType;
-/**
- * 
- */
-public class ModuleType implements IModuleType {
-	protected String id;
-	protected String version;
-	
-	//	cached copy of all module types
-	private static List moduleTypes;
-	
-	public ModuleType(String id, String version) {
-		super();
-		this.id = id;
-		this.version = version;
-	}
-
-	public String getId() {
-		return id;
-	}
-	
-	public String getName() {
-		ModuleKind mt = findModuleType(id);
-		if (mt != null)
-			return mt.getName();
-		return Messages.moduleTypeUnknown;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-	
-	/**
-	 * Returns an array of all known module types.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return the array of module types {@link IModuleType}
-	 */
-	/*public static IModuleType[] getModuleTypes() {
-		if (moduleTypes == null)
-			loadModuleTypes();
-		
-		IModuleType[] mt = new IModuleType[moduleTypes.size()];
-		moduleTypes.toArray(mt);
-		return mt;
-	}*/
-
-	/**
-	 * Returns the module type with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * module types for the one a matching
-	 * module type id ({@link ModuleType#getId()}). The id may not be null.
-	 *
-	 * @param id the module type id
-	 * @return the module type, or <code>null</code> if there is no module type
-	 * with the given id
-	 */
-	public static ModuleKind findModuleType(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-
-		if (moduleTypes == null)
-			loadModuleTypes();
-		
-		Iterator iterator = moduleTypes.iterator();
-		while (iterator.hasNext()) {
-			ModuleKind moduleType = (ModuleKind) iterator.next();
-			if (id.equals(moduleType.getId()))
-				return moduleType;
-		}
-		return null;
-	}
-	
-	/**
-	 * Load the module types.
-	 */
-	private static synchronized void loadModuleTypes() {
-		if (moduleTypes != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleTypes extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleTypes");
-
-		int size = cf.length;
-		moduleTypes = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				ModuleKind moduleType = new ModuleKind(cf[i]);
-				moduleTypes.add(moduleType);
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded moduleType: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load moduleType: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleTypes extension point -<-");
-	}
-
-	public String toString() {
-		return "ModuleType[" + id + ", " + version + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/NullClientDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/NullClientDelegate.java
deleted file mode 100644
index dc71147..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/NullClientDelegate.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.ClientDelegate;
-/**
- * A client delegate that does nothing. Application will be launched
- * for the user, but no client application will open.
- */
-public class NullClientDelegate extends ClientDelegate {
-	public boolean supports(IServer server, Object launchable, String launchMode) {
-		return launchable instanceof NullLaunchableAdapterDelegate.NullLaunchable;
-	}
-
-	public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch) {
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/NullLaunchableAdapterDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/NullLaunchableAdapterDelegate.java
deleted file mode 100644
index 6c04f39..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/NullLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-import org.eclipse.wst.server.core.util.NullModuleArtifact;
-/**
- * A client delegate that does nothing. Application will be launched
- * for the user, but no client application will open.
- */
-public class NullLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	public class NullLaunchable {
-		// class is used just for tagging
-		public String toString() {
-			return "NullLaunchable";
-		}
-	}
-
-	public Object NULL_LAUNCHABLE = new NullLaunchable();
-
-	public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
-		if (moduleArtifact instanceof NullModuleArtifact)
-			return NULL_LAUNCHABLE;
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProgressUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProgressUtil.java
deleted file mode 100644
index 5210d1a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProgressUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.*;
-/**
- * Progress Monitor utility.
- */
-public class ProgressUtil {
-	/**
-	 * ProgressUtil constructor comment.
-	 */
-	private ProgressUtil() {
-		super();
-	}
-
-	/**
-	 * Return a valid progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the
-	 * current progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks int
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks);
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the
-	 * current progress monitor.
-	 *
-	 * @param monitor a progress monitor
-	 * @param ticks the number of ticks
-	 * @param style a style
-	 * @return a progress monitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks, style);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
deleted file mode 100644
index d8310b4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-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.wst.server.core.IRuntime;
-/**
- * Helper class that stores preference information for the server tools.
- * 
- * TODO: Currently this class always reads from disk. It should cache the file
- * and have a resource listener.
- */
-public class ProjectProperties {
-	private static final String PREFERENCE_FOLDER = ".settings";
-	private static final String PREFERENCE_FILE = "org.eclipse.wst.server.core.prefs";
-	private static final String SERVER_PROJECT_PREF = "org.eclipse.wst.server.core.isServerProject";
-
-	protected IProject project;
-
-	protected boolean serverProject = false;
-
-	/**
-	 * ProjectProperties constructor.
-	 * 
-	 * @param project a project
-	 */
-	public ProjectProperties(IProject project) {
-		super();
-		this.project = project;
-	}
-
-	/**
-	 * Load the preferences.
-	 */
-	private void loadPreferences() {
-		Trace.trace(Trace.FINEST, "Loading project preferences: " + project);
-		
-		if (!project.isAccessible())
-			return;
-		
-		InputStream in = null;
-		try {
-			IFile file = project.getFolder(PREFERENCE_FOLDER).getFile(PREFERENCE_FILE);
-			if (file == null || !file.isAccessible())
-				return;
-			
-			in = file.getContents();
-			Properties p = new Properties();
-			p.load(in);
-			
-			String s = p.getProperty(SERVER_PROJECT_PREF);
-			if (s != null && "true".equals(s))
-				serverProject = true;
-			else
-				serverProject = false;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load preferences: " + e.getMessage());
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-
-	private void savePreferences(IProgressMonitor monitor) throws CoreException {
-		if (project == null || !project.isAccessible())
-			return;
-		
-		IFolder folder = project.getFolder(PREFERENCE_FOLDER);
-		if (!folder.exists())
-			folder.create(true, true, monitor);
-		
-		IFile file = project.getFolder(PREFERENCE_FOLDER).getFile(PREFERENCE_FILE);
-		
-		if (file.exists() && file.isReadOnly()) {
-			IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] { file }, null);
-			if (status.getSeverity() == IStatus.ERROR)
-				// didn't work or not under source control
-				throw new CoreException(status);
-		}
-		
-		Properties p = new Properties();
-		p.put("eclipse.preferences.version", "1");
-		if (serverProject)
-			p.put(SERVER_PROJECT_PREF, "true");
-		else
-			p.put(SERVER_PROJECT_PREF, "false");
-		
-		InputStream in = null;
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			p.store(out, null);
-		
-			in = new ByteArrayInputStream(out.toByteArray());
-			
-			if (file.exists())
-				file.setContents(in, true, true, monitor);
-			else
-				file.create(in, true, monitor);
-		} catch (Exception e) {
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "", e));
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-
-	/**
-	 * Returns the current runtime target type for the given project.
-	 * 
-	 * @return the runtime target
-	 */
-	public IRuntime getRuntimeTarget() {
-		return null;
-	}
-
-	/**
-	 * Returns <code>true</code> if this project can contain server artifacts, and
-	 * <code>false</code> otherwise.
-	 * 
-	 * @return <code>true</code> if this project can contain server artifacts, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isServerProject() {
-		loadPreferences();
-		return serverProject;
-	}
-
-	/**
-	 * Sets whether the project can contain server resources.
-	 * 
-	 * @param b <code>true</code> to allow the project to contain server
-	 *    resources, or <code>false</code> to not allow the project to contain
-	 *    servers
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is a problem setting the server project
-	 */
-	public void setServerProject(boolean b, IProgressMonitor monitor) throws CoreException {
-		loadPreferences();
-		serverProject = b;
-		savePreferences(monitor);
-	}
-
-	public String toString() {
-		return "ProjectProperties[" + project + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
deleted file mode 100644
index 5499e73..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.*;
-import java.io.File;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Helper to obtain and store the global publish information.
- * (what files were published and when) Delegates to PublishState
- * for all server specific publishing information.
- */
-public class PublishInfo {
-	protected static PublishInfo instance;
-
-	protected static final String PUBLISH_DIR = "publish";
-
-	// map of server ids to Strings of filename containing publish data
-	protected Map serverIdToPath;
-
-	// map of loaded serverIds to publish info
-	protected Map serverIdToPublishInfo;
-
-	/**
-	 * PublishInfo constructor comment.
-	 */
-	private PublishInfo() {
-		super();
-	
-		serverIdToPath = new HashMap();
-		serverIdToPublishInfo = new HashMap();
-		load();
-	}
-
-	/**
-	 * Return the publish info.
-	 * 
-	 * @return org.eclipse.wst.server.core.internal.PublishInfo
-	 */
-	public static PublishInfo getInstance() {
-		if (instance == null) {
-			synchronized (PUBLISH_DIR) {
-				instance = new PublishInfo();
-			}
-		}
-		return instance;
-	}
-
-	/**
-	 * Return the publish state.
-	 * 
-	 * @return org.eclipse.wst.server.core.internal.PublishState
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public ServerPublishInfo getServerPublishInfo(IServer server) {
-		// have we tried loading yet?
-		String serverId = server.getId();
-		if (serverIdToPath.containsKey(serverId)) {
-			if (!serverIdToPublishInfo.containsKey(serverId)) {
-				String partialPath = (String) serverIdToPath.get(serverId);
-				IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath);
-				ServerPublishInfo spi = new ServerPublishInfo(path);
-				serverIdToPublishInfo.put(serverId, spi);
-				return spi;
-			}
-			// already loaded
-			return (ServerPublishInfo) serverIdToPublishInfo.get(serverId); 
-		}
-		
-		// first time server is being used
-		IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR);
-		File file = new File(path.toOSString());
-		if (!file.exists())
-			file.mkdir();
-		
-		file = null;
-		int i = 0;
-		String partialPath = null;
-		ServerPublishInfo spi = null;
-		synchronized (PUBLISH_DIR) {
-			while (file == null || file.exists()) {
-				partialPath = "publish" + i + ".xml";
-				path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath);
-				if (serverIdToPath.get(partialPath) == null)
-					file = new File(path.toOSString());
-				i++;
-			}
-			
-			spi = new ServerPublishInfo(path);
-			serverIdToPath.put(serverId, partialPath);
-			serverIdToPublishInfo.put(serverId, spi);
-			save();
-		}
-		return spi;
-	}
-
-	/**
-	 * Remove the server publish state.
-	 * 
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public void removeServerPublishInfo(IServer server) {
-		IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR);
-		File file = new File(path.toOSString());
-		if (!file.exists())
-			return;
-		
-		String serverId = server.getId();
-		String path2 = (String) serverIdToPath.get(serverId);
-		synchronized (PUBLISH_DIR) {
-			serverIdToPath.remove(serverId);
-			serverIdToPublishInfo.remove(serverId);
-			save();
-		}
-		if (path2 != null)
-			path.append(path2).toFile().delete();
-	}
-
-	/**
-	 * 
-	 */
-	protected void load() {
-		Trace.trace(Trace.FINEST, "Loading publish info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] serverChild = memento.getChildren("server");
-			int size = serverChild.length;
-			serverIdToPath = new HashMap(size + 2);
-			
-			for (int i = 0; i < size; i++) {
-				String id = serverChild[i].getString("id");
-				String partialPath = serverChild[i].getString("path");
-				serverIdToPath.put(id, partialPath);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load global publish info: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void save() {
-		String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString();
-		
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("publish-info");
-			
-			Iterator iterator = serverIdToPath.keySet().iterator();
-			while (iterator.hasNext()) {
-				String serverId = (String) iterator.next();
-				String partialPath = (String) serverIdToPath.get(serverId);
-				
-				IMemento server = memento.createChild("server");
-				server.putString("id", serverId);
-				server.putString("path", partialPath);
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save global publish info", e);
-		}
-	}
-}
\ No newline at end of file
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
deleted file mode 100644
index 7e9c643..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
+++ /dev/null
@@ -1,144 +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 org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Job to publish to a particular server.
- */
-public class PublishServerJob extends ChainedJob {
-	protected int kind;
-	protected boolean check;
-
-	/**
-	 * Create a new publishing job.
-	 * 
-	 * @param server the server to publish to
-	 * @param kind the kind of publish
-	 * @param check
-	 */
-	public PublishServerJob(IServer server, int kind, boolean check) {
-		super(NLS.bind(Messages.publishing, server.getName()), server);
-		this.kind = kind;
-		this.check = check;
-		
-		IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-		
-		// 102227 - lock entire workspace during publish
-		// TODO will have to revisit post 0.7 to determine if there is a better way to
-		// do this, since it would be preferrable not to lock the entire workspace, and
-		// therefore allow multiple servers to publish at once
-		
-		// find all projects that modules are in
-		/*List projectList = new ArrayList();
-		Iterator iterator = ((Server)server).getAllModules().iterator();
-		while (iterator.hasNext()) {
-			IModule[] modules = (IModule[]) iterator.next();
-			IProject project = modules[modules.length - 1].getProject();
-			if (project != null && !projectList.contains(project))
-				projectList.add(project);
-		}
-		
-		// add dependant projects
-		iterator = projectList.iterator();
-		List depProjectList = new ArrayList(); // use to avoid concurrent modification
-		while (iterator.hasNext()) {
-			IProject project = (IProject) iterator.next();
-			try {
-				IProject[] refs = project.getDescription().getReferencedProjects();
-				if (refs != null) {
-					int size = refs.length;
-					for (int i = 0; i < size; i++)
-						if (refs[i] != null && !projectList.contains(refs[i]) && !depProjectList.contains(refs[i]))
-							depProjectList.add(refs[i]);
-				}
-			} catch (CoreException ce) {
-				Trace.trace(Trace.WARNING, "Could not compute referenced projects", ce);
-			}
-		}
-		
-		iterator = depProjectList.iterator();
-		while (iterator.hasNext()) {
-			projectList.add(iterator.next());
-		}
-		
-		// combine and build all the rules
-		List list = new ArrayList();
-		iterator = projectList.iterator();
-		while (iterator.hasNext()) {
-			IProject project = (IProject) iterator.next();
-			ISchedulingRule rule = ruleFactory.createRule(project);
-			if (rule != null && !list.contains(rule))
-				list.add(rule);
-			
-			rule = ruleFactory.modifyRule(project);
-			if (rule != null && !list.contains(rule))
-				list.add(rule);
-			
-			rule = ruleFactory.validateEditRule(new IResource[] { project });
-			if (rule != null && !list.contains(rule))
-				list.add(rule);
-			
-			rule = ruleFactory.markerRule(project);
-			if (rule != null && !list.contains(rule))
-				list.add(rule);
-			
-			rule = ruleFactory.refreshRule(project);
-			if (rule != null && !list.contains(rule))
-				list.add(rule);
-		}
-		
-		int size = list.size();
-		ISchedulingRule[] rules = new ISchedulingRule[size + 1];
-		for (int i = 0; i < size; i++)
-			rules[i] = (ISchedulingRule) list.get(i);
-		
-		rules[size] = new ServerSchedulingRule(server);*/
-		
-		ISchedulingRule[] rules = new ISchedulingRule[2];
-		rules[0] = ruleFactory.createRule(ResourcesPlugin.getWorkspace().getRoot());
-		rules[1] = new ServerSchedulingRule(server);
-		
-		setRule(MultiRule.combine(rules));
-	}
-
-	/**
-	 * Create a new publishing job.
-	 * 
-	 * @param server the server to publish to
-	 */
-	public PublishServerJob(IServer server) {
-		this(server, IServer.PUBLISH_INCREMENTAL, true);
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.jobs.Job#run(IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		if (check) {
-			// don't run if we're autopublishing and there is no need for a publish.
-			// can't execute this code in shouldRun() because it will cancel the job
-			// instead of returning immediately
-			if (!ServerPreferences.getInstance().isAutoPublishing() || !((Server)getServer()).shouldPublish())
-				return Status.OK_STATUS;
-		}
-		
-		return getServer().publish(kind, monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java
deleted file mode 100644
index ec9fbd5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-/**
- * 
- */
-public class PublishTask implements IPublishTask {
-	private IConfigurationElement element;
-	private PublishTaskDelegate delegate;
-
-	/**
-	 * PublishTask constructor comment.
-	 * 
-	 * @param element a configuration element 
-	 */
-	public PublishTask(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/*
-	 * @see
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see
-	 */
-	protected String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see
-	 */
-	public boolean supportsType(String id) {
-		return ServerPlugin.supportsType(getTypeIds(), id);
-	}
-
-	/*
-	 * @see IPublishTask#getDelegate()
-	 */
-	public PublishTaskDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (PublishTaskDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-	
-	/*
-	 * @see
-	 */
-	public PublishOperation[] getTasks(IServer server, List modules) {
-		try {
-			Trace.trace(Trace.FINEST, "Task.init " + this);
-			PublishOperation[] po = getDelegate().getTasks(server, modules);
-			if (po != null)
-				return po;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return new PublishOperation[0];
-	}
-
-	/*
-	 * @see
-	 */
-	public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) {
-		try {
-			Trace.trace(Trace.FINEST, "Task.init " + this);
-			PublishOperation[] po = getDelegate().getTasks(server, kind, modules, kindList);
-			if (po != null)
-				return po;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return new PublishOperation[0];
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "PublishTask[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
deleted file mode 100644
index 3b080e3..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
+++ /dev/null
@@ -1,1013 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.resources.*;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
-/**
- * ResourceManager handles the mappings between resources
- * and servers or server configurations, and creates
- * notification of servers or server configurations
- * being added and removed.
- * 
- * <p>Servers and server configurations may be a single
- * resource, or they may be a folder that contains a group
- * of files. Folder-resource may not contain other servers
- * or configurations.</p>
- */
-public class ResourceManager {
-	private static final String SERVER_DATA_FILE = "servers.xml";
-	
-	private static final byte EVENT_ADDED = 0;
-	private static final byte EVENT_CHANGED = 1;
-	private static final byte EVENT_REMOVED = 2;
-
-	private static ResourceManager instance;
-
-	// currently active runtimes and servers
-	protected List runtimes;
-	protected List servers;
-
-	// lifecycle listeners
-	protected transient List runtimeListeners;
-	protected transient List serverListeners;
-	
-	// cache for disposing servers & runtimes
-	protected List activeBundles;
-
-	// resource change listeners
-	private IResourceChangeListener resourceChangeListener;
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-
-	/**
-	 * Server resource change listener.
-	 * 
-	 * Resource listener - tracks changes on server resources so that
-	 * we can reload/drop server instances and configurations that
-	 * may change outside of our control.
-	 * Listens for two types of changes:
-	 * 1. Servers or configurations being added or removed
-	 *    from their respective folders. (in the future, including
-	 *    the addition or removal of a full server project, which
-	 *    we currently can't listen for because there is no nature
-	 *    attached to the project at this point - OTI defect)
-	 * 2. Projects being deleted.
-	 */
-	public class ServerResourceChangeListener implements IResourceChangeListener {
-		/**
-		 * Create a new ServerResourceChangeListener.
-		 */
-		public ServerResourceChangeListener() {
-			super();
-		}
-
-		/**
-		 * Listen for projects being added or removed and act accordingly.
-		 * 
-		 * @param event org.eclipse.core.resources.IResourceChangeEvent
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta delta = event.getDelta();
-			if (delta == null)
-				return;
-			
-			// ignore clean builds
-			if (event.getBuildKind() == IncrementalProjectBuilder.CLEAN_BUILD)
-				return;
-			
-			Trace.trace(Trace.RESOURCES, "->- ServerResourceChangeListener responding to resource change: " + event.getType() + " ->-");
-			IResourceDelta[] children = delta.getAffectedChildren();
-			if (children != null) {
-				int size = children.length;
-				for (int i = 0; i < size; i++) {
-					IResource resource = children[i].getResource();
-					if (resource != null && resource instanceof IProject) {
-						projectChanged((IProject) resource, children[i]);
-					}
-				}
-			}
-			
-			// search for changes to any project using a visitor
-			try {
-				delta.accept(new IResourceDeltaVisitor() {
-					public boolean visit(IResourceDelta visitorDelta) {
-						IResource resource = visitorDelta.getResource();
-
-						// only respond to project changes
-						if (resource != null && resource instanceof IProject) {
-							publishHandleProjectChange(visitorDelta);
-							return false;
-						}
-						return true;
-					}
-				});
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error responding to resource change", e);
-			}
-			
-			Trace.trace(Trace.RESOURCES, "-<- Done ServerResourceChangeListener responding to resource change -<-");
-		}
-
-		/**
-		 * React to a change within a possible server project.
-		 *
-		 * @param delta org.eclipse.core.resources.IResourceDelta
-		 */
-		protected void projectChanged(IProject project, IResourceDelta delta) {
-			if (!ServerPlugin.getProjectProperties(project).isServerProject()) {
-				Trace.trace(Trace.RESOURCES, "Not a server project: " + project.getName());
-				return;
-			}
-			
-			IResourceDelta[] children = delta.getAffectedChildren();
-	
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				IResourceDelta child = children[i];
-
-				// look for servers and server configurations
-				try {
-					child.accept(new IResourceDeltaVisitor() {
-						public boolean visit(IResourceDelta delta2) {
-							return handleResourceDelta(delta2);
-						}
-					});
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error responding to resource change", e);
-				}
-			}
-		}
-	}
-	
-	protected List moduleServerEventHandlers;
-	protected List moduleServerEventHandlerIndexes;
-
-	/**
-	 * Cannot directly create a ResourceManager. Use
-	 * ServersCore.getResourceManager().
-	 */
-	private ResourceManager() {
-		super();
-		instance = this;
-		
-		init();
-	}
-
-	protected void init() {
-		servers = new ArrayList();
-		activeBundles = new ArrayList();
-		loadRuntimesList();
-		loadServersList();
-		
-		pcl = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				if (ignorePreferenceChanges)
-					return;
-				String property = event.getProperty();
-				if (property.equals("runtimes")) {
-					loadRuntimesList();
-					saveRuntimesList();
-				}
-			}
-		};
-		
-		ServerPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
-		
-		resolveServers();
-		
-		// keep track of future changes to the file system
-		resourceChangeListener = new ServerResourceChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
-		
-		Trace.trace(Trace.FINER, "Loading workspace servers and server configurations");
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		if (projects != null) {
-			int size = projects.length;
-			for (int i = 0; i < size; i++) {
-				if (ServerPlugin.getProjectProperties(projects[i]).isServerProject())
-					loadFromProject(projects[i]);
-			}
-		}
-		
-		addServerLifecycleListener(ServerListener.getInstance());
-	}
-	
-	/**
-	 * Load all of the servers and server configurations from the given project.
-	 */
-	protected static void loadFromProject(IProject project) {
-		Trace.trace(Trace.FINER, "Initial server resource load for " + project.getName(), null);
-		final ResourceManager rm = ResourceManager.getInstance();
-	
-		try {
-			project.accept(new IResourceProxyVisitor() {
-				public boolean visit(IResourceProxy proxy) {
-					if (proxy.getType() == IResource.FILE &&
-						Server.FILE_EXTENSION.equals(getFileExtension(proxy.getName()))) {
-							IFile file = (IFile) proxy.requestResource();
-							try {
-								rm.handleNewFile(file, null);
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Error during initial server resource load", e);
-							}
-							return false;
-						}
-					return true;
-				}
-			}, 0);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load server project " + project.getName(), e);
-		}
-	}
-		
-	protected static String getFileExtension(String name) {
-		int index = name.lastIndexOf('.');
-		if (index == -1)
-			return null;
-		if (index == (name.length() - 1))
-			return ""; //$NON-NLS-1$
-		return name.substring(index + 1);
-	}
-
-	public synchronized static ResourceManager getInstance() {
-		if (instance == null)
-			new ResourceManager();
-
-		return instance;
-	}
-
-	public static void shutdown() {
-		if (instance == null)
-			return;
-		
-		try {
-			instance.shutdownImpl();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error during shutdown", e);
-		}
-	}
-
-	protected boolean isActiveBundle(String bundleId) {
-		return activeBundles.contains(bundleId);
-	}
-
-	protected void shutdownBundle(String id) {
-		// dispose servers
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			Server server = (Server) iterator.next();
-			try {
-				ServerType serverType = (ServerType) server.getServerType();
-				if (serverType != null && id.equals(serverType.getNamespace())) {
-					//server.stop(true);
-					server.dispose();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Error disposing server", e);
-			}
-		}
-		
-		// dispose runtimes
-		iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			Runtime runtime = (Runtime) iterator.next();
-			try {
-				RuntimeType runtimeType = (RuntimeType) runtime.getRuntimeType();
-				if (id.equals(runtimeType.getNamespace())) {
-					runtime.dispose();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Error disposing server", e);
-			}
-		}
-		try {
-			Thread.sleep(1000);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-	
-	protected void shutdownImpl() {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		if (workspace != null)
-			workspace.removeResourceChangeListener(resourceChangeListener);
-		
-		ServerPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl);
-		
-		removeServerLifecycleListener(ServerListener.getInstance());
-	}
-
-	/*
-	 * 
-	 */
-	public void addRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
-	
-		if (runtimeListeners == null)
-			runtimeListeners = new ArrayList(3);
-		runtimeListeners.add(listener);
-	}
-	
-	/*
-	 *
-	 */
-	public void removeRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing server resource listener " + listener + " from " + this);
-	
-		if (runtimeListeners != null)
-			runtimeListeners.remove(listener);
-	}
-	
-	/*
-	 * 
-	 */
-	public void addServerLifecycleListener(IServerLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
-	
-		if (serverListeners == null)
-			serverListeners = new ArrayList(3);
-		serverListeners.add(listener);
-	}
-	
-	/*
-	 *
-	 */
-	public void removeServerLifecycleListener(IServerLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing server resource listener " + listener + " from " + this);
-	
-		if (serverListeners != null)
-			serverListeners.remove(listener);
-	}
-	
-	/**
-	 * Deregister an existing runtime.
-	 *
-	 * @param runtime
-	 */
-	protected void deregisterRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-		
-		Trace.trace(Trace.RESOURCES, "Deregistering runtime: " + runtime.getName());
-		
-		runtimes.remove(runtime);
-		fireRuntimeEvent(runtime, EVENT_REMOVED);
-		((Runtime)runtime).dispose();
-	}
-
-	/**
-	 * Deregister an existing server resource.
-	 *
-	 * @param server
-	 */
-	protected void deregisterServer(IServer server) {
-		if (server == null)
-			return;
-		
-		Trace.trace(Trace.RESOURCES, "Deregistering server: " + server.getName());
-		
-		((Server) server).deleteMetadata();
-		
-		servers.remove(server);
-		fireServerEvent(server, EVENT_REMOVED);
-		((Server)server).dispose();
-	}
-
-	/**
-	 * Fire a runtime event.
-	 */
-	private void fireRuntimeEvent(final IRuntime runtime, byte b) {
-		Trace.trace(Trace.LISTENERS, "->- Firing runtime event: " + runtime.getName() + " ->-");
-		
-		if (runtimeListeners == null || runtimeListeners.isEmpty())
-			return;
-	
-		int size = runtimeListeners.size();
-		IRuntimeLifecycleListener[] srl = new IRuntimeLifecycleListener[size];
-		runtimeListeners.toArray(srl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing runtime event to " + srl[i]);
-			try {
-				if (b == EVENT_ADDED)
-					srl[i].runtimeAdded(runtime);
-				else if (b == EVENT_CHANGED)
-					srl[i].runtimeChanged(runtime);
-				else
-					srl[i].runtimeRemoved(runtime);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing runtime event to " + srl[i], e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing runtime event -<-");
-	}
-
-	/**
-	 * Fire a server event.
-	 */
-	private void fireServerEvent(final IServer server, byte b) {
-		Trace.trace(Trace.LISTENERS, "->- Firing server event: " + server.getName() + " ->-");
-		
-		if (serverListeners == null || serverListeners.isEmpty())
-			return;
-	
-		int size = serverListeners.size();
-		IServerLifecycleListener[] srl = new IServerLifecycleListener[size];
-		serverListeners.toArray(srl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing server event to " + srl[i]);
-			try {
-				if (b == EVENT_ADDED)
-					srl[i].serverAdded(server);
-				else if (b == EVENT_CHANGED)
-					srl[i].serverChanged(server);
-				else
-					srl[i].serverRemoved(server);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing server event to " + srl[i], e);
-			}
-		}
-		Trace.trace(Trace.LISTENERS, "-<- Done firing server event -<-");
-	}	
-
-	protected void saveRuntimesList() {
-		try {
-			ignorePreferenceChanges = true;
-			XMLMemento memento = XMLMemento.createWriteRoot("runtimes");
-			
-			Iterator iterator = runtimes.iterator();
-			while (iterator.hasNext()) {
-				Runtime runtime = (Runtime) iterator.next();
-
-				IMemento child = memento.createChild("runtime");
-				runtime.save(child);
-			}
-
-			String xmlString = memento.saveToString();
-			Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
-			prefs.setValue("runtimes", xmlString);
-			ServerPlugin.getInstance().savePluginPreferences();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save runtimes", e);
-		}
-		ignorePreferenceChanges = false;
-	}
-	
-	protected void saveServersList() {
-		String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_DATA_FILE).toOSString();
-		
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("servers");
-
-			Iterator iterator = servers.iterator();
-			while (iterator.hasNext()) {
-				Server server = (Server) iterator.next();
-
-				IMemento child = memento.createChild("server");
-				server.save(child);
-			}
-
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save servers", e);
-		}
-	}
-	
-	protected void loadRuntimesList() {
-		Trace.trace(Trace.FINEST, "Loading runtime info");
-		Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("runtimes");
-		
-		runtimes = new ArrayList();
-		if (xmlString != null && xmlString.length() > 0) {
-			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
-				IMemento memento = XMLMemento.loadMemento(in);
-		
-				IMemento[] children = memento.getChildren("runtime");
-				int size = children.length;
-				
-				for (int i = 0; i < size; i++) {
-					Runtime runtime = new Runtime(null);
-					runtime.loadFromMemento(children[i], null);
-					runtimes.add(runtime);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load runtimes: " + e.getMessage());
-			}
-		}
-	}
-	
-	protected void loadServersList() {
-		Trace.trace(Trace.FINEST, "Loading server info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_DATA_FILE).toOSString();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("server");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				Server server = new Server(null);
-				server.loadFromMemento(children[i], null);
-				servers.add(server);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
-		}
-		
-		if (ServerPreferences.getInstance().isSyncOnStartup()) {
-			Iterator iterator = servers.iterator();
-			while (iterator.hasNext()) {
-				IServer server = (IServer) iterator.next();
-				UpdateServerJob job = new UpdateServerJob(server);
-				job.schedule();
-			}
-		}
-	}
-	
-	protected void addRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-		if (!runtimes.contains(runtime))
-			registerRuntime(runtime);
-		else
-			fireRuntimeEvent(runtime, EVENT_CHANGED);
-		saveRuntimesList();
-		resolveServers();
-	}
-
-	protected void removeRuntime(IRuntime runtime) {
-		if (runtimes.contains(runtime)) {
-			deregisterRuntime(runtime);
-			saveRuntimesList();
-			resolveServers();
-		}
-	}
-
-	protected void addServer(IServer server) {
-		if (!servers.contains(server))
-			registerServer(server);
-		else
-			fireServerEvent(server, EVENT_CHANGED);
-		saveServersList();
-		resolveServers();
-	}
-
-	protected void removeServer(IServer server) {
-		if (servers.contains(server)) {
-			deregisterServer(server);
-			saveServersList();
-			resolveServers();
-		}
-	}
-
-	/**
-	 * Returns an array of all runtimes.
-	 *
-	 * @return an array of runtimes
-	 */
-	public IRuntime[] getRuntimes() {
-		List list = new ArrayList(runtimes);
-		
-		IRuntime[] r = new IRuntime[list.size()];
-		list.toArray(r);
-		return r;
-	}
-
-	/**
-	 * Returns the runtime with the given id.
-	 * 
-	 * @param id a runtime id
-	 * @return IRuntime
-	 */
-	public IRuntime getRuntime(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-
-		Iterator iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			if (runtime.getId().equals(id))
-				return runtime;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the default runtime. Test API - do not use.
-	 * 
-	 * @deprecated will be removed
-	 * @return java.util.List
-	 */
-	public IRuntime getDefaultRuntime() {
-		return null;
-	}
-
-	/**
-	 * Sets the default runtime. Test API - do not use.
-	 * 
-	 * @deprecated will be removed
-	 * @param runtime a runtime
-	 */
-	public void setDefaultRuntime(IRuntime runtime) {
-		// ignore
-	}
-
-	public void resolveRuntimes() {
-		Iterator iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			Runtime runtime = (Runtime) iterator.next();
-			runtime.resolve();
-		}
-	}
-
-	public void resolveServers() {
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			Server server = (Server) iterator.next();
-			server.resolve();
-		}
-	}
-
-	/**
-	 * Returns an array containing all servers.
-	 *
-	 * @return an array containing all servers
-	 */
-	public IServer[] getServers() {
-		IServer[] servers2 = new IServer[servers.size()];
-		servers.toArray(servers2);
-		
-		Arrays.sort(servers2, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				IServer a = (IServer) o1;
-				IServer b = (IServer) o2;
-				return a.getName().compareToIgnoreCase(b.getName());
-			}
-		});
-		
-		return servers2;
-	}
-
-	/**
-	 * Returns the server with the given id.
-	 * 
-	 * @param id a server id
-	 * @return a server
-	 */
-	public IServer getServer(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-	
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			Server server = (Server) iterator.next();
-			if (id.equals(server.getId()))
-				return server;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true if the resource change was handled.
-	 *
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 * @return boolean
-	 */
-	protected boolean handleResourceDelta(IResourceDelta delta) {
-		int kind = delta.getKind();
-		int flags = delta.getFlags();
-		IResource resource2 = delta.getResource();
-		
-		// ignore markers
-		if (kind == IResourceDelta.CHANGED && (flags & IResourceDelta.MARKERS) != 0)
-			return false;
-		
-		Trace.trace(Trace.RESOURCES, "Resource changed: " + resource2 + " " + kind);
-		
-		if (resource2 instanceof IFile) {
-			IFile file = (IFile) resource2;
-			if (Server.FILE_EXTENSION.equals(file.getFileExtension())) {
-				IProgressMonitor monitor = null;
-				if ((flags & IResourceDelta.MOVED_FROM) != 0 || (flags & IResourceDelta.MOVED_TO) != 0)
-					handleMovedFile(file, delta, monitor);
-				else if (kind == IResourceDelta.ADDED)
-					handleNewFile(file, monitor);
-				else if (kind == IResourceDelta.REMOVED)
-					handleRemovedFile(file);
-				else
-					handleChangedFile(file, monitor);
-				if (monitor != null)
-					monitor.done();
-			}
-			return false;
-		}
-		IFolder folder = (IFolder) resource2;
-		Iterator iterator = servers.iterator();
-		while (iterator.hasNext()) {
-			IServer server = (IServer) iterator.next();
-			if (server.getServerType() != null && server.getServerType().hasServerConfiguration() && folder.equals(server.getServerConfiguration())
-					&& server.getAdapter(ServerDelegate.class) != null) {
-				try {
-					((Server)server).getDelegate(null).configurationChanged();
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Server failed on configuration change");
-				}
-			}
-		}
-		return true;
-	}
-
-	protected IServer loadServer(IFile file, IProgressMonitor monitor) throws CoreException {
-		Server server = new Server(file);
-		server.loadFromFile(monitor);
-		return server;
-	}
-
-	/**
-	 * Tries to load a new server resource from the given resource.
-	 * Returns true if the load and register were successful.
-	 *
-	 * @param file
-	 * @param monitor
-	 * @return boolean
-	 */
-	protected boolean handleNewFile(IFile file, IProgressMonitor monitor) {
-		Trace.trace(Trace.RESOURCES, "handleNewFile: " + file);
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask("", 2000);
-		
-		// try loading a server
-		if (file.getFileExtension().equals(Server.FILE_EXTENSION)) {
-			try {
-				IServer server = loadServer(file, ProgressUtil.getSubMonitorFor(monitor, 1000));
-				if (server != null) {
-					if (getServer(server.getId()) == null)
-						registerServer(server);
-					monitor.done();
-					return true;
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error loading server", e);
-			}
-		}
-		
-		monitor.done();
-		return false;
-	}
-
-	/**
-	 * Tries to load a new server resource from the given resource.
-	 * Returns true if the load and register were successful.
-	 *
-	 * @param file
-	 * @param monitor
-	 * @return boolean
-	 */
-	protected boolean handleMovedFile(IFile file, IResourceDelta delta, IProgressMonitor monitor) {
-		Trace.trace(Trace.RESOURCES, "handleMovedFile: " + file);
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask("", 2000);
-		
-		IPath fromPath = delta.getMovedFromPath();
-		if (fromPath != null) {
-			IFile fromFile = ResourcesPlugin.getWorkspace().getRoot().getFile(fromPath);
-			if (ServerPlugin.getProjectProperties(fromFile.getProject()).isServerProject()) {
-				Server server = (Server) findServer(fromFile);
-				if (server != null)
-					server.file = file;
-			} else {
-				handleNewFile(file, monitor);
-			}
-		} else {
-			IPath toPath = delta.getMovedToPath();
-			IFile toFile = ResourcesPlugin.getWorkspace().getRoot().getFile(toPath);
-			if (ServerPlugin.getProjectProperties(toFile.getProject()).isServerProject()) {
-				Server server = (Server) findServer(file);
-				if (server != null)
-					server.file = toFile;
-			} else {
-				handleRemovedFile(file);
-			}
-		}
-		
-		monitor.done();
-		return false;
-	}
-
-	/**
-	 * Returns the server that came from the given file, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * servers ({@link #getServers()}) for the one with a matching
-	 * location ({@link Server#getFile()}). The file may not be null.
-	 *
-	 * @param file a server file
-	 * @return the server instance, or <code>null</code> if 
-	 *    there is no server associated with the given file
-	 */
-	public static IServer findServer(IFile file) {
-		if (file == null)
-			throw new IllegalArgumentException();
-		
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (file.equals(((Server)servers[i]).getFile()))
-					return servers[i];
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Tries to handle a resource change. Returns true if the reload
-	 * was successful.
-	 *
-	 * @param file a file
-	 * @param monitor
-	 * @return boolean
-	 */
-	protected boolean handleChangedFile(IFile file, IProgressMonitor monitor) {
-		Trace.trace(Trace.RESOURCES, "handleChangedFile: " + file);
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask("", 1000);
-		boolean found = false;
-	
-		IServer server = findServer(file);
-		if (server != null) {
-			found = true;
-			try {
-				Trace.trace(Trace.RESOURCES, "Reloading server: " + server);
-				((Server) server).loadFromFile(monitor);
-				fireServerEvent(server, EVENT_CHANGED);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file + ": " + e.getMessage());
-				deregisterServer(server);
-			}
-		} else
-			Trace.trace(Trace.RESOURCES, "No server found at: " + file);
-		
-		monitor.done();
-		return found;
-	}
-
-	/**
-	 * Tries to remove a current resource. Returns true if the
-	 * deregistering was successful.
-	 *
-	 * @param file a file
-	 * @return boolean
-	 */
-	protected boolean handleRemovedFile(IFile file) {
-		Trace.trace(Trace.RESOURCES, "handleRemovedFile: " + file);
-		
-		IServer server = findServer(file);
-		if (server != null) {
-			deregisterServer(server);
-			return true;
-		}
-		
-		Trace.trace(Trace.RESOURCES, "No server found at: " + file);
-		return false;
-	}
-
-	/**
-	 * A project has changed. If this is an add or remove, check
-	 * to see if it is part of a current server configuration.
-	 *
-	 * @param delta org.eclipse.core.resources.IResourceDelta
-	 */
-	protected void publishHandleProjectChange(IResourceDelta delta) {
-		Trace.trace(Trace.FINEST, "> publishHandleProjectChange " + delta.getResource());
-		IProject project = (IProject) delta.getResource();
-		
-		if (project == null)
-			return;
-		
-		if (!deltaContainsChangedFiles(delta))
-			return;
-		
-		// process module changes
-		ProjectModuleFactoryDelegate.handleGlobalProjectChange(project, delta);
-		
-		final IModule module = ServerUtil.getModule(project);
-		if (module == null)
-			return;
-		
-		Trace.trace(Trace.FINEST, "- publishHandleProjectChange");
-		
-		IServer[] servers2 = getServers();
-		if (servers2 != null) {
-			int size = servers2.length;
-			for (int i = 0; i < size; i++) {
-			if (servers2[i].getAdapter(ServerDelegate.class) != null)
-				((Server) servers2[i]).handleModuleProjectChange(module);
-			}
-		}
-		Trace.trace(Trace.FINEST, "< publishHandleProjectChange");
-	}
-
-	/**
-	 * Returns <code>true</code> if at least one file in the delta is changed,
-	 * and <code>false</code> otherwise.
-	 * 
-	 * @param delta a resource delta
-	 * @return <code>true</code> if at least one file in the delta is changed,
-	 *    and <code>false</code> otherwise
-	 */
-	public static boolean deltaContainsChangedFiles(IResourceDelta delta) {
-		final boolean[] b = new boolean[1];
-		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta2) throws CoreException {
-					if (b[0])
-						return false;
-					//Trace.trace(Trace.FINEST, delta2.getResource() + "  " + delta2.getKind() + " " + delta2.getFlags());
-					if (delta2.getKind() == IResourceDelta.NO_CHANGE)
-						return false;
-					if (delta2.getResource() instanceof IFile) {
-						if (delta2.getKind() == IResourceDelta.CHANGED
-							&& (delta2.getFlags() & IResourceDelta.CONTENT) == 0
-							&& (delta2.getFlags() & IResourceDelta.REPLACED) == 0
-							&& (delta2.getFlags() & IResourceDelta.SYNC) == 0)
-							return true;
-						//if (delta2.getKind() == IResourceDelta.CHANGED) { // && delta2.getAffectedChildren().length == 0) {
-						b[0] = true;
-						return false;
-							//return true;
-						//}
-					}
-					return true;
-				}
-			});
-		} catch (Exception e) {
-			// ignore
-		}
-		//Trace.trace(Trace.FINEST, "Delta contains change: " + t.b);
-		return b[0];
-	}
-
-	/**
-	 * Registers a new runtime.
-	 *
-	 * @param runtime org.eclipse.wst.server.core.IRuntime
-	 */
-	protected void registerRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-	
-		Trace.trace(Trace.RESOURCES, "Registering runtime: " + runtime.getName());
-	
-		runtimes.add(runtime);
-		fireRuntimeEvent(runtime, EVENT_ADDED);
-		
-		RuntimeType runtimeType = (RuntimeType) runtime.getRuntimeType();
-		String bundleId = runtimeType.getNamespace();
-		if (!activeBundles.contains(bundleId))
-			activeBundles.add(bundleId);
-	}
-
-	/**
-	 * Registers a new server.
-	 *
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected void registerServer(IServer server) {
-		if (server == null)
-			return;
-	
-		Trace.trace(Trace.RESOURCES, "Registering server: " + server.getName());
-	
-		servers.add(server);
-		fireServerEvent(server, EVENT_ADDED);
-		
-		ServerType serverType = (ServerType) server.getServerType();
-		String bundleId = serverType.getNamespace();
-		if (!activeBundles.contains(bundleId))
-			activeBundles.add(bundleId);
-	}
-
-	protected void fireModuleServerEvent(ModuleFactoryEvent[] factoryEvents, ModuleEvent[] events) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java
deleted file mode 100644
index 97faf0f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java
+++ /dev/null
@@ -1,61 +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 org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServer.IOperationListener;
-import org.eclipse.wst.server.core.internal.ServerSchedulingRule;
-/**
- * A job for restarting a server.
- */
-public class RestartServerJob extends ChainedJob {
-	protected String launchMode;
-	protected boolean isRestartCompleted = false;
-	protected IStatus resultStatus;
-
-	public RestartServerJob(IServer server, String launchMode) {
-		super(NLS.bind(Messages.jobRestartingServer, server.getName()), server);
-		this.launchMode = launchMode;
-		setRule(new ServerSchedulingRule(server));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		IOperationListener listener2 = new IOperationListener() {
-			public void done(IStatus result) {
-				isRestartCompleted = true;
-				resultStatus = result;
-			}
-		};
-		getServer().restart(launchMode, listener2);
-		
-		// block util the restart is completed
-		while (!isRestartCompleted) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			
-			try {
-				Thread.sleep(250);
-			} catch (InterruptedException e) {
-				// Do nothing.
-			}
-		}
-		
-		if (resultStatus != null)
-			return resultStatus;
-		
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
deleted file mode 100644
index 60d2321..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.InternalInitializer;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * 
- */
-public class Runtime extends Base implements IRuntime {
-	protected static final String PROP_RUNTIME_TYPE_ID = "runtime-type-id";
-	protected static final String PROP_LOCATION = "location";
-	protected static final String PROP_TEST_ENVIRONMENT = "test-environment";
-	protected static final String PROP_STUB = "stub";
-
-	protected IRuntimeType runtimeType;
-	protected RuntimeDelegate delegate;
-
-	/**
-	 * Create a new runtime.
-	 * 
-	 * @param file
-	 */
-	public Runtime(IFile file) {
-		super(file);
-	}
-
-	/**
-	 * Create a new runtime.
-	 * 
-	 * @param file
-	 * @param id
-	 * @param runtimeType
-	 */
-	public Runtime(IFile file, String id, IRuntimeType runtimeType) {
-		super(file, id);
-		this.runtimeType = runtimeType;
-		map.put(PROP_NAME, runtimeType.getName());
-	}
-
-	/**
-	 * @see IRuntime#getRuntimeType()
-	 */
-	public IRuntimeType getRuntimeType() {
-		return runtimeType;
-	}
-
-	/**
-	 * @see IRuntime#validate(IProgressMonitor)
-	 */
-	public IStatus validate(IProgressMonitor monitor) {
-		try {
-			return getDelegate(monitor).validate();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate validate() " + toString(), e);
-			return null;
-		}
-	}
-
-	protected RuntimeDelegate getDelegate(IProgressMonitor monitor) {
-		if (delegate != null)
-			return delegate;
-		
-		synchronized (this) {
-			if (delegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					delegate = ((RuntimeType) runtimeType).createRuntimeDelegate();
-					InternalInitializer.initializeRuntimeDelegate(delegate, this, monitor);
-					//delegate.initialize(this);
-					Trace.trace(Trace.PERFORMANCE, "Runtime.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId());
-				} catch (Throwable t) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	public void dispose() {
-		if (delegate != null) {
-			delegate.dispose();
-			delegate = null;
-		}
-	}
-
-	/**
-	 * @see IRuntime#createWorkingCopy()
-	 */
-	public IRuntimeWorkingCopy createWorkingCopy() {
-		return new RuntimeWorkingCopy(this); 
-	}
-
-	/**
-	 * @see IRuntime#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	/**
-	 * @see IRuntime#getLocation()
-	 */
-	public IPath getLocation() {
-		String temp = getAttribute(PROP_LOCATION, (String)null);
-		if (temp == null)
-			return null;
-		return new Path(temp);
-	}
-	
-	protected void deleteFromMetadata() {
-		ResourceManager.getInstance().removeRuntime(this);
-	}
-
-	protected void saveToMetadata(IProgressMonitor monitor) {
-		super.saveToMetadata(monitor);
-		ResourceManager.getInstance().addRuntime(this);
-	}
-
-	protected String getXMLRoot() {
-		return "runtime";
-	}
-
-	public boolean isTestEnvironment() {
-		return getAttribute(PROP_TEST_ENVIRONMENT, false);
-	}
-
-	/**
-	 * @see IRuntime#isStub()
-	 */
-	public boolean isStub() {
-		return getAttribute(PROP_STUB, false);
-	}
-
-	protected void setInternal(RuntimeWorkingCopy wc) {
-		map = wc.map;
-		runtimeType = wc.runtimeType;
-		file = wc.file;
-		delegate = wc.delegate;
-	}
-
-	protected void loadState(IMemento memento) {
-		resolve();
-	}
-
-	protected void resolve() {
-		String runtimeTypeId = getAttribute(PROP_RUNTIME_TYPE_ID, (String) null);
-		if (runtimeTypeId != null)
-			runtimeType = ServerCore.findRuntimeType(runtimeTypeId);
-		else
-			runtimeType = null;
-	}
-
-	protected void saveState(IMemento memento) {
-		if (runtimeType != null)
-			memento.putString(PROP_RUNTIME_TYPE_ID, runtimeType.getId());
-	}
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Runtime))
-			return false;
-		
-		Runtime runtime = (Runtime) obj;
-		return runtime.getId().equals(getId());
-	}
-
-	/**
-	 * @see IRuntime#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (delegate != null) {
-			if (adapter.isInstance(delegate))
-				return delegate;
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @see IRuntime#loadAdapter(Class, IProgressMonitor)
-	 */
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor) {
-		getDelegate(monitor);
-		if (adapter.isInstance(delegate))
-			return delegate;
-	
-		return Platform.getAdapterManager().loadAdapter(this, adapter.getName());
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "Runtime[" + getId() + ", " + getName() + ", " + getLocation() + ", " + getRuntimeType() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
deleted file mode 100644
index 0f83e78..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.model.RuntimeLocatorDelegate;
-/**
- * 
- */
-public class RuntimeLocator implements IRuntimeLocator {
-	private IConfigurationElement element;
-	private RuntimeLocatorDelegate delegate;
-
-	public RuntimeLocator(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/*
-	 * @see IRuntimeLocator#getId()
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IRuntimeLocator
-	 */
-	protected String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IRuntimeLocator
-	 */
-	public boolean supportsType(String id) {
-		return ServerPlugin.supportsType(getTypeIds(), id);
-	}
-
-	protected RuntimeLocatorDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (RuntimeLocatorDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/*
-	 * @see IRuntimeLocator#searchForRuntimes()
-	 */
-	public void searchForRuntimes(IPath path, final IRuntimeSearchListener found, IProgressMonitor monitor) {
-		try {
-			//getDelegate().searchForRuntimes(path, found, monitor);
-			getDelegate().searchForRuntimes(path, new RuntimeLocatorDelegate.IRuntimeSearchListener() {
-				public void runtimeFound(IRuntimeWorkingCopy runtime) {
-					found.runtimeFound(runtime);
-				}
-			}, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-
-	public String toString() {
-		return "RuntimeLocator[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
deleted file mode 100644
index 9cc6671..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * 
- */
-public class RuntimeType implements IRuntimeType {
-	private IConfigurationElement element;
-	private List moduleTypes;
-
-	public RuntimeType(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		try {
-			return element.getAttribute("id");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * 
-	 * @return the name
-	 */
-	public String getName() {
-		try {
-			return element.getAttribute("name");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * 
-	 * @return the description
-	 */
-	public String getDescription() {
-		try {
-			return element.getAttribute("description");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	public String getVendor() {
-		try {
-			String vendor = element.getAttribute("vendor");
-			if (vendor != null)
-				return vendor;
-		} catch (Exception e) {
-			// ignore
-		}
-		return Messages.defaultVendor;
-	}
-	
-	public String getVersion() {
-		try {
-			String version = element.getAttribute("version");
-			if (version != null)
-				return version;
-		} catch (Exception e) {
-			// ignore
-		}
-		return Messages.defaultVersion;
-	}
-	
-	protected RuntimeDelegate createRuntimeDelegate() throws CoreException {
-		try {
-			return (RuntimeDelegate) element.createExecutableExtension("class");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	/**
-	 * Return the supported module types.
-	 * 
-	 * @return an array of module types
-	 */
-	public IModuleType[] getModuleTypes() {
-		try {
-			if (moduleTypes == null)
-				moduleTypes = ServerPlugin.getModuleTypes(element.getChildren("moduleType"));
-	
-			IModuleType[] mt = new IModuleType[moduleTypes.size()];
-			moduleTypes.toArray(mt);
-			return mt;
-		} catch (Exception e) {
-			return new IModuleType[0];
-		}
-	}
-
-	public boolean canCreate() {
-		try {
-			String a = element.getAttribute("class");
-			return a != null && a.length() > 0;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public IRuntimeWorkingCopy createRuntime(String id, IProgressMonitor monitor) {
-		if (element == null)
-			return null;
-		
-		RuntimeWorkingCopy rwc = new RuntimeWorkingCopy(null, id, this);
-		rwc.setDefaults(monitor);
-		return rwc;
-	}
-
-	public void dispose() {
-		element = null;
-	}
-
-	public String getNamespace() {
-		if (element == null)
-			return null;
-		return element.getDeclaringExtension().getContributor().getName();
-	}
-
-	public String toString() {
-		return "RuntimeType[" + getId() + ", " + getName() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
deleted file mode 100644
index 5aa34b0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.beans.PropertyChangeListener;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
-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.model.InternalInitializer;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * 
- */
-public class RuntimeWorkingCopy extends Runtime implements IRuntimeWorkingCopy {
-	protected String PROP_ID_SET = "id-set";
-	protected Runtime runtime;
-	protected WorkingCopyHelper wch;
-	
-	protected RuntimeDelegate workingCopyDelegate;
-
-	/**
-	 * Create a new runtime working copy from existing runtime.
-	 * 
-	 * @param runtime
-	 */
-	public RuntimeWorkingCopy(Runtime runtime) {
-		super(runtime.getFile());
-		this.runtime = runtime;
-		
-		runtimeType = runtime.getRuntimeType();
-		
-		map = new HashMap(runtime.map);
-		wch = new WorkingCopyHelper(this);
-	}
-	
-	/**
-	 * Create a new runtime working copy for a new runtime.
-	 * 
-	 * @param file
-	 * @param id
-	 * @param runtimeType
-	 */
-	public RuntimeWorkingCopy(IFile file, String id, IRuntimeType runtimeType) {
-		super(file, id, runtimeType);
-		wch = new WorkingCopyHelper(this);
-		wch.setDirty(true);
-		
-		if (id == null || id.length() == 0) {
-			id = ServerPlugin.generateId();
-			map.put(PROP_ID, id);
-		} else
-			setAttribute(PROP_ID_SET, true);
-		
-		// throw CoreException if the id already exists
-	}
-
-	/**
-	 * @see IRuntime#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return true;
-	}
-
-	/**
-	 * @see IRuntime#createWorkingCopy()
-	 */
-	public IRuntimeWorkingCopy createWorkingCopy() {
-		return this;
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		wch.setAttribute(attributeName, value);
-	}
-	
-	public void setAttribute(String attributeName, String value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, List value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, Map value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	/**
-	 * @see IRuntimeWorkingCopy#setName(String)
-	 */
-	public void setName(String name) {
-		wch.setName(name);
-		boolean set = getAttribute(PROP_ID_SET, false);
-		if (runtime == null && !set)
-			setAttribute(PROP_ID, name);
-	}
-
-	public void setTestEnvironment(boolean b) {
-		setAttribute(PROP_TEST_ENVIRONMENT, b);
-	}
-	
-	/**
-	 * @see IRuntimeWorkingCopy#setStub(boolean)
-	 */
-	public void setStub(boolean b) {
-		setAttribute(PROP_STUB, b);
-	}
-
-	/**
-	 * @see IRuntimeWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return wch.isDirty();
-	}
-	
-	/**
-	 * @see IRuntimeWorkingCopy#getOriginal()
-	 */
-	public IRuntime getOriginal() {
-		return runtime;
-	}
-
-	/**
-	 * @see IRuntimeWorkingCopy#setReadOnly(boolean)
-	 */
-	public void setReadOnly(boolean b) {
-		wch.setLocked(b);
-	}
-
-	public void setPrivate(boolean b) {
-		wch.setPrivate(b);
-	}
-
-	/**
-	 * @see IRuntimeWorkingCopy#setLocation(IPath)
-	 */
-	public void setLocation(IPath path) {
-		if (path == null)
-			setAttribute(PROP_LOCATION, (String)null);
-		else
-			setAttribute(PROP_LOCATION, path.toString());
-	}
-
-	/**
-	 * @see IRuntimeWorkingCopy#save(boolean, IProgressMonitor)
-	 */
-	public IRuntime save(boolean force, IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.subTask(NLS.bind(Messages.savingTask, getName()));
-		
-		if (!force && getOriginal() != null)
-			wch.validateTimestamp(((Runtime) getOriginal()).getTimestamp());
-		
-		int timestamp = getTimestamp();
-		map.put(PROP_TIMESTAMP, Integer.toString(timestamp+1));
-		
-		IRuntime origRuntime = runtime;
-		if (runtime == null)
-			runtime = new Runtime(file);
-		
-		String oldId = getId();
-		String name = getName();
-		boolean set = getAttribute(PROP_ID_SET, false);
-		if (!oldId.equals(name) && !set) {
-			setAttribute(PROP_ID, name);
-		} else
-			oldId = null;
-		
-		runtime.setInternal(this);
-		runtime.saveToMetadata(monitor);
-		wch.setDirty(false);
-		
-		if (oldId != null)
-			updateRuntimeReferences(oldId, name, origRuntime);
-		
-		return runtime;
-	}
-
-	protected void updateRuntimeReferences(final String oldId, final String newId, final IRuntime origRuntime) {
-		// TODO fix me
-		/*class UpdateRuntimeReferencesJob extends Job {
-			public UpdateRuntimeReferencesJob() {
-				super(NLS.bind(Messages.savingTask, newId));
-			}
-
-			public IStatus run(IProgressMonitor monitor) {
-				// fix .runtime files
-				IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-				if (projects != null) {
-					int size = projects.length;
-					for (int i = 0; i < size; i++) {
-						ProjectProperties props = (ProjectProperties) ServerCore.getProjectProperties(projects[i]);
-						if (oldId.equals(props.getRuntimeTargetId())) {
-							try {
-								props.setRuntimeTargetId(newId, monitor);
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Error setting runtime target", e);
-							}
-						}
-					}
-				}
-				
-				// save servers
-				if (runtime != null) {
-					ResourceManager rm = ResourceManager.getInstance();
-					IServer[] servers = rm.getServers();
-					if (servers != null) {
-						int size = servers.length;
-						for (int i = 0; i < size; i++) {
-							if (oldId.equals(((Server)servers[i]).getRuntimeId())) {
-								try {
-									ServerWorkingCopy wc = (ServerWorkingCopy) servers[i].createWorkingCopy();
-									wc.setRuntimeId(newId);
-									wc.save(false, monitor);
-								} catch (Exception e) {
-									// ignore
-								}
-							}
-						}
-					}
-				}
-				
-				return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, "", null);
-			}
-		}
-		UpdateRuntimeReferencesJob job = new UpdateRuntimeReferencesJob();
-		job.schedule();*/
-	}
-
-	protected RuntimeDelegate getWorkingCopyDelegate(IProgressMonitor monitor) {
-		if (workingCopyDelegate != null)
-			return workingCopyDelegate;
-		
-		synchronized (this) {
-			if (workingCopyDelegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					workingCopyDelegate = ((RuntimeType) runtimeType).createRuntimeDelegate();
-					InternalInitializer.initializeRuntimeDelegate(workingCopyDelegate, this, monitor);
-					Trace.trace(Trace.PERFORMANCE, "RuntimeWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId());
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-				}
-			}
-		}
-		return workingCopyDelegate;
-	}
-
-	public void dispose() {
-		super.dispose();
-		if (workingCopyDelegate != null)
-			workingCopyDelegate.dispose();
-	}
-
-	/**
-	 * Add a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		wch.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		wch.removePropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Fire a property change event.
-	 * 
-	 * @param propertyName a property name
-	 * @param oldValue the old value
-	 * @param newValue the new value
-	 */
-	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		wch.firePropertyChangeEvent(propertyName, oldValue, newValue);
-	}
-	
-	/**
-	 * Set the defaults.
-	 * 
-	 * @param monitor
-	 */
-	protected void setDefaults(IProgressMonitor monitor) {
-		try {
-			getWorkingCopyDelegate(monitor).setDefaults(monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate setDefaults() " + toString(), e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
deleted file mode 100644
index c7ea71a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ /dev/null
@@ -1,2466 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.debug.core.*;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-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 the
-	 * 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";
-
-	public static final int AUTO_PUBLISH_DEFAULT = 0;
-	public static final int AUTO_PUBLISH_DISABLE = 1;
-	public static final int AUTO_PUBLISH_OVERRIDE = 2;
-
-	protected static final String PROP_HOSTNAME = "hostname";
-	protected static final String SERVER_ID = "server-id";
-	protected static final String RUNTIME_ID = "runtime-id";
-	protected static final String CONFIGURATION_ID = "configuration-id";
-	protected static final String MODULE_LIST = "modules";
-	protected static final String PROP_DISABLED_PERFERRED_TASKS = "disabled-preferred-publish-tasks";
-	protected static final String PROP_ENABLED_OPTIONAL_TASKS = "enabled-optional-publish-tasks";
-	public static final String PROP_AUTO_PUBLISH_TIME = "auto-publish-time";
-	public static final String PROP_AUTO_PUBLISH_SETTING = "auto-publish-setting";
-
-	protected static final char[] INVALID_CHARS = new char[] {'\\', '/', ':', '*', '?', '"', '<', '>', '|', '\0', '@', '&'};
-
-	protected IServerType serverType;
-	protected ServerDelegate delegate;
-	protected ServerBehaviourDelegate behaviourDelegate;
-
-	protected IRuntime runtime;
-	protected IFolder configuration;
-
-	// the list of modules that are to be published to the server
-	protected List modules;
-
-	// transient fields
-	protected transient String mode = ILaunchManager.RUN_MODE;
-	protected transient int serverState = STATE_UNKNOWN;
-	protected transient int serverSyncState;
-	protected transient boolean serverRestartNeeded;
-
-	protected transient Map moduleState = new HashMap();
-	protected transient Map modulePublishState = new HashMap();
-	protected transient Map moduleRestartState = new HashMap();
-
-	protected transient IStatus serverStatus;
-	protected transient Map moduleStatus = new HashMap();
-
-	protected transient ServerPublishInfo publishInfo;
-	protected transient AutoPublishThread autoPublishThread;
-
-/*	private static final String[] stateStrings = new String[] {
-		"unknown", "starting", "started", "started_debug",
-		"stopping", "stopped", "started_unsupported", "started_profile"
-	};*/
-
-	// publish listeners
-	protected transient List publishListeners;
-
-	// Server listeners
-	protected transient ServerNotificationManager notificationManager;
-
-	public class AutoPublishThread extends Thread {
-		public boolean stop;
-		public int time = 0;
-
-		public AutoPublishThread() {
-			super("Automatic Publishing");
-		}
-
-		public void run() {
-			Trace.trace(Trace.FINEST, "Auto-publish thread starting for " + Server.this + " - " + time + "s");
-			if (stop)
-				return;
-			
-			try {
-				sleep(time * 1000);
-			} catch (Exception e) {
-				// ignore
-			}
-			
-			if (stop)
-				return;
-			
-			Trace.trace(Trace.FINEST, "Auto-publish thread publishing " + Server.this);
-			
-			if (getServerState() != IServer.STATE_STARTED)
-				return;
-			
-			PublishServerJob publishJob = new PublishServerJob(Server.this, IServer.PUBLISH_AUTO, false);
-			publishJob.schedule();
-		}
-	}
-
-	public class ResourceChangeJob extends ChainedJob {
-		private IModule module;
-
-		public ResourceChangeJob(IModule module, IServer server) {
-			super(NLS.bind(Messages.jobUpdateServer, server.getName()), server);
-			this.module = module;
-			
-			if (module.getProject() == null)
-				setRule(new ServerSchedulingRule(server));
-			else {
-				ISchedulingRule[] rules = new ISchedulingRule[2];
-				IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-				rules[0] = ruleFactory.createRule(module.getProject());
-				rules[1] = new ServerSchedulingRule(server);
-				setRule(MultiRule.combine(rules));
-			}
-		}
-
-		protected IModule getModule() {
-			return module;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			final boolean[] changed = new boolean[1];
-			final List modules2 = new ArrayList();
-			
-			IModuleVisitor visitor = new IModuleVisitor() {
-				public boolean visit(IModule[] module2) {
-					modules2.add(module2);
-					
-					int size = module2.length;
-					IModule m = module2[size - 1];
-					if (m.getProject() == null)
-						return true;
-					
-					if (module.equals(m)) {
-						if (hasPublishedResourceDelta(module2)) {
-							changed[0] = true;
-							setModulePublishState(module2, IServer.PUBLISH_STATE_INCREMENTAL);
-						}
-					}
-					return true;
-				}
-			};
-			
-			visit(visitor, null);
-			
-			if (getServerPublishInfo().hasStructureChanged(modules2))
-				setServerPublishState(IServer.PUBLISH_STATE_INCREMENTAL);
-			
-			if (!changed[0])
-				//return;
-				return Status.OK_STATUS;
-			
-			if (getServerState() != IServer.STATE_STOPPED && behaviourDelegate != null)
-				behaviourDelegate.handleResourceChange();
-			
-			if (getServerState() == IServer.STATE_STARTED)
-				autoPublish();
-			
-			return Status.OK_STATUS;
-		}
-	};
-	
-	private static final Comparator PUBLISH_OPERATION_COMPARTOR = new Comparator() {
-      public int compare(Object leftOp, Object rightOp) {
-          PublishOperation left = (PublishOperation) leftOp;
-          PublishOperation right = (PublishOperation) rightOp;
-          if (left.getOrder() > right.getOrder())
-              return 1;
-          if (left.getOrder() < right.getOrder())
-              return -1;
-          return 0;
-      }
-	};
-
-	// working copy, loaded resource
-	public Server(IFile file) {
-		super(file);
-		map.put(PROP_HOSTNAME, "localhost");
-	}
-
-	// creation (working copy)
-	public Server(String id, IFile file, IRuntime runtime, IServerType serverType) {
-		super(file, id);
-		this.runtime = runtime;
-		this.serverType = serverType;
-		map.put("server-type-id", serverType.getId());
-		map.put(PROP_HOSTNAME, "localhost");
-		if (runtime != null && runtime.getRuntimeType() != null) {
-			String name = runtime.getRuntimeType().getName();
-			map.put(PROP_NAME, name);
-		}
-		serverState = ((ServerType)serverType).getInitialState();
-	}
-	
-	public IServerType getServerType() {
-		return serverType;
-	}
-	
-	public IServerWorkingCopy createWorkingCopy() {
-		return new ServerWorkingCopy(this); 
-	}
-
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-    protected void deleteFromFile() throws CoreException {
-        super.deleteFromFile();
-        ResourceManager.getInstance().deregisterServer(this);
-    }
-
-    protected void deleteFromMetadata() {
-		ResourceManager.getInstance().removeServer(this);
-	}
-
-	protected void saveToFile(IProgressMonitor monitor) throws CoreException {
-		super.saveToFile(monitor);
-		ResourceManager.getInstance().registerServer(this);
-	}
-
-	protected void saveToMetadata(IProgressMonitor monitor) {
-		super.saveToMetadata(monitor);
-		ResourceManager.getInstance().addServer(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerAttributes#getRuntime()
-	 */
-	public IRuntime getRuntime() {
-		return runtime;
-	}
-
-	protected String getRuntimeId() {
-		return getAttribute(RUNTIME_ID, (String) null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerAttributes#getServerConfiguration()
-	 */
-	public IFolder getServerConfiguration() {
-		return configuration;
-	}
-
-	protected ServerDelegate getDelegate(IProgressMonitor monitor) {
-		if (delegate != null || serverType == null)
-			return delegate;
-		
-		synchronized (this) {
-			if (delegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					delegate = ((ServerType) serverType).createServerDelegate();
-					InternalInitializer.initializeServerDelegate(delegate, Server.this, monitor);
-					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 delegate;
-	}
-
-	protected ServerBehaviourDelegate getBehaviourDelegate(IProgressMonitor monitor) {
-		if (behaviourDelegate != null || serverType == null)
-			return behaviourDelegate;
-		
-		synchronized (this) {
-			if (behaviourDelegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					behaviourDelegate = ((ServerType) serverType).createServerBehaviourDelegate();
-					InternalInitializer.initializeServerBehaviourDelegate(behaviourDelegate, Server.this, monitor);
-					Trace.trace(Trace.PERFORMANCE, "Server.getBehaviourDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
-					
-					if (getServerState() == IServer.STATE_STARTED)
-						autoPublish();
-				} catch (Throwable t) {
-					Trace.trace(Trace.SEVERE, "Could not create behaviour delegate " + toString(), t);
-				}
-			}
-		}
-		return behaviourDelegate;
-	}
-
-	public void dispose() {
-		if (delegate != null) {
-			delegate.dispose();
-			delegate = null;
-		}
-		if (behaviourDelegate != null) {
-			behaviourDelegate.dispose();
-			behaviourDelegate = null;
-		}
-	}
-
-	public String getHost() {
-		return getAttribute(PROP_HOSTNAME, "localhost");
-	}
-
-	public int getAutoPublishTime() {
-		return getAttribute(PROP_AUTO_PUBLISH_TIME, -1);
-	}
-
-	public int getAutoPublishSetting() {
-		return getAttribute(PROP_AUTO_PUBLISH_SETTING, AUTO_PUBLISH_DEFAULT);
-	}
-
-	/**
-    * Returns a list of id (String) of preferred publish operations that will not be run
-    * during publish.
-    * 
-    * @return a list of publish operation ids
-    */
-	public List getDisabledPreferredPublishOperationIds() {
-		return getAttribute(PROP_DISABLED_PERFERRED_TASKS, EMPTY_LIST);		
-	}
-
-	/**
-    * Returns a list of id (String) of optional publish operations that are enabled to 
-    * be run during publish.
-    * 
-    * @return a list of publish operation ids
-    */
-	public List getEnabledOptionalPublishOperationIds() {
-		return getAttribute(PROP_ENABLED_OPTIONAL_TASKS, EMPTY_LIST);
-	}
-
-	/**
-	 * Returns the current state of the server. (see SERVER_XXX constants)
-	 *
-	 * @return int
-	 */
-	public int getServerState() {
-		return serverState;
-	}
-
-	public String getMode() {
-		return mode;
-	}
-
-	public void setServerState(int state) {
-		if (state == serverState)
-			return;
-
-		this.serverState = state;
-		fireServerStateChangeEvent();
-	}
-
-	/**
-	 * Add a listener to this server.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IServerListener
-	 */
-	public void addServerListener(IServerListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		Trace.trace(Trace.LISTENERS, "Adding server listener " + listener + " to " + this);
-		getServerNotificationManager().addListener(listener);
-	}
-
-	/**
-	 * Add a listener to this server with the given event mask.
-	 *
-	 * @param listener org.eclipse.wst.server.model.IServerListener
-	 * @param eventMask to limit listening to certain types of events
-	 */
-	public void addServerListener(IServerListener listener, int eventMask) {
-		if (listener == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		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) {
-		if (listener == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		Trace.trace(Trace.LISTENERS, "Removing server listener " + listener + " from " + this);
-		getServerNotificationManager().removeListener(listener);
-	}
-	
-	/**
-	 * 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())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.RESTART_STATE_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState()));
-		
-		if (getServerState() == IServer.STATE_STARTED && getServerRestartState() && ServerPreferences.getInstance().isAutoRestarting()) {
-			String mode = getMode();
-			if (canRestart(mode).isOK()) {
-				RestartServerJob job = new RestartServerJob(this, mode);
-				job.schedule();
-			}
-		}
-	}
-
-	/**
-	 * Fire a server listener state change event.
-	 */
-	protected void fireServerStateChangeEvent() {
-		Trace.trace(Trace.LISTENERS, "->- Firing server state change event: " + getName() + ", " + getServerState() + " ->-");
-	
-		if (notificationManager == null || notificationManager.hasListenerEntries())
-			return;
-	
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState()));
-	}
-
-	/**
-	 * Fire a server listener module state change event.
-	 */
-	protected void fireModuleStateChangeEvent(IModule[] module) {
-		Trace.trace(Trace.LISTENERS, "->- Firing module state change event: " + getName() + ", " + getServerState() + " ->-");
-		
-		if (notificationManager == null || notificationManager.hasListenerEntries())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.STATE_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module)));
-	}
-
-	/**
-	 * Fire a server listener module publish state change event.
-	 */
-	protected void fireModulePublishStateChangeEvent(IModule[] module) {
-		Trace.trace(Trace.LISTENERS, "->- Firing module publish state change event: " + getName() + ", " + getServerState() + " ->-");
-		
-		if (notificationManager == null || notificationManager.hasListenerEntries())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.PUBLISH_STATE_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module)));
-	}
-
-	/**
-	 * Fire a server listener module state change event.
-	 */
-	protected void fireModuleRestartChangeEvent(IModule[] module) {
-		Trace.trace(Trace.LISTENERS, "->- Firing module restart change event: " + getName() + ", " + getServerState() + " ->-");
-		
-		if (notificationManager == null || notificationManager.hasListenerEntries())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.RESTART_STATE_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module)));
-	}
-
-	public void setMode(String m) {
-		if (m == mode)
-			return;
-
-		this.mode = m;
-		fireServerStateChangeEvent();
-	}
-
-	public void setModuleState(IModule[] module, int state) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		int oldState = getModuleState(module);
-		if (oldState == state)
-			return;
-		
-		Integer in = new Integer(state);
-		moduleState.put(getKey(module), in);
-		fireModuleStateChangeEvent(module);
-	}
-
-	public void setModulePublishState(IModule[] module, int state) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		int oldState = getModulePublishState(module);
-		if (oldState == state)
-			return;
-		
-		Integer in = new Integer(state);
-		if (state == -1)
-			modulePublishState.remove(getKey(module));
-		modulePublishState.put(getKey(module), in);
-		fireModulePublishStateChangeEvent(module);
-	}
-
-	public void setModuleRestartState(IModule[] module, boolean r) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		boolean oldState = getModuleRestartState(module);
-		if (oldState == r)
-			return;
-		
-		Boolean b = new Boolean(r);
-		moduleState.put(getKey(module), b);
-		fireModuleRestartChangeEvent(module);
-	}
-
-	protected void handleModuleProjectChange(IModule module) {
-		Trace.trace(Trace.FINEST, "> handleDeployableProjectChange() " + this + " " + module);
-		
-		// check for duplicate jobs already waiting and don't create a new one
-		Job[] jobs = Platform.getJobManager().find(ServerPlugin.PLUGIN_ID);
-		if (jobs != null) {
-			int size = jobs.length;
-			for (int i = 0; i < size; i++) {
-				if (jobs[i] instanceof ResourceChangeJob) {
-					ResourceChangeJob rcj = (ResourceChangeJob) jobs[i];
-					if (rcj.getServer().equals(this) && rcj.getModule().equals(module) && rcj.getState() == Job.WAITING)
-						return;
-				}
-			}
-		}
-		
-		ResourceChangeJob job = new ResourceChangeJob(module, this);
-		job.setSystem(true);
-		job.setPriority(Job.BUILD);
-		job.schedule();
-		
-		Trace.trace(Trace.FINEST, "< handleDeployableProjectChange()");
-	}
-
-	protected void stopAutoPublish() {
-		if (autoPublishThread == null)
-			return;
-		
-		autoPublishThread.stop = true;
-		autoPublishThread.interrupt();
-		autoPublishThread = null;
-	}
-
-	/**
-	 * Reset automatic publish thread if it is running and start a new
-	 * thread if automatic publishing is currently enabled.
-	 */
-	protected void autoPublish() {
-		stopAutoPublish();
-		
-		if (getAutoPublishSetting() == AUTO_PUBLISH_DISABLE)
-			return;
-		
-		int time = 0;
-		if (getAutoPublishSetting() == AUTO_PUBLISH_DEFAULT) {
-			ServerPreferences pref = ServerPreferences.getInstance();
-			boolean local = SocketUtil.isLocalhost(getHost());
-			if (local && pref.getAutoPublishLocal())
-				time = pref.getAutoPublishLocalTime();
-			else if (!local && pref.getAutoPublishRemote())
-				time = pref.getAutoPublishRemoteTime();
-		} else
-			time = getAutoPublishTime();
-		
-		if (time > 0) {
-			autoPublishThread = new AutoPublishThread();
-			autoPublishThread.time = time;
-			autoPublishThread.setPriority(Thread.MIN_PRIORITY + 1);
-			autoPublishThread.start();
-		}
-	}
-
-	private ServerNotificationManager getServerNotificationManager() {
-		if (notificationManager == null) {
-			notificationManager = new ServerNotificationManager();
-		}
-		return notificationManager;
-	}
-
-	/**
-	 * Returns the configuration's sync state.
-	 *
-	 * @return int
-	 */
-	public int getServerPublishState() {
-		return serverSyncState;
-	}
-
-	/**
-	 * Sets the configuration sync state.
-	 *
-	 * @param state int
-	 */
-	public void setServerPublishState(int state) {
-		if (state == serverSyncState)
-			return;
-		serverSyncState = state;
-		firePublishStateChange();
-	}
-
-	/**
-	 * Adds a publish listener to this server.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the publish listener
-	 * @see #removePublishListener(IPublishListener)
-	 */
-	public void addPublishListener(IPublishListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		Trace.trace(Trace.LISTENERS, "Adding publish listener " + listener + " to " + this);
-
-		if (publishListeners == null)
-			publishListeners = new ArrayList();
-		publishListeners.add(listener);
-	}
-
-	/**
-	 * Removes a publish listener from this server.
-	 * Has no effect if the listener is not registered.
-	 *
-	 * @param listener the publish listener
-	 * @see #addPublishListener(IPublishListener)
-	 */
-	public void removePublishListener(IPublishListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		Trace.trace(Trace.LISTENERS, "Removing publish listener " + listener + " from " + this);
-
-		if (publishListeners != null)
-			publishListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a publish start event.
-	 */
-	private void firePublishStarted() {
-		Trace.trace(Trace.FINEST, "->- Firing publish started event ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing publish started event to " + srl[i]);
-			try {
-				srl[i].publishStarted(this);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing publish started event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing publish started event -<-");
-	}
-
-	/**
-	 * Fire a publish stop event.
-	 *
-	 * @param status publishing status
-	 */
-	private void firePublishFinished(IStatus status) {
-		Trace.trace(Trace.FINEST, "->- Firing publishing finished event: " + status + " ->-");
-	
-		if (publishListeners == null || publishListeners.isEmpty())
-			return;
-
-		int size = publishListeners.size();
-		IPublishListener[] srl = new IPublishListener[size];
-		publishListeners.toArray(srl);
-
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.FINEST, "  Firing publishing finished event to " + srl[i]);
-			try {
-				srl[i].publishFinished(this, status);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing publishing finished event to " + srl[i], e);
-			}
-		}
-
-		Trace.trace(Trace.FINEST, "-<- Done firing publishing finished event -<-");
-	}
-
-	/**
-	 * Fire a publish state change event.
-	 */
-	protected void firePublishStateChange() {
-		Trace.trace(Trace.FINEST, "->- Firing publish state change event ->-");
-		
-		if (notificationManager == null || notificationManager.hasListenerEntries())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.PUBLISH_STATE_CHANGE, this, getServerState(), 
-					getServerPublishState(), getServerRestartState()));
-	}
-
-	/**
-	 * Fire a publish state change event.
-	 */
-	protected void firePublishStateChange(IModule[] module) {
-		Trace.trace(Trace.FINEST, "->- Firing publish state change event: " + module + " ->-");
-	
-		if (notificationManager == null || notificationManager.hasListenerEntries())
-			return;
-	
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.PUBLISH_STATE_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module)));
-	}
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be published to.
-	 *
-	 * @return boolean
-	 */
-	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, Messages.errorPublishStarting, 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, Messages.errorPublishNoConfiguration, null);
-		
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Returns true if the server should be published to. This is <code>true</code> when the server
-	 * can be published to and the server's publish state or any module's publish state is not
-	 * PUBLISH_STATE_NONE. 
-	 * 
-	 * @return boolean
-	 */
-	public boolean shouldPublish() {
-		if (!canPublish().isOK())
-			return false;
-		
-		if (getServerPublishState() != PUBLISH_STATE_NONE)
-			return true;
-		
-		final boolean[] publish = new boolean[1];
-		
-		visit(new IModuleVisitor() {
-			public boolean visit(IModule[] module) {
-				if (getModulePublishState(module) != PUBLISH_STATE_NONE) {
-					publish[0] = true;
-					return false;
-				}
-				return true;
-			}
-		}, null);
-		
-		return publish[0];
-	}
-
-	/**
-	 * Returns true if the server should be restarted. This is <code>true</code> when the server
-	 * can be restarted and the server's restart state or any module's restart states is not
-	 * false. 
-	 * 
-	 * @return boolean
-	 */
-	public boolean shouldRestart() {
-		if (!canPublish().isOK())
-			return false;
-		
-		if (getServerRestartState())
-			return true;
-		
-		final boolean[] publish = new boolean[1];
-		
-		visit(new IModuleVisitor() {
-			public boolean visit(IModule[] module) {
-				if (getModuleRestartState(module)) {
-					publish[0] = true;
-					return false;
-				}
-				return true;
-			}
-		}, null);
-		
-		return publish[0];
-	}
-
-	public ServerPublishInfo getServerPublishInfo() {
-		if (publishInfo == null) {
-			publishInfo = PublishInfo.getInstance().getServerPublishInfo(this);
-		}
-		return publishInfo;
-	}
-
-	/*
-	 * Publish to the server using the progress monitor. The result of the
-	 * publish operation is returned as an IStatus.
-	 */
-	public IStatus publish(final int kind, IProgressMonitor monitor) {
-		if (getServerType() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, null);
-
-		// check what is out of sync and publish
-		if (getServerType().hasServerConfiguration() && configuration == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorNoConfiguration, null);
-		
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, monitor);
-		
-		if (((ServerType)getServerType()).startBeforePublish() && (getServerState() == IServer.STATE_STOPPED)) {
-			try {
-				synchronousStart(ILaunchManager.RUN_MODE, monitor);
-			} catch (CoreException ce) {
-				Trace.trace(Trace.SEVERE, "Error starting server", ce);
-				return ce.getStatus();
-			}
-		}
-		
-		firePublishStarted();
-		IStatus status = doPublish(kind, monitor);
-		firePublishFinished(status);
-		return status;
-	}
-
-	protected IStatus doPublish(int kind, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "-->-- Publishing to server: " + toString() + " -->--");
-		
-		stopAutoPublish();
-		
-		try {
-			getServerPublishInfo().startCaching();
-			IStatus status = getBehaviourDelegate(monitor).publish(kind, monitor);
-			
-			final List modules2 = new ArrayList();
-			visit(new IModuleVisitor() {
-				public boolean visit(IModule[] module) {
-					if (getModulePublishState(module) == IServer.PUBLISH_STATE_NONE)
-						getServerPublishInfo().fill(module);
-					
-					modules2.add(module);
-					return true;
-				}
-			}, monitor);
-			
-			getServerPublishInfo().removeDeletedModulePublishInfo(this, modules2);
-			getServerPublishInfo().clearCache();
-			getServerPublishInfo().save();
-			
-			return status;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate publish() " + toString(), e);
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e);
-		}
-	}
-
-	/**
-	 * Returns the publish tasks that have been targetted to this server.
-	 * These tasks should be run during publishing and will be initialized
-	 * with a task model.
-	 * 
-	 * @param kind one of the IServer.PUBLISH_XX constants
-	 * @param moduleList a list of modules
-	 * @param kindList one of the IServer publish change constants
-	 * @return a possibly empty array of IOptionalTasks
-	 */
-	public PublishOperation[] getTasks(int kind, List moduleList, List kindList) {
-		List tasks = new ArrayList();
-		
-		String serverTypeId = getServerType().getId();
-		
-		IPublishTask[] publishTasks = ServerPlugin.getPublishTasks();
-		if (publishTasks != null) {
-			List enabledTasks = getEnabledOptionalPublishOperationIds();
-			List disabledTasks = getDisabledPreferredPublishOperationIds();
-			
-			TaskModel taskModel = new TaskModel();
-			taskModel.putObject(TaskModel.TASK_SERVER, this);
-			
-			int size = publishTasks.length;
-			for (int i = 0; i < size; i++) {
-				IPublishTask task = publishTasks[i];
-				if (task.supportsType(serverTypeId)) {
-					PublishOperation[] tasks2 = task.getTasks(this, kind, moduleList, kindList);
-					if (tasks2 != null) {
-						int size2 = tasks2.length;
-						for (int j = 0; j < size2; j++) {
-							if (tasks2[j].getKind() == PublishOperation.REQUIRED) {
-								tasks.add(tasks2[j]);
-								tasks2[j].setTaskModel(taskModel);
-							} else if (tasks2[j].getKind() == PublishOperation.PREFERRED) {
-								String opId = getPublishOperationId(tasks2[j]);
-								if (!disabledTasks.contains(opId)) {
-									tasks.add(tasks2[j]);
-									tasks2[j].setTaskModel(taskModel);
-								}
-							} else if (tasks2[j].getKind() == PublishOperation.OPTIONAL) {
-								String opId = getPublishOperationId(tasks2[j]);
-								if (enabledTasks.contains(opId)) {
-									tasks.add(tasks2[j]);
-									tasks2[j].setTaskModel(taskModel);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		
-		Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR);
-		
-		return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]);
-	}
-
-	/**
-	 * Returns all publish tasks that have been targetted to this server type.
-	 * The tasks will not be initialized with a task model. 
-	 * 
-	 * @param moduleList a list of modules
-	 * @return an array of publish operations
-	 */
-	public PublishOperation[] getAllTasks(List moduleList) {
-		String serverTypeId = getServerType().getId();
-		if (serverTypeId == null)
-			return new PublishOperation[0];
-		
-		List tasks = new ArrayList();
-		
-		IPublishTask[] publishTasks = ServerPlugin.getPublishTasks();
-		if (publishTasks != null) {
-			int size = publishTasks.length;
-			for (int i = 0; i < size; i++) {
-				IPublishTask task = publishTasks[i];
-				if (task.supportsType(serverTypeId)) {
-					PublishOperation[] tasks2 = task.getTasks(this, moduleList);
-					tasks.addAll(Arrays.asList(tasks2));
-				}
-			}
-		}
-		
-		Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR);
-		
-		return (PublishOperation[])tasks.toArray(new PublishOperation[tasks.size()]);
-	}
-	
-	public String getPublishOperationId(PublishOperation op) {
-		return getId()+"|"+op.getLabel();
-	}
-	
-	public List getAllModules() {
-		final List moduleList = new ArrayList();
-		
-		IModuleVisitor visitor = new IModuleVisitor() {
-			public boolean visit(IModule[] module) {
-				if (!moduleList.contains(module))
-					moduleList.add(module);
-				return true;
-			}
-		};
-
-		visit(visitor, null);
-		
-		return moduleList;
-	}
-
-	/*
-	 * Returns the module resources that have been published.
-	 * 
-	 * @see ServerBehaviourDelegate.getPublishedResources(IModule[])
-	 */
-	public IModuleResource[] getResources(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		return getServerPublishInfo().getResources(module);
-	}
-
-	/*
-	 * Returns the module resources that have been published.
-	 * 
-	 * @see ServerBehaviourDelegate.getPublishedResources(IModule[])
-	 */
-	public IModuleResource[] getPublishedResources(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		return getServerPublishInfo().getModulePublishInfo(module).getResources();
-	}
-
-	/*
-	 * Returns the delta of the current module resources that have been
-	 * published compared to the current state of the module.
-	 * 
-	 * @see ServerBehaviourDelegate.getPublishedResourceDelta(IModule[])
-	 */
-	public IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		return getServerPublishInfo().getDelta(module);
-	}
-
-	/*
-	 * Returns the delta of the current module resources that have been
-	 * published compared to the current state of the module.
-	 * 
-	 * @see ServerBehaviourDelegate.getPublishedResourceDelta(IModule[])
-	 */
-	public boolean hasPublishedResourceDelta(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		return getServerPublishInfo().hasDelta(module);
-	}
-
-	/**
-	 * @see IServer#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (delegate != null) {
-			if (adapter.isInstance(delegate))
-				return delegate;
-		}
-		if (behaviourDelegate != null) {
-			if (adapter.isInstance(behaviourDelegate))
-				return behaviourDelegate;
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @see IServer#loadAdapter(Class, IProgressMonitor)
-	 */
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor) {
-		getDelegate(monitor);
-		if (adapter.isInstance(delegate))
-			return delegate;
-		
-		getBehaviourDelegate(monitor);
-		if (adapter.isInstance(behaviourDelegate))
-			return behaviourDelegate;
-		
-		return Platform.getAdapterManager().loadAdapter(this, adapter.getName());
-	}
-
-	public String toString() {
-		return getName();
-	}
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be started, and supports the given mode.
-	 *
-	 * @param mode2
-	 * @return status
-	 */
-	public IStatus canStart(String mode2) {
-		int state = getServerState();
-		if (state != STATE_STOPPED && state != STATE_UNKNOWN)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.canStartErrorState, null);
-		
-		if (getServerType() == null || !getServerType().supportsLaunchMode(mode2))
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null);
-		
-		return Status.OK_STATUS;
-	}
-
-	public ILaunch getExistingLaunch() {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		
-		ILaunch[] launches = launchManager.getLaunches();
-		int size = launches.length;
-		for (int i = 0; i < size; i++) {
-			ILaunchConfiguration launchConfig = launches[i].getLaunchConfiguration();
-			try {
-				if (launchConfig != null) {
-					String serverId = launchConfig.getAttribute(SERVER_ID, (String) null);
-					if (getId().equals(serverId)) {
-						if (!launches[i].isTerminated())
-							return launches[i];
-					}
-				}
-			} catch (CoreException e) {
-				// ignore
-			}
-		}
-		
-		return null;
-	}
-
-	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) {
-		try {
-			getBehaviourDelegate(monitor).setupLaunchConfiguration(workingCopy, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate setupLaunchConfiguration() " + toString(), e);
-		}
-	}
-
-	/**
-	 * Return the launch configuration for this server. If one does not exist, it
-	 * will be created if "create" is true, and otherwise will return <code>null</code>.
-	 * Will return <code>null</code> if this server type has no associated launch
-	 * configuration type (i.e. the server cannot be started).
-	 * 
-	 * @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, or <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();
-		if (launchConfigType == null)
-			return null;
-		
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfiguration[] launchConfigs = null;
-		try {
-			launchConfigs = launchManager.getLaunchConfigurations(launchConfigType);
-		} catch (CoreException e) {
-			// ignore
-		}
-		
-		if (launchConfigs != null) {
-			int size = launchConfigs.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					String serverId = launchConfigs[i].getAttribute(SERVER_ID, (String) null);
-					if (getId().equals(serverId)) {
-						final ILaunchConfigurationWorkingCopy wc = launchConfigs[i].getWorkingCopy();
-						setupLaunchConfiguration(wc, monitor);
-						if (wc.isDirty()) {
-							final ILaunchConfiguration[] lc = new ILaunchConfiguration[1];
-							Job job = new Job("Saving launch configuration") {
-								protected IStatus run(IProgressMonitor monitor) {
-									try {
-										lc[0] = wc.doSave();
-									} catch (CoreException ce) {
-										Trace.trace(Trace.SEVERE, "Error configuring launch", ce);
-									}
-									return Status.OK_STATUS;
-								}
-							};
-							job.setSystem(true);
-							job.schedule();
-							try {
-								job.join();
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Error configuring launch", e);
-							}
-							if (job.getState() != Job.NONE) {
-								job.cancel();
-								lc[0] = wc.doSave();
-							}
-							
-							return lc[0];
-						}
-						return launchConfigs[i];
-					}
-				} catch (CoreException e) {
-					Trace.trace(Trace.SEVERE, "Error configuring launch", e);
-				}
-			}
-		}
-		
-		if (!create)
-			return null;
-		
-		// create a new launch configuration
-		String launchName = getValidLaunchConfigurationName(getName());
-		launchName = launchManager.generateUniqueLaunchConfigurationNameFrom(launchName); 
-		ILaunchConfigurationWorkingCopy wc = launchConfigType.newInstance(null, launchName);
-		wc.setAttribute(SERVER_ID, getId());
-		setupLaunchConfiguration(wc, monitor);
-		return wc.doSave();
-	}
-
-	protected String getValidLaunchConfigurationName(String s) {
-		if (s == null || s.length() == 0)
-			return "1";
-		int size = INVALID_CHARS.length;
-		for (int i = 0; i < size; i++) {
-			s = s.replace(INVALID_CHARS[i], '_');
-		}
-		return s;
-	}
-
-	/**
-	 * @see IServer#start(String, IProgressMonitor)
-	 */
-	public void start(String mode2, IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.FINEST, "Starting server: " + toString() + ", launchMode: " + mode2);
-	
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, monitor);
-		
-		try {
-			ILaunchConfiguration launchConfig = getLaunchConfiguration(true, monitor);
-			ILaunch launch = launchConfig.launch(mode2, monitor); // , true); - causes workspace lock
-			Trace.trace(Trace.FINEST, "Launch: " + launch);
-		} catch (CoreException e) {
-			Trace.trace(Trace.SEVERE, "Error starting server " + toString(), e);
-			throw e;
-		}
-	}
-
-	/**
-	 * Clean up any metadata associated with the server, typically in preparation for
-	 * deletion.
-	 */
-	protected void deleteMetadata() {
-		deleteLaunchConfigurations();
-		ServerPlugin.getInstance().removeTempDirectory(getId());
-		PublishInfo.getInstance().removeServerPublishInfo(this);
-	}
-
-	/**
-	 * Clean up any old launch configurations with the current server's id.
-	 */
-	protected void deleteLaunchConfigurations() {
-		if (getServerType() == null)
-			return;
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType launchConfigType = ((ServerType) getServerType()).getLaunchConfigurationType();
-		
-		ILaunchConfiguration[] configs = null;
-		try {
-			configs = launchManager.getLaunchConfigurations(launchConfigType);
-			int size = configs.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					if (getId().equals(configs[i].getAttribute(SERVER_ID, (String) null)))
-						configs[i].delete();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * @see IServer#canRestart(String)
-	 */
-	public IStatus canRestart(String mode2) {
-		if (!getServerType().supportsLaunchMode(mode2))
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null);
-
-		int state = getServerState();
-		if (state == STATE_STARTED)
-			return Status.OK_STATUS;
-		
-		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartNotStarted, null);
-	}
-
-	/**
-	 * Returns the current restart state of the server. This
-	 * implementation will always return false when the server
-	 * is stopped.
-	 *
-	 * @return boolean
-	 */
-	public boolean getServerRestartState() {
-		if (getServerState() == STATE_STOPPED)
-			return false;
-		return serverRestartNeeded;
-	}
-
-	/**
-	 * Sets the server restart state.
-	 *
-	 * @param state boolean
-	 */
-	public synchronized void setServerRestartState(boolean state) {
-		if (state == serverRestartNeeded)
-			return;
-		serverRestartNeeded = state;
-		fireRestartStateChangeEvent();
-	}
-
-	/**
-	 * @see IServer#restart(String, IProgressMonitor)
-	 */
-	public void restart(final String mode2, final IProgressMonitor monitor) {
-		if (getServerState() == STATE_STOPPED)
-			return;
-	
-		Trace.trace(Trace.FINEST, "Restarting server: " + getName());
-	
-		try {
-			try {
-				getBehaviourDelegate(null).restart(mode2);
-				return;
-			} catch (CoreException ce) {
-				Trace.trace(Trace.SEVERE, "Error calling delegate restart() " + toString());
-			}
-		
-			// 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);
-
-							// 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
-									}
-									ServerType st = (ServerType) getServerType();
-									if (st.startBeforePublish()) {
-										try {
-											Server.this.start(mode2, monitor);
-										} catch (Exception e) {
-											Trace.trace(Trace.SEVERE, "Error while restarting server", e);
-										}
-									}
-									if (ServerPreferences.getInstance().isAutoPublishing() && shouldPublish()) {
-										publish(PUBLISH_INCREMENTAL, null);
-									}
-									if (getServerState() != IServer.STATE_STARTED) {
-										try {
-											Server.this.start(mode2, monitor);
-										} catch (Exception e) {
-											Trace.trace(Trace.SEVERE, "Error while restarting server", e);
-										}
-									}
-								}
-							};
-							t.setDaemon(true);
-							t.setPriority(Thread.NORM_PRIORITY - 2);
-							t.start();
-						}
-					}
-					
-				}
-			});
-	
-			// stop the server
-			stop(false);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error restarting server", e);
-		}
-	}
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be stopped.
-	 *
-	 * @return boolean
-	 */
-	public IStatus canStop() {
-		if (getServerState() == STATE_STOPPED)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorStopAlreadyStopped, null);
-		
-		if (getServerType() != null && !getServerType().supportsLaunchMode(getMode()))
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null);
-		
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * @see IServer#stop(boolean)
-	 */
-	public void stop(boolean force) {
-		if (getServerState() == STATE_STOPPED)
-			return;
-
-		Trace.trace(Trace.FINEST, "Stopping server: " + toString());
-
-		try {
-			getBehaviourDelegate(null).stop(force);
-		} catch (Throwable t) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate stop() " + toString(), t);
-		}
-	}
-
-	/**
-	 * @see IServer#start(String, IOperationListener)
-	 */
-	public void start(String mode2, IOperationListener listener2) {
-		Trace.trace(Trace.FINEST, "synchronousStart 1");
-		final Object mutex = new Object();
-		
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, null);
-		
-		// 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);
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final int serverTimeout = ((ServerType) getServerType()).getStartTimeout();
-		if (serverTimeout > 0) {
-			Thread thread = new Thread("Server start timeout") {
-				public void run() {
-					try {
-						Thread.sleep(serverTimeout);
-						if (!timer.alreadyDone) {
-							// notify waiter
-							synchronized (mutex) {
-								Trace.trace(Trace.FINEST, "start notify timeout");
-								if (!timer.alreadyDone)
-									timer.timeout = true;
-								mutex.notifyAll();
-							}
-						}
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e);
-					}
-				}
-			};
-			thread.setDaemon(true);
-			thread.start();
-		}
-		
-		Trace.trace(Trace.FINEST, "synchronousStart 2");
-		
-		// start the server
-		IProgressMonitor monitor = new NullProgressMonitor();
-		try {
-			start(mode2, monitor);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			listener2.done(e.getStatus());
-			return;
-		}
-		if (monitor.isCanceled()) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			listener2.done(Status.CANCEL_STATUS);
-			return;
-		}
-		
-		Trace.trace(Trace.FINEST, "synchronousStart 3");
-		
-		// wait for it! wait for it! ...
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && !(getServerState() == IServer.STATE_STARTED || getServerState() == IServer.STATE_STOPPED))
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
-			}
-			timer.alreadyDone = true;
-		}
-		removeServerListener(listener);
-		
-		if (timer.timeout) {
-			listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), (serverTimeout / 1000) + "" }), null));
-			stop(false);
-			return;
-		}
-		
-		if (getServerState() == IServer.STATE_STOPPED) {
-			listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null));
-			return;
-		}
-		
-		Trace.trace(Trace.FINEST, "synchronousStart 4");
-		listener2.done(Status.OK_STATUS);
-	}
-
-	public void synchronousStart(String mode2, IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.FINEST, "synchronousStart 1");
-		
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, monitor);
-		
-		final boolean[] notified = new boolean[1];
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		// 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 (notified) {
-							try {
-								Trace.trace(Trace.FINEST, "synchronousStart notify");
-								notified[0] = true;
-								notified.notifyAll();
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Error notifying server start", e);
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		final int serverTimeout = ((ServerType) getServerType()).getStartTimeout();
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final IProgressMonitor monitor2 = monitor;
-		Thread thread = new Thread("Synchronous Server Start") {
-			public void run() {
-				try {
-					int totalTimeout = serverTimeout;
-					if (totalTimeout < 0)
-						totalTimeout = 1;
-					boolean userCancelled = false;
-					int retryPeriod = 2500;
-					while (!notified[0] && totalTimeout > 0 && !userCancelled && !timer.alreadyDone) {
-						Thread.sleep(retryPeriod);
-						if (serverTimeout > 0)
-							totalTimeout -= retryPeriod;
-						if (!notified[0] && !timer.alreadyDone && monitor2.isCanceled()) {
-							// user cancelled - set the server state to stopped
-							userCancelled = true;
-							setServerState(IServer.STATE_STOPPED);
-							// notify waiter
-							synchronized (notified) {
-								Trace.trace(Trace.FINEST, "synchronousStart user cancelled.");
-								notified[0] = true;
-								notified.notifyAll();
-							}
-						}
-					}
-					if (!userCancelled && !timer.alreadyDone && !notified[0]) {
-						// notify waiter
-						synchronized (notified) {
-							Trace.trace(Trace.FINEST, "synchronousStart notify timeout");
-							if (!timer.alreadyDone && totalTimeout <= 0)
-								timer.timeout = true;
-							notified[0] = true;
-							notified.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e);
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	
-		Trace.trace(Trace.FINEST, "synchronousStart 2");
-	
-		// start the server
-		try {
-			start(mode2, monitor);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			throw e;
-		}
-		if (monitor.isCanceled()) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			return;
-		}
-		
-		Trace.trace(Trace.FINEST, "synchronousStart 3");
-		
-		// wait for it! wait for it! ...
-		synchronized (notified) {
-			try {
-				while (!notified[0] && !monitor.isCanceled() && !timer.timeout
-						&& !(getServerState() == IServer.STATE_STARTED || getServerState() == IServer.STATE_STOPPED)) {
-					notified.wait();
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
-			}
-			timer.alreadyDone = true;
-		}
-		removeServerListener(listener);
-		
-		if (timer.timeout) {
-			stop(false);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), (serverTimeout / 1000) + "" }), null));
-		}
-		
-		if (getServerState() == IServer.STATE_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null));
-		
-		Trace.trace(Trace.FINEST, "synchronousStart 4");
-	}
-
-	/*
-	 * @see IServer#synchronousRestart(String, IProgressMonitor)
-	 */
-	public void synchronousRestart(String mode2, IProgressMonitor monitor) throws CoreException {
-		synchronousStop(true);
-		synchronousStart(mode2, monitor);
-	}
-	
-	/*
-	 * @see IServer#restart(String, IOperationListener)
-	 */
-	public void restart(String mode2, IOperationListener listener) {
-		if (getServerState() == STATE_STOPPED)
-			return;
-	
-		Trace.trace(Trace.FINEST, "Restarting server: " + getName());
-	
-		try {
-			final IOperationListener listener2 = listener;
-			IServerListener curListener = 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_STARTED) {
-							server.removeServerListener(this);
-							listener2.done(Status.OK_STATUS);
-						}
-					}
-				}
-			};
-			try {
-				addServerListener(curListener);
-				getBehaviourDelegate(null).restart(mode2);
-				return;
-			} catch (CoreException ce) {
-				Trace.trace(Trace.SEVERE, "Error calling delegate restart() " + toString());
-				removeServerListener(curListener);
-			}
-		
-			final String mode3 = mode2;
-			// 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);
-
-							// restart in a quarter second (give other listeners a chance
-							// to hear the stopped message)
-							Thread t = new Thread("Restart thread") {
-								public void run() {
-									try {
-										Thread.sleep(250);
-									} catch (Exception e) {
-										// ignore
-									}
-									ServerType st = (ServerType) getServerType();
-									if (st.startBeforePublish()) {
-										try {
-											Server.this.start(mode3, listener2);
-										} catch (Exception e) {
-											Trace.trace(Trace.SEVERE, "Error while restarting server", e);
-										}
-									}
-									if (ServerPreferences.getInstance().isAutoPublishing() && shouldPublish()) {
-										publish(PUBLISH_INCREMENTAL, null);
-									}
-									if (getServerState() != IServer.STATE_STARTED) {
-										try {
-											Server.this.start(mode3, listener2);
-										} catch (Exception e) {
-											Trace.trace(Trace.SEVERE, "Error while restarting server", e);
-										}
-									}
-								}
-							};
-							t.setDaemon(true);
-							t.setPriority(Thread.NORM_PRIORITY - 2);
-							t.start();
-						}
-					}
-					
-				}
-			});
-	
-			// stop the server
-			stop(false);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error restarting server", e);
-			listener.done(null);
-		}
-	}
-	
-	/*
-	 * @see IServer#stop(boolean, IOperationListener)
-	 */
-	public void stop(boolean force, IOperationListener listener2) {
-		if (getServerState() == IServer.STATE_STOPPED)
-			return;
-		
-		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);
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final int serverTimeout = ((ServerType) getServerType()).getStopTimeout();
-		if (serverTimeout > 0) {
-			Thread thread = new Thread("Server stop timeout") {
-				public void run() {
-					try {
-						Thread.sleep(serverTimeout);
-						if (!timer.alreadyDone) {
-							timer.timeout = true;
-							// notify waiter
-							synchronized (mutex) {
-								Trace.trace(Trace.FINEST, "stop notify timeout");
-								mutex.notifyAll();
-							}
-						}
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
-					}
-				}
-			};
-			thread.setDaemon(true);
-			thread.start();
-		}
-	
-		// stop the server
-		stop(force);
-	
-		// wait for it! wait for it!
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && getServerState() != IServer.STATE_STOPPED)
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server stop", e);
-			}
-		}
-		removeServerListener(listener);
-		
-		/*
-		//can't throw exceptions
-		if (timer.timeout)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));
-		else
-			timer.alreadyDone = true;
-		
-		if (getServerState() == IServer.STATE_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));*/
-		listener2.done(Status.OK_STATUS);
-	}
-
-	/*
-	 * @see IServer#synchronousStop()
-	 */
-	public void synchronousStop(boolean force) {
-		if (getServerState() == IServer.STATE_STOPPED)
-			return;
-		
-		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);
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final int serverTimeout = ((ServerType) getServerType()).getStopTimeout();
-		if (serverTimeout > 0) {
-			Thread thread = new Thread("Synchronous server stop") {
-				public void run() {
-					try {
-						Thread.sleep(serverTimeout);
-						if (!timer.alreadyDone) {
-							timer.timeout = true;
-							// notify waiter
-							synchronized (mutex) {
-								Trace.trace(Trace.FINEST, "stop notify timeout");
-								mutex.notifyAll();
-							}
-						}
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
-					}
-				}
-			};
-			thread.setDaemon(true);
-			thread.start();
-		}
-	
-		// stop the server
-		stop(force);
-	
-		// wait for it! wait for it!
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && getServerState() != IServer.STATE_STOPPED)
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server stop", e);
-			}
-		}
-		removeServerListener(listener);
-		
-		/*
-		//can't throw exceptions
-		if (timer.timeout)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));
-		else
-			timer.alreadyDone = true;
-		
-		if (getServerState() == IServer.STATE_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));*/
-	}
-	
-	/*
-	 * Trigger a restart of the given module and wait until it has finished restarting.
-	 *
-	 * @param module org.eclipse.wst.server.core.IModule
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @exception org.eclipse.core.runtime.CoreException - thrown if an error occurs while trying to restart the module
-	 *
-	public void synchronousRestartModule(final IModule[] module, IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 1");
-
-		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);
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		// make sure it times out after 30s
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(30000);
-					if (!timer.alreadyDone) {
-						timer.timeout = true;
-						// notify waiter
-						synchronized (mutex) {
-							Trace.trace(Trace.FINEST, "synchronousModuleRestart notify timeout");
-							mutex.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying module restart timeout", e);
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 2");
-	
-		// restart the module
-		try {
-			getBehaviourDelegate(null).restartModule(module, monitor);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			throw e;
-		}
-	
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 3");
-	
-		// wait for it! wait for it! ...
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && !(getModuleState(module) == IServer.STATE_STARTED || getModuleState(module) == IServer.STATE_STOPPED))
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
-			}
-		}
-		removeServerListener(listener);
-		if (timer.timeout)
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorModuleRestartFailed, getName()), null));
-		timer.alreadyDone = true;
-		
-		if (getModuleState(module) == IServer.STATE_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorModuleRestartFailed, getName()), null));
-	
-		Trace.trace(Trace.FINEST, "synchronousModuleRestart 4");
-	}*/
-
-	public IPath getTempDirectory() {
-		return ServerPlugin.getInstance().getTempDirectory(getId());
-	}
-
-	protected String getXMLRoot() {
-		return "server";
-	}
-
-	protected void loadState(IMemento memento) {
-		resolve();
-	}
-
-	protected void resolve() {
-		IServerType oldServerType = serverType;
-		String serverTypeId = getAttribute("server-type-id", (String)null);
-		if (serverTypeId != null)
-			serverType = ServerCore.findServerType(serverTypeId);
-		else
-			serverType = null;
-		if (serverType != null && !serverType.equals(oldServerType))
-			serverState = ((ServerType)serverType).getInitialState();
-		
-		String runtimeId = getAttribute(RUNTIME_ID, (String)null);
-		if (runtimeId != null)
-			runtime = ServerCore.findRuntime(runtimeId);
-		
-		String configPath = getAttribute(CONFIGURATION_ID, (String)null);
-		configuration = null;
-		if (configPath != null)
-			configuration = ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(configPath));
-	}
-
-	protected void setInternal(ServerWorkingCopy wc) {
-		map = new HashMap(wc.map);
-		configuration = wc.configuration;
-		runtime = wc.runtime;
-		serverSyncState = wc.serverSyncState;
-		//restartNeeded = wc.restartNeeded;
-		serverType = wc.serverType;
-		modules = wc.modules;
-		
-		// can never modify the following properties via the working copy
-		//serverState = wc.serverState;
-		delegate = wc.delegate;
-		
-		if (getServerState() == IServer.STATE_STARTED)
-			autoPublish();
-	}
-
-	protected void saveState(IMemento memento) {
-		if (serverType != null)
-			memento.putString("server-type", serverType.getId());
-		
-		if (configuration != null)
-			memento.putString(CONFIGURATION_ID, configuration.getFullPath().toString());
-		else
-			memento.putString(CONFIGURATION_ID, null);
-		
-		if (runtime != null)
-			memento.putString(RUNTIME_ID, runtime.getId());
-		else
-			memento.putString(RUNTIME_ID, null);
-	}
-
-	/*public void updateConfiguration() {
-		try {
-			getDelegate(null).updateConfiguration();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate updateConfiguration() " + toString(), e);
-		}
-	}*/
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerConfiguration#canModifyModule(org.eclipse.wst.server.core.model.IModule)
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) {
-		if ((add == null || add.length == 0) && (remove == null || remove.length == 0))
-			throw new IllegalArgumentException("Add and remove cannot both be null/empty");
-		
-		if (add != null && add.length > 0) {
-			int size = add.length;
-			for (int i = 0; i < size; i++) {
-				IModuleType moduleType = add[i].getModuleType(); 
-				if (!ServerUtil.isSupportedModule(getServerType().getRuntimeType().getModuleTypes(), moduleType))
-					return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCannotAddModule,
-							new Object[] { moduleType.getName(), moduleType.getVersion() }), null);
-			}
-		}
-		
-		try {
-			return getDelegate(monitor).canModifyModules(add, remove);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate canModifyModules() " + toString(), e);
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "", null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#getModules()
-	 */
-	public IModule[] getModules() {
-		if (modules == null) {
-			// convert from attribute
-			List list = getAttribute(MODULE_LIST, (List) null);
-			if (list == null)
-				list = new ArrayList(1);
-			
-			modules = new ArrayList(list.size() + 1);
-			Iterator iterator = list.iterator();
-			while (iterator.hasNext()) {
-				String moduleId = (String) iterator.next();
-				String name = "<unknown>";
-				int index = moduleId.indexOf("::");
-				if (index > 0) {
-					name = moduleId.substring(0, index);
-					moduleId = moduleId.substring(index+2);
-				}
-				
-				String moduleTypeId = null;
-				String moduleTypeVersion = null;
-				index = moduleId.indexOf("::");
-				if (index > 0) {
-					int index2 = moduleId.indexOf("::", index+1);
-					moduleTypeId = moduleId.substring(index+2, index2);
-					moduleTypeVersion = moduleId.substring(index2+2);
-					moduleId = moduleId.substring(0, index);
-				}
-				
-				IModule module = ServerUtil.getModule(moduleId);
-				if (module == null) {
-					IModuleType moduleType = null;
-					if (moduleTypeId != null)
-						moduleType = new ModuleType(moduleTypeId, moduleTypeVersion);
-					module = new DeletedModule(moduleId, name, moduleType);
-				}
-				if (module != null)
-					modules.add(module);
-			}
-		}
-		
-		IModule[] modules2 = new IModule[modules.size()];
-		modules.toArray(modules2);
-		return modules2;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#getModuleState()
-	 */
-	public int getModuleState(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			Integer in = (Integer) moduleState.get(getKey(module));
-			if (in != null)
-				return in.intValue();
-		} catch (Exception e) {
-			// ignore
-		}
-		return STATE_UNKNOWN;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#getModuleState()
-	 */
-	public int getModulePublishState(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			Integer in = (Integer) modulePublishState.get(getKey(module));
-			if (in != null)
-				return in.intValue();
-		} catch (Exception e) {
-			// ignore
-		}
-		return PUBLISH_STATE_UNKNOWN;
-	}
-
-	/*
-	 * @see IServer#getChildModule(IModule[])
-	 */
-	public IModule[] getChildModules(IModule[] module, IProgressMonitor monitor) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			ServerDelegate sd = getDelegate(monitor);
-			if (sd == null)
-				return null;
-			IModule[] children = sd.getChildModules(module);
-			if (children != null && children.length == 1 && children[0].equals(module[module.length - 1]))
-				return null;
-			return children;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getChildModules() " + toString(), e);
-			return null;
-		}
-	}
-
-	/*
-	 * @see IServer#getRootModules(IModule)
-	 */
-	public IModule[] getRootModules(IModule module, IProgressMonitor monitor) throws CoreException {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			return getDelegate(monitor).getRootModules(module);
-		} catch (CoreException se) {
-			//Trace.trace(Trace.FINER, "CoreException calling delegate getParentModules() " + toString() + ": " + se.getMessage());
-			throw se;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getParentModules() " + toString(), e);
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns whether the given module can be restarted.
-	 *
-	 * @param module the module
-	 * @param monitor
-	 * @return <code>true</code> if the given module can be
-	 *    restarted, and <code>false</code> otherwise
-	 */
-	public IStatus canControlModule(IModule[] module, IProgressMonitor monitor) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			ServerBehaviourDelegate bd = getBehaviourDelegate(monitor);
-			if (bd == null)
-				return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartModule, null);
-			boolean b = bd.canControlModule(module);
-			if (b)
-				return Status.OK_STATUS;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate canRestartRuntime() " + toString(), e);
-		}
-		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartModule, null);
-	}
-
-	/**
-	 * Check if the given module is in sync on the server. It should
-	 * return true if the module should be restarted (is out of
-	 * sync) or false if the module does not need to be restarted.
-	 *
-	 * @param module org.eclipse.wst.server.core.model.IModule
-	 * @return boolean
-	 */
-	public boolean getModuleRestartState(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			Boolean b = (Boolean) moduleRestartState.get(getKey(module));
-			if (b != null)
-				return b.booleanValue();
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
-
-	/*
-	 * @see IServer#startModule(IModule[], IOperationListener)
-	 */
-	public void startModule(IModule[] module, IOperationListener listener) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			getBehaviourDelegate(null).startModule(module, null);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e);
-		}
-	}
-
-	/*
-	 * @see IServer#stopModule(IModule[], IOperationListener)
-	 */
-	public void stopModule(IModule[] module, IOperationListener listener) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			getBehaviourDelegate(null).stopModule(module, null);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e);
-		}
-	}
-
-	/*
-	 * @see IServer#restartModule(IModule[], IOperationListener, IProgressMonitor)
-	 */
-	public void restartModule(IModule[] module, IOperationListener listener) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			getBehaviourDelegate(null).stopModule(module, null);
-			getBehaviourDelegate(null).startModule(module, null);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e);
-		}
-	}
-
-	/**
-	 * Returns an array of IServerPorts that this server has.
-	 * 
-	 * @param monitor
-	 * @return a possibly empty array of servers ports
-	 */
-	public ServerPort[] getServerPorts(IProgressMonitor monitor) {
-		try {
-			return getDelegate(monitor).getServerPorts();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate getServerPorts() " + toString(), e);
-			return null;
-		}
-	}
-
-	/**
-	 * Visit all the modules in the server with the given module visitor.
-	 * 
-	 * @param visitor the visitor
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public void visit(IModuleVisitor visitor, IProgressMonitor monitor) {
-		if (visitor == null)
-			throw new IllegalArgumentException("Visitor cannot be null");
-		IModule[] modules2 = getModules();
-		if (modules2 != null) { 
-			int size = modules2.length;
-			for (int i = 0; i < size; i++) {
-				if (!visitModule(new IModule[] { modules2[i] }, visitor, monitor))
-					return;
-			}
-		}
-	}
-
-	/**
-	 * Returns true to keep visiting, and false to stop.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	private boolean visitModule(IModule[] module, IModuleVisitor visitor, IProgressMonitor monitor) {
-		if (module == null)
-			return true;
-		
-		if (!visitor.visit(module))
-			return false;
-		
-		IModule[] children = getChildModules(module, monitor);
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				IModule[] module2 = new IModule[module.length + 1];
-				System.arraycopy(module, 0, module2, 0, module.length);
-				module2[module.length] = children[i];
-				
-				if (!visitModule(module2, visitor, monitor))
-					return false;
-			}
-		}
-		
-		return true;
-	}
-
-	protected String getKey(IModule[] module) {
-		StringBuffer sb = new StringBuffer();
-		
-		if (module != null) {
-			int size = module.length;
-			for (int i = 0; i < size; i++) {
-				if (i != 0)
-					sb.append("#");
-				sb.append(module[i].getId());
-			}
-		}
-		
-		return sb.toString();
-	}
-
-	public void setModuleStatus(IModule[] module, IStatus status) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		moduleStatus.put(getKey(module), status);
-		//fireServerModuleStateChangeEvent(module);
-	}
-
-	public IStatus getModuleStatus(IModule[] module) {
-		if (module == null)
-			throw new IllegalArgumentException("Module cannot be null");
-		try {
-			return (IStatus) moduleStatus.get(getKey(module));
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public void setServerStatus(IStatus status) {
-		serverStatus = status;
-		//fireServerStateChangeEvent();
-	}
-
-	public IStatus getServerStatus() {
-		return serverStatus;
-	}
-
-	/**
-	 * Switch the server's location between the workspace and .metadata.
-	 * 
-	 * @param server a server
-	 * @param monitor a progress monitor
-	 * @throws CoreException if something goes wrong
-	 */
-	public static void switchLocation(Server server, IProgressMonitor monitor) throws CoreException {
-		IFile file = server.getFile();
-		ServerWorkingCopy wc = (ServerWorkingCopy) server.createWorkingCopy();
-		server.delete();
-		if (file == null) {
-			IProject project = ServerType.getServerProject();
-			file = ServerUtil.getUnusedServerFile(project, wc);
-			wc.setFile(file);
-			server.file = file;
-		} else {
-			wc.setFile(null);
-			server.file = null;
-		}
-		wc.save(true, monitor);
-	}
-
-	/**
-	 * Returns the current state of the server (see SERVER_XXX constants) after
-	 * refreshing the state of the server. The only difference between this method
-	 * and the method without a progress monitor is that this method may cause
-	 * plugin loading and not return immediately. However, the server will always
-	 * be updated and in sync, so the IServer.STATE_UNKNOWN state should never be
-	 * returned.
-	 * 
-	 * @param monitor
-	 * @return the server state
-	 */
-	public int getServerState(IProgressMonitor monitor) {
-		loadAdapter(ServerBehaviourDelegate.class, monitor);
-		return getServerState();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java
deleted file mode 100644
index c1e48d1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.util.ServerLifecycleAdapter;
-/**
- * Listens for messages from the servers. This class keeps
- * track of server instances current state and any clients
- * that are waiting to run on the server. 
- */
-public class ServerListener extends ServerLifecycleAdapter implements IServerListener {
-	// static instance
-	protected static ServerListener listener;
-
-	/**
-	 * ServerListener constructor comment.
-	 */
-	private ServerListener() {
-		super();
-	}
-	
-	/**
-	 * Get the static instance.
-	 *
-	 * @return org.eclipse.wst.server.core.internal.plugin.ServerListener
-	 */
-	public static ServerListener getInstance() {
-		if (listener == null)
-			listener = new ServerListener();
-		return listener;
-	}
-	
-	/**
-	 * Called when the server configuration's sync state changes.
-	 *
-	 * @param server org.eclipse.wst.server.model.IServer
-	 */
-	public void configurationSyncStateChange(IServer server) {
-		// do nothing
-	}
-
-	/**
-	 * A new resource has been added.
-	 *
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public void serverAdded(IServer server) {
-		server.addServerListener(this);
-	}
-
-	/**
-	 * A existing resource has been removed.
-	 *
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	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
deleted file mode 100644
index 23a009a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * 
- */
-public class ServerMonitor implements IServerMonitor {
-	private IConfigurationElement element;
-	private ServerMonitorDelegate delegate;
-
-	/**
-	 * Monitor constructor comment.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ServerMonitor(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/*
-	 * @see IMonitor#getDescription()
-	 */
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-
-	/*
-	 * @see IMonitor#getLabel()
-	 */
-	public String getName() {
-		String label = element.getAttribute("name");
-		if (label == null)
-			return "n/a";
-		return label;
-	}
-
-	/*
-	 * @see IMonitor#getDelegate()
-	 */
-	public ServerMonitorDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (ServerMonitorDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Start monitoring the given port, and return the port number to
-	 * tunnel requests through.
-	 * 
-	 * @param server a server
-	 * @param port a port
-	 * @param monitorPort the port used for monitoring
-	 * @return the port used for monitoring
-	 * @throws CoreException if anything goes wrong
-	 */
-	public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException {
-		try {
-			return getDelegate().startMonitoring(server, port, monitorPort);
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-			return -1;
-		}
-	}
-
-	/**
-	 * Stop monitoring the given port.
-	 * 
-	 * @param server a server
-	 * @param port a port
-	 */
-	public void stopMonitoring(IServer server, ServerPort port) {
-		try {
-			getDelegate().stopMonitoring(server, port);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "Monitor[" + getId() + "]";
-	}
-}
\ No newline at end of file
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
deleted file mode 100644
index 0cc3d67..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * An interface to a TCP/IP monitor.
- */
-public abstract class ServerMonitorDelegate {
-	/**
-	 * Start monitoring the given port, and return the port number to
-	 * tunnel requests through. The monitorPort is the new port to use, or
-	 * -1 to pick a random port.
-	 * 
-	 * @param server a server
-	 * @param port a port
-	 * @param monitorPort the port used for monitoring
-	 * @return the port used for monitoring
-	 * @throws CoreException if anything goes wrong
-	 */
-	public abstract int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException;
-
-	/**
-	 * Stop monitoring the given port.
-	 * 
-	 * @param server a server
-	 * @param port a port
-	 */
-	public abstract void stopMonitoring(IServer server, ServerPort 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
deleted file mode 100644
index 996b78e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.*;
-
-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.wst.server.core.*;
-/**
- * 
- */
-public class ServerMonitorManager implements IServerMonitorManager {
-	private static final String MONITOR_DATA_FILE = "monitors.xml";
-	
-	protected static ServerMonitorManager instance;
-
-	protected List ports = new ArrayList(); 
-	protected ServerMonitor monitor;
-	
-	class MonitoredPort implements IMonitoredServerPort {
-		protected IServer server;
-		protected ServerPort port;
-		protected int newPort = -1;
-		protected String[] content;
-		public boolean started;
-		
-		public MonitoredPort(IServer server, ServerPort port, int newPort, String[] content) {
-			this.server = server;
-			this.port = port;
-			this.newPort = newPort;
-			this.content = content;
-		}
-		
-		public MonitoredPort(IMemento memento, IProgressMonitor monitor) {
-			load(memento, monitor);
-		}
-		
-		public IServer getServer() {
-			return server;
-		}
-		
-		public ServerPort getServerPort() {
-			return port;
-		}
-		
-		public int getMonitorPort() {
-			return newPort;
-		}
-		
-		public void setMonitorPort(int p) {
-			newPort = p;
-		}
-		
-		public String[] getContentTypes() {
-			if (content == null)
-				return new String[0];
-			return content;
-		}
-		
-		public boolean isStarted() {
-			return started;
-		}
-		
-		protected void setStarted(boolean s) {
-			started = s;
-		}
-		
-		public boolean equals(Object obj) {
-			if (!(obj instanceof MonitoredPort))
-				return false;
-			MonitoredPort mp = (MonitoredPort) obj;
-			if (!mp.server.equals(server))
-				return false;
-			if (!mp.port.equals(port))
-				return false;
-			if (newPort != mp.newPort)
-				return false;
-			if (content == null && mp.content != null)
-				return false;
-			if (content != null && mp.content == null)
-				return false;
-			if (content != null) {
-				int size = content.length;
-				if (size != mp.content.length)
-					return false;
-				for (int i = 0; i < size; i++)
-					if (!content[i].equals(mp.content[i]))
-						return false;
-			}
-			return true;
-		}
-		
-		protected boolean canSave() {
-			return (port.getId() != null);
-		}
-		
-		protected void save(IMemento memento) {
-			memento.putString("serverId", server.getId());
-			if (newPort != -1)
-				memento.putString("port", newPort + "");
-			memento.putString("portId", port.getId());
-			memento.putBoolean("started", started);
-			
-			if (content != null) {
-				StringBuffer sb = new StringBuffer();
-				int size = content.length;
-				for (int i = 0; i < size; i++) {
-					if (i > 0)
-						sb.append(",");
-					sb.append(content[i]);
-				}
-				memento.putString("contentTypes", sb.toString());
-			}
-		}
-		
-		protected void load(IMemento memento, IProgressMonitor monitor2) {
-			String serverId = memento.getString("serverId");
-			server = null;
-			if (serverId != null)
-				server = ServerCore.findServer(serverId);
-			if (server == null)
-				throw new RuntimeException("Server could not be found: " + serverId + " " + server);
-			String newPortStr = memento.getString("port");
-			if (newPortStr != null && newPortStr.length() > 0)
-				newPort = Integer.parseInt(newPortStr);
-			String portId = memento.getString("portId");
-			
-			ServerPort[] ports2 = server.getServerPorts(monitor2);
-			if (ports2 != null) {
-				int size = ports2.length;
-				for (int i = 0; port == null && i < size; i++) {
-					ServerPort sp = ports2[i];
-					if (sp.getId() != null && sp.getId().equals(portId))
-						port = sp;
-				}
-			}
-			if (port == null)
-				throw new RuntimeException("Could not relocate port: " + serverId + " " + server + " " + portId);
-			
-			String s = memento.getString("contentTypes");
-			if (s != null)
-				content = ServerPlugin.tokenize(s, ",");
-			
-			Boolean b = memento.getBoolean("started");
-			if (b != null && b.booleanValue()) {
-				try {
-					newPort = monitor.startMonitoring(server, port, newPort);
-					started = true;
-				} catch (CoreException e) {
-					Trace.trace(Trace.WARNING, "Could not restart server monitor", e);
-				}
-			}
-		}
-	}
-
-	public ServerMonitorManager() {
-		IServerMonitor[] monitors = ServerPlugin.getServerMonitors();
-		if (monitors != null && monitors.length > 0)
-			monitor = (ServerMonitor) monitors[0];
-		
-		instance = this;
-		loadMonitors();
-	}
-	
-	public static ServerMonitorManager getInstance() {
-		if (instance == null)
-			new ServerMonitorManager();
-		return instance;
-	}
-	
-	public static void shutdown() {
-		if (instance == null)
-			return;
-		instance.saveMonitors();
-	}
-
-	/**
-	 * Returns the monitor that is currently being used.
-	 *  
-	 * @return the current server monitor
-	 */
-	public IServerMonitor getCurrentServerMonitor() {
-		return monitor;
-	}
-
-	/**
-	 * Switch to use a different server monitor. All existing monitors will be
-	 * removed from the current monitor and added to the new monitor.
-	 * 
-	 * @param newMonitor
-	 * @throws org.eclipse.core.runtime.CoreException
-	 */
-	public void setServerMonitor(IServerMonitor newMonitor) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "Not implemented yet", null));
-	}
-
-	/**
-	 * Returns the list of ports that are currently being monitored.
-	 *
-	 * @param server a server
-	 * @return a possibly empty array of monitored server ports
-	 */
-	public IMonitoredServerPort[] getMonitoredPorts(IServer server) {
-		List list = new ArrayList();
-		Iterator iterator = ports.iterator();
-		while (iterator.hasNext()) {
-			MonitoredPort mp = (MonitoredPort) iterator.next();
-			if (mp.server.equals(server))
-				list.add(mp);
-		}
-		
-		IMonitoredServerPort[] msp = new IMonitoredServerPort[list.size()];
-		list.toArray(msp);
-		return msp;
-	}
-
-	/**
-	 * Starts monitoring the given port, and returns the new port # to use that will
-	 * route to the monitored port.
-	 * 
-	 * @param server a server
-	 * @param port a port
-	 * @param monitorPort the port used for monitoring
-	 * @param content the content
-	 * @return a monitored server port
-	 */
-	public IMonitoredServerPort createMonitor(IServer server, ServerPort port, int monitorPort, String[] content) {
-		if (port == null || monitor == null)
-			return null;
-		
-		MonitoredPort mp = new MonitoredPort(server, port, monitorPort, content);
-		ports.add(mp);
-		return mp;
-	}
-
-	/**
-	 * Stop monitoring the given port. Throws a CoreException if there was a problem
-	 * stopping the monitoring
-	 *
-	 * @param port
-	 */
-	public void removeMonitor(IMonitoredServerPort port) {
-		if (port == null)
-			return;
-
-		try {
-			ports.remove(port);
-			if (port.isStarted())
-				monitor.stopMonitoring(port.getServer(), port.getServerPort());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not remove monitor", e);
-		}
-	}
-
-	/**
-	 * Start the monitor. If the msp port is -1, it will be updated to the port that is actually in use.
-	 * 
-	 * @param msp
-	 * @throws CoreException
-	 */
-	public void startMonitor(IMonitoredServerPort msp) throws CoreException {
-		if (msp == null || msp.isStarted())
-			return;
-		
-		MonitoredPort port = (MonitoredPort) msp;
-		port.setMonitorPort(monitor.startMonitoring(msp.getServer(), msp.getServerPort(), msp.getMonitorPort()));
-		port.setStarted(true);
-	}
-
-	/**
-	 * Stop monitoring.
-	 * 
-	 * @param msp
-	 */
-	public void stopMonitor(IMonitoredServerPort msp) {
-		if (msp == null || !msp.isStarted())
-			return;
-		MonitoredPort port = (MonitoredPort) msp;
-		monitor.stopMonitoring(msp.getServer(), msp.getServerPort());
-		port.setStarted(false);
-	}
-
-	/**
-	 * Returns the mapped port to use when making requests to the given server
-	 * and port number. Returns the existing port number if the port is not being
-	 * monitored.
-	 * 
-	 * @param server a server
-	 * @param port a port number
-	 * @param content the content
-	 * @return the port used for monitoring
-	 */
-	public int getMonitoredPort(IServer server, int port, String content) {
-		try {
-			Iterator iterator = ports.iterator();
-			while (iterator.hasNext()) {
-				MonitoredPort mp = (MonitoredPort) iterator.next();
-				if (mp.isStarted() && mp.server.equals(server) && mp.port.getPort() == port) {
-					String[] contentTypes = mp.getContentTypes();
-					boolean found = false;
-					if (content != null && contentTypes != null && contentTypes.length > 0) {
-						int size = contentTypes.length;
-						for (int i = 0; i < size; i++)
-							if (content.equals(contentTypes[i]))
-								found = true;
-					} else
-						found = true;
-					if (found && mp.newPort != -1)
-						return mp.newPort;
-				}
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-		return port;
-	}
-	
-	protected void saveMonitors() {
-		String filename = ServerPlugin.getInstance().getStateLocation().append(MONITOR_DATA_FILE).toOSString();
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("monitors");
-
-			Iterator iterator = ports.iterator();
-			while (iterator.hasNext()) {
-				MonitoredPort mp = (MonitoredPort) iterator.next();
-				if (mp.canSave()) {
-					IMemento child = memento.createChild("monitor");
-					mp.save(child);
-				}
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error saving monitor info", e);
-		}
-	}
-	
-	protected void loadMonitors() {
-		Trace.trace(Trace.FINEST, "Loading monitor info");
-		String filename = ServerPlugin.getInstance().getStateLocation().append(MONITOR_DATA_FILE).toOSString();
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("monitor");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				try {
-					MonitoredPort mp = new MonitoredPort(children[i], null);
-					ports.add(mp);
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not load monitor: " + e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load monitor info: " + e.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
deleted file mode 100644
index e2456cd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
+++ /dev/null
@@ -1,153 +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.ServerEvent;
-/**
- * Notification manager for server.
- */
-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;
-		}
-		
-		protected IServerListener getListener() {
-			return listener;
-		}
-		
-		protected int getEventMask() {
-			return eventMask;
-		}
-	}
-
-	/**
-	 * Create a new notification manager.
-	 */
-	public ServerNotificationManager() {
-		super();
-	}
-
-	/**
-	 * Add listener for all events.
-	 * 
-	 * @param curListener
-	 */
-	public void addListener(IServerListener curListener) {
-		addListener(curListener, ALL_EVENTS);
-	}
-	
-	/**
-	 * Add listener for the events specified by the mask.
-	 * 
-	 * @param curListener
-	 * @param eventMask
-	 */
-	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));
-		}
-	}
-
-	protected 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
-		int size;
-		ListenerEntry[] listeners;
-		synchronized (listenerList) {
-			size = listenerList.size();
-			listeners = (ListenerEntry[]) listenerList.toArray(new ListenerEntry[size]);
-		}
-		for (int i = 0; i < size; i++) {
-			ListenerEntry curEntry = listeners[i];
-			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 -<-");
-	}
-	
-	/**
-	 * Returns true if the listener list is not empty; otherwise, returns false.
-	 * 
-	 * @return true if the listener list is not empty; otherwise, returns false
-	 */
-	protected boolean hasListenerEntries() {
-		return listenerList.size() == 0;
-	}
-	
-	/**
-	 * Remove a listener from notification.
-	 * 
-	 * @param curListener
-	 */
-	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);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
deleted file mode 100644
index ce4808f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
+++ /dev/null
@@ -1,1028 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.io.*;
-import java.util.*;
-import java.text.DateFormat;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleEvent;
-import org.osgi.framework.BundleListener;
-/**
- * The main server plugin class.
- */
-public class ServerPlugin extends Plugin {
-	public static final String PROJECT_PREF_FILE = ".serverPreference";
-
-	private static final String SHUTDOWN_JOB_FAMILY = "org.eclipse.wst.server.core.family";
-	//public static final String REGISTRY_JOB_FAMILY = "org.eclipse.wst.server.registry.family";
-
-	protected static final DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
-	protected static int num = 0;
-
-	// cached copy of all launchable adapters
-	private static List launchableAdapters;
-
-	// cached copy of all launchable clients
-	private static List clients;
-
-	// cached copy of all module factories
-	private static List moduleFactories;
-
-	// singleton instance of this class
-	private static ServerPlugin singleton;
-
-	// cached copy of all publish tasks
-	private static List publishTasks;
-
-	//	cached copy of all server monitors
-	private static List monitors;
-
-	//	cached copy of all runtime locators
-	private static List runtimeLocators;
-
-	// cached copy of all module artifact adapters
-	private static List moduleArtifactAdapters;
-
-	//	cached copy of all installable servers
-	private static List installableServers;
-
-	//	cached copy of all installable runtimes
-	private static List installableRuntimes;
-
-	// registry listener
-	private static IRegistryChangeListener registryListener;
-	
-	public static BundleContext bundleContext;
-
-	// bundle listener
-	private BundleListener bundleListener;
-
-	private static final String TEMP_DATA_FILE = "tmp-data.xml";
-
-	class TempDir {
-		String path;
-		int age;
-	}
-
-	// temp directories - String key to TempDir
-	protected Map tempDirHash;
-
-	/**
-	 * server core plugin id
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.core";
-
-	/**
-	 * Create the ServerPlugin.
-	 */
-	public ServerPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.server.core.internal.plugin.ServerPlugin
-	 */
-	public static ServerPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns a temporary directory that the requestor can use
-	 * throughout it's lifecycle. This is primary to be used by
-	 * server instances for working directories, instance specific
-	 * files, etc.
-	 *
-	 * <p>As long as the same key is used to call this method on
-	 * each use of the workbench, this method directory will return
-	 * the same directory. If the directory is not requested over a
-	 * period of time, the directory may be deleted and a new one
-	 * will be assigned on the next request. For this reason, a
-	 * server instance should request the temp directory on startup
-	 * if it wants to store files there. In all cases, the instance
-	 * should have a backup plan anyway, as this directory may be
-	 * deleted accidentally.</p>
-	 *
-	 * @param key
-	 * @return java.io.File
-	 */
-	public IPath getTempDirectory(String key) {
-		if (key == null)
-			return null;
-	
-		// first, look through hash of current directories
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
-			if (dir != null) {
-				dir.age = 0;
-				return statePath.append(dir.path);
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-	
-		// otherwise, create a new directory
-	
-		// find first free directory
-		String path = null;
-		File dir = null;
-		int count = 0;
-		while (dir == null || dir.exists()) {
-			path = "tmp" + count;
-			dir = statePath.append(path).toFile();
-			count ++;
-		}
-	
-		dir.mkdirs();
-	
-		TempDir d = new TempDir();
-		d.path = path;
-		tempDirHash.put(key, d);
-		saveTempDirInfo();
-		return statePath.append(path);
-	}
-	
-	/**
-	 * Remove a temp directory.
-	 * @param key
-	 */
-	public void removeTempDirectory(String key) {
-		if (key == null)
-			return;
-		
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
-			if (dir != null) {
-				tempDirHash.remove(key);
-				saveTempDirInfo();
-				deleteDirectory(statePath.append(dir.path).toFile(), null);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not remove temp directory", e);
-		}
-	}
-
-	/**
-	 * Load the temporary directory information.
-	 */
-	private void loadTempDirInfo() {
-		Trace.trace(Trace.FINEST, "Loading temporary directory information");
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
-		
-		tempDirHash = new HashMap();
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("temp-directory");
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				String key = children[i].getString("key");
-				
-				TempDir d = new TempDir();
-				d.path = children[i].getString("path");
-				d.age = children[i].getInteger("age").intValue();
-				d.age++;
-				
-				tempDirHash.put(key, d);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load temporary directory information: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	/**
-	 * Save the temporary directory information.
-	 */
-	private void saveTempDirInfo() {
-		// save remaining directories
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
-	
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("temp-directories");
-	
-			Iterator iterator = tempDirHash.keySet().iterator();
-			while (iterator.hasNext()) {
-				String key = (String) iterator.next();
-				TempDir d = (TempDir) tempDirHash.get(key);
-	
-				if (d.age < 5) {
-					IMemento child = memento.createChild("temp-directory");
-					child.putString("key", key);
-					child.putString("path", d.path);
-					child.putInteger("age", d.age);
-				} else
-					deleteDirectory(statePath.append(d.path).toFile(), null);
-			}
-	
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save temporary directory information", e);
-		}
-	}
-
-	protected void initializeDefaultPluginPreferences() {
-		ServerPreferences.getInstance().setDefaults();
-	}
-
-	/**
-	 * @see Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		Trace.trace(Trace.CONFIG, "----->----- Server Core plugin startup ----->-----");
-		super.start(context);
-		bundleContext = context;
-		
-		initializeDefaultPluginPreferences();
-
-		// load temp directory information
-		loadTempDirInfo();
-		
-		bundleListener = new BundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				String bundleId = event.getBundle().getSymbolicName();
-				//Trace.trace(Trace.INFO, event.getType() + " " + bundleId);
-				// TODO should also look for UNINSTALLED and UNRESOLVED
-				if (BundleEvent.STOPPED == event.getType() && ResourceManager.getInstance().isActiveBundle(bundleId))
-					stopBundle(bundleId);
-			}
-		};
-		context.addBundleListener(bundleListener);
-	}
-
-	protected void stopBundle(final String bundleId) {
-		class StopJob extends Job {
-			public StopJob() {
-				super("Disposing servers");
-			}
-			
-			public boolean belongsTo(Object family) {
-				return SHUTDOWN_JOB_FAMILY.equals(family);
-			}
-
-			public IStatus run(IProgressMonitor monitor2) {
-				ResourceManager.getInstance().shutdownBundle(bundleId);
-				return Status.OK_STATUS;
-			}
-		}
-		
-		StopJob job = new StopJob();
-		job.setUser(false);
-		job.schedule();
-	}
-
-	/**
-	 * @see Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		Trace.trace(Trace.CONFIG, "-----<----- Server Core plugin shutdown -----<-----");
-		super.stop(context);
-		
-		if (registryListener != null)
-			Platform.getExtensionRegistry().removeRegistryChangeListener(registryListener);
-		
-		ResourceManager.shutdown();
-		ServerMonitorManager.shutdown();
-		
-		try {
-			Platform.getJobManager().join(SHUTDOWN_JOB_FAMILY, null);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error waiting for shutdown job", e);
-		}
-		context.removeBundleListener(bundleListener);
-	}
-
-	public static String[] tokenize(String param, String delim) {
-		if (param == null)
-			return new String[0];
-		
-		List list = new ArrayList();
-		
-		StringTokenizer st = new StringTokenizer(param, delim);
-		while (st.hasMoreTokens()) {
-			String str = st.nextToken();
-			if (str != null && str.length() > 0)
-				list.add(str.trim());
-		}
-
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	protected static List getModuleTypes(IConfigurationElement[] elements) {
-		List list = new ArrayList();
-		if (elements == null)
-			return list;
-	
-		int size = elements.length;
-		for (int i = 0; i < size; i++) {
-			String[] types = tokenize(elements[i].getAttribute("types"), ",");
-			String[] versions = tokenize(elements[i].getAttribute("versions"), ",");
-			int sizeT = types.length;
-			int sizeV = versions.length;
-			for (int j = 0; j < sizeT; j++) {
-				for (int k = 0; k < sizeV; k++) {
-					ModuleType module = new ModuleType(types[j], versions[k]);
-					list.add(module);
-				}
-			}
-		}
-		return list;
-	}
-	
-	public static String generateId() {
-		String s = df.format(new Date()).toString() + num++;
-		s = s.replace(' ', '_');
-		s = s.replace(':', '_');
-		s = s.replace('/', '_');
-		s = s.replace('\\', '_');
-		return s;
-	}
-
-	/**
-	 * Returns true if ids contains id.
-	 * 
-	 * @param ids
-	 * @param id
-	 * @return true if the id is supported
-	 */
-	public static boolean supportsType(String[] ids, String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		if (ids == null)
-			return true;
-		
-		int size = ids.length;
-		for (int i = 0; i < size; i++) {
-			if (ids[i].endsWith("*")) {
-				if (id.length() >= ids[i].length() && id.startsWith(ids[i].substring(0, ids[i].length() - 1)))
-					return true;
-			} else if (id.equals(ids[i]))
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Recursively delete a directory.
-	 *
-	 * @param dir java.io.File
-	 * @param monitor a progress monitor, or <code>null</code> if no progress
-	 *    reporting is required
-	 */
-	public static void deleteDirectory(File dir, IProgressMonitor monitor) {
-		try {
-			if (!dir.exists() || !dir.isDirectory())
-				return;
-	
-			File[] files = dir.listFiles();
-			int size = files.length;
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.beginTask(NLS.bind(Messages.deletingTask, new String[] {dir.getAbsolutePath()}), size * 10);
-	
-			// cycle through files
-			for (int i = 0; i < size; i++) {
-				File current = files[i];
-				if (current.isFile()) {
-					current.delete();
-					monitor.worked(10);
-				} else if (current.isDirectory()) {
-					monitor.subTask(NLS.bind(Messages.deletingTask, new String[] {current.getAbsolutePath()}));
-					deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10));
-				}
-			}
-			dir.delete();
-			monitor.done();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error deleting directory " + dir.getAbsolutePath(), e);
-		}
-	}
-	
-	/**
-	 * Returns an array of all known launchable adapters.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of launchable adapters {@link ILaunchableAdapter}
-	 */
-	public static ILaunchableAdapter[] getLaunchableAdapters() {
-		if (launchableAdapters == null)
-			loadLaunchableAdapters();
-		ILaunchableAdapter[] la = new ILaunchableAdapter[launchableAdapters.size()];
-		launchableAdapters.toArray(la);
-		return la;
-	}
-
-	/**
-	 * Returns an array of all known client instances.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of client instances {@link IClient}
-	 */
-	public static IClient[] getClients() {
-		if (clients == null)
-			loadClients();
-		IClient[] c = new IClient[clients.size()];
-		clients.toArray(c);
-		return c;
-	}
-	
-	/**
-	 * Load the launchable adapters extension point.
-	 */
-	private static synchronized void loadLaunchableAdapters() {
-		if (launchableAdapters != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .launchableAdapters extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "launchableAdapters");
-
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new LaunchableAdapter(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded launchableAdapter: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load launchableAdapter: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		launchableAdapters = list;
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .launchableAdapters extension point -<-");
-	}
-
-	/**
-	 * Load the client extension point.
-	 */
-	private static synchronized void loadClients() {
-		if (clients != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .clients extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "clients");
-
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new Client(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded clients: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load clients: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		// sort by index to put lower numbers first in order
-		size = list.size();
-		for (int i = 0; i < size-1; i++) {
-			for (int j = i+1; j < size; j++) {
-				Client a = (Client) list.get(i);
-				Client b = (Client) list.get(j);
-				if (a.getPriority() < b.getPriority()) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-		clients = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .clients extension point -<-");
-	}
-	
-	/**
-	 * Returns an array of all known publish tasks.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of publish tasks instances {@link IPublishTask}
-	 */
-	public static IPublishTask[] getPublishTasks() {
-		if (publishTasks == null)
-			loadPublishTasks();
-		IPublishTask[] st = new IPublishTask[publishTasks.size()];
-		publishTasks.toArray(st);
-		return st;
-	}
-	
-	/**
-	 * Load the publish task extension point.
-	 */
-	private static synchronized void loadPublishTasks() {
-		if (publishTasks != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .publishTasks extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishTasks");
-
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new PublishTask(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded publishTask: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load publishTask: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		publishTasks = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .publishTasks extension point -<-");
-	}
-
-	/**
-	 * Returns an array of all known module module factories.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return the array of module factories {@link ModuleFactory}
-	 */
-	public static ModuleFactory[] getModuleFactories() {
-		if (moduleFactories == null)
-			loadModuleFactories();
-		
-		ModuleFactory[] mf = new ModuleFactory[moduleFactories.size()];
-		moduleFactories.toArray(mf);
-		return mf;
-	}
-
-	/**
-	 * Returns the module factory with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * module factories ({@link #getModuleFactories()}) for the one a matching
-	 * module factory id ({@link ModuleFactory#getId()}). The id may not be null.
-	 *
-	 * @param id the module factory id
-	 * @return the module factory, or <code>null</code> if there is no module factory
-	 * with the given id
-	 */
-	public static ModuleFactory findModuleFactory(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-
-		if (moduleFactories == null)
-			loadModuleFactories();
-		
-		Iterator iterator = moduleFactories.iterator();
-		while (iterator.hasNext()) {
-			ModuleFactory factory = (ModuleFactory) iterator.next();
-			if (id.equals(factory.getId()))
-				return factory;
-		}
-		return null;
-	}
-
-	/**
-	 * Load the module factories extension point.
-	 */
-	private static synchronized void loadModuleFactories() {
-		if (moduleFactories != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleFactories extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleFactories");
-
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ModuleFactory(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded moduleFactories: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load moduleFactories: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				ModuleFactory a = (ModuleFactory) list.get(i);
-				ModuleFactory b = (ModuleFactory) list.get(j);
-				if (a.getOrder() > b.getOrder()) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-		moduleFactories = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleFactories extension point -<-");
-	}
-
-	/**
-	 * Returns an array of all known server monitor instances.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of server monitor instances {@link IServerMonitor}
-	 */
-	public static IServerMonitor[] getServerMonitors() {
-		if (monitors == null)
-			loadServerMonitors();
-		IServerMonitor[] sm = new IServerMonitor[monitors.size()];
-		monitors.toArray(sm);
-		return sm;
-	}
-
-	/**
-	 * Load the server monitor extension point.
-	 */
-	private static synchronized void loadServerMonitors() {
-		if (monitors != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverMonitors extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalServerMonitors");
-
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ServerMonitor(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded serverMonitor: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverMonitor: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		monitors = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverMonitors extension point -<-");
-	}
-
-	/**
-	 * Returns an array of all known runtime locator instances.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of runtime locator instances {@link IRuntimeLocator}
-	 */
-	public static IRuntimeLocator[] getRuntimeLocators() {
-		if (runtimeLocators == null)
-			loadRuntimeLocators();
-		IRuntimeLocator[] rl = new IRuntimeLocator[runtimeLocators.size()];
-		runtimeLocators.toArray(rl);
-		return rl;
-	}
-
-	/**
-	 * Load the runtime locators.
-	 */
-	private static synchronized void loadRuntimeLocators() {
-		if (runtimeLocators != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .runtimeLocators extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeLocators");
-
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new RuntimeLocator(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded runtimeLocator: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load runtimeLocator: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		runtimeLocators = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .runtimeLocators extension point -<-");
-	}
-
-	/**
-	 * Returns an array of all module artifact adapters.
-	 *
-	 * @return a possibly empty array of module artifact adapters
-	 */
-	protected static ModuleArtifactAdapter[] getModuleArtifactAdapters() {
-		if (moduleArtifactAdapters == null)
-			loadModuleArtifactAdapters();
-		
-		ModuleArtifactAdapter[] moa = new ModuleArtifactAdapter[moduleArtifactAdapters.size()];
-		moduleArtifactAdapters.toArray(moa);
-		return moa;
-	}
-
-	/**
-	 * Load the module artifact adapters extension point.
-	 */
-	private static synchronized void loadModuleArtifactAdapters() {
-		if (moduleArtifactAdapters != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleArtifactAdapters extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleArtifactAdapters");
-
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ModuleArtifactAdapter(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded moduleArtifactAdapter: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load moduleArtifactAdapter: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		// sort by index to put lower numbers first in order
-		size = list.size();
-		for (int i = 0; i < size-1; i++) {
-			for (int j = i+1; j < size; j++) {
-				ModuleArtifactAdapter a = (ModuleArtifactAdapter) list.get(i);
-				ModuleArtifactAdapter b = (ModuleArtifactAdapter) list.get(j);
-				if (a.getPriority() < b.getPriority()) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-		moduleArtifactAdapters = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleArtifactAdapters extension point -<-");
-	}
-	
-	/**
-	 * Returns <code>true</code> if a module artifact may be available for the given object,
-	 * and <code>false</code> otherwise.
-	 *
-	 * @param obj an object
-	 * @return <code>true</code> if there is a module artifact adapter
-	 */
-	public static boolean hasModuleArtifact(Object obj) {
-		Trace.trace(Trace.FINEST, "ServerPlugin.hasModuleArtifact() " + obj);
-		ModuleArtifactAdapter[] adapters = getModuleArtifactAdapters();
-		if (adapters != null) {
-			int size = adapters.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					if (adapters[i].isEnabled(obj)) {
-						Trace.trace(Trace.FINER, "ServerPlugin.hasModuleArtifact() - " + adapters[i].getId());
-						if (adapters[i].isDelegateLoaded()) {
-							long time = System.currentTimeMillis();
-							IModuleArtifact ma = adapters[i].getModuleArtifact(obj);
-							Trace.trace(Trace.FINER, "Deep enabled time: " + (System.currentTimeMillis() - time));
-							if (ma != null) {
-								Trace.trace(Trace.FINER, "Deep enabled");
-								return true;
-							}
-							Trace.trace(Trace.FINER, "Not enabled");
-						} else {
-							Trace.trace(Trace.FINER, "Enabled");
-							return true;
-						}
-					}
-				} catch (CoreException ce) {
-					Trace.trace(Trace.WARNING, "Could not use moduleArtifactAdapter", ce);
-				}
-			}
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Returns a module artifact if one can be found without loading plugins.
-	 * 
-	 * @param obj
-	 * @return a module artifact, or null
-	 */
-	public static IModuleArtifact getModuleArtifact(Object obj) {
-		Trace.trace(Trace.FINEST, "ServerPlugin.getModuleArtifact() " + obj);
-		ModuleArtifactAdapter[] adapters = getModuleArtifactAdapters();
-		if (adapters != null) {
-			int size = adapters.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					if (adapters[i].isEnabled(obj)) {
-						IModuleArtifact ma = adapters[i].getModuleArtifact(obj);
-						if (ma != null)
-							return ma;
-						/*if (Platform.getAdapterManager().hasAdapter(obj, MODULE_ARTIFACT_CLASS)) {
-							return (IModuleArtifact) Platform.getAdapterManager().getAdapter(obj, MODULE_ARTIFACT_CLASS);
-						}*/
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not use moduleArtifactAdapter " + adapters[i], e);
-				}
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Returns a module artifact if possible, loading any plugins required.
-	 * 
-	 * @param obj
-	 * @return a module artifact, or null
-	 */
-	public static IModuleArtifact loadModuleArtifact(Object obj) {
-		Trace.trace(Trace.FINEST, "ServerPlugin.loadModuleArtifact() " + obj);
-		ModuleArtifactAdapter[] adapters = getModuleArtifactAdapters();
-		if (adapters != null) {
-			int size = adapters.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					if (adapters[i].isEnabled(obj)) {
-						IModuleArtifact ma = adapters[i].getModuleArtifact(obj);
-						if (ma != null)
-							return ma;
-						/*if (Platform.getAdapterManager().hasAdapter(obj, MODULE_ARTIFACT_CLASS)) {
-							return (IModuleArtifact) Platform.getAdapterManager().loadAdapter(obj, MODULE_ARTIFACT_CLASS);
-						}*/
-					}
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not use moduleArtifactAdapter " + adapters[i], e);
-				}
-			}
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Returns an array of all known installable servers.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return the array of installable servers {@link IInstallableServer}
-	 */
-	public static IInstallableServer[] getInstallableServers() {
-		if (installableServers == null)
-			loadInstallableServers();
-		
-		List availableServers = new ArrayList();
-		Iterator iterator = installableServers.iterator();
-		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
-		int size = runtimeTypes.length;
-		while (iterator.hasNext()) {
-			IInstallableServer server = (IInstallableServer) iterator.next();
-			boolean found = false;
-			for (int i = 0; i < size; i++) {
-				if (server.getId().equals(runtimeTypes[i].getId()))
-					found = true;
-			}
-			if (!found)
-				availableServers.add(server);
-		}
-		
-		IInstallableServer[] is = new IInstallableServer[availableServers.size()];
-		availableServers.toArray(is);
-		return is;
-	}
-
-	/**
-	 * Returns an array of all known installable runtimes.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return the array of installable runtimes {@link IInstallableRuntime}
-	 */
-	public static IInstallableRuntime[] getInstallableRuntimes() {
-		//if (installableRuntimes == null)
-			loadInstallableRuntimes();
-		
-		IInstallableRuntime[] ir = new IInstallableRuntime[installableRuntimes.size()];
-		installableRuntimes.toArray(ir);
-		return ir;
-	}
-
-	/**
-	 * Returns the installable runtime for the given runtime type, or <code>null</code>
-	 * if none exists.
-	 * 
-	 * @param runtimeTypeId a runtime type id
-	 * @return the installable runtime for the given runtime type, or <code>null</code>
-	 *    if none exists {@link IInstallableRuntime}
-	 */
-	public static IInstallableRuntime findInstallableRuntime(String runtimeTypeId) {
-		if (runtimeTypeId == null)
-			throw new IllegalArgumentException();
-		
-		//if (installableRuntimes == null)
-			loadInstallableRuntimes();
-		
-		Iterator iterator = installableRuntimes.iterator();
-		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
-		int size = runtimeTypes.length;
-		while (iterator.hasNext()) {
-			IInstallableRuntime runtime = (IInstallableRuntime) iterator.next();
-			for (int i = 0; i < size; i++) {
-				if (runtime.getId().equals(runtimeTypeId))
-					return runtime;
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Load the installable servers.
-	 */
-	private static synchronized void loadInstallableServers() {
-		if (installableServers != null)
-			return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .installableServers extension point ->-");
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableServers");
-		
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new InstallableServer(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded installableServer: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load installableServer: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		installableServers = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .installableServers extension point -<-");
-	}
-
-	/**
-	 * Load the installable runtimes.
-	 */
-	private static synchronized void loadInstallableRuntimes() {
-		//if (installableRuntimes != null)
-		//	return;
-		Trace.trace(Trace.EXTENSION_POINT, "->- Loading .installableRuntimes extension point ->-");
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableRuntimes");
-		
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new InstallableRuntime(cf[i]));
-				Trace.trace(Trace.EXTENSION_POINT, "  Loaded installableRuntime: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load installableRuntime: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		installableRuntimes = list;
-		
-		Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .installableRuntimes extension point -<-");
-	}
-
-	public static void setRegistryListener(IRegistryChangeListener listener) {
-		registryListener = listener; 
-	}
-
-	/**
-	 * Returns the preference information for the project. The project may not
-	 * be null.
-	 * 
-	 * @param project a project
-	 * @return the properties of the project
-	 */
-	public static ProjectProperties getProjectProperties(IProject project) {
-		if (project == null)
-			throw new IllegalArgumentException();
-		return new ProjectProperties(project);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
deleted file mode 100644
index ba8e1e1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.*;
-/**
- * Helper class that stores preference information for server tools.
- */
-public class ServerPreferences {
-	private static final String PREF_AUTO_RESTART = "auto-restart";
-	private static final String PREF_AUTO_PUBLISH = "auto-publish";
-	private static final String PREF_MODULE_START_TIMEOUT = "module-start-timeout";
-	
-	private static final String PREF_AUTO_PUBLISH_LOCAL = "auto-publish-local";
-	private static final String PREF_AUTO_PUBLISH_LOCAL_TIME = "auto-publish-local-time";
-	private static final String PREF_AUTO_PUBLISH_REMOTE = "auto-publish-remote";
-	private static final String PREF_AUTO_PUBLISH_REMOTE_TIME = "auto-publish-remote-time";
-	
-	private static final String PREF_MACHINE_SPEED = "machine-speed";
-
-	private static final String PREF_SYNC_ON_STARTUP = "sync-on-startup";
-
-	private Preferences preferences;
-
-	protected static ServerPreferences instance;
-
-	/**
-	 * ServerPreference constructor comment.
-	 */
-	private ServerPreferences() {
-		super();
-		preferences = ServerPlugin.getInstance().getPluginPreferences();
-	}
-
-	/**
-	 * Returns the static instance.
-	 * 
-	 * @return the static instance
-	 */
-	public static ServerPreferences getInstance() {
-		if (instance == null)
-			instance = new ServerPreferences();
-		return instance;
-	}
-
-	/**
-	 * Returns whether servers will be automatically restarted when
-	 * required.
-	 *
-	 * @return boolean
-	 */
-	public boolean isAutoRestarting() {
-		return preferences.getBoolean(PREF_AUTO_RESTART);
-	}
-
-	/**
-	 * Returns whether servers will be automatically restarted when
-	 * required.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultAutoRestarting() {
-		return false;
-	}
-
-	/**
-	 * Returns whether publishing should occur before starting the
-	 * server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isAutoPublishing() {
-		return preferences.getBoolean(PREF_AUTO_PUBLISH);
-	}
-	
-	/**
-	 * Returns whether publishing should occur before starting the
-	 * server.
-	 *
-	 * @return boolean
-	 */
-	public boolean isDefaultAutoPublishing() {
-		return true;
-	}
-
-	/**
-	 * Set whether servers will be automatically restarted when
-	 * they need a restart.
-	 *
-	 * @param value
-	 */
-	public void setAutoRestarting(boolean value) {
-		preferences.setValue(PREF_AUTO_RESTART, value);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Set whether publishing should happen before the server starts.
-	 *
-	 * @param value
-	 */
-	public void setAutoPublishing(boolean value) {
-		preferences.setValue(PREF_AUTO_PUBLISH, value);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the module start timeout.
-	 * 
-	 * @return the module start timeout
-	 */
-	public int getModuleStartTimeout() {
-		return preferences.getInt(PREF_MODULE_START_TIMEOUT);
-	}
-
-	/**
-	 * Return the relative machine speed index, from 1 to 9. A value of -1 means
-	 * no timeouts, and a value of 5 is an average machine. 1-4 are slower
-	 * machines and 6-9 are faster machines.
-	 * 
-	 * @return the relative speed
-	 */
-	public int getMachineSpeed() {
-		return preferences.getInt(PREF_MACHINE_SPEED);
-	}
-
-	/**
-	 * Return the default relative machine speed index, 5.
-	 * 
-	 * @return the default speed index
-	 */
-	public int getDefaultMachineSpeed() {
-		return 5;
-	}
-
-	/**
-	 * Sets the relative machine speed index, from 1 to 9. A value of -1 means
-	 * no timeouts, and a value of 5 is an average machine. 1-4 are slower
-	 * machines and 6-9 are faster machines.
-	 * 
-	 * @param speed the relative speed 
-	 */
-	public void setMachineSpeed(int speed) {
-		preferences.setValue(PREF_MACHINE_SPEED, speed);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Return the sync on startup value.
-	 * 
-	 * @return the sync on startup value
-	 */
-	public boolean isSyncOnStartup() {
-		return preferences.getBoolean(PREF_SYNC_ON_STARTUP);
-	}
-
-	/**
-	 * Return the default sync on startup value.
-	 * 
-	 * @return the default sync on startup value
-	 */
-	public boolean getDefaultSyncOnStartup() {
-		return false;
-	}
-
-	/**
-	 * Sets the sync on startup value.
-	 * 
-	 * @param sync the sync on startup value 
-	 */
-	public void setSyncOnStartup(boolean sync) {
-		preferences.setValue(PREF_SYNC_ON_STARTUP, sync);
-	}
-
-	/**
-	 * Returns the default setting for local auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public boolean getDefaultAutoPublishLocal() {
-		return false;
-	}
-
-	/**
-	 * Returns the setting for local auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public boolean getAutoPublishLocal() {
-		return preferences.getBoolean(PREF_AUTO_PUBLISH_LOCAL);
-	}
-
-	/**
-	 * Sets the value for local auto-publishing.
-	 * 
-	 * @param auto
-	 */
-	public void setAutoPublishLocal(boolean auto) {
-		preferences.setValue(PREF_AUTO_PUBLISH_LOCAL, auto);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-	
-	/**
-	 * Returns the default setting for local auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public int getDefaultAutoPublishLocalTime() {
-		return 15;
-	}
-
-	/**
-	 * Returns the setting for local auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public int getAutoPublishLocalTime() {
-		return preferences.getInt(PREF_AUTO_PUBLISH_LOCAL_TIME);
-	}
-
-	/**
-	 * Sets the value for local auto-publishing.
-	 * 
-	 * @param auto
-	 */
-	public void setAutoPublishLocalTime(int auto) {
-		preferences.setValue(PREF_AUTO_PUBLISH_LOCAL_TIME, auto);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the default setting for remote auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public boolean getDefaultAutoPublishRemote() {
-		return false;
-	}
-
-	/**
-	 * Returns the setting for remote auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public boolean getAutoPublishRemote() {
-		return preferences.getBoolean(PREF_AUTO_PUBLISH_REMOTE);
-	}
-
-	/**
-	 * Sets the value for remote auto-publishing.
-	 * 
-	 * @param auto
-	 */
-	public void setAutoPublishRemote(boolean auto) {
-		preferences.setValue(PREF_AUTO_PUBLISH_REMOTE, auto);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the default setting for remote auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public int getDefaultAutoPublishRemoteTime() {
-		return 60;
-	}
-
-	/**
-	 * Returns the setting for remote auto-publishing.
-	 * 
-	 * @return int
-	 */
-	public int getAutoPublishRemoteTime() {
-		return preferences.getInt(PREF_AUTO_PUBLISH_REMOTE_TIME);
-	}
-
-	/**
-	 * Sets the value for remote auto-publishing.
-	 * 
-	 * @param auto
-	 */
-	public void setAutoPublishRemoteTime(int auto) {
-		preferences.setValue(PREF_AUTO_PUBLISH_REMOTE_TIME, auto);
-		ServerPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Set the default values.
-	 */
-	public void setDefaults() {
-		preferences.setDefault(PREF_AUTO_PUBLISH, isDefaultAutoPublishing());
-		preferences.setDefault(PREF_AUTO_RESTART, isDefaultAutoRestarting());
-		preferences.setDefault(PREF_MACHINE_SPEED, getDefaultMachineSpeed());
-		
-		preferences.setDefault(PREF_AUTO_PUBLISH_LOCAL, getDefaultAutoPublishLocal());
-		preferences.setDefault(PREF_AUTO_PUBLISH_LOCAL_TIME, getDefaultAutoPublishLocalTime());
-		preferences.setDefault(PREF_AUTO_PUBLISH_REMOTE, getDefaultAutoPublishRemote());
-		preferences.setDefault(PREF_AUTO_PUBLISH_REMOTE_TIME, getDefaultAutoPublishRemoteTime());
-		
-		preferences.setDefault(PREF_SYNC_ON_STARTUP, getDefaultSyncOnStartup());
-		
-		preferences.setDefault(PREF_MODULE_START_TIMEOUT, 300001);
-		boolean save = false;
-		if (preferences.isDefault(PREF_MODULE_START_TIMEOUT)) {
-			preferences.setValue(PREF_MODULE_START_TIMEOUT, 300000);
-			save = true;
-		}
-		if (save)
-			ServerPlugin.getInstance().savePluginPreferences();
-	}
-}
\ No newline at end of file
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
deleted file mode 100644
index 8d25264..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
+++ /dev/null
@@ -1,454 +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.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-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.IModuleFile;
-import org.eclipse.wst.server.core.model.IModuleFolder;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-/**
- * Helper to obtain and store the publishing information (what files
- * were published and when) for a single server.
- */
-public class ServerPublishInfo {
-	private static final String VERSION = "version";
-
-	protected IPath path;
-
-	// map of module ids to ModulePublishInfo
-	protected Map modulePublishInfo;
-
-	/**
-	 * ServerPublishInfo constructor comment.
-	 */
-	protected ServerPublishInfo(IPath path) {
-		super();
-		
-		this.path = path;
-		modulePublishInfo = new HashMap();
-		load();
-	}
-
-	private String getKey(IModule[] module) {
-		StringBuffer sb = new StringBuffer();
-		
-		if (module != null) {
-			int size = module.length;
-			for (int i = 0; i < size; i++) {
-				if (i != 0)
-					sb.append("#");
-				sb.append(module[i].getId());
-			}
-		}
-		
-		return sb.toString();
-	}
-
-	private String getKey(String moduleId) {
-		return moduleId;
-	}
-	
-	private IModule[] getModule(String moduleId) {
-		if (moduleId == null || moduleId.length() == 0)
-			return new IModule[0];
-		
-		List list = new ArrayList();
-		StringTokenizer st = new StringTokenizer(moduleId, "#");
-		while (st.hasMoreTokens()) {
-			String mid = st.nextToken();
-			if (mid != null && mid.length() > 0) {
-				IModule m = ServerUtil.getModule(mid);
-				if (m == null)
-					return null;
-				list.add(m);
-			}
-		}
-		
-		IModule[] modules = new IModule[list.size()];
-		list.toArray(modules);
-		return modules;
-	}
-
-	public boolean hasModulePublishInfo(IModule[] module) {
-		String key = getKey(module);
-		return modulePublishInfo.containsKey(key);
-	}
-
-	/*public void removeModulePublishInfo(IModule[] module) {
-		String key = getKey(module);
-		modulePublishInfo.remove(key);
-		
-		save();
-	}*/
-
-	/**
-	 * 
-	 * Note: save() must be called manually after making this call.
-	 * 
-	 * @param moduleList
-	 * @deprecated Use removeDeletedModulePublishInfo(Server, List) instead
-	 */
-	public void removeDeletedModulePublishInfo(List moduleList) {
-		removeDeletedModulePublishInfo(null, moduleList);
-	}
-
-	/**
-	 * Removes successfully deleted modules from the next publish.
-	 * Note: save() must be called manually after making this call.
-	 * 
-	 * @param server a server
-	 * @param moduleList the modules currently on the server
-	 */
-	public void removeDeletedModulePublishInfo(Server server, List moduleList) {
-		int size = moduleList.size();
-		List removed = new ArrayList();
-		
-		Iterator iterator = modulePublishInfo.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			
-			boolean found = false;
-			for (int i = 0; i < size; i++) {
-				IModule[] module = (IModule[]) moduleList.get(i);
-				String key2 = getKey(module);
-				if (key != null && key.equals(key2))
-					found = true;
-			}
-			
-			if (server != null) {
-				try {
-					Integer in = (Integer) server.modulePublishState.get(key);
-					if (in != null && in.intValue() != IServer.PUBLISH_STATE_NONE)
-						found = true;
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-			
-			if (!found)
-				removed.add(key);
-		}
-		
-		iterator = removed.iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			modulePublishInfo.remove(key);
-		}
-	}
-
-	/**
-	 * Return the publish state.
-	 */
-	protected ModulePublishInfo getModulePublishInfo(IModule[] module) {
-		String key = getKey(module);
-		
-		// check if it now exists
-		if (modulePublishInfo.containsKey(key))
-			return (ModulePublishInfo) modulePublishInfo.get(key);
-		
-		// have to create a new one
-		IModule mod = module[module.length - 1];
-		ModulePublishInfo mpi = new ModulePublishInfo(getKey(module), mod.getName(), mod.getModuleType());
-		modulePublishInfo.put(key, mpi);
-		return mpi;
-	}
-
-	public void addRemovedModules(List moduleList, List kindList) {
-		int size = moduleList.size();
-		List removed = new ArrayList();
-		Iterator iterator = modulePublishInfo.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-		
-			boolean found = false;
-			for (int i = 0; i < size; i++) {
-				IModule[] module = (IModule[]) moduleList.get(i);
-				String key2 = getKey(module);
-				if (key != null && key.equals(key2))
-					found = true;
-			}
-			if (!found) {
-				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(key);
-				removed.add(mpi);
-			}
-		}
-		
-		iterator = removed.iterator();
-		while (iterator.hasNext()) {
-			ModulePublishInfo mpi = (ModulePublishInfo) iterator.next();
-			IModule[] module2 = getModule(mpi.getModuleId());
-			if (module2 == null || module2.length == 0) {
-				String moduleId = mpi.getModuleId();
-				if (moduleId != null) {
-					int index = moduleId.lastIndexOf("#");
-					module2 = new IModule[] { new DeletedModule(moduleId.substring(index + 1), mpi.getName(), mpi.getModuleType()) };
-				}
-			}
-			if (module2 != null && module2.length > 0) {
-				moduleList.add(module2);
-				kindList.add(new Integer(ServerBehaviourDelegate.REMOVED));
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void load() {
-		String filename = path.toOSString();
-		if (!(new File(filename).exists()))
-			return;
-	
-		Trace.trace(Trace.FINEST, "Loading publish info from " + filename);
-
-		try {
-			IMemento memento2 = XMLMemento.loadMemento(filename);
-			Float f = memento2.getFloat(VERSION);
-			if (f != null && f.floatValue() >= 3)
-				return;
-			
-			IMemento[] children = memento2.getChildren("module");
-	
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				ModulePublishInfo mpi = new ModulePublishInfo(children[i]);
-				modulePublishInfo.put(getKey(mpi.getModuleId()), mpi);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load publish information: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void save() {
-		String filename = path.toOSString();
-		Trace.trace(Trace.FINEST, "Saving publish info to " + filename);
-	
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("server");
-			memento.putString(VERSION, "1.0");
-			
-			Iterator iterator = modulePublishInfo.keySet().iterator();
-			while (iterator.hasNext()) {
-				String controlRef = (String) iterator.next();
-				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(controlRef);
-				IMemento child = memento.createChild("module");
-				mpi.save(child);
-			}
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save publish information", e);
-		}
-	}
-
-	/**
-	 * 
-	 * Note: save() must be called manually after making this call.
-	 * @param module
-	 */
-	public void fill(IModule[] module) {
-		ModulePublishInfo mpi = getModulePublishInfo(module);
-		mpi.fill(module);
-	}
-
-	protected IModuleResourceDelta[] getDelta(IModule[] module) {
-		if (module == null)
-			return new IModuleResourceDelta[0];
-		
-		return getModulePublishInfo(module).getDelta(module);
-	}
-
-	protected IModuleResource[] getResources(IModule[] module) {
-		if (module == null)
-			return new IModuleResource[0];
-		
-		return getModulePublishInfo(module).getModuleResources(module);
-	}
-
-	protected static IModuleResourceDelta[] getDelta(IModuleResource[] original, IModuleResource[] current) {
-		if (original == null || current == null)
-			return new IModuleResourceDelta[0];
-		
-		List list = new ArrayList();
-		int size = original.length;
-		int size2 = current.length;
-		
-		Map originalMap = new HashMap(size);
-		for (int i = 0; i < size; i++)
-			originalMap.put(original[i], original[i]);
-		
-		// added and changed resources
-		for (int i = 0; i < size2; i++) {
-			IModuleResource old = (IModuleResource) originalMap.remove(current[i]);
-			if (old == null) {
-				ModuleResourceDelta delta = new ModuleResourceDelta(current[i], IModuleResourceDelta.ADDED);
-				if (current[i] instanceof IModuleFolder) {
-					IModuleFolder currentFolder = (IModuleFolder) current[i]; 
-					delta.setChildren(getDeltaTree(currentFolder.members(), IModuleResourceDelta.ADDED));
-				}
-				list.add(delta);
-			} else {
-				if (current[i] instanceof IModuleFile) {
-					// include files only if the modification stamp has changed
-					IModuleFile mf1 = (IModuleFile) old;
-					IModuleFile mf2 = (IModuleFile) current[i];
-					if (mf1.getModificationStamp() != mf2.getModificationStamp()) {
-						list.add(new ModuleResourceDelta(current[i], IModuleResourceDelta.CHANGED));
-					}
-				} else {
-					// include folders only if their contents have changed
-					IModuleFolder mf1 = (IModuleFolder) old;
-					IModuleFolder mf2 = (IModuleFolder) current[i];
-					IModuleResourceDelta[] mrdc = getDelta(mf1.members(), mf2.members());
-					if (mrdc.length > 0) {
-						ModuleResourceDelta mrd = new ModuleResourceDelta(current[i], IModuleResourceDelta.NO_CHANGE);
-						mrd.setChildren(mrdc);
-						list.add(mrd);
-					}
-				}
-			}
-		}
-		
-		// removed resources
-		for (int i = 0; i < size; i++) {
-			if (originalMap.containsKey(original[i])) {
-				ModuleResourceDelta delta = new ModuleResourceDelta(original[i], IModuleResourceDelta.REMOVED);
-				if (original[i] instanceof IModuleFolder) {
-					IModuleFolder removedFolder = (IModuleFolder) original[i]; 
-					delta.setChildren(getDeltaTree(removedFolder.members(), IModuleResourceDelta.REMOVED));
-				}
-				list.add(delta);
-			}
-		}
-		
-		return (IModuleResourceDelta[]) list.toArray(new IModuleResourceDelta[list.size()]);
-	}
-
-	protected boolean hasDelta(IModule[] module) {
-		if (module == null)
-			return false;
-		
-		return hasModulePublishInfo(module) 
-            && getModulePublishInfo(module).hasDelta(module);
-	}
-
-	protected static boolean hasDelta(IModuleResource[] original, IModuleResource[] current) {
-		if (original == null || current == null)
-			return false;
-		
-		int size = original.length;
-		int size2 = current.length;
-		
-		Map originalMap = new HashMap(size);
-		for (int i = 0; i < size; i++)
-			originalMap.put(original[i], original[i]);
-		
-		// added and changed resources
-		for (int i = 0; i < size2; i++) {
-			IModuleResource old = (IModuleResource) originalMap.remove(current[i]);
-			if (old == null)
-				return true;
-			
-			if (current[i] instanceof IModuleFile) {
-				// include files only if the modification stamp has changed
-				IModuleFile mf1 = (IModuleFile) old;
-				IModuleFile mf2 = (IModuleFile) current[i];
-				if (mf1.getModificationStamp() != mf2.getModificationStamp())
-					return true;
-			} else {
-				// include folders only if their contents have changed
-				IModuleFolder mf1 = (IModuleFolder) old;
-				IModuleFolder mf2 = (IModuleFolder) current[i];
-				if (hasDelta(mf1.members(), mf2.members()))
-					return true;
-			}
-		}
-		
-		// removed resources
-		return !originalMap.isEmpty();
-	}
-
-	/**
-	 * Create a resource delta for an entire tree.
-	 */
-	private static IModuleResourceDelta[] getDeltaTree(IModuleResource[] resources, int kind) {
-		if (resources == null)
-			return new IModuleResourceDelta[0];
-		
-		List list = new ArrayList();
-		
-		// look for duplicates
-		int size = resources.length;
-		for (int i = 0; i < size; i++) {
-			ModuleResourceDelta mrd = new ModuleResourceDelta(resources[i], kind);
-			if (resources[i] instanceof IModuleFolder) {
-				IModuleFolder mf = (IModuleFolder) resources[i];
-				mrd.setChildren(getDeltaTree(mf.members(), kind));
-			}
-			list.add(mrd);
-		}
-		
-		IModuleResourceDelta[] delta = new IModuleResourceDelta[list.size()];
-		list.toArray(delta);
-		return delta;
-	}
-
-	/**
-	 * Returns true if the list of modules being published does not match the previous
-	 * list of published modules.
-	 * 
-	 * TODO: This method should compare the modules. For now, comparing the size is fine.
-	 * 
-	 * @param modules a list of modules
-	 * @return <code>true</code> if the structure of published modules has changed, or
-	 *    <code>false</code> otherwise
-	 */
-	protected boolean hasStructureChanged(List modules) {
-		return modules.size() != modulePublishInfo.keySet().size();
-	}
-
-	/**
-	 * Fill the module cache.
-	 */
-	public void startCaching() {
-		Iterator iterator = modulePublishInfo.values().iterator();
-		while (iterator.hasNext()) {
-			ModulePublishInfo mpi = (ModulePublishInfo) iterator.next();
-			mpi.startCaching();
-		}
-	}
-
-	/**
-	 * Clears all caches of current module resources and deltas.
-	 */
-	public void clearCache() {
-		Iterator iterator = modulePublishInfo.values().iterator();
-		while (iterator.hasNext()) {
-			ModulePublishInfo mpi = (ModulePublishInfo) iterator.next();
-			mpi.clearCache();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerSchedulingRule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerSchedulingRule.java
deleted file mode 100644
index f4a953f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerSchedulingRule.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Simple job scheduling rule that stops a server from starting,
- * publishing, or stopping at the same time.
- */
-public class ServerSchedulingRule implements ISchedulingRule {
-	protected IServer server;
-	
-	public ServerSchedulingRule(IServer server) {
-		this.server = server;
-	}
-	
-	public boolean contains(ISchedulingRule rule) {
-		if (!(rule instanceof ServerSchedulingRule))
-			return false;
-		
-		return true;
-	}
-
-	public boolean isConflicting(ISchedulingRule rule) {
-		if (!(rule instanceof ServerSchedulingRule))
-			return false;
-		
-		ServerSchedulingRule ssrule = (ServerSchedulingRule) rule;
-		return ssrule.server.equals(server);
-	}
-	
-	public String toString() {
-		return "Server scheduling rule for " + server;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
deleted file mode 100644
index 7edbdee..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-/**
- * 
- */
-public class ServerType implements IServerType {
-	private static final int DEFAULT_TIMEOUT = 1000 * 60 * 4; // 4 minutes
-	private static final float[] SERVER_TIMEOUTS =
-		new float[] { 4f, 3f, 2f, 1.5f, 1f, 0.75f, 0.5f, 0.35f, 0.25f };
-	private IConfigurationElement element;
-
-	/**
-	 * ServerType constructor comment.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ServerType(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		try {
-			return element.getAttribute("id");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public String getName() {
-		try {
-			return element.getAttribute("name");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public boolean startBeforePublish() {
-		try {
-			return "true".equals(element.getAttribute("startBeforePublish"));
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public String getDescription() {
-		try {
-			return element.getAttribute("description");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	protected ServerDelegate createServerDelegate() throws CoreException {
-		try {
-			return (ServerDelegate) element.createExecutableExtension("class");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	protected ServerBehaviourDelegate createServerBehaviourDelegate() throws CoreException {
-		try {
-			return (ServerBehaviourDelegate) element.createExecutableExtension("behaviourClass");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public IRuntimeType getRuntimeType() {
-		try {
-			String typeId = element.getAttribute("runtimeTypeId");
-			if (typeId == null)
-				return null;
-			return ServerCore.findRuntimeType(typeId);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public boolean hasRuntime() {
-		try {
-			String s = element.getAttribute("runtime");
-			return "true".equals(s);
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public ILaunchConfigurationType getLaunchConfigurationType() {
-		try {
-			String launchConfigId = element.getAttribute("launchConfigId");
-			if (launchConfigId == null)
-				return null;
-			ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-			return launchManager.getLaunchConfigurationType(launchConfigId);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns true if this server can start or may already be started
-	 * in the given mode, and false if not. Uses the launchMode attribute,
-	 * which may contain the strings "run", "debug", and/or "profile".
-	 * 
-	 * @param launchMode String
-	 * @return boolean
-	 */
-	public boolean supportsLaunchMode(String launchMode) {
-		try {
-			ILaunchConfigurationType configType = getLaunchConfigurationType();
-			if (configType != null)
-				return configType.supportsMode(launchMode);
-			
-			String mode = element.getAttribute("launchModes");
-			if (mode == null)
-				return false;
-			return mode.indexOf(launchMode) >= 0;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public boolean supportsRemoteHosts() {
-		try {
-			String hosts = element.getAttribute("supportsRemoteHosts");
-			return (hosts != null && hosts.toLowerCase().equals("true"));
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public byte getInitialState() {
-		try {
-			String stateString = element.getAttribute("initialState");
-			if (stateString != null)
-				stateString = stateString.toLowerCase();
-			if ("stopped".equals(stateString))
-				return IServer.STATE_STOPPED;
-			else if ("started".equals(stateString))
-				return IServer.STATE_STARTED;
-		} catch (Exception e) {
-			// ignore
-		}
-		return IServer.STATE_UNKNOWN;
-	}
-
-	public boolean hasServerConfiguration() {
-		try {
-			return ("true".equalsIgnoreCase(element.getAttribute("hasConfiguration")));
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public IServerWorkingCopy createServer(String id, IFile file, IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		if (element == null)
-			return null;
-		
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
-		swc.setRuntime(runtime);
-		swc.setDefaults(monitor);
-		
-		// TODO
-		if (swc.getServerType().hasServerConfiguration())
-			swc.importRuntimeConfiguration(runtime, null);
-		
-		return swc;
-	}
-	
-	/**
-	 * Returns an array of all known runtime instances of
-	 * the given runtime type. This convenience method filters the list of known
-	 * runtime ({@link ServerCore#getRuntimes()}) for ones with a matching
-	 * runtime type ({@link IRuntime#getRuntimeType()}). The array will not
-	 * contain any working copies.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @param runtimeType the runtime type
-	 * @return a possibly-empty list of runtime instances {@link IRuntime}
-	 * of the given runtime type
-	 */
-	protected static IRuntime[] getRuntimes(IRuntimeType runtimeType) {
-		List list = new ArrayList();
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		if (runtimes != null) {
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				if (runtimes[i].getRuntimeType() != null && runtimes[i].getRuntimeType().equals(runtimeType))
-					list.add(runtimes[i]);
-			}
-		}
-		
-		IRuntime[] r = new IRuntime[list.size()];
-		list.toArray(r);
-		return r;
-	}
-
-	public IServerWorkingCopy createServer(String id, IFile file, IProgressMonitor monitor) throws CoreException {
-		if (element == null)
-			return null;
-		
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		
-		IRuntime runtime = null;
-		if (hasRuntime()) {
-			// look for existing runtime
-			IRuntimeType runtimeType = getRuntimeType();
-			IRuntime[] runtimes = getRuntimes(runtimeType);
-			if (runtimes != null && runtimes.length > 0)
-				runtime = runtimes[0];
-			else {
-				// create runtime
-				try {
-					IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(id + "-runtime", monitor);
-					ServerUtil.setRuntimeDefaultName(runtimeWC);
-					runtime = runtimeWC;
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Couldn't create runtime", e);
-				}
-			}
-		}
-
-		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
-		ServerUtil.setServerDefaultName(swc);
-		if (runtime != null)
-			swc.setRuntime(runtime);
-		
-		swc.setDefaults(monitor);
-		if (swc.getServerType().hasServerConfiguration())
-			swc.importRuntimeConfiguration(runtime, null);
-		
-		return swc;
-	}
-	
-	public static IProject getServerProject() throws CoreException {
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		if (projects != null) {
-			int size = projects.length;
-			for (int i = 0; i < size; i++) {
-				if (ServerPlugin.getProjectProperties(projects[i]).isServerProject())
-					return projects[i];
-			}
-		}
-		
-		String s = findUnusedServerProjectName();
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(s);
-		project.create(null);
-		project.open(null);
-		ServerPlugin.getProjectProperties(project).setServerProject(true, null);
-		return project;
-	}
-
-	/**
-	 * Finds an unused project name to use as a server project.
-	 * 
-	 * @return java.lang.String
-	 */
-	protected static String findUnusedServerProjectName() {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		String name = NLS.bind(Messages.defaultServerProjectName, "").trim();
-		int count = 1;
-		while (root.getProject(name).exists()) {
-			name = NLS.bind(Messages.defaultServerProjectName, ++count + "").trim();
-		}
-		return name;
-	}
-
-	/**
-	 * Return the timeout (in ms) that should be used to wait for the server to start.
-	 * The default is 2 minutes.
-	 * 
-	 * @return the server startup timeout, or -1 if there is no timeout
-	 */
-	public int getStartTimeout() {
-		try {
-			int i = Integer.parseInt(element.getAttribute("startTimeout"));
-			int s = ServerPreferences.getInstance().getMachineSpeed();
-			if (s < 0)
-				return -1;
-			return (int) (i * SERVER_TIMEOUTS[s-1]);
-		} catch (NumberFormatException e) {
-			// ignore
-		}
-		return DEFAULT_TIMEOUT;
-	}
-
-	/**
-	 * Return the timeout (in ms) to wait before assuming that the server
-	 * has failed to stop. The default is 2 minutes.
-	 * 
-	 * @return the server shutdown timeout, or -1 if there is no timeout
-	 */
-	public int getStopTimeout() {
-		try {
-			int i = Integer.parseInt(element.getAttribute("stopTimeout"));
-			int s = ServerPreferences.getInstance().getMachineSpeed();
-			if (s < 0)
-				return -1;
-			return (int) (i * SERVER_TIMEOUTS[s-1]);
-		} catch (NumberFormatException e) {
-			// ignore
-		}
-		return DEFAULT_TIMEOUT;
-	}
-
-	public void dispose() {
-		element = null;
-	}
-
-	public String getNamespace() {
-		if (element == null)
-			return null;
-		return element.getDeclaringExtension().getContributor().getName();
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "ServerType[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
deleted file mode 100644
index 249c6bd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
+++ /dev/null
@@ -1,719 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.InternalInitializer;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-/**
- * 
- */
-public class ServerWorkingCopy extends Server implements IServerWorkingCopy {
-	protected Server server;
-	protected WorkingCopyHelper wch;
-	
-	protected ServerDelegate workingCopyDelegate;
-	
-	// working copy
-	public ServerWorkingCopy(Server server) {
-		super(server.getFile());
-		this.server = server;
-		
-		map = new HashMap(server.map);
-		wch = new WorkingCopyHelper(this);
-		
-		resolve();
-	}
-	
-	// creation
-	public ServerWorkingCopy(String id, IFile file, IRuntime runtime, IServerType serverType) {
-		super(id, file, runtime, serverType);
-		//server = this;
-		wch = new WorkingCopyHelper(this);
-		wch.setDirty(true);
-		serverState = ((ServerType)serverType).getInitialState();
-	}
-
-	public boolean isWorkingCopy() {
-		return true;
-	}
-
-	public IServer getOriginal() {
-		return server;
-	}
-
-	public IServerWorkingCopy createWorkingCopy() {
-		return this;
-	}
-
-	public int getServerState() {
-		if (server != null)
-			return server.getServerState();
-		return super.getServerState();
-	}
-
-	public void setServerState(int state) {
-		if (server != null)
-			server.setServerState(state);
-		else
-			super.setServerState(state);
-	}
-
-	public int getServerPublishState() {
-		if (server != null)
-			return server.getServerPublishState();
-		return super.getServerPublishState();
-	}
-
-	public void setServerPublishState(int state) {
-		if (server != null)
-			server.setServerPublishState(state);
-		else
-			super.setServerPublishState(state);
-	}
-
-	public IStatus getServerStatus() {
-		if (server != null)
-			return server.getServerStatus();
-		return super.getServerStatus();
-	}
-
-	public void setServerStatus(IStatus status) {
-		if (server != null)
-			server.setServerStatus(status);
-		else
-			super.setServerStatus(status);
-	}
-
-	public int getModuleState(IModule[] module) {
-		if (server != null)
-			return server.getModuleState(module);
-		return super.getModuleState(module);
-	}
-
-	public void setModuleState(IModule[] module, int state) {
-		if (server != null)
-			server.setModuleState(module, state);
-		else
-			super.setModuleState(module, state);
-	}
-
-	public int getModulePublishState(IModule[] module) {
-		if (server != null)
-			return server.getModulePublishState(module);
-		return super.getModulePublishState(module);
-	}
-
-	public void setModulePublishState(IModule[] module, int state) {
-		if (server != null)
-			server.setModulePublishState(module, state);
-		else
-			super.setModulePublishState(module, state);
-	}
-
-	public boolean getModuleRestartState(IModule[] module) {
-		if (server != null)
-			return server.getModuleRestartState(module);
-		return super.getModuleRestartState(module);
-	}
-
-	public void setModuleRestartState(IModule[] module, boolean r) {
-		if (server != null)
-			server.setModuleRestartState(module, r);
-		else
-			super.setModuleRestartState(module, r);
-	}
-
-	public IStatus getModuleStatus(IModule[] module) {
-		if (server != null)
-			return server.getModuleStatus(module);
-		return super.getModuleStatus(module);
-	}
-
-	public void setModuleStatus(IModule[] module, IStatus status) {
-		if (server != null)
-			server.setModuleStatus(module, status);
-		else
-			super.setModuleStatus(module, status);
-	}
-
-	public String getMode() {
-		if (server != null)
-			return server.getMode();
-		return mode;
-	}
-
-	public void setMode(String mode) {
-		if (server != null)
-			server.setMode(mode);
-		else
-			super.setMode(mode);
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, String value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, List value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, Map value) {
-		wch.setAttribute(attributeName, value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		setAttribute(PROP_NAME, name);
-	}
-
-	public void setReadOnly(boolean b) {
-		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 #isPrivate()
-	 */
-	public void setPrivate(boolean b) {
-		setAttribute(PROP_PRIVATE, b);
-	}
-
-	public void setHost(String host) {
-		setAttribute(PROP_HOSTNAME, host);
-	}
-
-	public void setAutoPublishTime(int p) {
-		setAttribute(PROP_AUTO_PUBLISH_TIME, p);
-	}
-
-	public void setAutoPublishSetting(int s) {
-		setAttribute(PROP_AUTO_PUBLISH_SETTING, s);
-	}
-
-	public void setServerConfiguration(IFolder config) {
-		this.configuration = config;
-		if (configuration == null)
-			setAttribute(CONFIGURATION_ID, (String)null);
-		else
-			setAttribute(CONFIGURATION_ID, configuration.getFullPath().toString());
-	}
-
-	/**
-	 * Disable the preferred publish operation.
-	 * 
-	 * @param op a publish operation
-	 * @return true if change is made. 
-	 */
-	public boolean disablePreferredPublishOperations(PublishOperation op) {
-		List list = getAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null);
-		if (list == null)
-			list = new ArrayList();
-		
-		String opId = getPublishOperationId(op);
-		if (list.contains(opId))
-			return false;
-		list.add(opId);
-		setAttribute(PROP_DISABLED_PERFERRED_TASKS, list);
-		return true;
-	}
-
-	/**
-	 * Enable the optional publish operation. Optional publish operation is not ran by default.
-	 * 
-	 * @param op a publish operation
-	 * @return true if change is made. 
-	 */
-	public boolean enableOptionalPublishOperations(PublishOperation op) {
-		List list = getAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null);
-		if (list == null)
-			list = new ArrayList();
-		
-		String opId = getPublishOperationId(op);
-		if (list.contains(opId))
-			return false;
-		list.add(opId);
-		setAttribute(PROP_ENABLED_OPTIONAL_TASKS, list);
-		return true;
-	}
-
-	/**
-	 * Reset all preferred operations to default
-	 */
-	public void resetPreferredPublishOperations() {
-		setAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null);
-	}
-
-	/**
-	 * Reset all optional operations to default
-	 */
-	public void resetOptionalPublishOperations() {
-		setAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null);
-	}
-
-	/**
-	 * 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;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return wch.isDirty();
-	}
-
-	public ServerDelegate getWorkingCopyDelegate(IProgressMonitor monitor) {
-		// make sure that the regular delegate is loaded 
-		//getDelegate();
-		
-		if (workingCopyDelegate != null || serverType == null)
-			return workingCopyDelegate;
-		
-		synchronized (this) {
-			if (workingCopyDelegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					workingCopyDelegate = ((ServerType) serverType).createServerDelegate();
-					InternalInitializer.initializeServerDelegate(workingCopyDelegate, this, monitor);
-					Trace.trace(Trace.PERFORMANCE, "ServerWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e);
-				}
-			}
-		}
-		return workingCopyDelegate;
-	}
-
-	protected ServerBehaviourDelegate getBehaviourDelegate(IProgressMonitor monitor) {
-		if (server == null)
-			return null;
-		
-		if (behaviourDelegate != null)
-			return behaviourDelegate;
-		
-		synchronized (this) {
-			if (behaviourDelegate == null)
-				behaviourDelegate = server.getBehaviourDelegate(monitor);
-		}
-		return behaviourDelegate;
-	}
-
-	public void dispose() {
-		// behaviour delegate is cached from the original server
-		behaviourDelegate = null;
-		
-		super.dispose();
-		if (workingCopyDelegate != null)
-			workingCopyDelegate.dispose();
-	}
-
-	public IServer save(boolean force, IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.subTask(NLS.bind(Messages.savingTask, getName()));
-		
-		if (!force && getOriginal() != null)
-			wch.validateTimestamp(((Server)getOriginal()).getTimestamp());
-		
-		int timestamp = getTimestamp();
-		map.put(PROP_TIMESTAMP, Integer.toString(timestamp+1));
-		
-		if (server == null) {
-			server = new Server(file);
-			server.setServerState(serverState);
-			server.publishListeners = publishListeners;
-			server.notificationManager = notificationManager;
-		}
-		
-		if (getServerType().hasServerConfiguration()) {
-			IFolder folder = getServerConfiguration();
-			if (folder == null) {
-				folder = ServerType.getServerProject().getFolder(getName() + "-config");
-				if (!folder.exists())
-					folder.create(true, true, null);
-				setServerConfiguration(folder);
-			}
-		}
-		
-		server.setInternal(this);
-		server.doSave(monitor);
-		if (getServerType().hasServerConfiguration()) {
-			IFolder folder = getServerConfiguration();
-			if (folder != null) {
-				IProject project = folder.getProject();
-				if (project != null && !project.exists()) {
-					project.create(null);
-					project.open(null);
-					ServerPlugin.getProjectProperties(project).setServerProject(true, monitor);
-				}
-				if (!folder.exists())
-					folder.create(IResource.FORCE, true, null);
-			}
-		}
-		getWorkingCopyDelegate(monitor).saveConfiguration(monitor);
-		wch.setDirty(false);
-		
-		return server;
-	}
-
-	public IServer saveAll(boolean force, IProgressMonitor monitor) throws CoreException {
-		if (runtime != null && runtime.isWorkingCopy()) {
-			IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) runtime;
-			wc.save(force, monitor);
-		}
-		
-		return save(force, monitor);
-	}
-
-	/**
-	 * Add a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		wch.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		wch.removePropertyChangeListener(listener);
-	}
-
-	/**
-	 * Fire a property change event.
-	 * 
-	 * @param propertyName a property name
-	 * @param oldValue the old value
-	 * @param newValue the new value
-	 */
-	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		wch.firePropertyChangeEvent(propertyName, oldValue, newValue);
-	}
-
-	public void addServerListener(IServerListener listener) {
-		if (server != null)
-			server.addServerListener(listener);
-		else
-			super.addServerListener(listener);
-	}
-
-	public void removeServerListener(IServerListener listener) {
-		if (server != null)
-			server.removeServerListener(listener);
-		else
-			super.removeServerListener(listener);
-	}
-
-	public void addPublishListener(IPublishListener listener) {
-		if (server != null)
-			server.addPublishListener(listener);
-		else
-			super.addPublishListener(listener);
-	}
-	
-	public void removePublishListener(IPublishListener listener) {
-		if (server != null)
-			server.removePublishListener(listener);
-		else
-			super.removePublishListener(listener);
-	}
-
-	public void setRuntime(IRuntime runtime) {
-		this.runtime = runtime;
-		if (runtime != null)
-			setAttribute(RUNTIME_ID, runtime.getId());
-		else
-			setAttribute(RUNTIME_ID, (String)null);
-	}
-
-	public void setRuntimeId(String runtimeId) {
-		setAttribute(RUNTIME_ID, runtimeId);
-		resolve();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#modifyModule(org.eclipse.wst.server.core.model.IModule)
-	 */
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		if ((add == null || add.length == 0) && (remove == null || remove.length == 0))
-			throw new IllegalArgumentException("Add and remove cannot both be null/empty");
-		
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.subTask(Messages.taskModifyModules);
-			getWorkingCopyDelegate(monitor).modifyModules(add, remove, monitor);
-			wch.setDirty(true);
-			
-			// trigger load of modules list
-			getModules();
-			
-			if (add != null) {
-				int size = add.length;
-				for (int i = 0; i < size; i++) {
-					if (!modules.contains(add[i])) {
-						modules.add(add[i]);
-						resetState(new IModule[] { add[i] }, monitor);
-					}
-				}
-			}
-			
-			if (remove != null) {
-				int size = remove.length;
-				for (int i = 0; i < size; i++) {
-					if (modules.contains(remove[i])) {
-						modules.remove(remove[i]);
-						resetState(new IModule[] { remove[i] }, monitor);
-					}
-				}
-			}
-			
-			// convert to attribute
-			List list = new ArrayList();
-			Iterator iterator = modules.iterator();
-			while (iterator.hasNext()) {
-				IModule module = (IModule) iterator.next();
-				StringBuffer sb = new StringBuffer(module.getName());
-				sb.append("::");
-				sb.append(module.getId());
-				IModuleType mt = module.getModuleType();
-				if (mt != null) {
-					sb.append("::");
-					sb.append(mt.getId());
-					sb.append("::");
-					sb.append(mt.getVersion());
-				}
-				list.add(sb.toString());
-			}
-			setAttribute(MODULE_LIST, list);
-			resetOptionalPublishOperations();
-			resetPreferredPublishOperations();
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate modifyModule() " + toString(), e);
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "" + e.getLocalizedMessage(), e));
-		}
-	}
-
-	protected void resetState(IModule[] module, IProgressMonitor monitor) {
-		setModulePublishState(module, PUBLISH_STATE_UNKNOWN);
-		setModuleState(module, IServer.STATE_UNKNOWN);
-		setModuleRestartState(module, false);
-		setModuleStatus(module, null);
-		try {
-			IModule[] children = getChildModules(module, monitor);
-			int size = children.length;
-			int size2 = module.length;
-			for (int i = 0; i < size; i++) {
-				IModule[] child = new Module[size2 + 1];
-				System.arraycopy(module, 0, child, 0, size2);
-				child[size2] = children[i];
-				resetPublishState(child, monitor);
-				setModuleState(module, IServer.STATE_UNKNOWN);
-				setModuleRestartState(module, false);
-				setModuleStatus(module, null);
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * 
-	 * @param module
-	 * @param monitor
-	 * @deprecated use resetState() instead
-	 */
-	protected void resetPublishState(IModule[] module, IProgressMonitor monitor) {
-		setModulePublishState(module, PUBLISH_STATE_UNKNOWN);
-		try {
-			IModule[] children = getChildModules(module, monitor);
-			int size = children.length;
-			int size2 = module.length;
-			for (int i = 0; i < size; i++) {
-				IModule[] child = new Module[size2 + 1];
-				System.arraycopy(module, 0, child, 0, size2);
-				child[size2] = children[i];
-				resetPublishState(child, monitor);
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	public void setDefaults(IProgressMonitor monitor) {
-		try {
-			getWorkingCopyDelegate(monitor).setDefaults(monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate setDefaults() " + toString(), e);
-		}
-	}
-
-	public void renameFiles(IProgressMonitor monitor) throws CoreException {
-		if (getServerConfiguration() != null) {
-			IFolder folder = getServerConfiguration();
-			IFolder folder2 = ServerType.getServerProject().getFolder(getName() + "-config");
-			folder.move(folder2.getFullPath(), true, true, monitor);
-			setServerConfiguration(folder2);
-			save(true, monitor);
-		}
-		
-		if (file != null) {
-			IFile file2 = ServerUtil.getUnusedServerFile(file.getProject(), this);
-			file.move(file2.getFullPath(), true, true, monitor);
-		}
-	}
-
-	/*
-	 * Publish to the server using the progress monitor. The result of the
-	 * publish operation is returned as an IStatus.
-	 */
-	public IStatus publish(int kind, IProgressMonitor monitor) {
-		if (server != null)
-			return server.publish(kind, monitor);
-		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, null);
-	}
-
-	/**
-	 * Sets the server restart state.
-	 *
-	 * @param state boolean
-	 */
-	public void setServerRestartState(boolean state) {
-		if (server != null)
-			server.setServerRestartState(state);
-		else
-			super.setServerRestartState(state);
-	}
-
-	/**
-	 * @see IServer#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (workingCopyDelegate != null) {
-			if (adapter.isInstance(workingCopyDelegate))
-				return workingCopyDelegate;
-		}
-		if (delegate != null) {
-			if (adapter.isInstance(delegate))
-				return delegate;
-		}
-		if (behaviourDelegate != null) {
-			if (adapter.isInstance(behaviourDelegate))
-				return behaviourDelegate;
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @see IServer#loadAdapter(Class, IProgressMonitor)
-	 */
-	public Object loadAdapter(Class adapter, IProgressMonitor monitor) {
-		getWorkingCopyDelegate(monitor);
-		if (adapter.isInstance(workingCopyDelegate))
-			return workingCopyDelegate;
-		
-		getDelegate(monitor);
-		if (adapter.isInstance(delegate))
-			return delegate;
-		
-		getBehaviourDelegate(monitor);
-		if (adapter.isInstance(behaviourDelegate))
-			return behaviourDelegate;
-		
-		return Platform.getAdapterManager().loadAdapter(this, adapter.getName());
-	}
-
-	/**
-	 * Import the server configuration from the given runtime.
-	 * 
-	 * @param runtime2
-	 * @param monitor
-	 * @deprecated should use importRuntimeConfiguration() instead
-	 */
-	public void importConfiguration(IRuntime runtime2, IProgressMonitor monitor) {
-		try {
-			getWorkingCopyDelegate(monitor).importConfiguration(runtime2, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate importConfiguration() " + toString(), e);
-		}
-	}
-
-	/**
-	 * Import the server configuration from the given runtime.
-	 * 
-	 * @param runtime2 a server runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is any problem importing the configuration
-	 *    from the runtime
-	 */
-	public void importRuntimeConfiguration(IRuntime runtime2, IProgressMonitor monitor) throws CoreException {
-		try {
-			getWorkingCopyDelegate(monitor).importRuntimeConfiguration(runtime2, monitor);
-		} catch (CoreException ce) {
-			Trace.trace(Trace.SEVERE, "CoreException calling delegate importConfiguration() " + toString(), ce);
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate importConfiguration() " + toString(), e);
-		}
-	}
-
-	public String toString() {
-		return "ServerWorkingCopy " + getId();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java
deleted file mode 100644
index 032e9c0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java
+++ /dev/null
@@ -1,40 +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 org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.ServerSchedulingRule;
-/**
- * A job for starting the server.
- */
-public class StartServerJob extends ChainedJob {
-	protected String launchMode;
-
-	public StartServerJob(IServer server, String launchMode) {
-		super(NLS.bind(Messages.jobStartingServer, server.getName()), server);
-		this.launchMode = launchMode;
-		setRule(new ServerSchedulingRule(server));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		try {
-			getServer().synchronousStart(launchMode, monitor);
-		} catch (CoreException ce) {
-			return ce.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
deleted file mode 100644
index 66eda62..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.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.server.core.internal;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static int CONFIG = 0;
-	public static int INFO = 1;
-	public static int WARNING = 2;
-	public static int SEVERE = 3;
-	public static int FINER = 4;
-	public static int FINEST = 5;
-	
-	public static int RESOURCES = 6;
-	public static int EXTENSION_POINT = 7;
-	public static int LISTENERS = 8;
-	public static int RUNTIME_TARGET = 9;
-	public static int PERFORMANCE = 10;
-
-	private static final String[] levelNames = new String[] {
-		"CONFIG   ", "INFO     ", "WARNING  ", "SEVERE   ", "FINER    ", "FINEST   ",
-		"RESOURCES", "EXTENSION", "LISTENERS", "TARGET   ", "PERF     "};
-	private static final String spacer = "                                   ";
-
-	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
-
-	protected static int pluginLength = -1;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 */
-	public static void trace(int level, String s) {
-		trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(int level, String s, Throwable t) {
-		trace(ServerPlugin.PLUGIN_ID, level, s, t);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	private static void trace(String pluginId, int level, String s, Throwable t) {
-		if (pluginId == null || s == null)
-			return;
-
-		if (!ServerPlugin.getInstance().isDebugging())
-			return;
-		
-		StringBuffer sb = new StringBuffer(pluginId);
-		if (pluginId.length() > pluginLength)
-			pluginLength = pluginId.length();
-		else if (pluginId.length() < pluginLength)
-			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
-		sb.append(" ");
-		sb.append(levelNames[level]);
-		sb.append(" ");
-		sb.append(sdf.format(new Date()));
-		sb.append(" ");
-		sb.append(s);
-		//Platform.getDebugOption(ServerCore.PLUGIN_ID + "/" + "resources");
-
-		System.out.println(sb.toString());
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/UpdateServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/UpdateServerJob.java
deleted file mode 100644
index 91428ea..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/UpdateServerJob.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-/**
- * Action to update a server's status.
- */
-public class UpdateServerJob extends ChainedJob {
-	/**
-	 * An action to update the status of a server.
-	 * 
-	 * @param server a server
-	 */
-	public UpdateServerJob(IServer server) {
-		super(NLS.bind(Messages.jobUpdateServer, server.getName()), server);
-	}
-
-	public IStatus run(IProgressMonitor monitor) {
-		getServer().loadAdapter(ServerBehaviourDelegate.class, monitor);
-		
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
deleted file mode 100644
index bd513a2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * 
- */
-public class WorkingCopyHelper {
-	protected Base base;
-	protected boolean isDirty;
-
-	// property change listeners
-	private transient List propertyListeners;
-
-	public WorkingCopyHelper(Base base) {
-		this.base = base;
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		int current = base.getAttribute(attributeName, 0);
-		if (current != 0 && current == value)
-			return;
-		
-		isDirty = true;
-		base.map.put(attributeName, Integer.toString(value));
-		firePropertyChangeEvent(attributeName, new Integer(current), new Integer(value));
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		boolean current = base.getAttribute(attributeName, false);
-
-		isDirty = true;
-		base.map.put(attributeName, Boolean.toString(value));
-		firePropertyChangeEvent(attributeName, new Boolean(current), new Boolean(value));
-	}
-
-	public void setAttribute(String attributeName, String value) {
-		String current = base.getAttribute(attributeName, (String)null);
-		if (current != null && current.equals(value))
-			return;
-
-		isDirty = true;
-		if (value == null)
-			base.map.remove(attributeName);
-		else
-			base.map.put(attributeName, value);
-		firePropertyChangeEvent(attributeName, current, value);
-	}
-
-	public void setAttribute(String attributeName, List value) {
-		List current = base.getAttribute(attributeName, (List)null);
-		if (current != null && current.equals(value))
-			return;
-
-		isDirty = true;
-		if (value == null)
-			base.map.remove(attributeName);
-		else
-			base.map.put(attributeName, value);
-		firePropertyChangeEvent(attributeName, current, value);
-	}
-
-	public void setAttribute(String attributeName, Map value) {
-		Map current = base.getAttribute(attributeName, (Map)null);
-		if (current != null && current.equals(value))
-			return;
-
-		isDirty = true;
-		if (value == null)
-			base.map.remove(attributeName);
-		else
-			base.map.put(attributeName, value);
-		firePropertyChangeEvent(attributeName, current, value);
-	}
-
-	public void setName(String name) {
-		setAttribute(Base.PROP_NAME, name);
-	}
-
-	public void setLocked(boolean b) {
-		setAttribute(Base.PROP_LOCKED, b);
-	}
-
-	public void setPrivate(boolean b) {
-		setAttribute(Base.PROP_PRIVATE, b);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServerWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return isDirty;
-	}
-
-	protected void validateTimestamp(int timestamp) throws CoreException {
-		if (base.getTimestamp() != timestamp)
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IServerWorkingCopy.SAVE_CONFLICT, Messages.errorWorkingCopyTimestamp, null));
-	}
-
-	/**
-	 * Add a property change listener to this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners == null)
-			propertyListeners = new ArrayList(2);
-		propertyListeners.add(listener);
-	}
-
-	/**
-	 * Remove a property change listener from this server.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners != null)
-			propertyListeners.remove(listener);
-	}
-
-	/**
-	 * Fire a property change event.
-	 * 
-	 * @param propertyName a property name
-	 * @param oldValue the old value
-	 * @param newValue the new value
-	 */
-	public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		if (propertyListeners == null)
-			return;
-	
-		PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
-		try {
-			Iterator iterator = propertyListeners.iterator();
-			while (iterator.hasNext()) {
-				try {
-					PropertyChangeListener listener = (PropertyChangeListener) iterator.next();
-					listener.propertyChange(event);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error firing property change event", e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error in property event", e);
-		}
-	}
-
-	protected void setDirty(boolean dirty) {
-		isDirty = dirty;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
deleted file mode 100644
index 8c0dac2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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 (Exception e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param type a type
-	 * @return a memento
-	 */
-	public static XMLMemento createWriteRoot(String type) {
-		Document document;
-		try {
-			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-			Element element = document.createElement(type);
-			document.appendChild(element);
-			return new XMLMemento(document, element);            
-		} catch (ParserConfigurationException e) {
-			throw new Error(e);
-		}
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public IMemento getChild(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-	
-		// Find the first node which is a child of this node.
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					return new XMLMemento(factory, element2);
-			}
-		}
-	
-		// A child was not found.
-		return null;
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public IMemento [] getChildren(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return new IMemento[0];
-	
-		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					list.add(element2);
-			}
-		}
-	
-		// Create a memento for each node.
-		size = list.size();
-		IMemento [] results = new IMemento[size];
-		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
-		}
-		return results;
-	}
-
-	/**
-	 * Return the contents of this memento as a byte array.
-	 *
-	 * @return byte[]
-	 * @throws IOException if anything goes wrong
-	 */
-	public byte[] getContents() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toByteArray();
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return java.io.InputStream
-	 * @throws IOException if anything goes wrong
-	 */
-	public InputStream getInputStream() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return new ByteArrayInputStream(out.toByteArray());
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Integer getInteger(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Integer(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	public List getNames() {
-		NamedNodeMap map = element.getAttributes();
-		int size = map.getLength();
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			Node node = map.item(i);
-			String name = node.getNodeName();
-			list.add(name);
-		}
-		return list;
-	}
-
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param in java.io.InputStream
-	 * @return org.eclipse.ui.IMemento
-	 */
-	public static IMemento loadMemento(InputStream in) {
-		return createReadRoot(in);
-	}
-
-	/**
-	 * 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 {
-		InputStream in = null;
-		try {
-			in = new BufferedInputStream(new FileInputStream(filename));
-			return XMLMemento.createReadRoot(in);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to a Writer.
-	 */
-	protected void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
-			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
-			transformer.transform(source, result);
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Saves the memento to the given file.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 */
-	public void saveToFile(String filename) throws IOException {
-		BufferedOutputStream w = null;
-		try {
-			w = new BufferedOutputStream(new FileOutputStream(filename));
-			save(w);
-		} catch (IOException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new IOException(e.getLocalizedMessage());
-		} finally {
-			if (w != null) {
-				try {
-					w.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-	
-	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");
-	}
-
-	/**
-    * Returns the Text node of the memento. Each memento is allowed only 
-    * one Text node.
-    * 
-    * @return the Text node of the memento, or <code>null</code> if
-    * the memento has no Text node.
-    */
-   private Text getTextNode() {
-       // Get the nodes.
-       NodeList nodes = element.getChildNodes();
-       int size = nodes.getLength();
-       if (size == 0) {
-			return null;
-		}
-       for (int nX = 0; nX < size; nX++) {
-           Node node = nodes.item(nX);
-           if (node instanceof Text) {
-               return (Text) node;
-           }
-       }
-       // a Text node was not found
-       return null;
-   }
-  
-	/* (non-Javadoc)
-    */
-   public void putTextData(String data) {
-       Text textNode = getTextNode();
-       if (textNode == null) {
-           textNode = factory.createTextNode(data);
-			// Always add the text node as the first child (fixes bug 93718) 
-			element.insertBefore(textNode, element.getFirstChild());
-       } else {
-           textNode.setData(data);
-       }
-   }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/provisional/ServerLocatorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/provisional/ServerLocatorDelegate.java
deleted file mode 100644
index a27151a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/provisional/ServerLocatorDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal.provisional;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * A server locator provides the ability to locate or search for additional
- * server of a particular type, on a particular host.
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>serverLocators</code> extension point.
- * </p>
- */
-public abstract class ServerLocatorDelegate {
-	/**
-	 * A callback listener used to report progress.
-	 */
-	public interface IServerSearchListener {
-		/**
-		 * Called when a new server is found by the locator.
-		 * The server must never be null.
-		 * 
-		 * @param server the runtime that was found.
-		 */
-		public void serverFound(IServerWorkingCopy server);
-	}
-
-	/**
-	 * Searches for servers. 
-	 * It uses the callback listener to report servers that are found.
-	 * 
-	 * @param host a host string conforming to RFC 2732
-	 * @param listener a listener to report status to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public abstract void searchForServers(String host, IServerSearchListener listener, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java
deleted file mode 100644
index c4031de..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.wst.server.core.IServer;
-/**
- * A launchable client is a client side application or test harness that can
- * be launched (run) against a resource running on a server.
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>clients</code> extension point.
- * </p>
- * 
- * @since 1.0
- */
-public abstract class ClientDelegate {
-	/**
-	 * Returns true if this launchable can be run by this client.
-	 * 
-	 * @param server the server that the client is being run against
-	 * @param launchable the object to run on the server
-	 * @param launchMode the launch mode
-	 * @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;
-	}
-
-	/**
-	 * Opens or executes on the launchable.
-	 * 
-	 * @param server the server that the client is being run against
-	 * @param launchable the object to run on the server
-	 * @param launchMode the launch mode
-	 * @param launch the launch of the server, if available
-	 * @return status indicating what (if anything) went wrong
-	 */
-	public abstract IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFile.java
deleted file mode 100644
index ba22044..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFile.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.server.core.model;
-/**
- * A file within a module.
- * 
- * @since 1.0
- */
-public interface IModuleFile extends IModuleResource {
-	/**
-	 * Returns a modification stamp. Whenever the modification
-	 * stamp changes, there may have been a change to the file.
-	 * 
-	 * @return the modification stamp
-	 */
-	public long getModificationStamp();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFolder.java
deleted file mode 100644
index fa0f822..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFolder.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.server.core.model;
-/**
- * A folder within a module.
- * 
- * @since 1.0
- */
-public interface IModuleFolder extends IModuleResource {
-	/**
-	 * Returns the members (contents) of this folder.
-	 * 
-	 * @return an array containing the module resources contained in this folder
-	 */
-	public IModuleResource[] members();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResource.java
deleted file mode 100644
index 21a4833..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResource.java
+++ /dev/null
@@ -1,34 +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.model;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-/**
- * A resource (file or folder) within a module.
- * 
- * @since 1.0
- */
-public interface IModuleResource extends IAdaptable {
-	/**
-	 * Returns the module relative path to this resource.
-	 * 
-	 * @return the module relative path to this resource
-	 */
-	public IPath getModuleRelativePath();
-
-	/**
-	 * Returns the name of this resource.
-	 * 
-	 * @return the name of this resource
-	 */
-	public String getName();
-}
\ 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
deleted file mode 100644
index b76d968..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java
+++ /dev/null
@@ -1,161 +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.model;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * A module resource delta.
- * 
- * @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;
-
-	/**
-	 * Returns the module resource represented by this delta.
-	 * 
-	 * @return the corresponding module resource
-	 */
-	public IModuleResource getModuleResource();
-
-	/**
-	 * Returns the kind of this resource delta.
-	 * Normally, one of <code>ADDED</code>, 
-	 * <code>REMOVED</code>, <code>CHANGED</code>.
-	 * 
-	 * @return the kind of this resource delta
-	 * 
-	 * @see IModuleResourceDelta#ADDED
-	 * @see IModuleResourceDelta#REMOVED
-	 * @see IModuleResourceDelta#CHANGED
-	 */
-	public int getKind();
-
-	/**
-	 * Returns module resource deltas for all children of this resource 
-	 * which were added, removed, or changed. Returns an empty
-	 * array if there are no affected children.
-	 * <p>
-	 * This is a convenience method, fully equivalent to:
-	 * <pre>
-	 *   getAffectedChildren(ADDED | REMOVED | CHANGED, IResource.NONE);
-	 * </pre>
-	 * </p>
-	 *
-	 * @return the resource deltas for all affected children
-	 * @see IModuleResourceDelta#ADDED
-	 * @see IModuleResourceDelta#REMOVED
-	 * @see IModuleResourceDelta#CHANGED
-	 */
-	public IModuleResourceDelta[] getAffectedChildren();
-	
-	/**
-	 * Returns the module-relative path of this resource delta.
-	 * Returns the empty path for resources in the module root.
-	 * <p>
-	 * A resource's module-relative path indicates the route from the module
-	 * to the resource. Within a module, there is exactly one such path
-	 * for any given resource. The returned path never has a trailing separator.
-	 * </p>
-	 * @return the module-relative path of this resource delta
-	 * @see IModuleResource#getModuleRelativePath()
-	 */
-	public IPath getModuleRelativePath();
-	
-	/**
-	 * Finds and returns the descendent delta identified by the given path in
-	 * this delta, or <code>null</code> if no such descendent exists.
-	 * The supplied path may be absolute or relative; in either case, it is
-	 * interpreted as relative to this delta.   Trailing separators are ignored.
-	 * If the path is empty this delta is returned.
-	 * <p>
-	 * This is a convenience method to avoid manual traversal of the delta
-	 * tree in cases where the listener is only interested in changes to
-	 * particular resources.  Calling this method will generally be
-	 * faster than manually traversing the delta to a particular descendent.
-	 * </p>
-	 * @param path the path of the desired descendent delta
-	 * @return the descendent delta, or <code>null</code> if no such
-	 * 		descendent exists in the delta
-	 * @plannedfor 2.0
-	 */
-	//public IModuleResourceDelta findMember(IPath path);
-	
-	/**
-	 * Returns resource deltas for all children of this resource 
-	 * whose kind is included in the given mask. Kind masks are formed
-	 * by the bitwise or of <code>IResourceDelta</code> kind constants.
-	 * Returns an empty array if there are no affected children.
-	 * <p>
-	 * This is a convenience method, fully equivalent to:
-	 * <pre>
-	 *   getAffectedChildren(kindMask, IResource.NONE);
-	 * </pre>
-	 * Team-private member resources are <b>not</b> included in the result.
-	 * </p>
-	 *
-	 * @param kindMask a mask formed by the bitwise or of <code>IResourceDelta </code> 
-	 *    delta kind constants
-	 * @return the resource deltas for all affected children
-	 * @see IResourceDelta#ADDED
-	 * @see IResourceDelta#REMOVED
-	 * @see IResourceDelta#CHANGED
-	 * @see #getAffectedChildren(int)
-	 */
-	//public IModuleResourceDelta[] getAffectedChildren(int kindMask);
-	
-	/**
-	 * Accepts the given visitor.
-	 * The only kinds of resource deltas visited 
-	 * are <code>ADDED</code>, <code>REMOVED</code>, 
-	 * and <code>CHANGED</code>.
-	 * The visitor's <code>visit</code> method is called with this
-	 * resource delta if applicable. If the visitor returns <code>true</code>,
-	 * the resource delta's children are also visited.
-	 * <p>
-	 * This is a convenience method, fully equivalent to 
-	 * <code>accept(visitor, IResource.NONE)</code>.
-	 * Although the visitor will be invoked for this resource delta, it will not be
-	 * invoked for any team-private member resources.
-	 * </p>
-	 *
-	 * @param visitor the visitor
-	 * @exception CoreException if the visitor failed with this exception.
-	 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-	 */
-	//public void accept(IModuleResourceDeltaVisitor visitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java
deleted file mode 100644
index c8573e9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.net.URL;
-
-import org.eclipse.wst.server.core.IModule;
-/**
- * An interface for a server delegate that can provide URLs for a module published
- * to the server.
- * 
- * @since 1.0
- */
-public interface IURLProvider {
-	/**
-	 * Return the base URL of this module on the server. (e.g. 
-	 * "http://localhost:8080/myProject") 
-	 * <p>
-	 * This method may return null if this server does not have a valid configuration
-	 * or if the server is not running. The returned URL must not end in a trailing
-	 * slash.
-	 * </p>
-	 * <p>
-	 * If the module is null, the returned URL will just be to the root of
-	 * the server (e.g. "http://localhost:8080")
-	 * </p>
-	 * <p>
-	 * If the module is not already added to the server, the method will return
-	 * as close an approximation as possible. (for instance, for a J2EE web project
-	 * it may use the project's context root, which may not be the same when deployed
-	 * to a server)
-	 * </p>
-	 *
-	 * @param module com.ibm.etools.server.core.IModule
-	 * @return java.net.URL
-	 */
-	public URL getModuleRootURL(IModule module);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/InternalInitializer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/InternalInitializer.java
deleted file mode 100644
index dfe441d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/InternalInitializer.java
+++ /dev/null
@@ -1,65 +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.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.internal.ModuleFactory;
-import org.eclipse.wst.server.core.internal.Runtime;
-import org.eclipse.wst.server.core.internal.Server;
-/**
- * This is an internal utility class that is used by the server framework.
- * It is not API and should never be used by clients.
- */
-public class InternalInitializer {
-	/**
-	 * Internal method - do not call.
-	 * 
-	 * @param delegate
-	 * @param newServer
-	 * @param monitor
-	 */
-	public static void initializeServerDelegate(ServerDelegate delegate, Server newServer, IProgressMonitor monitor) {
-		delegate.initialize(newServer, monitor);
-	}
-
-	/**
-	 * Internal method - do not call.
-	 * 
-	 * @param delegate
-	 * @param newServer
-	 * @param monitor
-	 */
-	public static void initializeServerBehaviourDelegate(ServerBehaviourDelegate delegate, Server newServer, IProgressMonitor monitor) {
-		delegate.initialize(newServer, monitor);
-	}
-
-	/**
-	 * Internal method - do not call.
-	 * 
-	 * @param delegate
-	 * @param newRuntime
-	 * @param monitor
-	 */
-	public static void initializeRuntimeDelegate(RuntimeDelegate delegate, Runtime newRuntime, IProgressMonitor monitor) {
-		delegate.initialize(newRuntime, monitor);
-	}
-
-	/**
-	 * Internal method - do not call.
-	 * 
-	 * @param delegate
-	 * @param newModuleFactory
-	 * @param monitor
-	 */
-	public static void initializeModuleFactoryDelegate(ModuleFactoryDelegate delegate, ModuleFactory newModuleFactory, IProgressMonitor monitor) {
-		delegate.initialize(newModuleFactory, monitor);
-	}
-}
\ No newline at end of file
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
deleted file mode 100644
index 47fd4e8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-/**
- * This interface, typically implemented by the server code, converts from
- * an IModuleArtifact to an object launchable on the server.
- * 
- * <p>This is the implementation of a launchableAdapter extension point.</p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>launchableAdapters</code> extension point.
- * </p>
- * 
- * @since 1.0
- */
-public abstract class LaunchableAdapterDelegate {
-	/**
-	 * Returns a launchable object from this module artifact.
-	 * 
-	 * @param server the server
-	 * @param moduleArtifact a module artifact
-	 * [issue: if the launchable object cannot be found, should it throw a CoreExcpetion or return null?]
-	 * @return the launchable object
-	 * @throws CoreException 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/ModuleArtifactAdapterDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactAdapterDelegate.java
deleted file mode 100644
index c3528b7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactAdapterDelegate.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.IModuleArtifact;
-/**
- * A module artifact adapter converts from some view's model
- * object into a module artifact that is recognized by one or
- * more server types.
- * 
- * <p>This is the implementation of a moduleArtifactAdapter
- * extension point.</p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>moduleArtifactAdapters</code> extension point.
- * </p>
- * 
- * @since 1.0
- */
-public abstract class ModuleArtifactAdapterDelegate {
-	/**
-	 * Converts from an arbitrary object to an module artifact.
-	 *
-	 * @param obj an arbitrary object from a view or editor
-	 * @return an module artifact, or <code>null</code> if this
-	 *    adapter does not recognize or cannot adapt the object
-	 */
-	public abstract IModuleArtifact getModuleArtifact(Object obj);
-}
\ 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
deleted file mode 100644
index d63f7cd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.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.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IModule;
-/**
- * A module delegate provides a mechanism for discovering information
- * about individual modules. Modules are returned from module factory
- * delegates; their delegates are created when
- * ModuleFactoryDelegate.createModule() is called.
- * <p>
- * When the module needs to be given a delegate, the delegate class
- * specified for the module is instantiated with a 0-argument
- * constructor.
- * </p>
- * <p>
- * Module delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>moduleFactories</code> extension point.
- * </p>
- * 
- * @see org.eclipse.wst.server.core.IModule
- * @see ModuleFactoryDelegate
- * @since 1.0
- */
-public abstract class ModuleDelegate {
-	private IModule module;
-
-	/**
-	 * Delegates must have a public 0-arg constructor.
-	 */
-	public ModuleDelegate() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this module delegate with its life-long module instance.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * 
-	 * @param newModule the module instance
-	 */
-	public final void initialize(IModule newModule) {
-		this.module = newModule;
-		initialize();
-	}
-
-	/**
-	 * Initializes this module delegate. This method gives delegates a chance
-	 * to do their own initialization.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 */
-	public void initialize() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the module that this module delegate corresponds to.
-	 * 
-	 * @return the module
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Validates this module instance. Subclasses should
-	 * override and call super.validate() for basic validation. 
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if this
-	 *   module is valid, otherwise a status object indicating what is
-	 *   wrong with it
-	 */
-	public abstract IStatus validate();
-
-	/**
-	 * Returns the child modules of this module.
-	 *
-	 * @return a possibly empty array of child modules
-	 */
-	public abstract IModule[] getChildModules();
-	
-	/**
-	 * Returns the current array of module artifacts.
-	 * 
-	 * @return a possibly empty array containing the module resources
-	 * @throws CoreException thrown if there is a problem getting the members
-	 */
-	public abstract IModuleResource[] members() throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
deleted file mode 100644
index 461d813..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
+++ /dev/null
@@ -1,139 +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.server.core.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.internal.Module;
-import org.eclipse.wst.server.core.internal.ModuleFactory;
-/**
- * A module factory delegate provides a mechanism for discovering
- * modules. A module factory delegate is specified by the
- * <code>class</code> attribute of a <code>moduleFactories</code> extension.
- * <p>
- * When the module factory needs to be given a delegate, the delegate class
- * specified for the module factory is instantiated with a 0-argument
- * constructor.
- * </p>
- * <p>
- * Module factory delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>moduleFactories</code> extension point.
- * </p>
- * 
- * @see org.eclipse.wst.server.core.IModule
- * @see ModuleDelegate
- * @since 1.0
- */
-public abstract class ModuleFactoryDelegate {
-	private ModuleFactory factory;
-	
-	/**
-	 * Delegates must have a public 0-arg constructor.
-	 */
-	public ModuleFactoryDelegate() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this module factory delegate with its life-long module
-	 * factory instance.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * 
-	 * @param newFactory the module factory instance
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	final void initialize(ModuleFactory newFactory, IProgressMonitor monitor) {
-		factory = newFactory;
-		initialize();
-	}
-
-	/**
-	 * Initializes this module factory delegate. This method gives delegates a chance
-	 * to do their own initialization.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 */
-	public void initialize() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 * Each factory has a distinct id, fixed for its lifetime. Ids are intended to
-	 * be used internally as keys; they are not intended to be shown to end users.
-	 * 
-	 * @return the factory id
-	 */
-	protected final String getId() {
-		return factory.getId();
-	}
-
-	/**
-	 * Clears the cache of modules returned by getModules(). Delegates can call this
-	 * method if they know that the results of the last call to getModules() is
-	 * invalid and should be refreshed.
-	 * 
-	 * @see #getModules()
-	 */
-	public void clearModuleCache() {
-		factory.clearModuleCache();
-	}
-
-	/**
-	 * Creates a module instance with the given static information. This method is used
-	 * by module factory delegates to create module instances.
-	 *  
-	 * @param id the module id
-	 * @param name the module name
-	 * @param type the module type id
-	 * @param version the module version id
-	 * @param project the project that the module is contained in
-	 * @return a module instance
-	 */
-	protected final IModule createModule(String id, String name, String type, String version, IProject project) {
-		return new Module(factory, id, name, type, version, project);
-	}
-
-	/**
-	 * Creates the module delegate for a module with the given information.
-	 * This method is called when a client needs to access the module delegate
-	 * associated with the given module.
-	 * 
-	 * @param module a module
-	 * @return the module delegate
-	 */
-	public abstract ModuleDelegate getModuleDelegate(IModule module);
-
-	/**
-	 * Return all modules created by this factory. 
-	 * <p>
-	 * This method is normally called by the web server core framework.
-	 * Clients (other than the delegate) should never call this method.
-	 * </p>
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of modules {@link IModule}
-	 */
-	public abstract IModule[] getModules();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishOperation.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishOperation.java
deleted file mode 100644
index 2922f62..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishOperation.java
+++ /dev/null
@@ -1,164 +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.server.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.TaskModel;
-/**
- * An operation that will be executed during publishing. 
- * 
- * [issue: EY It is not clear to me that when this task will be run. Will the place where the
- * task is being run depend on the server, e.g. the TDC tasks for the v6 server should be run
- * after the server is started the modules are added to the server; however, the EJB deploy task
- * makes more sense to be run before adding the project to the server.]
- * 
- * @since 1.0
- */
-public abstract class PublishOperation {
-	private TaskModel model;
-	private String label;
-	private String description;
-
-   /**
-	 * Operation kind constant (value 0) indicating that the operation
-	 * does not need be executed.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int OPTIONAL = 0;
-
-	/**
-	 * Operation kind constant (value 1) indicating that the operation
-	 * should be executed.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int PREFERRED = 1;
-
-	/**
-	 * Operation kind constant (value 2) indicating that the operation
-	 * must be executed.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int REQUIRED = 2;
-
-	/**
-	 * Create a new operation. The label and description must be supplied
-	 * by overriding the getLabel() and getDescription() methods.
-	 */
-	public PublishOperation() {
-		// do nothing
-	}
-
-	/**
-	 * Create a new operation with the given label and description.
-	 * 
-	 * @param label a translated label for the operation
-	 * @param description the operation description
-	 */
-	public PublishOperation(String label, String description) {
-		this.label = label;
-		this.description = description;
-	}
-
-	/**
-	 * Returns the kind of this operation. Operations can either be OPTIONAL
-	 * (do not have to be executed), PREFERRED (should be executed), or
-	 * REQUIRED (must be executed).
-	 * 
-	 * @return one of the kind constants (e.g. <code>REQUIRED</code>)
-	 *    declared on {@link PublishOperation}
-	 */
-	public int getKind() {
-		return OPTIONAL;
-	}
-
-	/**
-	 * Returns the order (index/priority) of the task that will be run. The task with
-	 * a smaller order value will be run before the task with a bigger order value.
-	 * For tasks that have the same order value, the order of running those task are 
-	 * not guaranteed.  
-	 * 
-	 * @return the order (index/priority) of the task that will be run.
-	 */
-	public abstract int getOrder();
-
-	/**
-	 * Returns the displayable label for this operation.
-	 * <p>
-	 * Note that this label is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable label for this operation
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Returns the displayable description for this operation.
-	 * <p>
-	 * Note that this description is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable description for this operation
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Return the task model.
-	 * <p>
-	 * A task model contains information about the overall task flow and allows
-	 * tasks to store and retreive data. Its usage allows mutliple tasks to be
-	 * chained together and share data from the output of one task to the input
-	 * of another.
-	 * </p>
-	 * 
-	 * @return the task model
-	 */
-	public TaskModel getTaskModel() {
-		return model;
-	}
-
-	/**
-	 * Set the task model.
-	 * <p>
-	 * A task model contains information about the overall task flow and allows
-	 * tasks to store and retreive data. Its usage allows mutliple tasks to be
-	 * chained together and share data from the output of one task to the input
-	 * of another.
-	 * </p>
-	 * 
-	 * @param taskModel the task model
-	 */
-	public void setTaskModel(TaskModel taskModel) {
-		this.model = taskModel;
-	}
-
-	/**
-	 * Execute (perform) the operation.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @param info the IAdaptable (or <code>null</code>) provided by the
-	 *    caller in order to supply UI information for prompting the
-	 *    user if necessary. When this parameter is not
-	 *    <code>null</code>, it should minimally contain an adapter
-	 *    for the org.eclipse.swt.widgets.Shell.class.
-	 * @throws CoreException if there was an error while executing the task
-	 */
-	public abstract void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishTaskDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishTaskDelegate.java
deleted file mode 100644
index 3852736..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishTaskDelegate.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.server.core.model;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * A publish task delegate.
- * 
- * <p>This is the implementation of a publishTask extension point.</p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>publishTask</code> extension point.
- * </p>
- * 
- * @since 1.0
- */
-public abstract class PublishTaskDelegate {
-	/**
-	 * Returns the tasks that should be performed during publishing.
-	 * 
-	 * @param server the server
-	 * @param modules a list containing IModule arrays
-	 * @return the tasks that should be performed on the server.
-	 */
-	public PublishOperation[] getTasks(IServer server, List modules) {
-		return null;
-	}
-
-	/**
-	 * Returns the tasks that should be performed during publishing.
-	 * 
-	 * @param server the server
-	 * @param modules a list containing IModule arrays
-	 * @param kind one of the IServer.PUBLISH_XX constants.
-	 * @param kindList one of the IServer publish change constants.
-	 * @return the tasks that should be performed on the server.
-	 */
-	public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) {
-		return getTasks(server, modules);
-	}
-}
\ No newline at end of file
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
deleted file mode 100644
index 3cac8f5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
+++ /dev/null
@@ -1,311 +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.server.core.model;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Messages;
-import org.eclipse.wst.server.core.internal.Runtime;
-import org.eclipse.wst.server.core.internal.RuntimeWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-/**
- * A runtime delegate provides the implementation for various 
- * generic and server-type-specific operations for a specific type of runtime.
- * A runtime delegate is specified by the
- * <code>class</code> attribute of a <code>runtimeTypes</code> extension.
- * <p>
- * When the runtime instance needs to be given a delegate, the delegate class
- * specified for the runtime type is instantiated with a 0-argument constructor
- * and primed with <code>delegate.initialize(runtime)</code>, 
- * which it is expected to hang on to. Later, when
- * <code>delegate.dispose()</code> is called as the runtime instance is
- * being discarded, the delegate is expected to let go of the runtime instance.
- * </p>
- * <p>
- * RuntimeDelegate supports an open-ended set of attribute-value pairs. All
- * state stored in this manner will be saved when the runtime working copy is
- * saved, and persisted across workbench sessions.
- * Runtime delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions. To save state
- * across workbench sessions, it must be persisted using the attributes.
- * </p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>runtimeTypes</code> extension point.
- * </p>
- * 
- * @see IRuntime
- * @see IRuntimeWorkingCopy
- * @since 1.0
- */
-public abstract class RuntimeDelegate {
-	private Runtime runtime;
-	private RuntimeWorkingCopy runtimeWC;
-	
-	/**
-	 * Delegates must have a public 0-arg constructor.
-	 */
-	public RuntimeDelegate() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this runtime delegate with its life-long runtime instance.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * 
-	 * @param newRuntime the runtime instance
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	final void initialize(Runtime newRuntime, IProgressMonitor monitor) {
-		runtime = newRuntime;
-		if (runtime instanceof RuntimeWorkingCopy)
-			runtimeWC = (RuntimeWorkingCopy) runtime;
-		initialize();
-	}
-
-	/**
-	 * Initializes this runtime delegate. This method gives delegates a chance
-	 * to do their own initialization.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 */
-	protected void initialize() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the runtime that this runtime delegate corresponds to.
-	 * 
-	 * @return the runtime
-	 */
-	public final IRuntime getRuntime() {
-		return runtime;
-	}
-
-	/**
-	 * Returns the runtime working copy that this runtime delegate corresponds to.
-	 * 
-	 * @return the runtime
-	 */
-	public final IRuntimeWorkingCopy getRuntimeWorkingCopy() {
-		return runtimeWC;
-	}
-
-	/**
-	 * Validates this runtime instance. Subclasses should
-	 * override and call super.validate() for basic validation. 
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IRuntime.validate(IProgressMonitor)</code>.
-	 * Clients should never call this method.
-	 * </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() {
-		if (runtime.getName() == null || runtime.getName().length() == 0)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRuntimeName, null);
-
-		if (isNameInUse())
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorDuplicateRuntimeName, null);
-	
-		IPath path = runtime.getLocation();
-		if (path == null || path.isEmpty())
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "", null);
-		
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * 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)
-			orig = runtimeWC.getOriginal();
-		
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		if (runtimes != null) {
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				if (orig != runtimes[i] && runtime.getName().equals(runtimes[i].getName()))
-					return true;
-			}
-		}
-		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)
-	 */
-	protected final int getAttribute(String id, int defaultValue) {
-		return runtime.getAttribute(id, 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)
-	 */
-	protected final boolean getAttribute(String id, boolean defaultValue) {
-		return runtime.getAttribute(id, 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)
-	 */
-	protected final String getAttribute(String id, String defaultValue) {
-		return runtime.getAttribute(id, 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)
-	 */
-	protected final 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)
-	 */
-	protected final Map getAttribute(String id, Map defaultValue) {
-		return runtime.getAttribute(id, defaultValue);
-	}
-	
-	/**
-	 * Disposes of this runtime delegate.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to let go of the delegate's reference
-	 * to the runtime, deregister listeners, etc.
-	 * </p>
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this runtime with default values. This method is called when
-	 * a new runtime is created so that the runtime can be initialized with
-	 * meaningful values.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/**
-	 * Sets the value of the specified integer-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, int)
-	 */
-	protected final void setAttribute(String id, int value) {
-		runtimeWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified boolean-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, boolean)
-	 */
-	protected final void setAttribute(String id, boolean value) {
-		runtimeWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified string-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, String)
-	 */
-	protected final void setAttribute(String id, String value) {
-		runtimeWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified list-valued attribute of this
-	 * element. The list may only contain String values.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, List)
-	 */
-	protected final void setAttribute(String id, List value) {
-		runtimeWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified map-valued attribute of this
-	 * element. The map may only contain String values.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, Map)
-	 */
-	protected 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
deleted file mode 100644
index c2a9027..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-/**
- * A runtime locator provides the ability to locate or search for additional
- * runtimes of a particular type.
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>runtimeLocators</code> extension point.
- * </p>
- * 
- * @since 1.0
- */
-public abstract class RuntimeLocatorDelegate {
-	/**
-	 * A callback listener used to report progress.
-	 * 
-	 * @since 1.0
-	 */
-	public interface IRuntimeSearchListener {
-		/**
-		 * Called when a new runtime is found by the locator.
-		 * The runtime must never be null.
-		 * 
-		 * @param runtime the runtime that was found.
-		 */
-		public void runtimeFound(IRuntimeWorkingCopy runtime);
-	}
-
-	/**
-	 * Searches for local runtimes. 
-	 * It uses the callback listener to report runtimes that are found.
-	 * The path contains the absolute path of the folder to search in,
-	 * or <code>null</code> to search the entire machine.
-	 * 
-	 * @param path the path to search for runtimes in
-	 * @param listener a listener to report status to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public abstract void searchForRuntimes(IPath path, IRuntimeSearchListener listener, IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.java
deleted file mode 100644
index 941392e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeTargetHandler;
-/**
- * A runtime target handler is used when associating a runtime with
- * a particular project. It has the ability to make any changes it requires
- * on the projects - adding or removing files, setting up the classpath, etc.
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>runtimeTargetHandlers</code> extension point.
- * </p>
- * <p>
- * 
- * @deprecated This function is deprecated.
- */
-public abstract class RuntimeTargetHandlerDelegate {
-	/**
-	 * Initializes the runtime target handler.
-	 * 
-	 * @param newHandler the new handler
-	 */
-	public final void initialize(IRuntimeTargetHandler newHandler) {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Returns the runtime target handler that this delegate is associated with.
-	 * 
-	 * @return the runtime target handler
-	 */
-	public IRuntimeTargetHandler getRuntimeTargetHandler() {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Set the runtime target on the given project.
-	 * 
-	 * @param project the project to set the runtime on
-	 * @param runtime the target runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException thrown if there is a problem setting the runtime
-	 */
-	public abstract void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Remove the runtime target from the given project.
-	 * 
-	 * @param project the project to remove the runtime from
-	 * @param runtime the target runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException thrown if there is a problem removing the runtime
-	 */
-	public abstract void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
deleted file mode 100644
index 0b284ba..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
+++ /dev/null
@@ -1,828 +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.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.Messages;
-import org.eclipse.wst.server.core.internal.ProgressUtil;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * A server delegate provides the implementation for various 
- * generic and server-type-specific operations for a specific type of server.
- * A server delegate is specified by the
- * <code>class</code> attribute of a <code>serverTypes</code> extension.
- * <p>
- * When the server instance needs to be given a delegate, the delegate class
- * specified for the server type is instantiated with a 0-argument constructor
- * and primed with <code>delegate.initialize(((IServerState)server)</code>, 
- * which it is expected to hang on to. Later, when
- * <code>delegate.dispose()</code> is called as the server instance is
- * being discarded, the delegate is expected to let go of the server instance.
- * </p>
- * <p>
- * Server delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions.
- * </p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>serverTypes</code> extension point.
- * </p>
- * 
- * @see org.eclipse.wst.server.core.IServer
- * @see org.eclipse.wst.server.core.IServerWorkingCopy
- * @since 1.0
- */
-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.
-	 */
-	public ServerBehaviourDelegate() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this server delegate with its life-long server instance.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * 
-	 * @param newServer the server instance
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	final void initialize(Server newServer, IProgressMonitor monitor) {
-		server = newServer;
-		initialize(monitor);
-	}
-
-	/**
-	 * Initializes this server delegate. This method gives delegates a chance
-	 * to do their own initialization.
-	 * <p>
-	 * If the server state is initially unknown, this method should attempt
-	 * to connect to the server and update the state. On servers where the
-	 * state may change, this is also an excellent place to create a background
-	 * thread that will constantly ping the server (or have a listener) to
-	 * update the server state as changes occur.
-	 * </p>
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	protected void initialize(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/**
-	 * Returns the server that this server delegate corresponds to.
-	 * 
-	 * @return the server
-	 */
-	public final IServer getServer() {
-		return server;
-	}
-
-	/**
-	 * Sets the current state of this server.
-	 *
-	 * @param state the current state of the server, one of the state
-	 *    constants defined by {@link IServer}
-	 * @see IServer#getServerState()
-	 */
-	protected final void setServerState(int state) {
-		server.setServerState(state);
-	}
-
-	/**
-	 * Sets the ILaunchManager mode that the server is running in. The server
-	 * implementation will automatically return <code>null</code> to clients
-	 * when the server is stopped, so you only need to update the mode when
-	 * it changes.
-	 * 
-	 * @param mode the mode in which a server is running, one of the mode constants
-	 *    defined by {@link org.eclipse.debug.core.ILaunchManager}
-	 */
-	protected final void setMode(String mode) {
-		server.setMode(mode);
-	}
-
-	/**
-	 * Sets the server restart state.
-	 *
-	 * @param state <code>true</code> if the server needs to be restarted,
-	 *    and <code>false</code> otherwise
-	 */
-	protected final void setServerRestartState(boolean state) {
-		server.setServerRestartState(state);
-	}
-
-	/**
-	 * Sets the server publish state.
-	 *
-	 * @param state the current publish state of the server, one of the
-	 *    publish constants defined by {@link IServer}
-	 */
-	protected final void setServerPublishState(int state) {
-		server.setServerPublishState(state);
-	}
-
-	/**
-	 * Hook to fire an event when a module state changes.
-	 * 
-	 * @param module the module
-	 * @param state the current state of the module, one of the state
-	 *    constants defined by {@link IServer}
-	 */
-	protected final void setModuleState(IModule[] module, int state) {
-		server.setModuleState(module, state);
-	}
-
-	/**
-	 * Sets the module publish state.
-	 *
-	 * @param module the module
-	 * @param state the current publish state of the module, one of the
-	 *    publish constants defined by {@link IServer}
-	 */
-	protected final void setModulePublishState(IModule[] module, int state) {
-		server.setModulePublishState(module, state);
-	}
-
-	/**
-	 * Sets the module restart state.
-	 *
-	 * @param module the module
-	 * @param state <code>true</code> if the module needs to be restarted,
-	 *    and <code>false</code> otherwise
-	 */
-	protected final void setModuleRestartState(IModule[] module, boolean state) {
-		server.setModuleRestartState(module, state);
-	}
-
-	/**
-	 * Disposes of this server delegate.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to let go of the delegate's reference
-	 * to the server, deregister listeners, etc.
-	 * </p>
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Methods called to notify that publishing is about to begin.
-	 * This allows the server to open a connection to the server
-	 * or get any global information ready.
-	 * <p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.publish()</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 *
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is a problem starting the publish
-	 */
-	protected void publishStart(IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Publish the server.
-	 * <p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.publish()</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * 
-	 * @param kind one of the IServer.PUBLISH_XX constants. Valid values are
-	 *    <ul>
-	 *    <li><code>PUBLSIH_FULL</code>- indicates a full publish.</li>
-	 *    <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish.
-	 *    <li><code>PUBLSIH_AUTO</code>- indicates an automatic incremental publish.</li>
-	 *    <li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws
-	 *      out all state and cleans up the module on the server before doing a
-	 *      full publish.
-	 *    </ul>
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is a problem publishing the server
-	 */
-	protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Publish a single module to the server.
-	 * <p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.publish()</code>.
-	 * Clients should never call this method directly.
-	 * </p>
-	 * <p>
-	 * If the deltaKind is IServer.REMOVED, the module may have been completely
-	 * deleted and does not exist anymore. In this case, a dummy module (with the
-	 * correct id) will be passed to this method.
-	 * </p>
-	 * <p>
-	 * It is recommended that clients implementing this method be responsible for
-	 * setting the module state.
-	 * </p>
-	 * 
-	 * @param kind one of the IServer.PUBLISH_XX constants. Valid values are:
-	 *    <ul>
-	 *    <li><code>PUBLSIH_FULL</code>- indicates a full publish.</li>
-	 *    <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish.
-	 *    <li><code>PUBLSIH_AUTO</code>- indicates an automatic incremental publish.</li>
-	 *    <li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws
-	 *      out all state and cleans up the module on the server before doing a
-	 *      full publish.
-	 *    </ul>
-	 * @param module the module to publish
-	 * @param deltaKind one of the IServer publish change constants. Valid values are:
-	 *    <ul>
-	 *    <li><code>ADDED</code>- indicates the module has just been added to the server
-	 *      and this is the first publish.
-	 *    <li><code>NO_CHANGE</code>- indicates that nothing has changed in the module
-	 *      since the last publish.</li>
-	 *    <li><code>CHANGED</code>- indicates that the module has been changed since
-	 *      the last publish. Call <code>getPublishedResourceDelta()</code> for
-	 *      details of the change.
-	 *    <li><code>REMOVED</code>- indicates the module has been removed and should be
-	 *      removed/cleaned up from the server.
-	 *    </ul>
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is a problem publishing the module
-	 */
-	protected void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Methods called to notify that publishing has finished.
-	 * The server can close any open connections to the server
-	 * and do any cleanup operations.
-	 * <p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.publish()</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 *
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is a problem stopping the publish
-	 */
-	protected void publishFinish(IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Configure the given launch configuration to start this server. This method is called whenever
-	 * the server is started to ensure that the launch configuration is accurate and up to date.
-	 * This method should not blindly update the launch configuration in cases where the user has
-	 * access to change the launch configuration by hand.
-	 * 
-	 * @param workingCopy a launch configuration working copy
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is an error setting up the configuration
-	 */
-	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Restart this server. The server should use the server
-	 * listener to notify progress. It must use the same debug
-	 * flags as was originally passed into the start() method.
-	 * 
-	 * 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));
-	}
-
-	/**
-	 * Returns whether the given module can be restarted.
-	 * <p>
-	 * [issue: It's unclear whether this operations is guaranteed to be fast
-	 * or whether it could involve communication with any actual
-	 * server. If it is not fast, the method should take a progress
-	 * monitor.]
-	 * </p>
-	 * 
-	 * @param module the module
-	 * @return <code>true</code> if the given module can be
-	 * restarted, and <code>false</code> otherwise 
-	 */
-	public boolean canControlModule(IModule[] module) {
-		return false;
-	}
-	
-	/**
-	 * Starts the given module on the server. See the specification of 
-	 * {@link IServer#startModule(IModule[], IServer.IOperationListener)}
-	 * for further details. 
-	 * <p>
-	 * The implementation should update the module sync state and fire
-	 * an event for the module.
-	 * </p>
-	 * <p>
-	 * This method will throw an exception if the module does not exist on
-	 * the server.
-	 * </p>
-	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
-	 * any need for the progress monitor?]
-	 * </p>
-	 * 
-	 * @param module the module to be started
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @exception CoreException if an error occurs while trying to restart the module
-	 */
-	public void startModule(IModule[] module, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Stops the given module on the server. See the specification of 
-	 * {@link IServer#stopModule(IModule[], IServer.IOperationListener)}
-	 * for further details. 
-	 * <p>
-	 * The implementation should update the module sync state and fire
-	 * an event for the module.
-	 * </p>
-	 * <p>
-	 * This method will throw an exception if the module does not exist on
-	 * the server.
-	 * </p>
-	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
-	 * any need for the progress monitor?]
-	 * </p>
-	 * 
-	 * @param module the module to be stopped
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @exception CoreException if an error occurs while trying to restart the module
-	 */
-	public void stopModule(IModule[] module, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Shuts down and stops this server. The server should return from this method
-	 * quickly and use the server listener to notify shutdown progress.
-	 * <p> 
-	 * If force is <code>false</code>, it will attempt to stop the server
-	 * normally/gracefully. If force is <code>true</code>, then the server
-	 * process will be terminated any way that it can.
-	 * </p>
-	 * <p>
-	 * [issue: There is no way to communicate failure to the
-	 * client. Given that this operation can go awry, there probably
-	 * should be a mechanism that allows failing asynch operations
-	 * to be diagnosed.]
-	 * </p>
-	 * @param force <code>true</code> to kill the server, or <code>false</code>
-	 *    to stop normally
-	 */
-	public abstract void stop(boolean force);
-
-	/**
-	 * Returns the current module resources.
-	 * 
-	 * @param module the module
-	 * @return an array containing the module's resources
-	 */
-	protected IModuleResource[] getResources(IModule[] module) {
-		return server.getResources(module);
-	}
-
-	/**
-	 * Returns the module resources that have been published to the server.
-	 * 
-	 * <p>
-	 * If the module has just been added to the server, an empty list will
-	 * be returned. If the module has never existed on the server, a CoreException
-	 * will be thrown.
-	 * </p>
-	 * 
-	 * @param module the module
-	 * @return an array containing the published module resource
-	 */
-	protected IModuleResource[] getPublishedResources(IModule[] module) {
-		return server.getPublishedResources(module);
-	}
-
-	/**
-	 * Returns the delta of the current module resources that have been
-	 * published compared to the current state of the module.
-	 *
-	 * @param module the module
-	 * @return an array containing the publish resource delta
-	 */
-	protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
-		return server.getPublishedResourceDelta(module);
-	}
-
-	/**
-	 * Returns a temporary directory that the requestor can use
-	 * throughout it's lifecycle. This is primary to be used by
-	 * servers for working directories, server specific
-	 * files, etc.
-	 * <p>
-	 * This method directory will return the same directory on
-	 * each use of the workbench. If the directory is not requested
-	 * over a period of time, the directory may be deleted and a
-	 * new one will be assigned on the next request. For this
-	 * reason, a server may want to request the temp directory on
-	 * startup if it wants to store files there. In any case, the
-	 * server should have a backup plan to refill the directory
-	 * in case it has been deleted since last use.</p>
-	 *
-	 * @return a temporary directory
-	 */
-	protected IPath getTempDirectory() {
-		return server.getTempDirectory();
-	}
-
-	/**
-	 * Set a global status on the server.
-	 *  
-	 * @param status the status
-	 */
-	protected final void setServerStatus(IStatus status) {
-		server.setServerStatus(status);
-	}
-
-	/**
-	 * Set a status on a specific module.
-	 * 
-	 * @param module the module
-	 * @param status the status
-	 */
-	protected final void setModuleStatus(IModule[] module, IStatus status) {
-		server.setModuleStatus(module, status);
-	}
-
-	/**
-	 * Publish to the server.
-	 * 
-	 * @param kind the publish kind
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return the publish status
-	 */
-	public IStatus publish(int kind, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "-->-- Publishing to server: " + toString() + " -->--");
-		
-		if (getServer().getServerType().hasRuntime() && getServer().getRuntime() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoRuntime, null);
-		
-		final List moduleList = getAllModules();
-		final List deltaKindList = new ArrayList();
-		
-		Iterator iterator = moduleList.iterator();
-		while (iterator.hasNext()) {
-			IModule[] module = (IModule[]) iterator.next();
-			if (hasBeenPublished(module)) {
-				if (getPublishedResourceDelta(module).length == 0)
-					deltaKindList.add(new Integer(ServerBehaviourDelegate.NO_CHANGE));
-				else
-					deltaKindList.add(new Integer(ServerBehaviourDelegate.CHANGED));
-			} else
-				deltaKindList.add(new Integer(ServerBehaviourDelegate.ADDED));
-		}
-		
-		addRemovedModules(moduleList, deltaKindList);
-		
-		while (moduleList.size() > deltaKindList.size()) {
-			deltaKindList.add(new Integer(ServerBehaviourDelegate.REMOVED));
-		}
-		
-		PublishOperation[] tasks = getTasks(kind, moduleList, deltaKindList);
-		int size = 2000 + 3500 * moduleList.size() + 500 * tasks.length;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask(NLS.bind(Messages.publishing, getServer().getName()), size);
-		
-		MultiStatus tempMulti = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, "", null);
-		
-		if (monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-		
-		// start publishing
-		Trace.trace(Trace.FINEST, "Calling publishStart()");
-		try {
-			publishStart(ProgressUtil.getSubMonitorFor(monitor, 1000));
-		} catch (CoreException ce) {
-			Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce);
-			return ce.getStatus();
-		}
-		
-		// perform tasks
-		if (!monitor.isCanceled()) {
-			MultiStatus taskStatus = performTasks(tasks, monitor);
-			if (taskStatus != null && !taskStatus.isOK())
-				tempMulti.addAll(taskStatus);
-		}
-		
-		// publish the server
-		try {
-			if (!monitor.isCanceled())
-				publishServer(kind, ProgressUtil.getSubMonitorFor(monitor, 1000));
-		} catch (CoreException ce) {
-			Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce);
-			tempMulti.add(ce.getStatus());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error publishing configuration to " + toString(), e);
-			tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e));
-		}
-		
-		// publish modules
-		if (!monitor.isCanceled()) {
-			try {
-				publishModules(kind, moduleList, deltaKindList, tempMulti, monitor);
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Error while publishing modules", e);
-				tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e));
-			}
-		}
-		
-		// end the publishing
-		Trace.trace(Trace.FINEST, "Calling publishFinish()");
-		try {
-			publishFinish(ProgressUtil.getSubMonitorFor(monitor, 500));
-		} catch (CoreException ce) {
-			Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce);
-			tempMulti.add(ce.getStatus());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping publish to " + toString(), e);
-			tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e));
-		}
-		
-		if (monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-		
-		monitor.done();
-		
-		Trace.trace(Trace.FINEST, "--<-- Done publishing --<--");
-		
-		if (tempMulti.getChildren().length == 1)
-			return tempMulti.getChildren()[0];
-		
-		MultiStatus multi = null;
-		if (tempMulti.getSeverity() == IStatus.OK)
-			multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusOk, null);
-		else if (tempMulti.getSeverity() == IStatus.INFO)
-			multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusInfo, null);
-		else if (tempMulti.getSeverity() == IStatus.WARNING)
-			multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusWarning, null);
-		else if (tempMulti.getSeverity() == IStatus.ERROR)
-			multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusError, null);
-		multi.addAll(tempMulti);
-		
-		return multi;
-	}
-
-	/**
-	 * Publish a single module.
-	 * 
-	 * @param kind a publish kind
-	 * @param module a module
-	 * @param deltaKind the delta kind
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return the status
-	 */
-	protected IStatus publishModule(int kind, IModule[] module, int deltaKind, IProgressMonitor monitor) {
-		Trace.trace(Trace.FINEST, "Publishing module: " + module);
-		
-		int size = module.length;
-		IModule m = module[size - 1];
-		monitor.beginTask(NLS.bind(Messages.publishingModule, m.getName()), 1000);
-		
-		IStatus status = Status.OK_STATUS;
-		try {
-			int kind2 = kind;
-			if (getServer().getModulePublishState(module) == IServer.PUBLISH_STATE_UNKNOWN)
-				kind2 = IServer.PUBLISH_FULL;
-			publishModule(kind2, deltaKind, module, monitor);
-		} catch (CoreException ce) {
-			status = ce.getStatus();
-		} catch (Exception e) {
-			status = new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e);
-		}
-		
-		/*Trace.trace(Trace.FINEST, "Delta:");
-		IModuleResourceDelta[] delta = getServerPublishInfo().getDelta(parents, module);
-		int size = delta.length;
-		for (int i = 0; i < size; i++) {
-			((ModuleResourceDelta)delta[i]).trace(">  ");
-		}*/
-		
-		monitor.done();
-		
-		Trace.trace(Trace.FINEST, "Done publishing: " + module);
-		return status;
-	}
-
-	/**
-	 * Returns <code>true</code> if the given module has been published, and
-	 *    <code>false</code> otherwise.
-	 * 
-	 * @param module a module
-	 * @return <code>true</code> if the given module has been published, and
-	 *    <code>false</code> otherwise
-	 */
-	protected boolean hasBeenPublished(IModule[] module) {
-		return server.getServerPublishInfo().hasModulePublishInfo(module);
-	}
-
-	/**
-	 * Adds removed modules.
-	 * 
-	 * @param moduleList a list of modules
-	 * @param kindList a list of publish kinds
-	 */
-	protected void addRemovedModules(List moduleList, List kindList) {
-		server.getServerPublishInfo().addRemovedModules(moduleList, kindList);
-	}
-
-	/**
-	 * Update the stored publish info for the given module.
-	 * 
-	 * @deprecated should never need to be called directly. Will be removed
-	 *    in a future version of WTP
-	 * @param deltaKind a publish delta kind
-	 * @param module a module
-	 */
-	protected void updatePublishInfo(int deltaKind, IModule[] module) {
-		// TODO remove
-	}
-
-	/**
-	 * Publishes the given modules. Returns true if the publishing
-	 * should continue, or false if publishing has failed or is cancelled.
-	 * 
-	 * Uses 500 ticks plus 3500 ticks per module
-	 * 
-	 * @param kind the publish kind
-	 * @param modules a list of modules
-	 * @param deltaKind a list of delta kinds
-	 * @param multi a multistatus to add the status to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	protected void publishModules(int kind, List modules, List deltaKind, MultiStatus multi, IProgressMonitor monitor) {
-		if (modules == null)
-			return;
-		
-		int size = modules.size();
-		if (size == 0)
-			return;
-		
-		if (monitor.isCanceled())
-			return;
-		
-		// publish modules
-		for (int i = 0; i < size; i++) {
-			IStatus status = publishModule(kind, (IModule[]) modules.get(i), ((Integer)deltaKind.get(i)).intValue(), ProgressUtil.getSubMonitorFor(monitor, 3000));
-			if (status != null && !status.isOK())
-				multi.add(status);
-		}
-	}
-
-	/**
-	 * Returns the publish tasks that have been targetted to this server.
-	 * These tasks should be run during publishing.
-	 * 
-	 * @param kind one of the IServer.PUBLISH_XX constants
-	 * @param moduleList a list of modules
-	 * @param kindList list of one of the IServer publish change constants
-	 * @return a possibly empty array of IOptionalTasks
-	 */
-	protected final PublishOperation[] getTasks(int kind, List moduleList, List kindList) {
-		return server.getTasks(kind, moduleList, kindList);
-	}
-
-	/**
-	 * Returns all the modules that are on the server, including root
-	 * modules and all their children.
-	 * 
-	 * @return a list of IModule[]s
-	 */
-	protected final List getAllModules() {
-		return server.getAllModules();
-	}
-
-	/**
-	 * Perform (execute) all the given tasks.
-	 * 
-	 * @param tasks an array of tasks
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return the status
-	 */
-	protected MultiStatus performTasks(PublishOperation[] tasks, IProgressMonitor monitor) {
-		int size = tasks.length;
-		Trace.trace(Trace.FINEST, "Performing tasks: " + size);
-		
-		if (size == 0)
-			return null;
-		
-		MultiStatus multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.taskPerforming, null);
-		
-		for (int i = 0; i < size; i++) {
-			PublishOperation task = tasks[i];
-			monitor.subTask(NLS.bind(Messages.taskPerforming, task.toString()));
-			try {
-				task.execute(ProgressUtil.getSubMonitorFor(monitor, 500), null);
-			} catch (CoreException ce) {
-				Trace.trace(Trace.SEVERE, "Task failed", ce);
-				multi.add(ce.getStatus());
-			}
-			
-			// return early if the monitor has been cancelled
-			if (monitor.isCanceled())
-				return multi;
-		}
-		
-		return multi;
-	}
-
-	/**
-	 * Called when resources change within the workspace.
-	 * This gives the server an opportunity to update the server or module
-	 * restart state.
-	 */
-	public void handleResourceChange() {
-		// do nothing
-	}
-}
\ No newline at end of file
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
deleted file mode 100644
index 1e0510c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
+++ /dev/null
@@ -1,413 +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.model;
-
-import java.util.List;
-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.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-/**
- * A server delegate provides the implementation for various 
- * generic and server-type-specific operations for a specific type of server.
- * A server delegate is specified by the
- * <code>class</code> attribute of a <code>serverTypes</code> extension.
- * <p>
- * When the server instance needs to be given a delegate, the delegate class
- * specified for the server type is instantiated with a 0-argument constructor
- * and primed with <code>delegate.initialize(((IServerState)server)</code>, 
- * which it is expected to hang on to. Later, when
- * <code>delegate.dispose()</code> is called as the server instance is
- * being discarded, the delegate is expected to let go of the server instance.
- * </p>
- * <p>
- * ServerDelegate supports an open-ended set of attribute-value pairs. All
- * state stored in this manner will be saved when the server working copy is
- * saved, and persisted across workbench sessions.
- * Server delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions. To save
- * state across workbench sessions, it must be persisted using the
- * attributes.
- * </p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>serverTypes</code> extension point.
- * </p>
- * 
- * @see IServer
- * @see IServerWorkingCopy
- * @since 1.0
- */
-public abstract class ServerDelegate {
-	private Server server;
-	private ServerWorkingCopy serverWC;
-
-	/**
-	 * Delegates must have a public 0-arg constructor.
-	 */
-	public ServerDelegate() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this server delegate with its life-long server instance.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * 
-	 * @param newServer the server instance
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	final void initialize(Server newServer, IProgressMonitor monitor) {
-		server = newServer;
-		if (newServer instanceof ServerWorkingCopy)
-			serverWC = (ServerWorkingCopy) newServer;
-		initialize();
-	}
-
-	/**
-	 * Initializes this server delegate. This method gives delegates a chance
-	 * to do their own initialization.
-	 * <p>
-	 * This method is called by the server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 */
-	protected void initialize() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the server that this server delegate corresponds to.
-	 * 
-	 * @return the server
-	 */
-	public final IServer getServer() {
-		return server;
-	}
-
-	/**
-	 * Returns the server working copy that this server delegate corresponds to.
-	 * 
-	 * @return the server
-	 */
-	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)
-	 */
-	protected final int getAttribute(String id, int defaultValue) {
-		return server.getAttribute(id, 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)
-	 */
-	protected final boolean getAttribute(String id, boolean defaultValue) {
-		return server.getAttribute(id, 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)
-	 */
-	protected final String getAttribute(String id, String defaultValue) {
-		return server.getAttribute(id, 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)
-	 */
-	protected final 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)
-	 */
-	protected final Map getAttribute(String id, Map defaultValue) {
-		return server.getAttribute(id, defaultValue);
-	}
-
-	/**
-	 * Disposes of this server delegate.
-	 * <p>
-	 * This method is called by the web server core framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * Implementations are expected to let go of the delegate's reference
-	 * to the server, deregister listeners, etc.
-	 * </p>
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Returns whether the specified module modifications could be made to this
-	 * server at this time. See the specification of
-	 * {@link IServerAttributes#canModifyModules(IModule[], IModule[], IProgressMonitor)}
-	 * for further details. 
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IServer.canModifyModules</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * [issue: See 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
-	 * @return a status object with code <code>IStatus.OK</code> if the modules
-	 *   can be modified, otherwise a status object indicating why they can't
-	 */
-	public abstract IStatus canModifyModules(IModule[] add, IModule[] remove);
-
-	/**
-	 * Returns the child module(s) of this module. If this module contains other
-	 * modules, it should list those modules. If not, it should return an empty
-	 * list.
-	 * 
-	 * <p>This method should only return the direct children. To obtain the full
-	 * tree of modules if they are multiple levels deep, this method may be
-	 * recursively called on the children.</p>
-	 * 
-	 * @param module a module
-	 * @return the child modules
-	 * @see IServerAttributes#getChildModules(IModule[], IProgressMonitor)
-	 */
-	public abstract IModule[] getChildModules(IModule[] module);
-
-	/**
-	 * Returns the parent module(s) of this module. When determining if a given
-	 * project can run on a server, this method will be used to find the actual
-	 * module(s) that may be run on the server. For instance, a Web module may
-	 * return a list of EAR modules that it is contained in if the server only
-	 * supports configuring EAR modules. If the server supports running a module
-	 * directly, the returned array should contain the module.
-	 * 
-	 * <p>If the module type is not supported, this method will return null or
-	 * an empty array. If the type is normally supported but there is a
-	 * configuration problem or missing parent, etc., this method will fire a
-	 * CoreException that may then be presented to the user.</p>
-	 * 
-	 * <p>If it does return valid parent(s), this method will always return
-	 * the topmost parent module(s), even if there are a few levels
-	 * (a heirarchy) of modules.</p>
-	 * 
-	 * [issue: should the parameter be IModule[]?]
-	 * 
-	 * @param module a module
-	 * @return an array of possible root modules
-	 * @throws CoreException if anything went wrong
-	 * 
-	 * @see org.eclipse.wst.server.core.IServerAttributes#getRootModules(IModule, IProgressMonitor)
-	 */
-	public abstract IModule[] getRootModules(IModule module) throws CoreException;
-
-	/**
-	 * Returns an array of ServerPorts that this server has.
-	 *
-	 * @return the server's ports
-	 */
-	public ServerPort[] getServerPorts() {
-		return null;
-	}
-
-	/**
-	 * Initializes this server with default values. This method is called when
-	 * a new server is created so that the server can be initialized with
-	 * meaningful values.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		// do nothing
-	}
-	
-	/**
-	 * Sets the value of the specified integer-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, int)
-	 */
-	protected final void setAttribute(String id, int value) {
-		serverWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified boolean-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, boolean)
-	 */
-	protected final void setAttribute(String id, boolean value) {
-		serverWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified string-valued attribute of this
-	 * element.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, String)
-	 */
-	protected final void setAttribute(String id, String value) {
-		serverWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified list-valued attribute of this
-	 * element. The list may only contain String values.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, List)
-	 */
-	protected final void setAttribute(String id, List value) {
-		serverWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Sets the value of the specified map-valued attribute of this
-	 * element. The map may only contain String values.
-	 * 
-	 * @param id the attribute id
-	 * @param value the value of the specified attribute
-	 * @see #getAttribute(String, Map)
-	 */
-	protected final void setAttribute(String id, Map value) {
-		serverWC.setAttribute(id, value);
-	}
-
-	/**
-	 * Modifies the list of modules associated with the server.
-	 * See the specification of
-	 * {@link IServerWorkingCopy#modifyModules(IModule[], IModule[], IProgressMonitor)}
-	 * for further details.
-	 * <p>
-	 * This method is called by the web server core framework,
-	 * in response to a call to <code>IServerWorkingCopy.modifyModules</code>.
-	 * Clients should never call this method.
-	 * </p>
-	 * <p>
-	 * This method is called to update the server configuration (if any)
-	 * or update the delegates internal state. Note that the actual list
-	 * of modules is stored on the server and can be accessed at any time
-	 * using server.getModules(). getModules() will not be updated until
-	 * after this method successfully returns.
-	 * </p>
-	 * <p>
-	 * This method will not communicate with the server. After saving,
-	 * publish() can be used to sync up with the server.
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException [missing]
-	 */
-	public abstract void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * This method is called to import the server configuration from the given
-	 * runtime.
-	 * 
-	 * @param runtime a server runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @deprecated should use importRuntimeConfiguration (which can throw a
-	 *    CoreException) instead
-	 */
-	public void importConfiguration(IRuntime runtime, IProgressMonitor monitor) {
-		try {
-			importRuntimeConfiguration(runtime, monitor);
-		} catch (CoreException ce) {
-			// ignore
-		}
-	}
-
-	/**
-	 * This method is called to import the server configuration from the given
-	 * runtime.
-	 * 
-	 * @param runtime a server runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there is any problem importing the configuration
-	 *    from the runtime
-	 */
-	public void importRuntimeConfiguration(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * This method is called whenever the server configuration should be saved.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there was a problem saving
-	 */
-	public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * This method is called whenever the server configuration folder has changed.
-	 * It gives the server a chance to throw out any old data and be ready to
-	 * reload the server configuration when it is needed next.
-	 */
-	public void configurationChanged() {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.html b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.html
deleted file mode 100644
index d0fe412..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css">
-<title>WTP API overview</title>
-</head>
-<body>
-<p>SPI support for the server tools framework.</p>
-<table width="500">
-<tr>
-<td>
-<p>The classes in this package would typically be extended or used by
-SPI clients of the server tools framework who are providing a new server
-type, runtime type, or other extension. These delegates are never visible
-to regular API clients unless explicitly exposed by the provider.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The majority of these classes are delegates to implement one of the
-extension points. View the extension point documentation for further
-details.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.xml b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.xml
deleted file mode 100644
index 4e31203..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-<abstract>SPI support for the server tools framework.</abstract>
-
-<p>The classes in this package would typically be extended or used by
-SPI clients of the server tools framework who are providing a new server
-type, runtime type, or other extension. These delegates are never visible
-to regular API clients unless explicitly exposed by the provider.</p>
-
-<p>The majority of these classes are delegates to implement one of the
-extension points. View the extension point documentation for further
-details.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.html b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.html
deleted file mode 100644
index 236cdb5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css">
-<title>WTP API overview</title>
-</head>
-<body>
-<p>The main server tools framework client API.</p>
-<table width="500">
-<tr>
-<td>
-<p>ServerCore is the main entry-point and provides access to most of the
-remaining API. From here, you can get the existing server runtimes and
-servers, get the available server types, and access interfaces for all
-extension points.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>ServerUtil provides utility and convenience methods for dealing with
-server tools. It provides easy access to modules, server runtimes, and
-what combinations are supported (e.g. which runtimes can be used to
-target a particular project).</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>IRuntime and IServer are the two main API objects. IRuntime is used
-to target projects to a particular server installation and compile/build
-against them. When a runtime is targetted to a particular runtime,
-all of the applicable IRuntimeTargetHandler extensions are called to
-set the classpath or modify other project settings for the runtime.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>IServer is the main server class that clients can use to start/stop
-and publish to servers.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>IModules provide the "content" that can be published to servers.
-See the server tools API overview for more information.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.xml b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.xml
deleted file mode 100644
index 9a254d3..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-<abstract>The main server tools framework client API.</abstract>
-
-<p>ServerCore is the main entry-point and provides access to most of the
-remaining API. From here, you can get the existing server runtimes and
-servers, get the available server types, and access interfaces for all
-extension points.</p>
-
-<p>ServerUtil provides utility and convenience methods for dealing with
-server tools. It provides easy access to modules, server runtimes, and
-what combinations are supported (e.g. which runtimes can be used to
-target a particular project).</p>
-
-<p>IRuntime and IServer are the two main API objects. IRuntime is used
-to target projects to a particular server installation and compile/build
-against them. When a runtime is targetted to a particular runtime,
-all of the applicable IRuntimeTargetHandler extensions are called to
-set the classpath or modify other project settings for the runtime.</p>
-
-<p>IServer is the main server class that clients can use to start/stop
-and publish to servers.</p>
-
-<p>IModules provide the "content" that can be published to servers.
-See the server tools API overview for more information.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java
deleted file mode 100644
index da4acc5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.net.URL;
-/**
- * An HTTP launchable object. Encapsulates a launch of a URL for the Run on Server
- * support.
- * 
- * @since 1.0
- */
-public class HttpLaunchable {
-	private URL url;
-
-	/**
-	 * Create a reference to something accessible via HTTP.
-	 * 
-	 * @param url the URL to the object
-	 */
-	public HttpLaunchable(URL url) {
-		this.url = url;
-	}
-
-	/**
-	 * Return the URL to the object.
-	 * 
-	 * @return the URL to the object
-	 */
-	public URL getURL() {
-		return url;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "HttpLaunchable[url=" + url.toString() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/IStaticWeb.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/IStaticWeb.java
deleted file mode 100644
index 97471a4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/IStaticWeb.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.server.core.util;
-/**
- * A static Web module that could be deployed to Apache or another
- * HTTP server.
- * 
- * @since 1.0
- */
-public interface IStaticWeb {
-	/**
-	 * Returns the context root of the Web.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getContextRoot();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java
deleted file mode 100644
index 88bf49b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java
+++ /dev/null
@@ -1,45 +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.server.core.util;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-/**
- * A dummy module artifact.
- * 
- * @since 1.0
- */
-public class NullModuleArtifact implements IModuleArtifact {
-	private IModule module;
-
-	/**
-	 * Create a new reference to a module.
-	 * 
-	 * @param module the module
-	 */
-	public NullModuleArtifact(IModule module) {
-		this.module = module;
-	}
-
-	/**
-	 * @see IModuleArtifact#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "NullModuleArtifact [module=" + module + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
deleted file mode 100644
index f2b7d9c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.internal.ModuleFile;
-import org.eclipse.wst.server.core.internal.ModuleFolder;
-import org.eclipse.wst.server.core.model.*;
-/**
- * A simple IModuleProject that maps a folder within a project
- * (or the root of the project itself) to the module.
- * 
- * @since 1.0
- */
-public abstract class ProjectModule extends ModuleDelegate {
-	private IProject project;
-
-	/**
-	 * 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
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Helper method - returns the module's id.
-	 * 
-	 * @return the module id
-	 */
-	public String getId() {
-		return getProject().getName();
-		//return getModule().getId();
-	}
-
-	/**
-	 * @see ModuleDelegate#validate()
-	 */
-	public IStatus validate() {
-		return null;
-	}
-
-	/**
-	 * Helper method - returns the module's name.
-	 * 
-	 * @return the module name
-	 */
-	public String getName() {
-		return getProject().getName();
-		//return getModule().getName();
-	}
-	
-	/**
-	 * Returns true if this module currently exists, and false if it has
-	 * been deleted or moved and is no longer represented by this module.
-	 *
-	 * @return boolean
-	 */
-	public boolean exists() {
-		return (getProject() != null && getProject().exists());
-	}
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj == null || !(obj instanceof ProjectModule))
-			return false;
-		
-		ProjectModule dp = (ProjectModule) obj;
-		//if (getFactoryId() != null && !getFactoryId().equals(dp.getFactoryId()))
-		//	return false;
-		
-		if (project != null && project.exists() && !project.equals(dp.getProject()))
-			return false;
-		
-		if (getId() != null && !getId().equals(dp.getId()))
-			return false;
-		
-		return true;
-	}
-
-	/**
-	 * Returns the child modules of this module.
-	 *
-	 * @return an array of child modules
-	 */
-	public IModule[] getChildModules() {
-		return null;
-	}
-
-	/**
-	 * Returns <code>true</code> if this module has a simple structure based on a
-	 * single root folder, and <code>false</code> otherwise.
-	 * <p>
-	 * In a single root structure, all files that are contained within the root folder
-	 * are part of the module, and are already in the correct module structure. No
-	 * module resources exist outside of this single folder.
-	 * </p>
-	 * 
-	 * @return <code>true</code> if this module has a single root structure, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isSingleRootStructure() {
-		return false;
-	}
-
-	/**
-	 * Basic implementation of members() method. Assumes that the entire project should
-	 * be published to a server.
-	 * 
-	 * @see ModuleDelegate#members()
-	 */
-	public IModuleResource[] members() throws CoreException {
-		return getModuleResources(Path.EMPTY, getProject());
-	}
-
-	/**
-	 * Return the module resources for a given path.
-	 * 
-	 * @param path a path
-	 * @param container a container
-	 * @return an array of module resources
-	 * @throws CoreException
-	 */
-	protected IModuleResource[] getModuleResources(IPath path, IContainer container) throws CoreException {
-		IResource[] resources = container.members();
-		if (resources != null) {
-			int size = resources.length;
-			List list = new ArrayList(size);
-			for (int i = 0; i < size; i++) {
-				IResource resource = resources[i];
-				if (resource instanceof IContainer) {
-					IContainer container2 = (IContainer) resource;
-					if (container2 != null && container2.exists()) {
-						ModuleFolder mf = new ModuleFolder(container2, container2.getName(), path);
-						mf.setMembers(getModuleResources(path.append(container2.getName()), container2));
-						list.add(mf);
-					}
-				} else if (resource instanceof IFile) {
-					IFile file = (IFile) resource;
-					if (file != null && file.exists())
-						list.add(new ModuleFile(file, file.getName(), path));
-				}
-			}
-			IModuleResource[] moduleResources = new IModuleResource[list.size()];
-			list.toArray(moduleResources);
-			return moduleResources;
-		}
-		return new IModuleResource[0];
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
deleted file mode 100644
index 1f5d2c6..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-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.internal.ModuleFactory;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.model.ModuleFactoryDelegate;
-/**
- * A helper class for defining a module factory that provides modules
- * based on projects.
- * 
- * @since 1.0
- */
-public abstract class ProjectModuleFactoryDelegate extends ModuleFactoryDelegate {
-	private static List factories = new ArrayList();
-
-	// list of IModules
-	private List modules;
-
-	/**
-	 * Construct a new ProjectModuleFactoryDelegate.
-	 */
-	public ProjectModuleFactoryDelegate() {
-		super();
-		
-		factories.add(this);
-	}
-
-	/**
-	 * Cache any preexisting modules.
-	 */
-	private final void cacheModules() {
-		if (modules != null)
-			return;
-		
-		try {
-			clearCache();
-			IProject[] projects2 = getWorkspaceRoot().getProjects();
-			int size = projects2.length;
-			modules = new ArrayList(size);
-			for (int i = 0; i < size; i++) {
-				//Trace.trace("caching: " + this + " " + projects[i] + " " + isValidModule(projects[i]));
-				if (projects2[i].isAccessible()) {
-					try {
-						IModule[] modules2 = createModules(projects2[i]);
-						if (modules2 != null) {
-							int size2 = modules2.length;
-							for (int j = 0; j < size2; j++)
-								if (modules2[j] != null)
-									modules.add(modules2[j]);
-						}
-					} catch (Throwable t) {
-						Trace.trace(Trace.SEVERE, "Error creating module", t);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error caching modules", e);
-		}
-	}
-
-	/**
-	 * Return the workspace root.
-	 * 
-	 * @return the workspace root
-	 */
-	private static IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * Return the modules provided by this factory.
-	 * 
-	 * @return a possibly-empty array of modules
-	 */
-	public final IModule[] getModules() {
-		cacheModules();
-		
-		IModule[] modules2 = new IModule[modules.size()];
-		modules.toArray(modules2);
-		return modules2;
-	}
-
-	/*
-	 * Temporary method to patch 204165. Do not use, see equivalent API in 2.0.
-	 */
-	public IModule[] getModules204165(IProject project) {
-		return createModules(project);
-	}
-
-	/**
-	 * Handle changes to a project.
-	 * 
-	 * @param project a project
-	 * @param delta a resource delta
-	 */
-	public final static void handleGlobalProjectChange(final IProject project, IResourceDelta delta) {
-		ModuleFactory[] factories2 = ServerPlugin.getModuleFactories();
-		int size = factories2.length;
-		for (int i = 0; i < size; i++) {
-			if (factories2[i].delegate != null && factories2[i].delegate instanceof ProjectModuleFactoryDelegate) {
-				ProjectModuleFactoryDelegate pmfd = (ProjectModuleFactoryDelegate) factories2[i].delegate;
-				if (pmfd.deltaAffectsModules(delta)) {
-					pmfd.modules = null;
-					factories2[i].clearModuleCache();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns <code>true</code> if the delta may have changed modules,
-	 * and <code>false</code> otherwise.
-	 * 
-	 * @param delta a resource delta
-	 * @return <code>true</code> if the delta may have changed modules,
-	 *    and <code>false</code> otherwise
-	 */
-	private final boolean deltaAffectsModules(IResourceDelta delta) {
-		final boolean[] b = new boolean[1];
-		
-		final IPath[] listenerPaths = getListenerPaths();
-		if (listenerPaths == null || listenerPaths.length == 0)
-			return false;
-		final int size = listenerPaths.length;
-		
-		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta2) throws CoreException {
-					if (b[0])
-						return false;
-					//Trace.trace(Trace.FINEST, delta2.getResource() + "  " + delta2.getKind() + " " + delta2.getFlags());
-					boolean ok = false;
-					IPath path = delta2.getProjectRelativePath();
-					for (int i = 0; i < size; i++) {
-						if (listenerPaths[i].equals(path)) {
-							b[0] = true;
-							return false;
-						} else if (path.isPrefixOf(listenerPaths[i])) {
-							ok = true;
-						}
-					}
-					return ok;
-				}
-			});
-		} catch (Exception e) {
-			// ignore
-		}
-		//Trace.trace(Trace.FINEST, "Delta contains change: " + t.b);
-		return b[0];
-	}
-
-	/**
-	 * Clear and cached metadata.
-	 */
-	protected void clearCache() {
-		// ignore
-	}
-
-	/**
-	 * Creates the module for a given project.
-	 * 
-	 * @param project a project to create modules for
-	 * @return a module, or <code>null</code> if there was no module in the project
-	 * @see #createModules(IProject)
-	 * @deprecated Use createModules(IProject) instead, which supports multiple modules
-	 *    per project
-	 */
-	protected IModule createModule(IProject project) {
-		return null;
-	}
-
-	/**
-	 * Creates the modules that are contained within a given project.
-	 * 
-	 * @param project a project to create modules for
-	 * @return a possibly-empty array of modules
-	 */
-	protected IModule[] createModules(IProject project) {
-		IModule module = createModule(project);
-		if (module == null)
-			return new IModule[0];
-		
-		return new IModule[] { module };
-	}
-
-	/**
-	 * Returns the list of resources that the module should listen to
-	 * for state changes. The paths should be project relative paths.
-	 * Subclasses can override this method to provide the paths.
-	 *
-	 * @return a possibly empty array of paths
-	 */
-	protected IPath[] getListenerPaths() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java
deleted file mode 100644
index 276467b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IPublishListener;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Helper class which implements the IPublishListener interface
- * with empty methods.
- * 
- * @see org.eclipse.wst.server.core.IPublishListener
- * @since 1.0
- */
-public class PublishAdapter implements IPublishListener {
-	/**
-	 * @see IPublishListener#publishStarted(IServer)
-	 */
-	public void publishStarted(IServer server) {
-		// do nothing
-	}
-
-	/**
-	 * @see IPublishListener#publishFinished(IServer, IStatus)
-	 */
-	public void publishFinished(IServer server, IStatus status) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/RuntimeLifecycleAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/RuntimeLifecycleAdapter.java
deleted file mode 100644
index 9c6cf8a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/RuntimeLifecycleAdapter.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.server.core.util;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeLifecycleListener;
-/**
- * Helper class which implements the IRuntimeLifecycleListener interface
- * with empty methods.
- * 
- * @see org.eclipse.wst.server.core.IRuntimeLifecycleListener
- * @since 1.0
- */
-public class RuntimeLifecycleAdapter implements IRuntimeLifecycleListener {
-	/**
-	 * @see IRuntimeLifecycleListener#runtimeAdded(IRuntime)
-	 */
-	public void runtimeAdded(IRuntime runtime) {
-		// do nothing
-	}
-
-	/**
-	 * @see IRuntimeLifecycleListener#runtimeChanged(IRuntime)
-	 */
-	public void runtimeChanged(IRuntime runtime) {
-		// do nothing
-	}
-
-	/**
-	 * @see IRuntimeLifecycleListener#runtimeRemoved(IRuntime)
-	 */
-	public void runtimeRemoved(IRuntime runtime) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerLifecycleAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerLifecycleAdapter.java
deleted file mode 100644
index d55279d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerLifecycleAdapter.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.server.core.util;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerLifecycleListener;
-/**
- * Helper class which implements the IServerLifecycleListener interface
- * with empty methods.
- * 
- * @see org.eclipse.wst.server.core.IServerLifecycleListener
- * @since 1.0
- */
-public class ServerLifecycleAdapter implements IServerLifecycleListener {
-	/**
-	 * @see IServerLifecycleListener#serverAdded(IServer)
-	 */
-	public void serverAdded(IServer server) {
-		// do nothing
-	}
-
-	/**
-	 * @see IServerLifecycleListener#serverChanged(IServer)
-	 */
-	public void serverChanged(IServer server) {
-		// do nothing
-	}
-
-	/**
-	 * @see IServerLifecycleListener#serverRemoved(IServer)
-	 */
-	public void serverRemoved(IServer server) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
deleted file mode 100644
index 113ad14..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.ServerSocket;
-import java.net.SocketException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * A utility class for socket-related function. It's main purposes are to find
- * unused ports, check whether a port is in use, and check whether a given
- * address is a local(host) address.
- * 
- * @since 1.0
- */
-public class SocketUtil {
-	private static final Random rand = new Random(System.currentTimeMillis());
-
-	private static List localHostCache;
-
-	private static List addressCache;
-
-	private static Object lock = new Object();
-
-	/**
-	 * 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
-	 * @param high highest possible port number
-	 * @return an usused port number, or <code>-1</code> if no used ports could be found
-	 */
-	public static int findUnusedPort(int low, int high) {
-		if (high < low)
-			return -1;
-		
-		for (int i = 0; i < 10; i++) {
-			int port = getRandomPort(low, high);
-			if (!isPortInUse(port))
-				return port;
-		}
-		return -1;
-	}
-
-	/**
-	 * Return a random port number in the given range.
-	 * 
-	 * @param low lowest possible port number
-	 * @param high highest possible port number
-	 * @return a random port number in the given range
-	 */
-	private static int getRandomPort(int low, int high) {
-		return rand.nextInt(high - low) + low;
-	}
-
-	/**
-	 * Checks to see if the given port number is being used. 
-	 * Returns <code>true</code> if the given port is in use, and <code>false</code>
-	 * otherwise. Retries every 500ms for "count" tries.
-	 *
-	 * @param port the port number to check
-	 * @param count the number of times to retry
-	 * @return boolean <code>true</code> if the port is in use, and
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean isPortInUse(int port, int count) {
-		boolean inUse = isPortInUse(port);
-		while (inUse && count > 0) {
-			try {
-				Thread.sleep(500);
-			} catch (Exception e) {
-				// ignore
-			}
-			inUse = isPortInUse(port);
-			count --;
-		}
-	
-		return inUse;
-	}
-
-	/**
-	 * Checks to see if the given port number is being used.
-	 * Returns <code>true</code> if the given port is in use, and <code>false</code>
-	 * otherwise.
-	 *
-	 * @param port the port number to check
-	 * @return boolean <code>true</code> if the port is in use, and
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean isPortInUse(int port) {
-		ServerSocket s = null;
-		try {
-			s = new ServerSocket(port);
-		} catch (SocketException e) {
-			return true;
-		} catch (IOException e) {
-			return true;
-		} catch (Exception e) {
-			return true;
-		} finally {
-			if (s != null) {
-				try {
-					s.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Checks if the given host (name, fully qualified name, or IP address) is
-	 * referring to the local machine.
-	 * <p>
-	 * The first time this method is called (or the first call after each time
-	 * the network configuration has changed, e.g. by the user switching from a
-	 * wired connection to wireless) a background process is used to cache the
-	 * network information. On most machines the network information will be found
-	 * quickly and the results of this call will be returned immediately.
-	 * </p><p>
-	 * On machines where the network configuration of the machine is bad or the
-	 * network has problems, this first method call will take at most 250ms, but
-	 * the results may be incorrect (incomplete).
-	 * </p><p>
-	 * All subsequent calls (until the network configuration changes) will
-	 * return very quickly. If the background process is still running it will
-	 * continue to fill the cache and each subsequent call to this method may be
-	 * more correct.
-	 * </p>
-	 * 
-	 * @param host a hostname or IP address
-	 * @return <code>true</code> if the given host is localhost, and
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean isLocalhost(String host) {
-		if (host == null)
-			return false;
-		
-		if ("localhost".equals(host) || "127.0.0.1".equals(host))
-			return true;
-		
-		// check if cache is ok
-		try {
-			// get network interfaces
-			final List currentAddresses = new ArrayList();
-			currentAddresses.add(InetAddress.getLocalHost());
-			Enumeration nis = NetworkInterface.getNetworkInterfaces();
-			while (nis.hasMoreElements()) {
-				NetworkInterface inter = (NetworkInterface) nis.nextElement();
-				Enumeration ias = inter.getInetAddresses();
-				while (ias.hasMoreElements())
-					currentAddresses.add(ias.nextElement());
-			}
-			
-			// check if cache is empty or old and refill it if necessary
-			if (addressCache == null || !addressCache.containsAll(currentAddresses) || !currentAddresses.containsAll(addressCache)) {
-				addressCache = currentAddresses;
-				final List addressList = new ArrayList(currentAddresses.size() * 3);
-				Iterator iter = currentAddresses.iterator();
-				while (iter.hasNext()) {
-					InetAddress addr = (InetAddress) iter.next();
-					String a = addr.getHostAddress();
-					if (a != null && !addressList.contains(a))
-						addressList.add(a);
-				}
-				synchronized (lock) {
-					localHostCache = addressList;
-				}
-				
-				Thread cacheThread = new Thread("Caching localhost information") {
-					public void run() {
-						Iterator iter = currentAddresses.iterator();
-						while (iter.hasNext()) {
-							InetAddress addr = (InetAddress) iter.next();
-							String host = addr.getHostName();
-							String host2 = addr.getCanonicalHostName();
-							synchronized (lock) {
-								if (host != null && !addressList.contains(host))
-									addressList.add(host);
-								if (host2 != null && !addressList.contains(host2))
-									addressList.add(host2);
-							}
-						}
-					}
-				};
-				cacheThread.setDaemon(true);
-				cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
-				cacheThread.start();
-				cacheThread.join(250);
-			}
-		} catch (Exception e) {
-			// ignore
-			Trace.trace(Trace.WARNING, "Localhost caching failure", e);
-		}
-		
-		if (localHostCache == null)
-			return false;
-		
-		synchronized (lock) {
-			Iterator iterator = localHostCache.iterator();
-			while (iterator.hasNext()) {
-				if (host.equals(iterator.next()))
-					return true;
-			}
-		}
-		
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/WebResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/WebResource.java
deleted file mode 100644
index 4863f75..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/WebResource.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.util;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-/**
- * A Web module resource.
- * 
- * @since 1.0
- */
-public class WebResource implements IModuleArtifact {
-	private IModule module;
-	private IPath path;
-
-	/**
-	 * Create a new reference to a Web resource (HTML, GIF, etc. on a server).
-	 * 
-	 * @param module a module
-	 * @param path a relative path within the module
-	 */
-	public WebResource(IModule module, IPath path) {
-		this.module = module;
-		this.path = path;
-	}
-
-	/**
-	 * @see IModuleArtifact#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Return the relative path to the artifact within the module.
-	 * 
-	 * @return the relative path
-	 */
-	public IPath getPath() {
-		return path;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "WebResource [module=" + module + ", path=" + path + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.html b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.html
deleted file mode 100644
index 41d3ed6..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css">
-<title>WTP API overview</title>
-</head>
-<body>
-<p>Utility classes for the server tools framework.</p>
-<table width="500">
-<tr>
-<td>
-<p>PingThread is a utility class for pinging a server to determine if
-it is running and updating the server's state.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>SocketUtil contains utility methods for determining if ports are
-free and whether a given hostname is a local hostname.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The four XXXAdapter classes are implementations of server tools
-listener interfaces with the method bodies stubbed in; they can be
-subclassed by clients who only want to implement a single listener
-interface method.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>ServerPort, Task, and TaskModel are standard implementations of
-other interface classes.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.xml b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.xml
deleted file mode 100644
index ffb2444..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-<abstract>Utility classes for the server tools framework.</abstract>
-
-<p>PingThread is a utility class for pinging a server to determine if
-it is running and updating the server's state.</p>
-
-<p>SocketUtil contains utility methods for determining if ports are
-free and whether a given hostname is a local hostname.</p>
-
-<p>The four XXXAdapter classes are implementations of server tools
-listener interfaces with the method bodies stubbed in; they can be
-subclassed by clients who only want to implement a single listener
-interface method.</p>
-
-<p>ServerPort, Task, and TaskModel are standard implementations of
-other interface classes.</p>
-
-</body>
-</html>
\ No newline at end of file