This commit was manufactured by cvs2svn to create tag 'v20120308_1349'.
diff --git a/features/org.eclipse.wst.server_core.feature.patch/.project b/features/org.eclipse.wst.server_core.feature.patch/.project
deleted file mode 100644
index b93c3fa..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_core.feature.patch</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.server_core.feature.patch/build.properties b/features/org.eclipse.wst.server_core.feature.patch/build.properties
deleted file mode 100644
index cd1f9c4..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = feature.xml,\
-               license.html,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
-src.includes = license.html,\
-               feature.xml,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
diff --git a/features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html b/features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html
deleted file mode 100644
index e9540d9..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Build" content="Build">
-   <title>WTP 3.2.5 Patches</title>
-</head>
-
-<body>
-
-<h1>WTP 3.2.5 Patches</h1>
-
-<h2>Feature Patched: org.eclipse.wst.server_core.feature</h2>
-<h3>Plugin(s) replaced:</h3>
-<ul><li>org.eclipse.wst.server.core</li></ul>
-<p>Bug <a href='https://bugs.eclipse.org/364482'>364482</a>. A race condition could occur in Server code</p>
-<p>Bug <a href='https://bugs.eclipse.org/370832'>370832</a>. Auto publish will not triggered for structure changes</p>
-<p>Bug <a href='https://bugs.eclipse.org/370992'>370992</a>. Extensible Server Start Jobs</p>
-
-
-</body></html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_core.feature.patch/eclipse_update_120.jpg b/features/org.eclipse.wst.server_core.feature.patch/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_core.feature.patch/epl-v10.html b/features/org.eclipse.wst.server_core.feature.patch/epl-v10.html
deleted file mode 100644
index abeecc4..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/epl-v10.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<h2>Eclipse Public License - v 1.0</h2>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.server_core.feature.patch/feature.properties b/features/org.eclipse.wst.server_core.feature.patch/feature.properties
deleted file mode 100644
index ebad37a..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/feature.properties
+++ /dev/null
@@ -1,175 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Server Core Patches
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=\
-Contains fixes described in the following bugzilla(s):\n\
-\n\
-Bug https://bugs.eclipse.org/364482 A race condition could occur in Server code\n\
-Bug https://bugs.eclipse.org/370832 Auto publish will not triggered for structure changes\n\
-Bug https://bugs.eclipse.org/370992 Extensible Server Start Jobs\n\
-\n\
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2010 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_core.feature.patch/feature.xml b/features/org.eclipse.wst.server_core.feature.patch/feature.xml
deleted file mode 100644
index e148ee8..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/feature.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_core.feature.patch"
-    label="%featureName"
-    version="3.2.5.qualifier"
-    provider-name="%providerName">
-
-    <description>%description</description>
-
-    <copyright>%copyright</copyright>
-
-    <license url="%licenseURL">%license</license>
-
-   <requires>
-      <import feature="org.eclipse.wst.server_core.feature" version="3.2.5.v20110729_1202-30F8_8s7355463Ha2845" patch="true"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.server.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_core.feature.patch/license.html b/features/org.eclipse.wst.server_core.feature.patch/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath b/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
deleted file mode 100644
index acf166f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="monitorui/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore b/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore
deleted file mode 100644
index 59f65bf..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-monitorui.jar
-build.xml
-temp.folder
-org.eclipse.wst.internet.monitor.ui_3.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.options b/plugins/org.eclipse.wst.internet.monitor.ui/.options
deleted file mode 100644
index 6f0e9ee..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.options
+++ /dev/null
@@ -1,10 +0,0 @@
-# Debugging options for the org.eclipse.wst.internet.monitor.ui plugin
-
-# Turn on general tracing
-org.eclipse.wst.internet.monitor.ui/debug=true
-
-# Tracing options
-org.eclipse.wst.internet.monitor.ui/config=false
-org.eclipse.wst.internet.monitor.ui/finest=false
-org.eclipse.wst.internet.monitor.ui/warning=false
-org.eclipse.wst.internet.monitor.ui/severe=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.project b/plugins/org.eclipse.wst.internet.monitor.ui/.project
deleted file mode 100644
index c13081f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.internet.monitor.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Nov 10 17:11:35 HST 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2920850..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Thu Sep 13 15:25:06 EDT 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=ignore
-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=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-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=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-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=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-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=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-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=error
-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.5
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 3dffa25..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:16:28 EST 2007
-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.internet.monitor.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Sat Apr 22 18:36:14 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 81e4295..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.internet.monitor.ui; singleton:=true
-Bundle-Version: 1.0.408.qualifier
-Bundle-Activator: org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.internet.monitor.ui.internal;x-internal:=true,
- org.eclipse.wst.internet.monitor.ui.internal.provisional;x-internal:=true,
- org.eclipse.wst.internet.monitor.ui.internal.view;x-internal:=true,
- org.eclipse.wst.internet.monitor.ui.internal.viewers;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.103,2.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/about.html b/plugins/org.eclipse.wst.internet.monitor.ui/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/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>June, 2008</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.internet.monitor.ui/build.properties b/plugins/org.eclipse.wst.internet.monitor.ui/build.properties
deleted file mode 100644
index 1fddcd7..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/build.properties
+++ /dev/null
@@ -1,22 +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
-###############################################################################
-bin.includes = plugin.xml,\
-               .,\
-               plugin.properties,\
-               icons/,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/
-source.. = monitorui/
-output.. = bin/
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif
deleted file mode 100644
index 389954f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif
deleted file mode 100644
index fb20c38..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/pin.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif
deleted file mode 100644
index e334e9f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif
deleted file mode 100644
index c374f13..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif
deleted file mode 100644
index 3bf98c0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif
deleted file mode 100644
index 6d71a8b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/pin.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/pin.gif
deleted file mode 100644
index 61615d5..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif
deleted file mode 100644
index 06e0c73..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif
deleted file mode 100644
index 389954f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif
deleted file mode 100644
index fb20c38..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/pin.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif
deleted file mode 100644
index cf62b63..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif
deleted file mode 100644
index e334e9f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif
deleted file mode 100644
index d044e59..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif
deleted file mode 100644
index c374f13..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif
deleted file mode 100644
index 42e5f31..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif
deleted file mode 100644
index 2ff3974..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif
deleted file mode 100644
index 8a6e219..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java
deleted file mode 100644
index df1d1c7..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-/**
- * Constant ids for context help.
- */
-public interface ContextIds {
-	public static final String VIEW = MonitorUIPlugin.PLUGIN_ID + ".tmvw0000";
-	public static final String VIEW_TREE = MonitorUIPlugin.PLUGIN_ID + ".tmvw0002";
-	public static final String VIEW_REQUEST = MonitorUIPlugin.PLUGIN_ID + ".tmvw0004";
-	public static final String VIEW_RESPONSE = MonitorUIPlugin.PLUGIN_ID + ".tmvw0006";
-
-	public static final String PREF = MonitorUIPlugin.PLUGIN_ID + ".tmpr0000";
-	public static final String PREF_SHOW = MonitorUIPlugin.PLUGIN_ID + ".tmpr0002";
-	public static final String PREF_MONITORS = MonitorUIPlugin.PLUGIN_ID + ".tmpr0004";
-	public static final String PREF_DIALOG = MonitorUIPlugin.PLUGIN_ID + ".tmpr0006";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
deleted file mode 100644
index e95c439..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *    Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String editMonitor;
-	public static String newMonitor;
-	public static String localPort;
-	public static String remoteHost;
-	public static String remotePort;
-	public static String remoteGroup;
-	public static String connectionTimeout;
-	public static String autoStart;
-	public static String parseType;
-	public static String errorDialogTitle;
-	public static String preferenceDescription;
-	public static String prefShowView;
-	public static String monitorList;
-	public static String columnStatus;
-	public static String columnRemote;
-	public static String columnType;
-	public static String columnLocal;
-	public static String columnAutoStart;
-	public static String add;
-	public static String edit;
-	public static String remove;
-	public static String start;
-	public static String stop;
-	public static String started;
-	public static String stopped;
-	public static String headerLabel;
-	public static String imageViewInvalid;
-	public static String xmlViewInvalid;
-	public static String htmlViewInvalid;
-	public static String viewDateFormat;
-	public static String viewTime;
-	public static String viewResponseTime;
-	public static String viewType;
-	public static String viewResponseTimeFormat;
-	public static String viewSize;
-	public static String viewEncoding;
-	public static String viewResponse;
-	public static String viewRequest;
-	public static String actionSortByResponseTime;
-	public static String viewSizeFormat;
-	public static String actionClearToolTip;
-	public static String actionShowHeader;
-	public static String actionPin;
-	public static String actionProperties;
-	public static String yes;
-	public static String no;
-	public static String defaultEncodingOption;
-
-	static {
-		NLS.initializeMessages(MonitorUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
deleted file mode 100644
index 09c7175..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
+++ /dev/null
@@ -1,81 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2012 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
-###############################################################################
-
-# --------------- TCP/IP Monitor view ---------------
-
-# Labels
-viewRequest=Request: {0}
-viewResponse=Response: {0}
-viewTime=Time of request: {0}
-viewType=Type: {0}
-viewResponseTime=Response Time: {0}
-viewSize=Size: {0}
-viewResponseTimeFormat={0} ms
-viewSizeFormat={0} ({1}) bytes
-viewEncoding=Encoding:
-
-# The following string allows you to change the time format of the TCP/IP monitor
-# view. It uses the formatting options found in java.text.SimpleDateFormat:
-#   k - hour in day, h - hour in am/pm, m - minute, s - second, S - millisecond,
-#   a - am/pm marker. use duplicate chars (e.g. 'mm') to fill with zeros (i.e. 
-#   '01' instead of '1')
-viewDateFormat=h:mm.s.S a
-
-# Actions
-actionSortByResponseTime=Sort By Response Time
-actionClearToolTip=Clear
-actionShowHeader=Show Header
-actionPin=Pin Selection
-actionProperties=Properties
-
-
-# --------------- RequestResponse Viewers ---------------
-headerLabel=Header: {0}
-imageViewInvalid=<Not a valid image file>
-xmlViewInvalid=<Not a valid XML file>
-htmlViewInvalid=<Not a valid HTML file>
-
-# --------------- Errors ---------------
-errorDialogTitle=Error
-
-# --------------- General UI ---------------
-monitorList=TCP/IP &Monitors:
-columnLocal=Local Port
-columnRemote=Host name
-columnType=Type
-columnStatus=Status
-columnAutoStart=Auto-start
-add=&Add...
-edit=&Edit...
-remove=&Remove
-start=&Start
-stop=S&top
-started=Started
-stopped=Stopped
-yes=Yes
-no=No
-
-newMonitor=New Monitor
-editMonitor=Edit Monitor
-
-localPort=&Local monitoring port:
-remoteGroup=Monitor
-remoteHost=&Host name:
-remotePort=&Port:
-parseType=&Type:
-autoStart=&Start monitor automatically
-connectionTimeout=T&imeout (in milliseconds):
-
-preferenceDescription=Configure TCP/IP monitors on local and remote ports.
-prefShowView=S&how the TCP/IP Monitor view when there is activity
-
-defaultEncodingOption=<None>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java
deleted file mode 100644
index e87b3cb..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
-/**
- * Monitor content provider.
- */
-public class MonitorContentProvider implements IStructuredContentProvider {
-	/**
-	 * MonitorContentProvider constructor comment.
-	 */
-	public MonitorContentProvider() {
-		super();
-	}
-
-	/*
-	 * Disposes of this content provider.  
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/*
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 */
-	public Object[] getElements(Object inputElement) {
-		return MonitorCore.getMonitors();
-	}
-
-	/*
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
deleted file mode 100644
index b4ba878..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
+++ /dev/null
@@ -1,301 +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
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Spinner;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
-/**
- * 
- */
-public class MonitorDialog extends Dialog {
-	protected IMonitorWorkingCopy monitor;
-	protected boolean isEdit;
-
-	private Button okButton;
-	private Spinner monitorPort;
-	private Label validateLabel;
-
-	interface StringModifyListener {
-		public void valueChanged(String s);
-	}
-
-	interface BooleanModifyListener {
-		public void valueChanged(boolean b);
-	}
-
-	interface TypeModifyListener {
-		public void valueChanged(IProtocolAdapter type);
-	}
-
-	interface IntModifyListener {
-		public void valueChanged(int i);
-	}
-
-	/**
-	 * Create a new monitor dialog.
-	 * 
-	 * @param parentShell
-	 * @param monitor
-	 */
-	public MonitorDialog(Shell parentShell, IMonitorWorkingCopy monitor) {
-		super(parentShell);
-		this.monitor = monitor;
-		isEdit = true;
-	}
-	
-	public MonitorDialog(Shell parentShell) {
-		super(parentShell);
-		monitor = MonitorCore.createMonitor();
-		isEdit = false;
-	}
-	
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (isEdit)
-			shell.setText(Messages.editMonitor);
-		else
-			shell.setText(Messages.newMonitor);
-	}
-
-	protected Button createCheckBox(Composite comp, String txt, boolean selected, final BooleanModifyListener listener) {
-		final Button button = new Button(comp, SWT.CHECK);
-		button.setText(txt);
-		button.setSelection(selected);
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_CENTER));
-		if (listener != null)
-			button.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent arg0) {
-					listener.valueChanged(button.getSelection());
-				}
-			});
-		return button;
-	}
-
-	protected Label createLabel(Composite comp, String txt) {
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(txt);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_CENTER));
-		return label;
-	}
-	
-	protected Text createText(Composite comp, String txt, final StringModifyListener listener) {
-		final Text text = new Text(comp, SWT.BORDER);
-		if (txt != null)
-			text.setText(txt);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		data.widthHint = 150;
-		text.setLayoutData(data);
-		if (listener != null)
-			text.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {	
-					listener.valueChanged(text.getText());
-				}
-			});
-		return text;
-	}
-
-	protected Spinner createSpinner(Composite comp, int v, final IntModifyListener listener) {
-		final Spinner s = new Spinner(comp, SWT.BORDER);
-		s.setMinimum(0);
-		s.setMaximum(Integer.MAX_VALUE);
-		if (v != -1)
-			s.setSelection(v);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		data.widthHint = 150;
-		s.setLayoutData(data);
-		if (listener != null)
-			s.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {	
-					listener.valueChanged(s.getSelection());
-				}
-			});
-		return s;
-	}
-
-	protected Combo createTypeCombo(Composite comp, final String[] types, String sel, final StringModifyListener listener) {
-		final Combo combo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY);
-		int size = types.length;
-		String[] items = new String[size];
-		int index = -1;
-		for (int i = 0; i < size; i++) {
-			items[i] = types[i];
-			if (types[i].equals(sel))
-				index = i;
-		}
-		combo.setItems(items);
-		if (index >= 0)
-			combo.select(index);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		data.widthHint = 150;
-		combo.setLayoutData(data);
-		if (listener != null)
-			combo.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {	
-					listener.valueChanged(types[combo.getSelectionIndex()]);
-				}
-				public void widgetDefaultSelected(SelectionEvent e) {
-					widgetSelected(e);
-				}
-			});
-		return combo;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		((GridLayout)composite.getLayout()).numColumns = 2;
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF_DIALOG);
-		
-		createLabel(composite, Messages.localPort);
-		monitorPort = createSpinner(composite, monitor.getLocalPort(), new IntModifyListener() {
-			public void valueChanged(int i) {
-				try {
-					monitor.setLocalPort(i);
-				} catch (Exception e) {
-					// ignore
-				}
-				validateFields();
-			}
-		});
-		
-		Group group = new Group(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		group.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		group.setLayoutData(data);
-		group.setText(Messages.remoteGroup);
-		
-		createLabel(group, Messages.remoteHost);
-		createText(group, monitor.getRemoteHost(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				monitor.setRemoteHost(s);
-				validateFields();
-			}
-		});
-		
-		createLabel(group, Messages.remotePort);
-		createSpinner(group, monitor.getRemotePort(), new IntModifyListener() {
-			public void valueChanged(int i) {
-				try {
-					monitor.setRemotePort(i);
-				} catch (Exception e) {
-					// ignore
-				}
-				validateFields();
-			}
-		});
-		
-		createLabel(group, Messages.parseType);
-		createTypeCombo(group, new String[] {"TCP/IP","HTTP"}, monitor.getProtocol(), new StringModifyListener() {
-			public void valueChanged(String protocolId) {
-				monitor.setProtocol(protocolId);
-			}
-		});
-		
-		createLabel(group, Messages.connectionTimeout);
-		createSpinner(group, monitor.getTimeout(), new IntModifyListener() {
-			public void valueChanged(int i) {
-				monitor.setTimeout(i);
-				validateFields();
-			}
-		});
-		
-		createLabel(group, "");
-		createCheckBox(group, Messages.autoStart, monitor.isAutoStart(), new BooleanModifyListener() {
-			public void valueChanged(boolean b) {
-				monitor.setAutoStart(b);
-			}
-		});
-		
-		validateLabel = createLabel(composite, "");
-		validateLabel.setForeground(composite.getDisplay().getSystemColor(SWT.COLOR_RED));
-		
-		return composite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		IMonitor savedMonitor = null;
-		try {
-			savedMonitor = monitor.save();
-		} catch (CoreException ce) {
-			ErrorDialog.openError(getShell(), Messages.errorDialogTitle, ce.getLocalizedMessage(), ce.getStatus());
-			return;
-		}
-		if (savedMonitor != null && savedMonitor.isAutoStart())
-			try {
-				savedMonitor.start();
-			} catch (CoreException ce) {
-				ErrorDialog.openError(getShell(), Messages.errorDialogTitle, ce.getLocalizedMessage(), ce.getStatus());
-			}
-		super.okPressed();
-	}
-
-	protected Control createButtonBar(Composite parent) {
-		Control buttonControl = super.createButtonBar(parent);
-		validateFields();
-		return buttonControl;
-	}
-
-	private void setOKButtonEnabled(boolean curIsEnabled) {
-		if (okButton == null)
-			okButton = getButton(IDialogConstants.OK_ID);
-		
-		if (okButton != null)
-			okButton.setEnabled(curIsEnabled);
-	}
-
-	protected void validateFields() {
-		if (monitorPort == null)
-			return;
-		
-		boolean result = true;
-		IStatus status = monitor.validate();
-		if (!status.isOK()) {
-			if (monitor.getRemoteHost() == null || monitor.getRemoteHost().length() < 1)
-				validateLabel.setText("");
-			else
-				validateLabel.setText(status.getMessage());
-			result = false;
-		} else
-			validateLabel.setText("");
-		
-		setOKButtonEnabled(result);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
deleted file mode 100644
index c027481..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
-/**
- * The preference page that holds monitor properties.
- */
-public class MonitorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	protected Button displayButton;
-	
-	protected Table table;
-	protected TableViewer tableViewer;
-	
-	protected Button edit;
-	protected Button remove;
-	protected Button start;
-	protected Button stop;
-	
-	protected List<Object> selection2;
-
-	/**
-	 * MonitorPreferencePage constructor comment.
-	 */
-	public MonitorPreferencePage() {
-		super();
-		noDefaultAndApplyButton();
-	}
-
-	/**
-	 * Create the preference options.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(Messages.preferenceDescription);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-	
-		displayButton = new Button(composite, SWT.CHECK);
-		displayButton.setText(Messages.prefShowView);
-		displayButton.setSelection(MonitorUIPlugin.getShowOnActivityPreference());
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		data.verticalIndent = 8;
-		displayButton.setLayoutData(data);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(displayButton, ContextIds.PREF_SHOW);
-		
-		label = new Label(composite, SWT.WRAP);
-		label.setText(Messages.monitorList);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.verticalIndent = 8;
-		label.setLayoutData(data);
-		
-		table = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 350;
-		table.setLayoutData(data);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(table, ContextIds.PREF_MONITORS);
-		
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		
-		TableLayout tableLayout = new TableLayout();
-		
-		TableColumn statusColumn = new TableColumn(table, SWT.NONE);
-		statusColumn.setText(Messages.columnStatus);
-		ColumnWeightData colData = new ColumnWeightData(6, 60, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn remoteColumn = new TableColumn(table, SWT.NONE);
-		remoteColumn.setText(Messages.columnRemote);
-		colData = new ColumnWeightData(12, 120, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn httpColumn = new TableColumn(table, SWT.NONE);
-		httpColumn.setText(Messages.columnType);
-		colData = new ColumnWeightData(5, 50, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn localColumn = new TableColumn(table, SWT.NONE);
-		localColumn.setText(Messages.columnLocal);
-		colData = new ColumnWeightData(6, 60, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn startOnStartupColumn = new TableColumn(table, SWT.NONE);
-		startOnStartupColumn.setText(Messages.columnAutoStart);
-		colData = new ColumnWeightData(7, 70, true);
-		tableLayout.addColumnData(colData);
-		
-		table.setLayout(tableLayout);
-		
-		tableViewer = new TableViewer(table);
-		tableViewer.setContentProvider(new MonitorContentProvider());
-		tableViewer.setLabelProvider(new MonitorTableLabelProvider());
-		tableViewer.setInput("root");
-		
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				setSelection(event.getSelection());
-			}
-		});
-		
-		Composite buttonComp = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-		
-		Button add = SWTUtil.createButton(buttonComp, Messages.add);
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MonitorDialog dialog = new MonitorDialog(getShell());
-				if (dialog.open() == Window.CANCEL)
-					return;
-				tableViewer.refresh();
-				
-				IMonitor[] monitors = MonitorCore.getMonitors();
-				Object monitor = monitors[monitors.length - 1];
-				tableViewer.setSelection(new StructuredSelection(monitor));
-			}
-		});		
-		
-		edit = SWTUtil.createButton(buttonComp, Messages.edit);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IMonitor monitor = (IMonitor) getSelection().get(0);
-				IMonitorWorkingCopy wc = monitor.createWorkingCopy();
-				
-				MonitorDialog dialog = new MonitorDialog(getShell(), wc);
-				if (dialog.open() != Window.CANCEL) {
-					try {
-						tableViewer.refresh(wc.save());
-					} catch (Exception ex) {
-						// ignore
-					}
-				}
-			}
-		});
-		edit.setEnabled(false);
-		
-		remove = SWTUtil.createButton(buttonComp, Messages.remove);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Iterator iterator = getSelection().iterator();
-				while (iterator.hasNext()) {
-					IMonitor monitor = (IMonitor) iterator.next();
-					try {
-						monitor.delete();
-					} catch (Exception ex) {
-						// ignore
-					}
-					tableViewer.remove(monitor);
-					
-					IMonitor[] monitors = MonitorCore.getMonitors();
-					if (monitors.length > 0) {
-						Object monitor2 = monitors[monitors.length - 1];
-						tableViewer.setSelection(new StructuredSelection(monitor2));
-					}
-				}
-			}
-		});
-		remove.setEnabled(false);
-		
-		start = SWTUtil.createButton(buttonComp, Messages.start);
-		data = (GridData) start.getLayoutData();
-		data.verticalIndent = 9;
-		start.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Iterator iterator = getSelection().iterator();
-				while (iterator.hasNext()) {
-					IMonitor monitor = (IMonitor) iterator.next();
-					try {
-						monitor.start();
-					} catch (CoreException ce) {
-						MessageDialog.openError(getShell(), Messages.errorDialogTitle, ce.getStatus().getMessage());
-					} catch (Exception ce) {
-						MessageDialog.openError(getShell(), Messages.errorDialogTitle, ce.getMessage());
-					}
-					tableViewer.refresh(monitor, true);
-				}
-				tableViewer.setSelection(tableViewer.getSelection());
-			}
-		});
-		start.setEnabled(false);
-		
-		stop = SWTUtil.createButton(buttonComp, Messages.stop);
-		stop.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Iterator iterator = getSelection().iterator();
-				while (iterator.hasNext()) {
-					IMonitor monitor = (IMonitor) iterator.next();
-					try {
-						monitor.stop();
-					} catch (Exception ex) {
-						// ignore
-					}
-					tableViewer.refresh(monitor, true);
-				}
-				tableViewer.setSelection(tableViewer.getSelection());
-			}
-		});
-		stop.setEnabled(false);
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-
-	/**
-	 * Initializes this preference page using the passed workbench.
-	 *
-	 * @param workbench the current workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 * <p>
-	 * This is a framework hook method for subclasses to do special things when
-	 * the Defaults button has been pressed.
-	 * Subclasses may override, but should call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		displayButton.setSelection(MonitorUIPlugin.getDefaultShowOnActivityPreference());
-		super.performDefaults();
-	}
-
-	/** 
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		MonitorUIPlugin.setShowOnActivityPreference(displayButton.getSelection());
-		MonitorUIPlugin.getInstance().savePluginPreferences();
-		return true;
-	}
-	
-	protected List getSelection() {
-		return selection2;
-	}
-
-	protected void setSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		Iterator iterator = sel.iterator();
-		selection2 = new ArrayList<Object>();
-		
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IMonitor)
-				selection2.add(obj);
-		}
-		
-		if (!selection2.isEmpty()) {
-			remove.setEnabled(true);
-			
-			boolean allStopped = true;
-			boolean allStarted = true;
-			
-			iterator = selection2.iterator();
-			while (iterator.hasNext()) {
-				IMonitor monitor = (IMonitor) iterator.next();
-				if (monitor.isRunning())
-					allStopped = false;
-				else
-					allStarted = false;
-			}
-			start.setEnabled(allStopped);
-			stop.setEnabled(allStarted);
-			edit.setEnabled(selection2.size() == 1 && allStopped);
-		} else {
-			edit.setEnabled(false);
-			remove.setEnabled(false);
-			start.setEnabled(false);
-			stop.setEnabled(false);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), ContextIds.PREF);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
deleted file mode 100644
index b875325..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
+++ /dev/null
@@ -1,100 +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
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-/**
- * Monitor table label provider.
- */
-public class MonitorTableLabelProvider implements ITableLabelProvider {
-	/**
-	 * MonitorTableLabelProvider constructor comment.
-	 */
-	public MonitorTableLabelProvider() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnImage(Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (columnIndex == 0) {
-			IMonitor monitor = (IMonitor) element;
-			if (monitor.isRunning())
-				return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_MONITOR_ON);
-			return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_MONITOR_OFF);
-		}
-		return null;
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnText(Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		IMonitor monitor = (IMonitor) element;
-		if (columnIndex == 0) {
-			if (monitor.isRunning())
-				return Messages.started;
-			return Messages.stopped;
-		} else if (columnIndex == 1)
-			return monitor.getRemoteHost() + ":" + monitor.getRemotePort();
-		else if (columnIndex == 2)
-			return monitor.getProtocol();
-		else if (columnIndex == 3)
-			return monitor.getLocalPort() + "";
-		else if (columnIndex == 4) {
-			if (monitor.isAutoStart())
-				return Messages.yes;
-			return Messages.no;
-		} else
-			return "X";
-	}
-
-	protected String notNull(String s) {
-		if (s == null)
-			return "";
-		
-		return s;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
deleted file mode 100644
index d292295..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.*;
-import java.util.zip.GZIPInputStream;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.*;
-import org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView;
-import org.osgi.framework.BundleContext;
-/**
- * The TCP/IP monitor UI plugin.
- */
-public class MonitorUIPlugin extends AbstractUIPlugin {
-	public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.ui";
-	
-	private static final byte[] BUFFER = new byte[4096];
-
-	private static MonitorUIPlugin singleton;
-
-	protected Map<String, ImageDescriptor> imageDescriptors = new HashMap<String, ImageDescriptor>();
-
-	private static final String lineSeparator = System.getProperty("line.separator");
-
-	private static URL ICON_BASE_URL;
-	private static final String URL_CLCL = "clcl16/";
-	private static final String URL_ELCL = "elcl16/";
-	private static final String URL_DLCL = "dlcl16/";
-	private static final String URL_OBJ = "obj16/";
-
-	public static final String IMG_ELCL_SORT_RESPONSE_TIME = "IMG_ELCL_SORT_RESPONSE_TIME";
-	public static final String IMG_ELCL_CLEAR = "IMG_ELCL_CLEAR";
-	public static final String IMG_ELCL_HTTP_HEADER = "IMG_ELCL_HTTP_HEADER";
-	public static final String IMG_ELCL_PIN = "IMG_ELCL_PIN";
-	public static final String IMG_CLCL_SORT_RESPONSE_TIME = "IMG_CLCL_SORT_RESPONSE_TIME";
-	public static final String IMG_CLCL_CLEAR = "IMG_CLCL_CLEAR";
-	public static final String IMG_CLCL_HTTP_HEADER = "IMG_CLCL_HTTP_HEADER";
-	public static final String IMG_CLCL_PIN = "IMG_CLCL_PIN";
-	public static final String IMG_DLCL_SORT_RESPONSE_TIME = "IMG_DLCL_SORT_RESPONSE_TIME";
-	public static final String IMG_DLCL_CLEAR = "IMG_DLCL_CLEAR";
-	public static final String IMG_DLCL_HTTP_HEADER = "IMG_DLCL_HTTP_HEADER";
-	public static final String IMG_DLCL_PIN = "IMG_DLCL_PIN";
-
-	public static final String IMG_REQUEST_RESPONSE = "requestResponse";
-	public static final String IMG_RESEND_REQUEST_RESPONSE = "resendRequestResponse";
-
-	public static final String IMG_HOST = "host";
-	public static final String IMG_MONITOR_ON = "monitorOn";
-	public static final String IMG_MONITOR_OFF = "monitorOff";
-
-	private static final String SHOW_VIEW_ON_ACTIVITY = "show-view";
-	private static final String PIN_VIEW = "pin-view";
-	private static final String SHOW_HEADER = "show-header";
-
-	protected List<Request> requests = new ArrayList<Request>();
-
-	protected IMonitorListener monitorListener = new IMonitorListener() {
-		public void monitorAdded(IMonitor monitor) {
-			monitor.addRequestListener(requestListener);
-		}
-
-		public void monitorChanged(IMonitor monitor) {
-			// ignore
-		}
-
-		public void monitorRemoved(IMonitor monitor) {
-			monitor.removeRequestListener(requestListener);
-		}
-	};
-
-	protected IRequestListener requestListener = new IRequestListener() {
-		public void requestAdded(IMonitor monitor, Request request) {
-			addRequest(request);
-			
-			if (MonitorView.view != null)
-				MonitorView.view.doRequestAdded(request);
-			else if (MonitorUIPlugin.getShowOnActivityPreference())
-				MonitorView.open(request);
-		}
-
-		public void requestChanged(IMonitor monitor, Request request) {
-			if (MonitorView.view != null)
-				MonitorView.view.doRequestChanged(request);
-		}
-	};
-
-	/**
-	 * MonitorUIPlugin constructor comment.
-	 */
-	public MonitorUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Creates and pre-loads the image registry.
-	 * 
-	 * @return ImageRegistry
-	 */
-	protected ImageRegistry createImageRegistry() {
-		ImageRegistry registry = super.createImageRegistry();
-		
-		registerImage(registry, IMG_REQUEST_RESPONSE, URL_OBJ + "tcp.gif");
-		registerImage(registry, IMG_RESEND_REQUEST_RESPONSE, URL_ELCL + "resendRequest.gif");
-		
-		registerImage(registry, IMG_HOST, URL_OBJ + "host.gif");
-		registerImage(registry, IMG_MONITOR_ON, URL_OBJ + "monitorOn.gif");
-		registerImage(registry, IMG_MONITOR_OFF, URL_OBJ + "monitorOff.gif");
-		
-		registerImage(registry, IMG_CLCL_CLEAR, URL_CLCL + "clear.gif");
-		registerImage(registry, IMG_CLCL_SORT_RESPONSE_TIME, URL_CLCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_CLCL_HTTP_HEADER, URL_CLCL + "httpHeader.gif");
-		registerImage(registry, IMG_CLCL_PIN, URL_CLCL + "pin.gif");
-		
-		registerImage(registry, IMG_ELCL_CLEAR, URL_ELCL + "clear.gif");
-		registerImage(registry, IMG_ELCL_SORT_RESPONSE_TIME, URL_ELCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_ELCL_HTTP_HEADER, URL_ELCL + "httpHeader.gif");
-		registerImage(registry, IMG_ELCL_PIN, URL_ELCL + "pin.gif");
-		
-		registerImage(registry, IMG_DLCL_CLEAR, URL_DLCL + "clear.gif");
-		registerImage(registry, IMG_DLCL_SORT_RESPONSE_TIME, URL_DLCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_DLCL_HTTP_HEADER, URL_DLCL + "httpHeader.gif");
-		registerImage(registry, IMG_DLCL_PIN, URL_DLCL + "pin.gif");
-		
-		return registry;
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key the key
-	 * @return the image
-	 */
-	public static Image getImage(String key) {
-		return getInstance().getImageRegistry().get(key);
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key the key
-	 * @return an image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		try {
-			getInstance().getImageRegistry();
-			return getInstance().imageDescriptors.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * 
-	 * @return the plugin
-	 */
-	public static MonitorUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Register an image with the registry.
-	 * 
-	 * @param key the key
-	 * @param partialURL
-	 */
-	private void registerImage(ImageRegistry registry, String key, String partialURL) {
-		if (ICON_BASE_URL == null) {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = singleton.getBundle().getEntry(pathSuffix);
-		}
-
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			registry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error registering image", e);
-			}
-		}
-	}
-
-	/**
-	 * @see AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		getPreferenceStore().setDefault(MonitorUIPlugin.SHOW_VIEW_ON_ACTIVITY, true);
-		getPreferenceStore().setDefault(MonitorUIPlugin.PIN_VIEW, false);
-		
-		MonitorCore.addMonitorListener(monitorListener);
-		
-		IMonitor[] monitors = MonitorCore.getMonitors();
-		if (monitors != null) {
-			for (IMonitor monitor : monitors)
-				monitor.addRequestListener(requestListener);
-		}
-
-		// register the debug options listener
-		final Hashtable<String, String> props = new Hashtable<String, String>(4);
-		props.put(DebugOptions.LISTENER_SYMBOLICNAME, PLUGIN_ID);
-		context.registerService(DebugOptionsListener.class.getName(), new Trace(), props);
-	}
-
-	/**
-	 * @see AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		
-		IMonitor[] monitors = MonitorCore.getMonitors();
-		if (monitors != null) {
-			for (IMonitor monitor : monitors)
-				monitor.removeRequestListener(requestListener);
-		}
-		
-		MonitorCore.removeMonitorListener(monitorListener);
-	}
-
-	public static boolean getDefaultShowOnActivityPreference() {
-		return getInstance().getPreferenceStore().getDefaultBoolean(SHOW_VIEW_ON_ACTIVITY);
-	}
-
-	public static boolean getShowOnActivityPreference() {
-		return getInstance().getPreferenceStore().getBoolean(SHOW_VIEW_ON_ACTIVITY);
-	}
-
-	public static void setShowOnActivityPreference(boolean b) {
-		getInstance().getPreferenceStore().setValue(SHOW_VIEW_ON_ACTIVITY, b);
-		getInstance().savePluginPreferences();
-	}
-
-	public static boolean getPinViewPreference() {
-		return getInstance().getPreferenceStore().getBoolean(PIN_VIEW);
-	}
-
-	public static void setPinViewPreference(boolean b) {
-		getInstance().getPreferenceStore().setValue(PIN_VIEW, b);
-		getInstance().savePluginPreferences();
-	}
-
-	public static boolean getShowHeaderPreference() {
-		return getInstance().getPreferenceStore().getBoolean(SHOW_HEADER);
-	}
-
-	public static void setShowHeaderPreference(boolean b) {
-		getInstance().getPreferenceStore().setValue(SHOW_HEADER, b);
-		getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Convenience method to unzip the given bytes using gzip. The returned byte
-	 * array is either the unzipped results, or the original byte array if unzipping
-	 * was not successful. The byte array must not be null.
-	 * 
-	 * @param b a byte array
-	 * @return the unzipped array, or the original array if unsuccessful
-	 */
-	public static synchronized byte[] unzip(byte[] b) {
-		if (b == null)
-			throw new IllegalArgumentException();
-		
-		try {
-			GZIPInputStream gin = new GZIPInputStream(new ByteArrayInputStream(b));
-			byte[] t = new byte[0];
-			while (gin.available() > 0) {
-				int n = gin.read(BUFFER);
-				if (n > 0) {
-					byte[] temp = new byte[t.length + n];
-					System.arraycopy(t, 0, temp, 0, t.length);
-					System.arraycopy(BUFFER, 0, temp, t.length, n);
-					t = temp;
-				}
-			}
-			return t;
-		} catch (Exception e) {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Could not unzip byte array");
-			}
-			return b;
-		}
-	}
-
-	/**
-	 * Convenience method to parse the given bytes into String form. The bytes
-	 * are parsed into a line delimited string. The byte array must not be null.
-	 * 
-	 * @param b a byte array
-	 * @return the string after the conversion
-	 */
-	public static String parse(byte[] b) {
-		if (b == null)
-			throw new IllegalArgumentException();
-		
-		ByteArrayInputStream bin = new ByteArrayInputStream(b);
-		BufferedReader br = new BufferedReader(new InputStreamReader(bin));
-		StringBuffer sb = new StringBuffer();
-		try {
-			String s = br.readLine();
-			
-			while (s != null) {
-				sb.append(s);
-				s = br.readLine();
-				if (s != null)
-					sb.append(lineSeparator);
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error parsing input", e);
-			}
-		}
-		
-		return sb.toString();
-	}
-
-	public void addRequest(Request request) {
-		if (!requests.contains(request))
-			requests.add(request);
-	}
-
-	/**
-	 * Returns a list of the current requests.
-	 *
-	 * @return an array of requests
-	 */
-	public Request[] getRequests() {
-		Request[] r = new Request[requests.size()];
-		requests.toArray(r);
-		return r;
-	}
-	
-	public void clearRequests() {
-		requests = new ArrayList<Request>();
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java
deleted file mode 100644
index d2a927a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * An action filter for requests.
- */
-public class RequestActionFilter implements IActionFilter{
-	public static final String REQUEST_SENT = "requestsent";
-
-	/**
-	 * @see IActionFilter#testAttribute(Object, String, String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		Request request = (Request) target;
-		if (name.equals(REQUEST_SENT)) {
-			if (value.equals("true"))
-				return request.getResponseTime() != -1;
-			
-			return request.getResponseTime() == -1;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java
deleted file mode 100644
index ac7d685..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IActionFilter;
-/**
- * Adapter factory to adapt Requests to IActionFilter.
- */
-public class RequestAdapterFactory implements IAdapterFactory {
-	private RequestActionFilter reqActionFilter = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType == IActionFilter.class) {
-			if (reqActionFilter == null) {
-				reqActionFilter = new RequestActionFilter();
-			}
-			return reqActionFilter;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IActionFilter.class };
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java
deleted file mode 100644
index ac622b3..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-/**
- * SWT Utility class.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-	
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp the component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	public static Button createCheckbox(Composite comp, String txt, boolean isSelected){
-		Button button = new Button(comp, SWT.CHECK);
-		button.setText(txt);
-		GridLayout layout = new GridLayout();
-		comp.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalIndent = 10;
-		button.setLayoutData(data);
-		button.setSelection(isSelected);
-		return button;
-	}
-	
-	public static Label createLabel(Composite comp, String txt) {
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(txt);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		return label;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java
deleted file mode 100644
index 3df7e03..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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.internet.monitor.ui.internal;
-
-import org.eclipse.wst.internet.monitor.core.internal.IStartup;
-/**
- * Startup hook.
- */
-public class Startup implements IStartup {
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.IStartup#startup()
-	 */
-	public void startup() {
-		// do nothing - plugin loading is enough
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
deleted file mode 100644
index 8d91945..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin;
-
-/**
- * Helper class to route trace output.
- */
-public class Trace implements DebugOptionsListener {
-
-	// tracing enablement flags
-	public static boolean CONFIG = false;
-	public static boolean WARNING = false;
-	public static boolean SEVERE = false;
-	public static boolean FINEST = false;
-
-	// tracing levels. One most exist for each debug option
-	public final static String STRING_CONFIG = "/config"; //$NON-NLS-1$
-	public final static String STRING_FINEST = "/finest"; //$NON-NLS-1$
-	public final static String STRING_WARNING = "/warning"; //$NON-NLS-1$
-	public final static String STRING_SEVERE = "/severe"; //$NON-NLS-1$
-	
-	/**
-	 * Trace constructor. This should never be explicitly called by clients and is used to register this class with the
-	 * {@link DebugOptions} service.
-	 */
-	public Trace() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.osgi.service.debug.DebugOptionsListener#optionsChanged(org.eclipse.osgi.service.debug.DebugOptions)
-	 */
-	public void optionsChanged(DebugOptions options) {
-		Trace.CONFIG = options.getBooleanOption(MonitorPlugin.PLUGIN_ID + Trace.STRING_CONFIG, false);
-		Trace.WARNING = options.getBooleanOption(MonitorPlugin.PLUGIN_ID + Trace.STRING_WARNING, false);
-		Trace.SEVERE = options.getBooleanOption(MonitorPlugin.PLUGIN_ID + Trace.STRING_SEVERE, false);
-		Trace.FINEST = options.getBooleanOption(MonitorPlugin.PLUGIN_ID + Trace.STRING_FINEST, false);
-	}
-
-	/**
-	 * Trace the given message.
-	 * 
-	 * @param level
-	 *            The tracing level.
-	 * @param s
-	 *            The message to trace
-	 */
-	public static void trace(final String level, final String s) {
-		trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level
-	 *            The tracing level.
-	 * @param s
-	 *            The message to trace
-	 * @param t
-	 *            A {@link Throwable} to trace
-	 */
-	public static void trace(final String level, final String s, final Throwable t) {
-		if (Trace.STRING_SEVERE.equals(level)) {
-			MonitorUIPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, MonitorUIPlugin.PLUGIN_ID, s, t));
-		}
-		if (MonitorUIPlugin.getInstance().isDebugging()) {
-			System.out.println(MonitorUIPlugin.PLUGIN_ID + " " + System.currentTimeMillis() + " thread=["
-					+ Thread.currentThread().getId() + "] " + level + " " + s);
-			if (t != null) {
-				t.printStackTrace();
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/MonitorStackLayout.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/MonitorStackLayout.java
deleted file mode 100644
index ff3b111..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/MonitorStackLayout.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-/**
- * This Layout stacks all the controls one on top of the other and resizes all controls
- * to have the same size and location.
- * The control specified in topControl is visible and all other controls are not visible.
- * Users must set the topControl value to flip between the visible items and then call 
- * layout() on the composite which has the MonitorStackLayout.
- */
-public class MonitorStackLayout extends Layout {
- 	/**
- 	 * topControl the Control that is displayed at the top of the stack.
- 	 * All other controls that are children of the parent composite will not be visible.
- 	 */
- 	public Control topControl;
-
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		Control children[] = composite.getChildren();
-		int maxWidth = 0;
-		int maxHeight = 0;
-		for (Control child : children) {
-			if (child == topControl) {
-				Point size = child.computeSize(wHint, hHint, flushCache);
-				maxWidth = Math.max(size.x, maxWidth);
-				maxHeight = Math.max(size.y, maxHeight);
-			}
-		}
-		int width = maxWidth;
-		int height = maxHeight;
-		if (wHint != SWT.DEFAULT)
-			width = wHint;
-		if (hHint != SWT.DEFAULT)
-			height = hHint;
-		return new Point(width, height);
-	}
-
-	protected boolean flushCache(Control control) {
-		return true;
-	}
-
-	protected void layout(Composite composite, boolean flushCache) {
-		Control children[] = composite.getChildren();
-		Rectangle rect = composite.getClientArea();
-		for (Control child : children) {
-			if (child instanceof Label) {
-				Rectangle r = new Rectangle(rect.x+2, rect.y, rect.width-2, rect.height);
-				child.setBounds(r);
-			} else
-				child.setBounds(rect);
-			child.setVisible(child == topControl);
-		}
-	}
-
-	public String toString() {
-		return "MonitorStackLayout";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashForm.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashForm.java
deleted file mode 100644
index 8b45120..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashForm.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.internet.monitor.ui.internal.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-/**
- * The SashForm is a composite control that lays out its children in a
- * row or column arrangement (as specified by the orientation) and places
- * a Sash between each child. One child may be maximized to occupy the
- * entire size of the SashForm.  The relative sizes of the children may
- * be specified using weights.
- * <p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>HORIZONTAL, VERTICAL, SMOOTH</dd>
- * </dl>
- * </p>
- */
-public class SashForm extends Composite {
-	public int SASH_WIDTH = 3;
-
-	int sashStyle;
-	Sash[] sashes = new Sash[0];
-	// Remember background and foreground
-	// colors to determine whether to set
-	// sashes to the default color (null) or
-	// a specific color
-	Color background = null;
-	Color foreground = null;
-	Control[] controls = new Control[0];
-	Control maxControl = null;
-	Listener sashListener;
-	static final int DRAG_MINIMUM = 20;
-
-	protected boolean enableSash = false;
-	protected boolean resize;  
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#HORIZONTAL
- * @see SWT#VERTICAL
- * @see #getStyle()
- */
-public SashForm(Composite parent, int style) {
-	super(parent, checkStyle2(style));
-	super.setLayout(new SashFormLayout());
-	sashStyle = ((style & SWT.VERTICAL) != 0) ? SWT.HORIZONTAL : SWT.VERTICAL;
-	if ((style & SWT.BORDER) != 0) sashStyle |= SWT.BORDER;
-	if ((style & SWT.SMOOTH) != 0) sashStyle |= SWT.SMOOTH;
-	sashListener = new Listener() {
-		public void handleEvent(Event e) {
-			onDragSash(e);
-		}
-	};
-}
-static int checkStyle2(int style) {
-	int mask = SWT.BORDER | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask;
-}
-/**
- * Returns SWT.HORIZONTAL if the controls in the SashForm are laid out side by side
- * or SWT.VERTICAL   if the controls in the SashForm are laid out top to bottom.
- * 
- * @return SWT.HORIZONTAL or SWT.VERTICAL
- */
-public int getOrientation() {
-	//checkWidget();
-	return (sashStyle & SWT.VERTICAL) != 0 ? SWT.HORIZONTAL : SWT.VERTICAL;
-}
-public int getStyle() {
-	int style = super.getStyle();
-	style |= getOrientation() == SWT.VERTICAL ? SWT.VERTICAL : SWT.HORIZONTAL;
-	if ((sashStyle & SWT.SMOOTH) != 0) style |= SWT.SMOOTH;
-	return style;
-}
-/**
- * Answer the control that currently is maximized in the SashForm.  
- * This value may be null.
- * 
- * @return the control that currently is maximized or null
- */
-public Control getMaximizedControl(){
-	//checkWidget();
-	return this.maxControl;
-}
-/**
- * Answer the relative weight of each child in the SashForm.  The weight represents the
- * percent of the total width (if SashForm has Horizontal orientation) or 
- * total height (if SashForm has Vertical orientation) each control occupies.
- * The weights are returned in order of the creation of the widgets (weight[0]
- * corresponds to the weight of the first child created).
- * 
- * @return the relative weight of each child
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-
-public int[] getWeights() {
-	checkWidget();
-	Control[] cArray = getControls(false);
-	int[] ratios = new int[cArray.length];
-	for (int i = 0; i < cArray.length; i++) {
-		Object data = cArray[i].getLayoutData();
-		if (data != null && data instanceof SashFormData) {
-			ratios[i] = (int)(((SashFormData)data).weight * 1000 >> 16);
-		} else {
-			ratios[i] = 200;
-		}
-	}
-	return ratios;
-}
-Control[] getControls(boolean onlyVisible) {
-	Control[] children = getChildren();
-	Control[] result = new Control[0];
-	for (int i = 0; i < children.length; i++) {
-		if (children[i] instanceof Sash) continue;
-		if (onlyVisible && !children[i].getVisible()) continue;
-
-		Control[] newResult = new Control[result.length + 1];
-		System.arraycopy(result, 0, newResult, 0, result.length);
-		newResult[result.length] = children[i];
-		result = newResult;
-	}
-	return result;
-}
-void onDragSash(Event event) {
-	if (!enableSash)
-		return;
-	
-	Sash sash = (Sash)event.widget;
-	int sashIndex = -1;
-	for (int i= 0; i < sashes.length; i++) {
-		if (sashes[i] == sash) {
-			sashIndex = i;
-			break;
-		}
-	}
-	if (sashIndex == -1) return;
-	
-	Control c1 = controls[sashIndex];
-	Control c2 = controls[sashIndex + 1];
-	Rectangle b1 = c1.getBounds();
-	Rectangle b2 = c2.getBounds();
-	
-	Rectangle sashBounds = sash.getBounds();
-	Rectangle area = getClientArea();
-	boolean correction = false;
-	if (getOrientation() == SWT.HORIZONTAL) {
-		correction = b1.width < DRAG_MINIMUM || b2.width < DRAG_MINIMUM;
-		int totalWidth = b2.x + b2.width - b1.x; 
-		int shift = event.x - sashBounds.x;
-		b1.width += shift;
-		b2.x += shift;
-		b2.width -= shift;
-		if (b1.width < DRAG_MINIMUM) {
-			b1.width = DRAG_MINIMUM;
-			b2.x = b1.x + b1.width + sashBounds.width;
-			b2.width = totalWidth - b2.x;
-			event.x = b1.x + b1.width;
-			event.doit = false;
-		}
-		if (b2.width < DRAG_MINIMUM) {
-			b1.width = totalWidth - DRAG_MINIMUM - sashBounds.width;
-			b2.x = b1.x + b1.width + sashBounds.width;
-			b2.width = DRAG_MINIMUM;
-			event.x = b1.x + b1.width;
-			event.doit = false;
-		}
-		Object data1 = c1.getLayoutData();
-		if (data1 == null || !(data1 instanceof SashFormData)) {
-			data1 = new SashFormData();
-			c1.setLayoutData(data1);
-		}
-		Object data2 = c2.getLayoutData();
-		if (data2 == null || !(data2 instanceof SashFormData)) {
-			data2 = new SashFormData();
-			c2.setLayoutData(data2);
-		}
-		((SashFormData)data1).weight = (((long)b1.width << 16) + area.width - 1) / area.width;
-		((SashFormData)data2).weight = (((long)b2.width << 16) + area.width - 1) / area.width;
-	} else {
-		correction = b1.height < DRAG_MINIMUM || b2.height < DRAG_MINIMUM;
-		int totalHeight = b2.y + b2.height - b1.y;
-		int shift = event.y - sashBounds.y;
-		b1.height += shift;
-		b2.y += shift;
-		b2.height -= shift;
-		if (b1.height < DRAG_MINIMUM) {
-			b1.height = DRAG_MINIMUM;
-			b2.y = b1.y + b1.height + sashBounds.height;
-			b2.height = totalHeight - b2.y;
-			event.y = b1.y + b1.height;
-			event.doit = false;
-		}
-		if (b2.height < DRAG_MINIMUM) {
-			b1.height = totalHeight - DRAG_MINIMUM - sashBounds.height;
-			b2.y = b1.y + b1.height + sashBounds.height;
-			b2.height = DRAG_MINIMUM;
-			event.y = b1.y + b1.height;
-			event.doit = false;
-		}
-		Object data1 = c1.getLayoutData();
-		if (data1 == null || !(data1 instanceof SashFormData)) {
-			data1 = new SashFormData();
-			c1.setLayoutData(data1);
-		}
-		Object data2 = c2.getLayoutData();
-		if (data2 == null || !(data2 instanceof SashFormData)) {
-			data2 = new SashFormData();
-			c2.setLayoutData(data2);
-		}
-		//((SashFormData)data1).weight = (((long)b1.height << 16) + area.height - 1) / area.height;
-		//((SashFormData)data2).weight = (((long)b2.height << 16) + area.height - 1) / area.height;
-		((SashFormData)data1).weight = ((200 << 16) + 999) / 1000 * b1.height / b2.height;
-		((SashFormData)data2).weight = ((200 << 16) + 999) / 1000;
-	}
-	if (correction || (event.doit && event.detail != SWT.DRAG)) {
-		c1.setBounds(b1);
-		sash.setBounds(event.x, event.y, event.width, event.height);
-		c2.setBounds(b2);
-	}
-}
-/**
- * If orientation is SWT.HORIZONTAL, lay the controls in the SashForm 
- * out side by side.  If orientation is SWT.VERTICAL, lay the 
- * controls in the SashForm out top to bottom.
- * 
- * @param orientation SWT.HORIZONTAL or SWT.VERTICAL
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the value of orientation is not SWT.HORIZONTAL or SWT.VERTICAL
- * </ul>
- */
-public void setOrientation(int orientation) {
-	checkWidget();
-	if (getOrientation() == orientation) return;
-	if (orientation != SWT.HORIZONTAL && orientation != SWT.VERTICAL) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	sashStyle &= ~(SWT.HORIZONTAL | SWT.VERTICAL);
-	sashStyle |= orientation == SWT.VERTICAL ? SWT.HORIZONTAL : SWT.VERTICAL;
-	for (int i = 0; i < sashes.length; i++) {
-		sashes[i].dispose();
-		sashes[i] = new Sash(this, sashStyle);
-		sashes[i].setBackground(background);
-		sashes[i].setForeground(foreground);
-		sashes[i].addListener(SWT.Selection, sashListener);
-	}
-	layout(false);
-}
-public void setBackground (Color color) {
-	super.setBackground(color);
-	background = color;
-	for (int i = 0; i < sashes.length; i++) {
-		sashes[i].setBackground(background);
-	}
-}
-public void setForeground (Color color) {
-	super.setForeground(color);
-	foreground = color;
-	for (int i = 0; i < sashes.length; i++) {
-		sashes[i].setForeground(foreground);
-	}
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note: No Layout can be set on this Control because it already
- * manages the size and position of its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setLayout (Layout layout) {
-	checkWidget();
-	return;
-}
-/**
- * Specify the control that should take up the entire client area of the SashForm.  
- * If one control has been maximized, and this method is called with a different control, 
- * the previous control will be minimized and the new control will be maximized.
- * If the value of control is null, the SashForm will minimize all controls and return to
- * the default layout where all controls are laid out separated by sashes.
- * 
- * @param control the control to be maximized or null
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setMaximizedControl(Control control){
-	checkWidget();
-	if (control == null) {
-		if (maxControl != null) {
-			this.maxControl = null;
-			layout(false);
-			for (int i= 0; i < sashes.length; i++){
-				sashes[i].setVisible(true);
-			}
-		}
-		return;
-	}
-	
-	for (int i= 0; i < sashes.length; i++){
-		sashes[i].setVisible(false);
-	}
-	maxControl = control;
-	layout(false);
-}
-
-/**
- * Specify the relative weight of each child in the SashForm.  This will determine
- * what percent of the total width (if SashForm has Horizontal orientation) or 
- * total height (if SashForm has Vertical orientation) each control will occupy.
- * The weights must be positive values and there must be an entry for each
- * non-sash child of the SashForm.
- * 
- * @param weights the relative weight of each child
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the weights value is null or of incorrect length (must match the number of children)</li>
- * </ul>
- */
-public void setWeights(int[] weights) {
-	checkWidget();
-	Control[] cArray = getControls(false);
-	if (weights == null || weights.length != cArray.length) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	
-	if (weights == null)
-		return;
-	
-	int total = 0;
-	for (int i = 0; i < weights.length; i++) {
-		if (weights[i] < 0) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-		total += weights[i];
-	}
-	if (total == 0) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	for (int i = 0; i < cArray.length; i++) {
-		Object data = cArray[i].getLayoutData();
-		if (data == null || !(data instanceof SashFormData)) {
-			data = new SashFormData();
-			cArray[i].setLayoutData(data);
-		}
-		((SashFormData)data).weight = (((long)weights[i] << 16) + total - 1) / total;
-	}
-
-	layout(false);
-}
-
-public void setSimpleLayout(boolean b) {
-	Control[] cArray = getControls(false);
-	if (cArray == null || cArray.length != 2)
-		return;
-	enableSash = b;
-	SashFormLayout layout = (SashFormLayout) getLayout();
-	layout.simple = !enableSash;
-	
-	if (enableSash)
-		resize = true;
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashFormData.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashFormData.java
deleted file mode 100644
index 48ba237..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashFormData.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.internet.monitor.ui.internal.custom;
-
-class SashFormData {
-
-	long weight;
-
-String getName () {
-	String string = getClass ().getName ();
-	int index = string.lastIndexOf ('.');
-	if (index == -1) return string;
-	return string.substring (index + 1, string.length ());
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the event
- */
-public String toString () {
-	return getName()+" {weight="+weight+"}"; //$NON-NLS-2$
-}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashFormLayout.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashFormLayout.java
deleted file mode 100644
index f750322..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashFormLayout.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.internet.monitor.ui.internal.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class provides the layout for SashForm
- * 
- * @see SashForm
- */
-class SashFormLayout extends Layout {
-	protected boolean simple;
-
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-	SashForm sashForm = (SashForm)composite;
-	Control[] cArray = sashForm.getControls(true);
-	int width = 0;
-	int height = 0;
-	if (cArray.length == 0) {
-		if (wHint != SWT.DEFAULT) width = wHint;
-		if (hHint != SWT.DEFAULT) height = hHint;
-		return new Point(width, height);
-	}
-	// determine control sizes
-	boolean vertical = sashForm.getOrientation() == SWT.VERTICAL;
-	int maxIndex = 0;
-	int maxValue = 0;
-	Point[] sizes = new Point[cArray.length];
-	for (int i = 0; i < cArray.length; i++) {
-		if (vertical) {
-			sizes[i] = cArray[i].computeSize(wHint, SWT.DEFAULT, flushCache);
-			if (sizes[i].y > maxValue) {
-				maxIndex = i;
-				maxValue = sizes[i].y;
-			}
-			width = Math.max(width, sizes[i].x);
-		} else {
-			sizes[i] = cArray[i].computeSize(SWT.DEFAULT, hHint, flushCache);
-			if (sizes[i].x > maxValue) {
-				maxIndex = i;
-				maxValue = sizes[i].x;
-			}
-			height = Math.max(height, sizes[i].y);
-		}
-	}
-	// get the ratios
-	long[] ratios = new long[cArray.length];
-	long total = 0;
-	for (int i = 0; i < cArray.length; i++) {
-		Object data = cArray[i].getLayoutData();
-		if (data != null && data instanceof SashFormData) {
-			ratios[i] = ((SashFormData)data).weight;
-		} else {
-			data = new SashFormData();
-			cArray[i].setLayoutData(data);
-			((SashFormData)data).weight = ratios[i] = ((200 << 16) + 999) / 1000;
-			
-		}
-		total += ratios[i];
-	}
-	if (ratios[maxIndex] > 0) {
-		int sashwidth = sashForm.sashes.length > 0 ? sashForm.SASH_WIDTH + sashForm.sashes [0].getBorderWidth() * 2 : sashForm.SASH_WIDTH;
-		if (vertical) {
-			height += (int)(total * maxValue / ratios[maxIndex]) + (cArray.length - 1) * sashwidth;
-		} else {
-			width += (int)(total * maxValue / ratios[maxIndex]) + (cArray.length - 1) * sashwidth;
-		}
-	}
-	width += sashForm.getBorderWidth()*2;
-	height += sashForm.getBorderWidth()*2;
-	if (wHint != SWT.DEFAULT) width = wHint;
-	if (hHint != SWT.DEFAULT) height = hHint;
-	return new Point(width, height);
-}
-
-protected boolean flushCache(Control control) {
-	return true;
-}
-
-protected void layout(Composite composite, boolean flushCache) {
-	SashForm sashForm = (SashForm)composite;
-	Rectangle area = sashForm.getClientArea();
-	if (area.width <= 1 || area.height <= 1) return;
-	
-	Control[] newControls = sashForm.getControls(true);
-	if (sashForm.controls.length == 0 && newControls.length == 0)
-		return;
-	sashForm.controls = newControls;
-	
-	Control[] controls = sashForm.controls;
-	
-	if (sashForm.maxControl != null && !sashForm.maxControl.isDisposed()) {
-		for (int i= 0; i < controls.length; i++){
-			if (controls[i] != sashForm.maxControl) {
-				controls[i].setBounds(-200, -200, 0, 0);
-			} else {
-				controls[i].setBounds(area);
-			}
-		}
-		return;
-	}
-	
-	// simple layout
-	if (simple) {
-		// hide sashes
-		for (int i = 0; i < sashForm.sashes.length; i++) {
-			sashForm.sashes[i].setEnabled(false);
-			sashForm.sashes[i].setVisible(false);
-		}
-		
-		Point p = controls[0].computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		controls[0].setBounds(0, 0, area.width, p.y);
-		controls[1].setBounds(0, p.y + 2, area.width, area.height - p.y - 2);
-		
-		return;
-	}
-	
-	// keep just the right number of sashes
-	if (sashForm.sashes.length < controls.length - 1) {
-		Sash[] newSashes = new Sash[controls.length - 1];
-		System.arraycopy(sashForm.sashes, 0, newSashes, 0, sashForm.sashes.length);
-		for (int i = sashForm.sashes.length; i < newSashes.length; i++) {
-			newSashes[i] = new Sash(sashForm, sashForm.sashStyle);
-			newSashes[i].setBackground(sashForm.background);
-			newSashes[i].setForeground(sashForm.foreground);
-			newSashes[i].addListener(SWT.Selection, sashForm.sashListener);
-		}
-		sashForm.sashes = newSashes;
-	}
-	if (sashForm.sashes.length > controls.length - 1) {
-		if (controls.length == 0) {
-			for (int i = 0; i < sashForm.sashes.length; i++) {
-				sashForm.sashes[i].dispose();
-			}
-			sashForm.sashes = new Sash[0];
-		} else {
-			Sash[] newSashes = new Sash[controls.length - 1];
-			System.arraycopy(sashForm.sashes, 0, newSashes, 0, newSashes.length);
-			for (int i = controls.length - 1; i < sashForm.sashes.length; i++) {
-				sashForm.sashes[i].dispose();
-			}
-			sashForm.sashes = newSashes;
-		}
-	}
-	if (controls.length == 0) return;
-	Sash[] sashes = sashForm.sashes;
-	
-	for (int i = 0; i < sashForm.sashes.length; i++) {
-		sashes[i].setEnabled(true);
-		sashes[i].setVisible(true);
-	}
-	
-	if (sashForm.resize) {
-		Control c1 = controls[0];
-		Control c2 = controls[1];
-		
-		int h1 = area.height / 3;
-		int h2 = area.height - h1 - sashes[0].getBounds().height;
-		
-		Object data1 = c1.getLayoutData();
-		if (data1 == null || !(data1 instanceof SashFormData)) {
-			data1 = new SashFormData();
-			c1.setLayoutData(data1);
-		}
-		Object data2 = c2.getLayoutData();
-		if (data2 == null || !(data2 instanceof SashFormData)) {
-			data2 = new SashFormData();
-			c2.setLayoutData(data2);
-		}
-		((SashFormData)data1).weight = ((200 << 16) + 999) / 1000 * h1 / h2;
-		((SashFormData)data2).weight = ((200 << 16) + 999) / 1000;
-		sashForm.resize = false;
-	}
-	
-	// get the ratios
-	long[] ratios = new long[controls.length];
-	long total = 0;
-	for (int i = 0; i < controls.length; i++) {
-		Object data = controls[i].getLayoutData();
-		if (data != null && data instanceof SashFormData) {
-			ratios[i] = ((SashFormData)data).weight;
-		} else {
-			data = new SashFormData();
-			controls[i].setLayoutData(data);
-			((SashFormData)data).weight = ratios[i] = ((200 << 16) + 999) / 1000;
-		}
-		total += ratios[i];
-	}
-	
-	int sashwidth = sashes.length > 0 ? sashForm.SASH_WIDTH + sashes [0].getBorderWidth() * 2 : sashForm.SASH_WIDTH;
-	if (sashForm.getOrientation() == SWT.HORIZONTAL) {
-		int width = (int)(ratios[0] * (area.width - sashes.length * sashwidth) / total);
-		int x = area.x;
-		controls[0].setBounds(x, area.y, width, area.height);
-		x += width;
-		for (int i = 1; i < controls.length - 1; i++) {
-			sashes[i - 1].setBounds(x, area.y, sashwidth, area.height);
-			x += sashwidth;
-			width = (int)(ratios[i] * (area.width - sashes.length * sashwidth) / total);
-			controls[i].setBounds(x, area.y, width, area.height);
-			x += width;
-		}
-		if (controls.length > 1) {
-			sashes[sashes.length - 1].setBounds(x, area.y, sashwidth, area.height);
-			x += sashwidth;
-			width = area.width - x;
-			controls[controls.length - 1].setBounds(x, area.y, width, area.height);
-		}
-	} else {
-		int height = (int)(ratios[0] * (area.height - sashes.length * sashwidth) / total);
-		int y = area.y;
-		controls[0].setBounds(area.x, y, area.width, height);
-		y += height;
-		for (int i = 1; i < controls.length - 1; i++) {
-			sashes[i - 1].setBounds(area.x, y, area.width, sashwidth);
-			y += sashwidth;
-			height = (int)(ratios[i] * (area.height - sashes.length * sashwidth) / total);
-			controls[i].setBounds(area.x, y, area.width, height);
-			y += height;
-		}
-		if (controls.length > 1) {
-			sashes[sashes.length - 1].setBounds(area.x, y, area.width, sashwidth);
-			y += sashwidth;
-			height = area.height - y;
-			controls[controls.length - 1].setBounds(area.x, y, area.width, height);
-		}
-	}
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/ContentViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/ContentViewer.java
deleted file mode 100644
index 704c0f9..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/ContentViewer.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.provisional;
-
-import org.eclipse.swt.widgets.Composite;
-/**
- * Editable viewer for displaying and editing requests and responses.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>contentViewers</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the viewer when required.
- * Once instantiated, {@link #init(Composite)} is called to create
- * the viewer's controls. Then {@link #setContent(byte[])} is called,
- * one or more times, to cause the viewer to display particular
- * content. Finally, when the viewer is no longer needed, {@link #dispose()}
- * is called to free up any resources tied up by the viewer.
- * </p>
- * <p>
- * [issue: It's unclear how these content viewers are used.
- * Is it just that the UI provides a list of available
- * views for the user to make a manual selection from, regardless
- * of the actual content of the message traffic?]
- * </p>
- * [issue: CS - If a ContentViewer is editable, does that mean we can edit the 
- * bytes of the message and resend it across the wire?  How is an editable ContentViewer
- * handled differently by the framework? Perhaps an example of what an editeable viewer would do. ]
- */
-public abstract class ContentViewer {
-	/**
-	 * Creates a new content viewer instance.
-	 */
-	protected ContentViewer() {
-		// do nothing
-	}
-
-	/**
-	 * Creates the controls for this viewer as children of the given composite.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method.
-	 * </p>
-	 * 
-	 * @param parent the parent composite
-	 */
-	public abstract void init(Composite parent);
-
-	/**
-	 * Sets the content that the viewer should display.
-	 * The parameter may be null if no content should be displayed.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method.
-	 * </p>
-	 * <p>
-	 * [issue: Since this is for displaying request-reponse messages,
-	 * why not pass an Request? The problem as it stands now is that
-	 * it is unclear from specs how content viewers relate to anything
-	 * else having to do with the monitor.]
-	 * </p>
-	 * 
-	 * @param b the content to display, or <code>null</code> to
-	 * display nothing
-	 */
-	public abstract void setContent(byte[] b);
-
-	/**
-	 * Get the content from the viewer. This is usually only interesting if the
-	 * content has changed.
-	 * <p>
-	 * The default implementation of this method does nothing and
-	 * returns null. Subclasses should override this method.
-	 * </p>
-	 * 
-	 * @return the content from the viewer, or <code>null</code> if none
-	 */
-	public abstract byte[] getContent();
-
-	/**
-	 * Disposes this viewer and any underlying resources such as a composite.
-	 * This method will be called whenever the user switches to use another
-	 * viewer or the monitor view is closed. The parent composite should not
-	 * be disposed since it may be used to display another viewer. 
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method to provide specialized cleanup.
-	 * </p>
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Set whether the current viewer is editable, that is, the user is able to
-	 * edit the content.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method to allows instances
-	 * to be made editable.
-	 * </p>
-	 * 
-	 * @param editable <code>true</code> if true the content can be edited,
-	 *    and <code>false</code> otherwise
-	 */
-	public void setEditable(boolean editable) {
-		// do nothing
-	}
-
-	/**
-	 * Returns whether the current viewer is editable, that is, the user is able to
-	 * edit the content.
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method to allows instances
-	 * to be made editable.
-	 * </p>
-	 * 
-	 * @return <code>true</code> if true the content can be edited,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean getEditable() {
-		return false;
-	}
-	
-	/**
-	 * Sets the encoding of the viewer for views that encode content.  
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should override this method to allows instances
-	 * to set the encoding.
-	 * </p>
-	 * @param str an array of encodings
-	 */
-	public void setEncodings(String[] str){
-		// do nothing
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/MonitorUICore.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/MonitorUICore.java
deleted file mode 100644
index 02ea44c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/MonitorUICore.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.internet.monitor.ui.internal.provisional;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * Main class for access to the monitor UI.
- * <p>
- * This class provides all functionality through static members. It is not intended
- * to be instantiated or subclassed.
- * </p>
- */
-public final class MonitorUICore {
-	/**
-	 * Cannot create MonitorUICore - use static methods.
-	 */
-	private MonitorUICore() {
-		// can't create
-	}
-
-	/**
-	 * Returns an array of the requests currently being displayed in the TCP/IP
-	 * monitor view.
-	 *
-	 * @return an array of requests
-	 */
-	public static Request[] getRequests() {
-		return MonitorUIPlugin.getInstance().getRequests();
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.html b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.html
deleted file mode 100644
index d28b6c2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.html
+++ /dev/null
@@ -1,21 +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>TCP/IP monitor UI</p>
-<table width="500">
-<tr>
-<td>
-<p>The ContentViewer class is provided to
-implement the viewers extension point that allows external plugins to provide
-a view for viewing request and response data content in the monitor view.
-</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.xml b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.xml
deleted file mode 100644
index be41a27..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.xml
+++ /dev/null
@@ -1,20 +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>TCP/IP monitor UI</abstract>
-
-<p>The ContentViewer class is provided to
-implement the viewers extension point that allows external plugins to provide
-a view for viewing request and response data content in the monitor view.
-</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java
deleted file mode 100644
index 3c4d83f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-/**
- * 
- */
-public class FilterAction extends Action {
-	protected ViewerManager vm;
-	protected IContentFilter filter;
-	protected boolean enabled;
-
-	public FilterAction(ViewerManager vm, IContentFilter filter) {
-		super(filter.getName(), IAction.AS_CHECK_BOX);
-		this.vm = vm;
-		this.filter = filter;
-	}
-	
-	public void run() {
-		if (!isChecked())
-			vm.removeFilter(filter);
-		else
-			vm.addFilter(filter);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java
deleted file mode 100644
index f1f0f58..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Modify the selected message. Creates a new resendrequest and adds it
- * to the tree.
- */
-public class ModifyMessageAction implements IViewActionDelegate{
-	ISelection selection = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selection != null) {
-			Object element = ((StructuredSelection) selection).getFirstElement();
-			if (element != null && element instanceof Request) {
-				Request req = (Request) element;
-				ResendHTTPRequest newReq = MonitorManager.createResendRequest(req);
-				MonitorManager.getInstance().addResendRequest(req, newReq);
-				TreeViewer treeViewer = MonitorView.view.treeViewer;
-				treeViewer.add(req, newReq);
-				treeViewer.setSelection(new StructuredSelection(newReq), false);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection2) {
-		this.selection = selection2;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
deleted file mode 100644
index b45eb20..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * Content provider for the monitor server view.
- */
-public class MonitorTreeContentProvider implements ITreeContentProvider {
-	protected static final String ROOT = "root";
-
-	/**
-	 * ProxyTreeContentProvider constructor comment.
-	 */
-	public MonitorTreeContentProvider() {
-		super();
-	}
-
-	/**
-	 * Disposes of this content provider.
-	 * <p>
-	 * [Issue: This method should be changed to take a Viewer,
-	 * renamed and repurposed to disconnect a content provider from
-	 * a viewer. This is over and above what inputChanged does,
-	 * which is disconnecting a content provider from the viewer's
-	 * input (but not the viewer itself).
-	 * ]
-	 * </p>
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Returns an iterator over the child elements of the given element.
-	 * <p>
-	 * Note: The difference between this method and 
-	 * <code>IStructuredContentProvider.getElements</code> is
-	 * that <code>getElements</code> is called to obtain the 
-	 * tree viewer's root elements, whereas <code>getChildren</code> is used
-	 * to obtain the children of a given node in the tree
-	 * (including a root).
-	 * </p>
-	 * <p>
-	 * [Issue: Don't know what above is trying to say.
-	 *  See IStructuredContentProvider.getElements.
-	 * ]
-	 * </p>
-	 *
-	 * @param element the element
-	 * @return an iterator over the child elements 
-	 *    (element type: <code>Object</code>)
-	 */
-	public Object[] getChildren(Object element) {
-		if (element instanceof Integer) {
-			Integer in = (Integer) element;
-			List<Request> list = new ArrayList<Request>();
-			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
-			if (requests != null) {
-				for (Request req : requests) {
-					if ((req.getLocalPort() == in.intValue())
-							&& !(req instanceof ResendHTTPRequest))
-						list.add(req);
-				}
-			}
-			return list.toArray();
-		} else if (element instanceof Request) {
-			Request req = (Request) element;
-			ResendHTTPRequest[] rr = MonitorManager.getInstance().getResendRequests(req);
-			List<Request> list = new ArrayList<Request>();
-			if (rr != null) {
-				for (ResendHTTPRequest r : rr)
-					list.add(r);
-			}
-			return list.toArray();
-		}
-		return null;
-	}
-
-	/*
-	 * Returns an iterator over the elements belonging to the
-	 * given element. These elements can be presented as rows in a table,
-	 * items in a list, etc.
-	 */
-	public Object[] getElements(Object element) {
-		if (ROOT.equals(element)) {
-			List<Integer> list = new ArrayList<Integer>();
-			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
-			if (requests != null) {
-				for (Request req :  requests) {
-					Integer in = new Integer(req.getLocalPort());
-					if (!list.contains(in))
-						list.add(in);
-				}
-			}
-			return list.toArray();
-		}
-		return getChildren(element);
-	}
-
-	/*
-	 * Returns the parent for the given element, or <code>null</code> 
-	 * indicating that the parent can't be computed. 
-	 */
-	public Object getParent(Object element) {
-		if (element != null) {
-			if (element instanceof Integer)
-				return ROOT;
-			Request call = (Request) element;
-			if (call instanceof ResendHTTPRequest) {
-				ResendHTTPRequest callResend = (ResendHTTPRequest) call;
-				Request parent = callResend.getOriginalRequest();
-				if (parent != null)
-					return parent;
-			}
-			return new Integer(call.getLocalPort());
-		}
-		return null;
-	}
-
-	/*
-	 * Returns whether the given element has children.
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof Integer)
-			return true;
-		if (element instanceof Request)
-			return MonitorManager.getInstance().getResendRequests((Request) element).length > 0; 
-		
-		return false;
-	}
-
-	/*
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
deleted file mode 100644
index 06467ad..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
+++ /dev/null
@@ -1,566 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.text.SimpleDateFormat;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IRequestListener;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.*;
-/**
- * View of TCP/IP activity.
- */
-public class MonitorView extends ViewPart {
-	protected Tree tree;
-	protected TreeViewer treeViewer;
-	protected MonitorTreeContentProvider contentProvider;
-
-	protected IRequestListener listener;
-	protected ViewerManager vm;
-	protected List requestViewers;
-	protected List responseViewers;
-
-	protected static SimpleDateFormat format;
-	protected static final String VIEW_ID = "org.eclipse.wst.internet.monitor.view";
-	protected static final String DEFAULT_VIEWER = "org.eclipse.wst.internet.monitor.viewers.byte";
-
-	protected IAction httpHeaderAction;
-	protected IAction preferenceAction;
-	
-	public static MonitorView view;
-	
-	protected Request currentRequest = null;
-	protected StructuredSelection currentSelection = null;
-
-	/**
-	 * MonitorView constructor comment.
-	 */
-	public MonitorView() {
-		super();
-		view = this;
-		
-		// try specified format, and fall back to standard format
-		try {
-			format = new SimpleDateFormat(Messages.viewDateFormat);
-		} catch (Exception e) {
-			format = new SimpleDateFormat("h:mm.s.S a");
-		}
-	}
-
-	public void doRequestAdded(final Request rr) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (!(rr instanceof ResendHTTPRequest)) {
-				  treeViewer.refresh(MonitorTreeContentProvider.ROOT);
-				  if (!MonitorUIPlugin.getPinViewPreference())
-					  treeViewer.setSelection(new StructuredSelection(rr), true);
-				}
-			}
-		});
-	}
-
-	public void doRequestChanged(final Request rr) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (treeViewer == null)
-					return;
-				IStructuredSelection sel = (IStructuredSelection) treeViewer.getSelection();
-				
-				treeViewer.refresh(rr);
-				if (!sel.isEmpty())
-					treeViewer.setSelection(sel);
-			}
-		});
-	}
-
-	/**
-	 * Clear the view.
-	 */
-	protected void clear() {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				treeViewer.setSelection(null);
-				treeViewer.setInput(MonitorTreeContentProvider.ROOT);
-			}
-		});
-	}
-	
-	protected void setSelection(Request request) {
-		if (treeViewer != null)
-			treeViewer.setSelection(new StructuredSelection(request));
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		SashForm sashFparent = new SashForm(parent, SWT.VERTICAL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = 4;
-		layout.verticalSpacing = 4;
-		sashFparent.setLayout(layout);
-		sashFparent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(sashFparent, ContextIds.VIEW);
-		
-		// create tree panel
-		Composite treePanel = new Composite(sashFparent, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		treePanel.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.heightHint = 110;
-		data.horizontalSpan = 2;
-		treePanel.setLayoutData(data);
-	
-		tree = new Tree(treePanel, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-		data = new GridData(GridData.FILL_BOTH);
-		//data.widthHint = 120;
-		tree.setLayoutData(data);
-		treeViewer = new TreeViewer(tree);
-		contentProvider = new MonitorTreeContentProvider();
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setInput(MonitorTreeContentProvider.ROOT);
-		treeViewer.setLabelProvider(new TreeLabelProvider());
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(tree, ContextIds.VIEW_TREE);
-	
-		Composite detailsPanel = new Composite(treePanel, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 2;
-		layout.marginWidth = 0;
-		detailsPanel.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		data.widthHint = 200;
-		detailsPanel.setLayoutData(data);
-
-		final Label label = new Label(detailsPanel, SWT.NONE);
-		label.setText(NLS.bind(Messages.viewTime, ""));
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-		final Label label2 = new Label(detailsPanel, SWT.NONE);
-		label2.setText(NLS.bind(Messages.viewResponseTime, ""));
-		label2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-		
-		final Label label3 = new Label(detailsPanel, SWT.NONE);
-		label3.setText(NLS.bind(Messages.viewType, ""));
-		label3.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-		
-		// create center and right panels
-		SashForm sashFchild = new SashForm(sashFparent, SWT.HORIZONTAL);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = 2;
-		layout.verticalSpacing = 4;
-		sashFchild.setLayout(layout);
-		sashFparent.setWeights(new int[] { 30, 70 });
-		
-		// request panel
-		Composite request = new Composite(sashFchild, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 3;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		request.setLayout(layout);
-		request.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Composite requestHeader = new Composite(request, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 1;
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.marginLeft = 2;
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		requestHeader.setLayout(layout);
-		requestHeader.setLayoutData(data);
-		
-		final Label requestLabel = new Label(requestHeader, SWT.NONE);
-		requestLabel.setText(NLS.bind(Messages.viewRequest, ""));
-		requestLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		final Combo requestViewerCombo = new Combo(requestHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		data.verticalSpan = 2;
-		requestViewerCombo.setLayoutData(data);
-		
-		final Label requestSizeLabel = new Label(requestHeader, SWT.NONE);
-		requestSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
-		requestSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		// response panel
-		Composite response = new Composite(sashFchild, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 3;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		response.setLayout(layout);
-		response.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Composite responseHeader = new Composite(response, SWT.NONE);
-		layout = new GridLayout();
-		layout.verticalSpacing = 1;
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.marginLeft = 2;
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		responseHeader.setLayout(layout);
-		responseHeader.setLayoutData(data);
-		
-		final Label responseLabel = new Label(responseHeader, SWT.NONE);
-		responseLabel.setText(NLS.bind(Messages.viewResponse, ""));
-		responseLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		final Combo responseViewerCombo = new Combo(responseHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		data.verticalSpan = 2;
-		responseViewerCombo.setLayoutData(data);
-		
-		final Label responseSizeLabel = new Label(responseHeader, SWT.NONE);
-		responseSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
-		responseSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		// viewer manager
-		vm = new ViewerManager(request, response);
-		requestViewers = vm.getRequestViewers();
-		responseViewers = vm.getResponseViewers();
-		
-		// set up the viewer combo boxes
-		Iterator iterator = requestViewers.iterator();
-		int ctr = 0;
-		while (iterator.hasNext()) {
-			Viewer viewer = (Viewer) iterator.next();
-			requestViewerCombo.add(viewer.getLabel(), ctr);
-			if (viewer.getId().equals(DEFAULT_VIEWER)) {
-				requestViewerCombo.select(ctr); 
-				vm.setRequestViewer(viewer);
-			}
-			ctr++;
-		}
-		requestViewerCombo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				Viewer viewer = (Viewer) requestViewers.get(requestViewerCombo.getSelectionIndex());
-				if (currentRequest != null && viewer != null)
-					currentRequest.setProperty("request-viewer", viewer.getId());
-				vm.setRequestViewer(viewer);
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// ignore
-			}
-		});
-		requestHeader.layout(true);
-		
-		iterator = responseViewers.iterator();
-		ctr = 0;
-		while (iterator.hasNext()) {
-			Viewer viewer = (Viewer) iterator.next();
-			responseViewerCombo.add(viewer.getLabel(), ctr);
-			if (viewer.getId().equals(DEFAULT_VIEWER)) {
-				responseViewerCombo.select(ctr); 
-				vm.setResponseViewer(viewer);
-			}
-			ctr++;
-		}
-		responseViewerCombo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				Viewer viewer = (Viewer) responseViewers.get(responseViewerCombo.getSelectionIndex());
-				if (currentRequest != null && viewer != null)
-					currentRequest.setProperty("response-viewer", viewer.getId());
-				vm.setResponseViewer(viewer);
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// ignore
-			}
-		});
-		responseHeader.layout(true);
-
-		// selection listener
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-
-				currentRequest = null;
-				if (selection != null && !selection.isEmpty()) {
-					StructuredSelection sel = (StructuredSelection) selection;
-					currentSelection = sel;
-					Object obj = sel.iterator().next();
-					if (obj instanceof Request)
-						currentRequest = (Request) obj;
-				}
-	
-				if (currentRequest != null) {
-					label.setText(NLS.bind(Messages.viewTime, format.format(currentRequest.getDate())));
-	
-					if (currentRequest.getResponseTime() == -1)
-						label2.setText(NLS.bind(Messages.viewResponseTime, ""));
-					else {
-						String time = NLS.bind(Messages.viewResponseTimeFormat, currentRequest.getResponseTime() + "");
-						label2.setText(NLS.bind(Messages.viewResponseTime, time));
-					}
-					label3.setText(NLS.bind(Messages.viewType, currentRequest.getProtocol()));
-	
-					// request information
-					requestLabel.setText(NLS.bind(Messages.viewRequest, "localhost:" + currentRequest.getLocalPort()));
-					requestSizeLabel.setText(getSizeString(currentRequest.getRequest(Request.CONTENT), currentRequest.getRequest(Request.ALL)));
-	
-					// response information
-					responseLabel.setText(NLS.bind(Messages.viewResponse, currentRequest.getRemoteHost() + ":" + currentRequest.getRemotePort()));
-					responseSizeLabel.setText(getSizeString(currentRequest.getResponse(Request.CONTENT), currentRequest.getResponse(Request.ALL)));
-					
-					vm.setRequest(currentRequest);
-					
-					Viewer viewer = vm.findViewer((String) currentRequest.getProperty("request-viewer"));
-					if (viewer == null)
-						viewer = vm.findViewer(DEFAULT_VIEWER);
-					if (viewer != null) {
-						vm.setRequestViewer(viewer);
-						requestViewerCombo.select(requestViewers.indexOf(viewer));
-					}
-					
-					viewer = vm.findViewer((String) currentRequest.getProperty("response-viewer"));
-					if (viewer == null && currentRequest.getName() != null)
-						viewer = vm.getDefaultViewer(currentRequest.getName());
-					if (viewer != null) {
-						vm.setResponseViewer(viewer);
-						responseViewerCombo.select(responseViewers.indexOf(viewer));
-					}
-				} else {
-					label.setText(NLS.bind(Messages.viewTime, ""));
-					label2.setText(NLS.bind(Messages.viewResponseTime, ""));
-					requestLabel.setText(NLS.bind(Messages.viewRequest, ""));
-					requestSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
-					responseLabel.setText(NLS.bind(Messages.viewResponse, ""));
-					responseSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
-					vm.setRequest(currentRequest);
-				}
-			}
-		});
-		treeViewer.expandToLevel(2);
-		
-		// create a menu manager for a context menu
-		MenuManager menuManager = new MenuManager();
-		menuManager.setRemoveAllWhenShown(true);
-		menuManager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager menu) {
-				menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-				menu.add(preferenceAction);
-			}
-		});
-
-		// create the menu
-		Menu menu = menuManager.createContextMenu(treeViewer.getControl());
-		treeViewer.getControl().setMenu(menu);
-		
-		// register the menu with the platform
-		getSite().registerContextMenu(menuManager, treeViewer);
-        
-		initializeActions();
-	}
-	
-	protected String getSizeString(byte[] a, byte[] b) {
-		String aa = "0";
-		String bb = "0";
-		if (a != null)
-			aa = a.length + "";
-		if (b != null)
-			bb = b.length + "";
-		String size = NLS.bind(Messages.viewSizeFormat, new Object[] { aa, bb});
-		return NLS.bind(Messages.viewSize, size);
-	}
-
-	public void dispose() {
-		super.dispose();
-		treeViewer = null;
-		view = null;
-	}
-
-	/**
-	 * Initialize the tool-bar and menu actions.
-	 */
-	public void initializeActions() {
-		final IAction pinAction = new Action() {
-			public void run() {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						boolean pin = MonitorUIPlugin.getPinViewPreference();
-						MonitorUIPlugin.setPinViewPreference(!pin);
-					}
-				});
-			}
-		};
-		pinAction.setChecked(false);
-		pinAction.setToolTipText(Messages.actionPin);
-		pinAction.setImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_ELCL_PIN));
-		pinAction.setHoverImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_CLCL_PIN));
-		pinAction.setDisabledImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_DLCL_PIN));
-		
-		
-		final IAction sortByResponseTimeAction = new Action() {
-			public void run() {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						if (treeViewer.getComparator() == null) {
-							setChecked(true);
-							treeViewer.setComparator(new RequestComparator());
-						} else {
-							setChecked(false);
-							treeViewer.setComparator(null);
-						}
-					}
-				});
-			}
-		};
-		sortByResponseTimeAction.setChecked(false);
-		sortByResponseTimeAction.setToolTipText(Messages.actionSortByResponseTime);
-		sortByResponseTimeAction.setImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_ELCL_SORT_RESPONSE_TIME));
-		sortByResponseTimeAction.setHoverImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_CLCL_SORT_RESPONSE_TIME));
-		sortByResponseTimeAction.setDisabledImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_DLCL_SORT_RESPONSE_TIME));
-	
-		IAction clearAction = new Action() {
-			public void run() {
-				MonitorUIPlugin.getInstance().clearRequests();
-				clear();
-			}
-		};
-		clearAction.setToolTipText(Messages.actionClearToolTip);
-		clearAction.setImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_ELCL_CLEAR));
-		clearAction.setHoverImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_CLCL_CLEAR));
-		clearAction.setDisabledImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_DLCL_CLEAR));
-
-		httpHeaderAction = new Action() {
-			public void run() {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						boolean b = vm.getDisplayHeaderInfo();
-						vm.setDisplayHeaderInfo(!b);
-						setChecked(!b);
-					}
-				});
-			}
-		};
-		httpHeaderAction.setChecked(vm.getDisplayHeaderInfo());
-		httpHeaderAction.setText(Messages.actionShowHeader);
-
-		preferenceAction = new Action() {
-			public void run() {
-				showPreferencePage();
-			}
-		};
-		preferenceAction.setText(Messages.actionProperties);
-		
-		
-		IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager();
-		tbm.add(sortByResponseTimeAction);
-		tbm.add(clearAction);
-		tbm.add(pinAction);
-		
-		IContentFilter[] filters = MonitorPlugin.getInstance().getContentFilters();
-		IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
-		menuManager.add(httpHeaderAction);
-		for (IContentFilter cf : filters) {
-			FilterAction action = new FilterAction(vm, cf);
-			menuManager.add(action);
-		}
-		menuManager.add(new Separator());
-		menuManager.add(preferenceAction);
-	}
-
-	protected boolean showPreferencePage() {
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.debug.ui.DebugPreferencePage").findSubNode("org.eclipse.wst.internet.monitor.preferencePage");
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		
-		final PreferenceDialog dialog = new PreferenceDialog(getSite().getShell(), manager2);
-		final boolean[] result = new boolean[] { false };
-		BusyIndicator.showWhile(getSite().getShell().getDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				if (dialog.open() == Window.OK)
-					result[0] = true;
-			}
-		});
-		return result[0];
-	}
-
-	/**
-	 * Open a request.
-	 * 
-	 * @param request the request
-	 */
-	public static void open(final Request request) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					IWorkbench workbench = MonitorUIPlugin.getInstance().getWorkbench();
-					IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-					
-					IWorkbenchPage page = workbenchWindow.getActivePage();
-					
-					IViewPart view2 = page.findView(VIEW_ID);
-					
-					if (view2 != null)
-						page.bringToTop(view2);
-					else
-						page.showView(VIEW_ID);
-					
-					if (view != null && !MonitorUIPlugin.getPinViewPreference())
-						view.setSelection(request);
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error opening TCP/IP view", e);
-					}
-				}
-			}
-		});
-	}
-
-	/**
-	 * 
-	 */
-	public void setFocus() {
-		if (tree != null)
-			tree.setFocus();
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/RequestComparator.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/RequestComparator.java
deleted file mode 100644
index cf7b68a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/RequestComparator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-
-public class RequestComparator extends ViewerComparator {
-	/*
-	 * @see ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Viewer viewer, Object o1, Object o2) {
-		if (o1 instanceof Request && o2 instanceof Request) {
-			Request r1 = (Request) o1;
-			Request r2 = (Request) o2;
-			if (r1.getResponseTime() < r2.getResponseTime())
-				return -1;
-			return 1;
-		}
-		return super.compare(viewer, o1, o2);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java
deleted file mode 100644
index 0df04de..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Resends the selected request and adds the result to the request/response tree.
- */
-public class ResendMessageAction implements IViewActionDelegate{
-	protected ISelection selection = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selection != null) {
-			Object element = ((StructuredSelection) selection).getFirstElement();
-			if (element != null && element instanceof Request) {
-				Request req = (Request) element;
-				ResendHTTPRequest newReq = MonitorManager.createResendRequest(req);
-				MonitorManager.getInstance().addResendRequest(req, newReq);
-				TreeViewer treeViewer = MonitorView.view.treeViewer;
-				treeViewer.add(req, newReq);
-				treeViewer.setSelection(new StructuredSelection(newReq), false);
-				newReq.sendRequest();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection2) {
-		this.selection = selection2;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java
deleted file mode 100644
index 830b433..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer;
-/**
- * Send a modified message.
- */
-public class SendModifiedMessageAction implements IViewActionDelegate{
-	ISelection selection = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selection != null) {
-			Object element = ((StructuredSelection) selection).getFirstElement();
-			if (element != null && element instanceof ResendHTTPRequest) {
-				ResendHTTPRequest req = (ResendHTTPRequest) element;
-				ContentViewer curViewer = MonitorView.view.vm.getCurrentRequestViewer();
-				HeaderViewer curHeaderViewer = MonitorView.view.vm.getCurrentRequestHeaderViewer();
-				req.setRequest(curViewer.getContent(), Request.CONTENT);
-				
-				if (curHeaderViewer != null)
-					req.setRequest(curHeaderViewer.getContent(), Request.TRANSPORT);
-
-				req.sendRequest();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection2) {
-		this.selection = selection2;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java
deleted file mode 100644
index 99c1df3..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-/**
- * A label provider for the monitor server view.
- */
-public class TreeLabelProvider implements ILabelProvider {
-	/**
-	 * TreeLabelProvider constructor comment.
-	 */
-	public TreeLabelProvider() {
-		super();
-	}
-
-	/*
-	 * Adds a listener to this label provider.
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	/*
-	 * Disposes of this label provider.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/*
-	 * Returns the image for the label of the given element for use
-	 * in the given viewer.
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof Request) {
-			if (element instanceof ResendHTTPRequest) {
-				if (!((ResendHTTPRequest) element).hasBeenSent())
-					return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_RESEND_REQUEST_RESPONSE);
-			}
-			return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_REQUEST_RESPONSE);
-		}
-		return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_HOST);
-	}
-
-	/*
-	 * Returns the text for the label of the given element for use
-	 * in the given viewer.
-	 */
-	public String getText(Object element) {
-		if (element instanceof Request) {
-			Request call = (Request) element;
-			return call.getName();
-		} else if (element instanceof Integer) {
-			Integer in = (Integer) element;
-			return "localhost:" + in.intValue();
-		} else
-			return element.toString();
-	}
-
-	/*
-	 * Returns whether the label would be affected 
-	 * by a change to the given property of the given element.
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-	
-	/*
-	 * Removes a listener to this label provider.
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
deleted file mode 100644
index b86a1be..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.ui.internal.Trace;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-/**
- * 
- */
-public class Viewer {
-	private IConfigurationElement element;
-
-	protected String[] encodings = null;
-	
-	/**
-	 * Create a new content viewer.
-	 * 
-	 * @param element a configuration element
-	 */
-	public Viewer(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	public String getLabel() {
-		String label = element.getAttribute("label");
-		if (label == null)
-			return "n/a";
-		return label;
-	}
-
-	public String[] getEncodings(){
-		// Cache the encoding
-		if (encodings == null){
-			String encodingString = element.getAttribute("encodings");
-			
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "encodingString from extension point : " + encodingString);
-			}
-			
-			if (encodingString != null){
-				encodings = encodingString.split(",");
-				int size= encodings.length;
-				for (int i=0;i<size;i++){
-					// Clean up input
-					encodings[i] = encodings[i].trim();
-				}
-			}
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Get encodings : " + encodings);
-		}		
-		return encodings;
-	}
-	
-	/**
-	 * Create an instance of the viewer.
-	 * 
-	 * @return the viewer, or <code>null</code> if it couldn't be loaded
-	 */
-	public ContentViewer createViewer() {
-		try {
-			return (ContentViewer) element.createExecutableExtension("class");
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not create viewer" + toString(), e);
-			}
-			return null;
-		}
-	}
-
-	public boolean isRequestViewer() {
-		return element.getAttribute("type").toLowerCase().indexOf("request") >= 0;
-	}
-
-	public boolean isResponseViewer() {
-		return element.getAttribute("type").toLowerCase().indexOf("response") >= 0;
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return String
-	 */
-	public String toString() {
-		return "ContentViewer[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
deleted file mode 100644
index 8b48336..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.Trace;
-import org.eclipse.wst.internet.monitor.ui.internal.custom.SashForm;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.ByteViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer;
-/**
- * 
- */
-public class ViewerManager {
-	private boolean displayHeaderInf;
-
-	protected ContentViewer reqViewer;
-	protected ContentViewer respViewer;
-	protected Viewer requestViewer;
-	protected Viewer responseViewer;
-
-	protected HeaderViewer reqHeader;
-	protected HeaderViewer respHeader;
-
-	protected Composite reqComp;
-	protected Composite respComp;
-
-	protected List<Viewer> viewers;
-
-	protected Request request;
-
-	protected SashForm reqSash;
-	protected SashForm respSash;
-
-	protected List<IContentFilter> filters = new ArrayList<IContentFilter>();
-
-	public ViewerManager(Composite reqParent, Composite respParent) {
-		reqSash = new SashForm(reqParent, SWT.VERTICAL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		layout.marginWidth = 0;
-		reqSash.setLayout(layout);
-		reqSash.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		respSash = new SashForm(respParent, SWT.VERTICAL);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		layout.marginWidth = 0;
-		respSash.setLayout(layout);
-		respSash.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		reqComp = reqSash;
-		respComp = respSash;
-		
-		reqHeader = new HeaderViewer(reqSash, HeaderViewer.REQUEST_HEADER);
-		respHeader = new HeaderViewer(respSash, HeaderViewer.RESPONSE_HEADER);
-		reqViewer = new ByteViewer();
-		reqViewer.init(reqSash);
-		respViewer = new ByteViewer();
-		respViewer.init(respSash);
-		
-		reqSash.setWeights(new int[] { 10, 90 });
-		respSash.setWeights(new int[] { 10, 90 });
-		
-		setDisplayHeaderInfo(MonitorUIPlugin.getShowHeaderPreference());
-		loadAvailableViewers();
-	}
-
-	protected Viewer getDefaultViewer(String name) {
-		if (name == null)
-			return null;
-		
-		String name2 = name.toLowerCase(); 
-		if (name2.endsWith(".xml"))
-			return findViewer("org.eclipse.wst.internet.monitor.viewers.xml");
-		else if (name2.endsWith(".html"))
-			return findViewer("org.eclipse.wst.internet.monitor.viewers.browser");
-		else if (name2.endsWith(".gif") || name2.endsWith(".jpg") ||
-				name2.endsWith(".jpeg") || name2.endsWith(".png"))
-			return findViewer("org.eclipse.wst.internet.monitor.viewers.image");
-		else
-			return findViewer("org.eclipse.wst.internet.monitor.viewers.byte");
-	}
-
-	protected Viewer findViewer(String id) {
-		if (id == null)
-			return null;
-		
-		Iterator iterator = viewers.iterator();
-		while (iterator.hasNext()) {
-			Viewer viewer = (Viewer) iterator.next();
-			if (id.equals(viewer.getId()))
-				return viewer;
-		}
-		return null;
-	}
-
-	private void loadAvailableViewers() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorUIPlugin.PLUGIN_ID, "viewers");
-		int size = cf.length;
-		viewers = new ArrayList<Viewer>(size);
-		for (IConfigurationElement ce : cf)
-			viewers.add(new Viewer(ce));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.view.IViewerManager#setDisplayHeaderInfo(boolean)
-	 */
-	public void setDisplayHeaderInfo(boolean b) {
-		displayHeaderInf = b;
-		reqHeader.setDisplayHeader(b);
-		respHeader.setDisplayHeader(b);
-		reqSash.setSimpleLayout(b);
-		respSash.setSimpleLayout(b);
-		reqSash.layout(true);
-		respSash.layout(true);
-		
-		MonitorUIPlugin.setShowHeaderPreference(b);
-		if (b) {
-			reqHeader.setEditable(false);
-			if (request instanceof ResendHTTPRequest && request.getResponse(Request.TRANSPORT) == null) {
-				reqHeader.setEditable(true);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.view.IViewerManager#getDisplayHeaderInfo()
-	 */
-	public boolean getDisplayHeaderInfo() {
-		return displayHeaderInf;
-	}
-
-	public void setRequest(Request rr) {
-		// maintain the state of the request and request header if they've been modified.
-		if (request instanceof ResendHTTPRequest && request.getResponse(Request.ALL) == null) {
-			ResendHTTPRequest resRequest = (ResendHTTPRequest) request;
-			//EditableContentViewer editViewer = (ContentViewer) reqViewer;
-			byte[] content = reqViewer.getContent();
-			byte[] b = resRequest.getRequest(Request.CONTENT);
-			if (content != null && b != null && !MonitorUIPlugin.parse(b).equals(MonitorUIPlugin.parse(content))) {
-				resRequest.setRequest(content, Request.CONTENT);
-			}
-			byte[] header = reqHeader.getContent();
-			b = resRequest.getRequest(Request.TRANSPORT);
-			if (header != null && b != null && !MonitorUIPlugin.parse(b).equals(MonitorUIPlugin.parse(header))) {
-				resRequest.setRequest(header, Request.TRANSPORT);
-			}
-		}
-		reqHeader.setRequestResponse(rr);
-		respHeader.setRequestResponse(rr);
-		byte[] b = null;
-		if (rr != null)
-			b = filter(rr.getRequest(Request.CONTENT));
-		reqViewer.setContent(b);
-		b = null;
-		if (rr != null)
-			b = filter(rr.getResponse(Request.CONTENT));
-		respViewer.setContent(b);
-		request = rr;
-		
-		// set the editor to editable if the request hasn't been sent and the
-		// editor can be set as editable
-		if (request instanceof ResendHTTPRequest && request.getResponse(Request.ALL) == null) {
-			if (displayHeaderInf)
-				reqHeader.setEditable(true);
-			
-			reqViewer.setEditable(true);
-		} else {
-			if (displayHeaderInf)
-				reqHeader.setEditable(false);
-			
-			reqViewer.setEditable(false);
-		}
-	}
-
-	public void addFilter(IContentFilter filter) {
-		filters.add(filter);
-		setRequest(request);
-	}
-
-	public void removeFilter(IContentFilter filter) {
-		filters.remove(filter);
-		setRequest(request);
-	}
-
-	protected byte[] filter(byte[] b) {
-		if (b == null)
-			return null;
-		Iterator iterator = filters.iterator();
-		while (iterator.hasNext()) {
-			IContentFilter filter = (IContentFilter) iterator.next();
-			try {
-				b = filter.filter(request, false, b);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Error while filtering with " + filter.getId(), e);
-				}
-			}
-		}
-		return b;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getRequestViewers()
-	 */
-	public List getRequestViewers() {
-		Iterator iterator = viewers.iterator();
-		List<Viewer> temp = new ArrayList<Viewer>();
-		while (iterator.hasNext()) {
-			Viewer viewer = (Viewer) iterator.next();
-			if (viewer.isRequestViewer())
-				temp.add(viewer);
-		}
-		return temp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getResponseViewers()
-	 */
-	public List getResponseViewers() {
-		Iterator iterator = viewers.iterator();
-		List<Viewer> temp = new ArrayList<Viewer>();
-		while (iterator.hasNext()) {
-			Viewer viewer = (Viewer) iterator.next();
-			if (viewer.isResponseViewer())
-				temp.add(viewer);
-		}
-		return temp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setRequestViewer(java.lang.String)
-	 */
-	public void setRequestViewer(Viewer viewer) {
-		if (viewer != null && viewer.equals(requestViewer))
-			return;
-		
-		// call set request to save and reset the request
-		setRequest(request);
-		reqViewer.dispose();
-		
-		requestViewer = viewer;
-		if (viewer != null){
-			reqViewer = viewer.createViewer();
-			reqViewer.setEncodings(viewer.getEncodings());
-		}
-		else
-			reqViewer = null;
-		if (reqViewer == null)
-			return;
-		
-		reqViewer.init(reqComp);
-		//reqViewer.setRequestResponse(rr);
-		byte[] b = null;
-		if (request != null) {
-			b = filter(request.getRequest(Request.CONTENT));
-			// set the editor to editable if the request hasn't been sent and the
-			// editor can be set as editable
-			if (request instanceof ResendHTTPRequest && request.getResponse(Request.TRANSPORT) == null) {
-				reqViewer.setEditable(true);
-			} else {
-				reqViewer.setEditable(false);
-			}
-		}
-		reqViewer.setContent(b);
-		reqComp.layout(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setResponseViewer(java.lang.String)
-	 */
-	public void setResponseViewer(Viewer viewer) {
-		if (viewer != null && viewer.equals(responseViewer))
-			return;
-		respViewer.dispose();
-		
-		responseViewer = viewer;
-		if (viewer != null){
-			respViewer = viewer.createViewer();
-			respViewer.setEncodings(viewer.getEncodings());
-		}
-		else
-			respViewer = null;
-		if (respViewer == null)
-			return;
-		
-		respViewer.init(respComp);
-		//respViewer.setRequestResponse(rr);
-		byte[] b = null;
-		if (request != null)
-			b = filter(request.getResponse(Request.CONTENT));
-		respViewer.setContent(b);
-		respComp.layout(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.internal.view.IViewerManager#getCurrentRequestViewer()
-	 */
-	public ContentViewer getCurrentRequestViewer() {
-		return reqViewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.ui.internal.view.IViewerManager#getCurrentRequestHeaderViewer()
-	 */
-	public HeaderViewer getCurrentRequestHeaderViewer() {
-		return reqHeader;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java
deleted file mode 100644
index 5b7a361..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java
+++ /dev/null
@@ -1,92 +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.internet.monitor.ui.internal.viewers;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.wst.internet.monitor.ui.internal.Messages;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-/**
- * A browser viewer.
- */
-public class BrowserViewer extends ContentViewer {
-	protected static final byte CR = '\r';
-	protected static final byte LF = '\n';
-
-	protected Browser browser;
-
-	protected byte[] content;
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {
-		browser = new Browser(parent, SWT.NONE);
-		browser.addListener(SWT.MenuDetect, new Listener() {
-			public void handleEvent(Event event) {
-				event.doit = false;
-			}
-		});
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#setContent(byte[])
-	 */
-	public void setContent(byte[] b) {
-		content = b;
-		if (b == null || b.length == 0) {
-			browser.setText(Messages.htmlViewInvalid);
-		} else {
-			b = MonitorUIPlugin.unzip(b);
-			
-			int trimFront = 0;
-			int trimBack = 0;
-			int len = b.length - 1;
-			while (trimFront < b.length && (b[trimFront] == CR || b[trimFront] == LF))
-				trimFront++;
-			while (trimBack < b.length && b.length > 0 && (b[len - trimBack] == CR || b[len - trimBack] == LF))
-				trimBack++;
-			
-			if (trimFront + trimBack > 0) {
-				if (trimFront + trimBack > b.length) {
-					b = new byte[0];
-				} else {
-					byte[] temp = b;
-					b = new byte[temp.length - trimBack - trimFront];
-					for (int i = trimFront; i < temp.length - trimBack; i++) {
-						b[i - trimFront] = temp[i];
-					}
-				}
-			}
-			browser.setText(new String(b));
-		}
-	}
-
-	/**
-	 * @see ContentViewer#getContent()
-	 */
-	public byte[] getContent() {
-		return content;
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#dispose()
-	 */
-	public void dispose() {
-		browser.dispose();
-		browser = null;
-		content = null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
deleted file mode 100644
index e561cc5..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.viewers;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
-import org.eclipse.wst.internet.monitor.ui.internal.Messages;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.Trace;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-/**
- * A basic byte viewer.
- */
-public class ByteViewer extends ContentViewer {
-	protected Text text;
-	protected Label encodingLabel;
-	protected Combo encodingCombo;
-	protected Composite byteViewerBodyComposite;
-	protected String encodingType = null;
-	
-	// Cache the content in order to encode the content when the user changes
-	// the content
-	protected byte[] contentArray;
-	
-	// copied from MonitorUI
-	private static final String lineSeparator = System.getProperty("line.separator");
-	
-	protected String[] encodings = null;
-	
-	/** (non-Javadoc)
-	 * @see ContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {		
-		byteViewerBodyComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		
-		GridData data = new GridData(GridData.FILL_HORIZONTAL 
-				| GridData.FILL_VERTICAL 
-				| GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		
-		byteViewerBodyComposite.setLayoutData(data);		
-		byteViewerBodyComposite.setLayout(layout);
-		
-		encodingLabel = new Label(byteViewerBodyComposite, SWT.NONE);
-				
-		encodingLabel.setText(NLS.bind(Messages.viewEncoding,""));
-		encodingCombo = new Combo(byteViewerBodyComposite, SWT.RIGHT);
-		
-		// Add the default option
-		encodingCombo.add(NLS.bind(Messages.defaultEncodingOption,""));
-		// Select the default option
-		encodingCombo.select(0);
-		
-		if (encodings != null){
-			int size = encodings.length;
-			for (int i=0;i<size;i++){
-				encodingCombo.add(encodings[i]);
-			}
-		}
-		
-		encodingCombo.addModifyListener(new ModifyListener(){
-			public void modifyText(ModifyEvent me) {
-				encodingType = encodingCombo.getText();				
-				if (contentArray != null){
-					setContent(contentArray);
-				}
-			}
-			
-		});
-		
-		text = new Text(byteViewerBodyComposite, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-		Display display = byteViewerBodyComposite.getDisplay();
-		text.setLayoutData(data);
-		text.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		text.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-		text.setFont(JFaceResources.getTextFont());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(text, ContextIds.VIEW_RESPONSE);
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#setEditable(boolean)
-	 */
-	public void setEditable(boolean editable) {
-		text.setEditable(editable);
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#getContent()
-	 */
-	public byte[] getContent() {
-		if (text == null)
-			return new byte[0];
-		
-		String content = text.getText().trim();
-		if (content.equals(""))
-			return new byte[0];
-		
-		// Need to ensure that there is a newline at the end of the content
-		// getBytes() removes the newline
-		byte[] twoNewlines = new byte[] { '\015', '\012' };
-		byte[] contentBytes = content.getBytes();
-		byte[] retBytes = new byte[contentBytes.length + 2];
-		System.arraycopy(contentBytes, 0, retBytes, 0, contentBytes.length);
-		System.arraycopy(twoNewlines, 0, retBytes, contentBytes.length, 2);
-		return retBytes;
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#setContent(byte[])
-	 */
-	public void setContent(byte[] b) {
-		String out = "";
-		if (b != null) {
-			contentArray = b;
-			b = MonitorUIPlugin.unzip(b);
-			out = parseEncoded(b);
-		}
-		
-		int ls = lineSeparator.length();
-		if (out.length() > ls) {
-			while (out.substring(0, ls).indexOf(lineSeparator) >= 0)
-				out = out.substring(ls, out.length()); 
-		}
-		
-		text.setText(out);
-	}
-	
-	/**
-	 * Convenience method to parse the given bytes into String form. The bytes
-	 * are parsed into a line delimited string. The byte array must not be null.
-	 * 
-	 * @param b a byte array
-	 * @return the string after the conversion
-	 */
-	public String parseEncoded(byte[] b) {
-		if (b == null)
-			throw new IllegalArgumentException();
-		
-		ByteArrayInputStream bin = new ByteArrayInputStream(b);
-		BufferedReader br = null;
-		if (encodingType != null){
-			try {
-				br = new BufferedReader(new InputStreamReader(bin,encodingType));
-			} catch (UnsupportedEncodingException e) {
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, 
-							"An unsupported encoding exception when using encodingType="
-							+ encodingType, e);
-				}
-				
-				// If it is unsupported, use default. No prompt is given to the user
-				br = new BufferedReader(new InputStreamReader(bin));
-			}
-		}
-		else {
-			br = new BufferedReader(new InputStreamReader(bin));
-		}
-		
-		StringBuffer sb = new StringBuffer();
-		try {
-			String s = br.readLine();
-			
-			while (s != null) {
-				sb.append(s);
-				s = br.readLine();
-				if (s != null)
-					sb.append(lineSeparator);
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error parsing input", e);
-			}
-		}
-		
-		return sb.toString();
-	}	
-	
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#dispose()
-	 */
-	public void dispose() {
-		text.dispose();
-		text = null;
-		
-		encodingCombo.dispose();
-		encodingCombo = null;
-		
-		encodingLabel.dispose();
-		encodingLabel = null;
-		
-		byteViewerBodyComposite.dispose();
-		byteViewerBodyComposite = null;
-	}
-
-	/** (non-Javadoc)
-	 * 
-	 * Sets the encodings to show in the encodings combo box
-	 * 
-	 */
-	public void setEncodings(String[] str){
-		this.encodings = str;
-	}	
-	
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
deleted file mode 100644
index ec4f4cf..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
+++ /dev/null
@@ -1,172 +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.internet.monitor.ui.internal.viewers;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
-import org.eclipse.wst.internet.monitor.ui.internal.Messages;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.custom.MonitorStackLayout;
-/**
- * An transport (header) viewer.
- */
-public class HeaderViewer {
-	protected boolean displayHeader;
-
-	protected Composite headerComp;
-	protected MonitorStackLayout layout;
-
-	protected Label headerLabel;
-	protected Text headerText;
-	protected Request rr;
-	protected byte msg;
-
-	protected boolean hidden;
-
-	/**
-	 * Request header constant.
-	 */
-	public static byte REQUEST_HEADER = 0;
-	
-	/**
-	 * Response header constant.
-	 */
-	public static byte RESPONSE_HEADER = 1;
-
-	/**
-	 * Create a new header viewer.
-	 * 
-	 * @param parent
-	 * @param message
-	 */
-	public HeaderViewer(Composite parent, byte message) {
-		displayHeader = true;
-		hidden = false;
-		
-		headerComp = new Composite(parent, SWT.NONE);
-		layout = new MonitorStackLayout();
-		headerComp.setLayout(layout);
-		
-		headerText = new Text(headerComp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-		Display display = headerComp.getDisplay();
-		headerText.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		headerText.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-		headerText.setFont(JFaceResources.getTextFont());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(headerText, ContextIds.VIEW_RESPONSE);
-		
-		headerLabel = new Label(headerComp, SWT.NONE);
-		
-		layout.topControl = headerText;
-		
-		rr = null;
-		msg = message;
-
-		setDisplayHeader(false);
-	}
-
-	/**
-	 * 
-	 * @param request
-	 */
-	public void setRequestResponse(Request request) {
-		rr = request;
-		if (!hidden)
-			getView();
-	}
-
-	/**
-	 * 
-	 * @param b
-	 */
-	public void setDisplayHeader(boolean b) {
-		if (displayHeader != b) {
-			displayHeader = b;
-			
-			if (displayHeader)
-				layout.topControl = headerText;
-			else
-				layout.topControl = headerLabel;
-			
-			headerComp.layout(true);
-			getView();
-		}
-	}
-
-	private void getView() {
-		String out = "";
-		if (rr != null) {
-			if (msg == REQUEST_HEADER) {
-				byte[] b = rr.getRequest(Request.TRANSPORT);
-				if (b != null)
-					out = MonitorUIPlugin.parse(b);
-			} else if (msg == RESPONSE_HEADER) {
-				byte[] b = rr.getResponse(Request.TRANSPORT);
-				if (b != null)
-					out = MonitorUIPlugin.parse(b);
-			}
-		}
-		
-		if (displayHeader)
-			headerText.setText(out);
-		else {
-			String lineSeparator = System.getProperty("line.separator");
-			int index = out.indexOf(lineSeparator);
-			if (index > 0)
-				headerLabel.setText(NLS.bind(Messages.headerLabel, out.substring(0, index)));
-			else 
-				headerLabel.setText(NLS.bind(Messages.headerLabel, out));
-		}
-	}
-
-	/**
-	 * Dispose the header.
-	 */
-	public void dispose() {
-		headerComp.dispose();
-	}
-
-	/**
-	 * Set whether the header can be edited.
-	 * 
-	 * @param editable If true the header can be edited, otherwise the header cannot be edited.
-	 */
-	public void setEditable(boolean editable) {
-		headerText.setEditable(editable);
-	}
-
-	/**
-	 * Get the content from the header.
-	 * 
-	 * @return The content from the header.
-	 */
-	public byte[] getContent() {
-		if (headerText == null || headerText.isDisposed())
-			return null;
-		
-		String header = headerText.getText().trim();
-		// Need to ensure that the following 4 bytes end the header. The getBytes()
-		// method removes spaces at the end of the string.
-		byte[] twoNewlines = new byte[] { '\015', '\012', '\015', '\012' };
-		byte[] headerBytes = header.getBytes();
-		byte[] retBytes = new byte[headerBytes.length + 4];
-		System.arraycopy(headerBytes, 0, retBytes, 0, headerBytes.length);
-		System.arraycopy(twoNewlines, 0, retBytes, headerBytes.length, 4);
-		return retBytes;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
deleted file mode 100644
index a8d4dbd..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
+++ /dev/null
@@ -1,107 +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.internet.monitor.ui.internal.viewers;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.internet.monitor.ui.internal.Messages;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-/**
- * An image viewer.
- */
-public class ImageViewer extends ContentViewer {
-	protected static final byte CR = '\r';
-	protected static final byte LF = '\n';
-
-	protected ScrolledComposite scroll;
-	protected Label messageLabel;
-
-	protected byte[] content;
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {
-		scroll = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		messageLabel = new Label(scroll, SWT.NONE);
-		messageLabel.setText(Messages.imageViewInvalid);
-		messageLabel.setFont(parent.getFont());
-		messageLabel.setSize(messageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-		scroll.setContent(messageLabel);
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#setContent(byte[])
-	 */
-	public void setContent(byte[] b) {
-		content = b;
-		if (b == null || b.length == 0) {
-			messageLabel.setImage(null);
-		} else {
-			b = MonitorUIPlugin.unzip(b);
-			
-			int trimFront = 0;
-			int trimBack = 0;
-			int len = b.length - 1;
-			while (trimFront < b.length && b[trimFront] == CR || b[trimFront] == LF)
-				trimFront++;
-			while (trimBack < b.length && b[len - trimBack] == CR || b[len - trimBack] == LF)
-				trimBack++;
-			
-			if (trimFront + trimBack > 0) {
-				if (trimFront + trimBack > b.length) {
-					b = new byte[0];
-				} else {
-					byte[] temp = b;
-					b = new byte[temp.length - trimBack - trimFront];
-					for (int i = trimFront; i < temp.length - trimBack; i++) {
-						b[i - trimFront] = temp[i];
-					}
-				}
-			}
-			
-			try {
-				ImageData imgD = new ImageData(new ByteArrayInputStream(b));
-				Image img = new Image(null, imgD);
-				messageLabel.setImage(img);
-			} catch(Exception e) {
-				messageLabel.setImage(null);
-				messageLabel.setText(Messages.imageViewInvalid);
-			}
-		}
-		
-		messageLabel.setSize(messageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-	}
-
-	/**
-	 * @see ContentViewer#getContent()
-	 */
-	public byte[] getContent() {
-		return content;
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#dispose()
-	 */
-	public void dispose() {
-		scroll.dispose();
-		scroll = null;
-		messageLabel = null;
-		content = null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
deleted file mode 100644
index d6c906d..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     
- *     2005-11-25 Arthur Ryman, ryman@ca.ibm.com
- *     - fixed bug 118102: set xmlTagMissing correctly each time setContent() is called
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.viewers;
- 
-import java.io.*;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
-import org.eclipse.wst.internet.monitor.ui.internal.Messages;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-/**
- * XML Viewer.
- */
-public class XMLViewer extends ContentViewer {
-	protected Composite viewerComp;
-	protected StackLayout layout;
-	protected Text messageText;
-	protected Label messageLabel;
-
-	protected boolean xmlTagMissing = false;
-	protected boolean setEncoding = false;
-	protected boolean missingEncoding = false;
-	protected String originalEncoding;
-
-	protected byte[] content;
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#setContent(byte[])
-	 */
-	public void setContent(byte[] b) {
-		content = b;
-		String out = "";	
-		if (b != null) {
-			b = MonitorUIPlugin.unzip(b);
-			out = MonitorUIPlugin.parse(b);
-		}
-		
-		String lineSeparator = System.getProperty("line.separator");
-		int ls = lineSeparator.length();
-		if (out.length() > ls) {
-			while (out.substring(0, ls).indexOf(lineSeparator) >= 0)
-			out = out.substring(ls, out.length());
-		}
-		
-		String out_temp = out.toLowerCase();
-		xmlTagMissing = !out_temp.startsWith("<?xml");
-		
-		if (out.length() > 0) {
-			String finalMsg = null;
-			try {
-				byte[] b1 = createDocument(out);
-				finalMsg = new String(b1).trim();
-			} catch (Exception e) {
-				// case: error parsing
-				messageText.setVisible(false);
-				layout.topControl = messageLabel;
-				messageLabel.setVisible(true);
-				messageLabel.setText(Messages.xmlViewInvalid);
-				return;
-			}
-			if (xmlTagMissing && (finalMsg.toLowerCase().startsWith("<?xml version=\"1.0\" encoding=\"utf-8\"?>")
-							|| finalMsg.toLowerCase().startsWith("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>") 
-							|| finalMsg.toLowerCase().startsWith("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"))) {
-				int x = finalMsg.indexOf(">") + 1;
-				//remove <?xml version="1.0" encoding="UTF-8"?>
-				String Msg = finalMsg.substring(x);
-				//remove starting newlines
-				while (Msg.substring(0, ls).indexOf(lineSeparator) >= 0){
-					Msg = Msg.substring(ls, Msg.length());
-				}
-				finalMsg = Msg;
-				
-				messageText.setText(finalMsg);
-			} else if (setEncoding) {
-				// change back to original encoding
-				int begin = finalMsg.toLowerCase().indexOf("utf-8"); // location of opening "
-				if (begin >= 0) {
-					int last = begin + 5;  // location of closing "
-					String first_half = finalMsg.substring(0,begin);
-					String second_half = finalMsg.substring(last);
-					finalMsg = first_half + originalEncoding + second_half;
-				}
-				
-				messageText.setText(finalMsg);
-			} else if (missingEncoding) {
-				// remove encoding completely
-				int begin = finalMsg.toLowerCase().indexOf("encoding=\"utf-8\""); //location of opening "
-				int last = begin + 16;  //location of closing "
-				String first_half = finalMsg.substring(0,begin);
-				String second_half = finalMsg.substring(last);
-				finalMsg = first_half + second_half;
-				
-				messageText.setText(finalMsg);	
-			} else
-				messageText.setText(finalMsg);
-		} else
-			messageText.setText(out);
-		
-		messageLabel.setVisible(false);
-		layout.topControl = messageText;
-		messageText.setVisible(true);
-	}
-
-	/**
-	 * @see ContentViewer#getContent()
-	 */
-	public byte[] getContent() {
-		return content;
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {
-		viewerComp = new Composite(parent, SWT.NONE);
-		layout = new StackLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		viewerComp.setLayout(layout);
-		
-		messageText = new Text(viewerComp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-		Display display = viewerComp.getDisplay();
-		messageText.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		messageText.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-		messageText.setFont(JFaceResources.getTextFont());
-		messageText.setVisible(true);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(messageText, ContextIds.VIEW_RESPONSE);
-		
-		messageLabel = new Label(viewerComp, SWT.NONE);
-		messageLabel.setVisible(false);
-		
-		layout.topControl = messageText;
-	}
-
-	/* (non-Javadoc)
-	 * @#createDocument(String)
-	 */
-	protected byte[] createDocument(String str) throws IOException {
-		try {	
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			try {
-				factory.setAttribute("http://apache.org/xml/features/allow-java-encodings", new Boolean(true));
-				factory.setAttribute("http://apache.org/xml/features/continue-after-fatal-error", new Boolean(true));
-			} catch (Exception e) {
-				// ignore
-			}
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			
-			if (xmlTagMissing) {
-				str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + str;
-			} else {
-				String str_temp = str.toLowerCase();
-				
-				// if encoding present, then save original encoding and change to UTF-8
-				int ind = str_temp.indexOf("encoding=");
-				if (ind >= 0) {
-					String temp1 = str.substring(ind);
-					int beginIndex = temp1.indexOf("\"") + 1;
-					String temp2 = temp1.substring(beginIndex);
-					int endIndex = temp2.indexOf("\"");
-					originalEncoding = temp2.substring(0, endIndex);
-					if (!"utf-8".equals(originalEncoding))
-						setEncoding = true;
-				} else if (ind < 0) { //if no encoding at all,then no changes to be made
-					setEncoding = false;
-					missingEncoding = true;
-				}
-			}
-			byte[] parseArray = str.getBytes();
-			Document document = parser.parse(new InputSource(new ByteArrayInputStream(parseArray)));
-			return getContents(document);
-		} catch (Exception e) {
-			throw new IOException("Invalid XML");
-		}
-	}
-
-	protected byte[] getContents(Document document) throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		Result result = new StreamResult(out);
-		Source source = new DOMSource(document);
-		try {
-			TransformerFactory tf = TransformerFactory.newInstance();
-			try {
-				tf.setAttribute("indent-number", new Integer(2));
-			} catch (Exception e) {
-				e.printStackTrace();
-				// ignore - fails on JDK 1.4
-			}
-			Transformer transformer = tf.newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.STANDALONE, "no"); //$NON-NLS-1$
-			transformer.transform(source, result);
-		} catch (TransformerConfigurationException e) {
-			throw (IOException) (new IOException().initCause(e));
-		} catch (TransformerException e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-		return out.toByteArray();
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#dispose()
-	 */
-	public void dispose() {
-		viewerComp.dispose();
-		viewerComp = null;
-		content = null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties
deleted file mode 100644
index 6a48576..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=TCP/IP Monitor
-providerName=Eclipse.org
-
-extensionPointViewers=Viewers
-
-viewTitle=TCP/IP Monitor
-actionResend=Resend request
-actionModify=Modify request
-actionModifyResend=Send Modified Request
-
-byteView=Byte
-imageView=Image
-xmlView=XML
-browserView=Web Browser
-
-preferenceTitle=TCP/IP Monitor
-preferenceKeywords=debug
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
deleted file mode 100644
index 8f85473..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-<extension-point name="%extensionPointViewers" id="viewers" schema="schema/viewers.exsd"/>
-
-<extension point="org.eclipse.wst.internet.monitor.core.internalStartup">
-  <startup
-    id="org.eclipse.wst.internet.monitor.ui"
-    class="org.eclipse.wst.internet.monitor.ui.internal.Startup"/>
-</extension>
-
-<extension point="org.eclipse.ui.views"> 
-  <view
-    id="org.eclipse.wst.internet.monitor.view"
-    name="%viewTitle"
-    category="org.eclipse.debug.ui"
-    class="org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView"
-    icon="icons/cview16/monitorView.gif">
-  </view>
-</extension>
-
-<extension point="org.eclipse.ui.preferencePages">
-  <page
-    id="org.eclipse.wst.internet.monitor.preferencePage"
-    name="%preferenceTitle"
-    category="org.eclipse.debug.ui.DebugPreferencePage"
-    class="org.eclipse.wst.internet.monitor.ui.internal.MonitorPreferencePage">
-      <keywordReference id="org.eclipse.wst.internet.monitor.preferenceKeywords"/>
-  </page>
-</extension>
-
-<extension point="org.eclipse.ui.keywords">
-  <keyword
-    label="%preferenceKeywords"
-    id="org.eclipse.wst.internet.monitor.preferenceKeywords"/>
-</extension>
-
-<extension point="org.eclipse.wst.internet.monitor.ui.viewers">
-  <viewer
-    id="org.eclipse.wst.internet.monitor.viewers.byte"
-    class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ByteViewer"
-    type="requestresponse"
-    encodings="UTF-8,UTF-16,ASCII,Cp1250,Cp1251,Cp1252,Cp1253,Cp1254,Cp1257,ISO8859_1,ISO8859_2,ISO8859_4,ISO8859_5,ISO8859_7,ISO8859_9,ISO8859_13,ISO8859_15,KOI8_R,UnicodeBigUnmarked,UnicodeLittleUnmarked,UnicodeBig,UnicodeLittle"
-    label="%byteView"/>
-  <viewer
-    id="org.eclipse.wst.internet.monitor.viewers.image"
-    class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ImageViewer"
-    type="requestresponse"
-    label="%imageView"/>
-  <viewer
-    id="org.eclipse.wst.internet.monitor.viewers.xml"
-    class="org.eclipse.wst.internet.monitor.ui.internal.viewers.XMLViewer"
-    type="requestresponse"
-    label="%xmlView"/>
-  <viewer
-    id="org.eclipse.wst.internet.monitor.viewers.browser"
-    class="org.eclipse.wst.internet.monitor.ui.internal.viewers.BrowserViewer"
-    type="requestresponse"
-    label="%browserView"/>
-</extension>
-
-<extension point="org.eclipse.core.runtime.adapters">
-  <factory
-    class="org.eclipse.wst.internet.monitor.ui.internal.RequestAdapterFactory"
-    adaptableType="org.eclipse.wst.internet.monitor.core.internal.provisional.Request">
-    <adapter type="org.eclipse.ui.IActionFilter"/>
-  </factory>
-</extension>
-
-<extension point="org.eclipse.ui.popupMenus">
-    <objectContribution
-          objectClass="org.eclipse.wst.internet.monitor.core.internal.provisional.Request"
-          id="org.eclipse.wst.internet.monitor.ui.modifyaction">
-       <filter name="requestsent" value="true"/>
-       <action
-             label="%actionResend"
-             menubarPath="additions"
-             class="org.eclipse.wst.internet.monitor.ui.internal.view.ResendMessageAction"
-             enablesFor="1"
-             id="org.eclipse.wst.internet.monitor.ui.internal.view.ResendMessageAction"
-             icon="icons/elcl16/resendRequest.gif">
-       </action>
-       <action
-             label="%actionModify"
-             menubarPath="additions"
-             class="org.eclipse.wst.internet.monitor.ui.internal.view.ModifyMessageAction"
-             enablesFor="1"
-             id="org.eclipse.wst.internet.monitor.ui.internal.view.ModifyMessageAction"
-             icon="icons/etool16/editRequest.gif">
-       </action>
-    </objectContribution>
-    <objectContribution
-          objectClass="org.eclipse.wst.internet.monitor.core.internal.provisional.Request"
-          id="org.eclipse.wst.internet.monitor.ui.sendmodifyaction">
-       <filter name="requestsent" value="false"/>    
-       <action
-             label="%actionModifyResend"
-             menubarPath="additions"
-             class="org.eclipse.wst.internet.monitor.ui.internal.view.SendModifiedMessageAction"
-             enablesFor="1"
-             id="org.eclipse.wst.internet.monitor.ui.internal.view.SendModifiedMessageAction"
-             icon="icons/elcl16/resendRequest.gif">
-       </action>
-    </objectContribution>
-</extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd b/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd
deleted file mode 100644
index 96b4c1a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.internet.monitor.ui" xmlns="http://www.w3.org/2001/XMLSchema">

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <annotation>

-         <appInfo>

-            <meta.element />

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="viewer">

-      <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;org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer&lt;/samp&gt;. Viewers instances of this type will delegate to instances of this class.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the content viewer

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  [issue: what is this used for?]

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </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 content viewer extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.internet.monitor.ui.viewers&quot;&gt;

-      &lt;viewer

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

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

-            type=&quot;requestresponse&quot;

-            label=&quot;%byteView&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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.internet.monitor.ui.internal.provisional.ContentViewer&lt;/code&gt;.

-      </documentation>

-   </annotation>

-

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 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/.classpath b/plugins/org.eclipse.wst.server.core/.classpath
deleted file mode 100644
index 921daf3..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/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<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 e3bb1f3..0000000
--- a/plugins/org.eclipse.wst.server.core/.options
+++ /dev/null
@@ -1,30 +0,0 @@
-# Debugging options for the org.eclipse.wst.server.core plugin
-
-# Turn on general debugging
-org.eclipse.wst.server.core/debug=true
-
-# Tracing options
-org.eclipse.wst.server.core/config=false
-org.eclipse.wst.server.core/info=false
-org.eclipse.wst.server.core/warning=false
-org.eclipse.wst.server.core/severe=false
-org.eclipse.wst.server.core/finest=false
-org.eclipse.wst.server.core/finer=false
-
-# 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
-
-# runtime targets
-org.eclipse.wst.server.core/runtime_target=false
-
-# Performance of loading and calling delegates
-org.eclipse.wst.server.core/performance=false
-
-# Publishing
-org.eclipse.wst.server.core/publishing=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/.project b/plugins/org.eclipse.wst.server.core/.project
deleted file mode 100644
index 7593f12..0000000
--- a/plugins/org.eclipse.wst.server.core/.project
+++ /dev/null
@@ -1,34 +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>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</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 c8be432..0000000
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Nov 10 17:11:35 HST 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 a23962e..0000000
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,355 +0,0 @@
-#Wed Mar 23 16:23:03 EDT 2011
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.builder.invalidClasspath=ignore
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.lineSplit=140
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
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 651c3de..0000000
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Mar 23 16:23:03 EDT 2011
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.ondemandthreshold=4
-org.eclipse.jdt.ui.staticondemandthreshold=4
-org.eclipse.jdt.ui.overrideannotation=true
-formatter_settings_version=11
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-formatter_profile=_Eclipse WTP Servertools Formatting rules
-org.eclipse.jdt.ui.gettersetter.use.is=true
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.keywordthis=false
diff --git a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Sat Apr 22 18:36:14 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
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 0350d2b..0000000
--- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.server.core; singleton:=true
-Bundle-Version: 1.1.209.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.facets;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;bundle-version="[3.2.0,4.0.0)";resolution:=optional,
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,2.0.0)";resolution:=optional,
- org.eclipse.wst.common.core;bundle-version="[1.2.0,2.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 2199df3..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>June, 2008</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 82e32b8..0000000
--- a/plugins/org.eclipse.wst.server.core/build.properties
+++ /dev/null
@@ -1,21 +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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               .options,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/
-source.. = servercore/
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 54c5652..0000000
--- a/plugins/org.eclipse.wst.server.core/plugin.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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
-extensionPointRuntimeModuleType=Runtime Module 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
-extensionPointPublishers=Publishers
-extensionPointPublishController=Publish Controller
-extensionPointServerMonitors=Server Monitors
-extensionPointInstallableServers=Installable Servers
-extensionPointInstallableRuntimes=Installable Runtimes
-extensionPointSaveEditorPrompter=Save Editor Prompter
-
-extensionPointRuntimeFacetComponentProviders=Runtime Facet Component Providers
-
-moduleTypeUnknown=Unknown module
-moduleTypeStaticWebName=Static Web project
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 77b26c2..0000000
--- a/plugins/org.eclipse.wst.server.core/plugin.xml
+++ /dev/null
@@ -1,45 +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/serverLocators.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="publishers" name="%extensionPointPublishers" schema="schema/publishers.exsd"/>
-  <extension-point id="publishController" name="%extensionPointPublishController" schema="schema/publishController.exsd"/>
-  <extension-point id="internalServerMonitors" name="%extensionPointServerMonitors" schema="schema/serverMonitors.exsd"/>
-  <extension-point id="internalStartup" name="%extensionPointServerStartup" schema="schema/startup.exsd"/>
-  <extension-point id="installableRuntimes" name="%extensionPointInstallableRuntimes" schema="schema/installableRuntimes.exsd"/>
-  <extension-point id="runtimeFacetComponentProviders" name="%extensionPointRuntimeFacetComponentProviders" schema="schema/runtimeFacetComponentProviders.exsd"/>
-  <extension-point id="runtimeModuleType" name="%runtimeModuleType" schema="schema/runtimeModuleType.exsd"/>
-  <extension-point id="saveEditorPrompter" name="%extensionPointSaveEditorPrompter" schema="schema/saveEditorPrompter.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.common.project.facet.core.runtimeBridges">
-    <bridge
-      id="org.eclipse.wst.server.core.default"
-      class="org.eclipse.wst.server.core.internal.facets.RuntimeBridge"/>
-  </extension>
-  <extension
-        point="org.eclipse.core.runtime.preferences">
-     <modifier
-           class="org.eclipse.wst.server.core.internal.ServerPreferenceModifyListener">
-     </modifier>
-  </extension>
-</plugin>
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 faeadf9..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/clients.exsd
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.core" xmlns="http://www.w3.org/2001/XMLSchema">

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="client">

-      <annotation>

-         <appinfo>

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

-         </appinfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

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

-               <appinfo>

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

-               </appinfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable description of this client

-               </documentation>

-               <appinfo>

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

-               </appinfo>

-            </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="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="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="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 2dfa416..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<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 (i.e. server installations) from a remote server.
-
-New users should use the &apos;runtime&apos; element (which allows you to point to any zip file on any server) and not the original &apos;installableRuntime&apos; element (which requires a remote update manager site).
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="installableRuntime" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="runtime" 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="id" deprecated="true"/>
-         </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="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>
-               <appinfo>
-                  <meta.attribute deprecated="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="bundleVersion" type="string">
-            <annotation>
-               <documentation>
-                  the optional version of the bundle in which the runtime zip is in
-               </documentation>
-               <appinfo>
-                  <meta.attribute deprecated="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="path" type="string">
-            <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>
-               <appinfo>
-                  <meta.attribute deprecated="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="runtime">
-      <annotation>
-         <appinfo>
-            <meta.element labelAttribute="id"/>
-         </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="archiveUrl" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a URL to the runtime archive download
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="archivePath" type="string">
-            <annotation>
-               <documentation>
-                  optional path within the archive to the root of the runtime
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="archiveSize" type="string">
-            <annotation>
-               <documentation>
-                  anticipated size of the archive in bytes for progress monitor use
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="fileCount" type="string">
-            <annotation>
-               <documentation>
-                  anticipated number of files in the archive for progress monitor use
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="licenseUrl" type="string">
-            <annotation>
-               <documentation>
-                  a URL to the runtime license
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="os" type="string">
-            <annotation>
-               <documentation>
-                  optional operating system specification. A comma-separated list of operating system designators defined by Eclipse (see Javadoc for org.eclipse.core.runtime.Platform). Indicates this installable runtime should only be used on one of the specified OS systems. If this attribute is not specified, the feature can be installed on all systems (portable implementation)
-               </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="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/launchableAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
deleted file mode 100644
index 97343aa..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.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" xmlns="http://www.w3.org/2001/XMLSchema">

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="launchableAdapter">

-      <annotation>

-         <appinfo>

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

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

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

-            <annotation>

-               <documentation>

-                  an optional priority atrribute which specifies a relative ordering of launchable 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 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="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 d927a6c..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.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" xmlns="http://www.w3.org/2001/XMLSchema">

-<annotation>

-      <appinfo>

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

-      </appinfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

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

-

-   <element name="extension">

-      <annotation>

-         <appinfo>

-            <meta.element />

-         </appinfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleArtifactAdapter">

-      <annotation>

-         <appinfo>

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

-         </appinfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

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

-      </appinfo>

-      <documentation>

-         Copyright (c) 2000, 2008 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 7010776..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" xmlns="http://www.w3.org/2001/XMLSchema">

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

-

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

-

-   <element name="extension">

-      <annotation>

-         <appInfo>

-            <meta.element />

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleFactory">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2011 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 b928348..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="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="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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleType">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the 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/publishController.exsd b/plugins/org.eclipse.wst.server.core/schema/publishController.exsd
deleted file mode 100644
index b1f6ddb..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/publishController.exsd
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="publishController" name="Publish Controller"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to have granual control of the publish action of a server. 
-
-&lt;b&gt;Provisional API:&lt;/b&gt;
-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.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="publishController" 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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="publishController">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </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>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used to identify this PublishController
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable description of the PublishController
-               </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.model.PublishControllerDelegate&lt;/samp&gt;.
-PublishController instances of this type will delegate to instances of this class.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.PublishControllerDelegate:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="order" type="string" use="required">
-            <annotation>
-               <documentation>
-                  an integer that specifies the order that the publisher is processed. if the value is less than 0 it will be processed before calling the server behaviour delegate&apos;s publishing methods, and may modify the workspace. if the value is more than 0, it will be called after the server behaviour delegate&apos;s publishing methods and may not modify the workspace
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a PublishController extension point:
-
-&lt;pre&gt;
-
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2010 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>
-
-   <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.PublishController&lt;/code&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 8e091cd..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/publishTasks.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="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="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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="publishTask">
-      <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;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/publishers.exsd b/plugins/org.eclipse.wst.server.core/schema/publishers.exsd
deleted file mode 100644
index 73c86d2..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/publishers.exsd
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="publishers" name="Publishers"/>
-      </appinfo>
-      <documentation>
-         This extension point is used to provide a task that is run while publishing to a server.
-
-&lt;b&gt;Provisional API:&lt;/b&gt;
-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.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="publisher" 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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="publisher">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </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>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used to identify this publisher
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable description of this publisher
-               </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.model.PublisherDelegate&lt;/samp&gt;.
-Publish instances of this type will delegate to instances of this class.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.PublisherDelegate:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="order" type="string" use="required">
-            <annotation>
-               <documentation>
-                  an integer that specifies the order that the publisher is processed. if the value is less than 0 it will be processed before calling the server behaviour delegate&apos;s publishing methods, and may modify the workspace. if the value is more than 0, it will be called after the server behaviour delegate&apos;s publishing methods and may not modify the workspace
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         The following is an example of a publisher extension point:
-
-&lt;pre&gt;
-
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2008 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>
-
-   <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.PublisherDelegate&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeFacetComponentProviders.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeFacetComponentProviders.exsd
deleted file mode 100644
index 475d4ec..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeFacetComponentProviders.exsd
+++ /dev/null
@@ -1,136 +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="runtimeFacetComponentProviders" name="Runtime Facet Component Providers"/>
-      </appInfo>
-      <documentation>
-         This extension point is internal and experimental and should not be used by downstream components.
-This extension point is used to provide new runtime components to an existing facet runtime.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="runtimeComponentProvider" 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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="runtimeComponentProvider">
-      <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="runtimeTypeIds" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a comma separated list of runtime type ids that this provider 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;RuntimeClasspathProviderDelegate&lt;/samp&gt;.
-Runtime classpath provider instances of this type will delegate to instances of this class.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         2.0.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a runtime component provider extension point:
-
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.wst.server.core.runtimeFacetComponentProviders&quot;&gt;
-     &lt;runtimeComponentProvider
-        id=&quot;com.example.runtimeComponentProvider&quot;
-        runtimeTypeIds=&quot;com.example.runtime, com.example2.*&quot;
-        class=&quot;com.example.ExampleRuntimeComponentProvider&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;b&gt;org.eclipse.wst.server.core.RuntimeFacetClasspathProviderDelegate&lt;/b&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) 2007 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 e3ad17c..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="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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="runtimeLocator">

-      <annotation>

-         <appInfo>

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

-         </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/runtimeModuleType.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeModuleType.exsd
deleted file mode 100644
index f97ac9d..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeModuleType.exsd
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="runtimeModuleType" name="Runtime Module type"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to provide a supported ModuleType for a Runtime
-
-&lt;b&gt;Provisional API:&lt;/b&gt;
-This class/interface/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.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="runtimeModuleType" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="runtimeModuleType">
-      <complexType>
-         <sequence>
-            <element ref="moduleType" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="runtimeTypes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a comma separated list of the unique identifier of the runtimeTypes that supports this module
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="moduleType">
-      <complexType>
-         <attribute name="types" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a comma separated list of the module types that this runtime supports
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="versions" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a comma separated list of the module versions that this runtime supports
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2010 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 788fa89..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
+++ /dev/null
@@ -1,145 +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="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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="runtimeTargetHandler">

-      <annotation>

-         <appInfo>

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

-         </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="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 b6dd595..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.core" xmlns="http://www.w3.org/2001/XMLSchema">

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

-      <annotation>

-         <appInfo>

-            <meta.element />

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="runtimeType">

-      <annotation>

-         <appInfo>

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

-         </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" basedOn="org.eclipse.wst.server.core.model.RuntimeDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="moduleType">

-      <complexType>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="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="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>

-

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

-

-</schema>

diff --git a/plugins/org.eclipse.wst.server.core/schema/saveEditorPrompter.exsd b/plugins/org.eclipse.wst.server.core/schema/saveEditorPrompter.exsd
deleted file mode 100644
index aeafbb7..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/saveEditorPrompter.exsd
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.core" id="saveEditorPrompter" name="%saveEditorPrompter"/>
-      </appInfo>
-      <documentation>
-         This is an internal extension point that should only be adopted by org.eclipse.wst.server.core. It is used to transfer the control to the UI and save all the editors are open before continuing
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="saveEditorPrompter"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="saveEditorPrompter">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.internal.SaveEditorPrompter:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2010 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/serverLocators.exsd b/plugins/org.eclipse.wst.server.core/schema/serverLocators.exsd
deleted file mode 100644
index 86db1cb..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverLocators.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="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>
-            </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/serverMonitors.exsd b/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
deleted file mode 100644
index 7b930ac..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.server.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="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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="monitor">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <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 20cd1fc..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
+++ /dev/null
@@ -1,247 +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" 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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="serverType">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <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 (in ms) 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 (in ms) 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>

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

-            <annotation>

-               <documentation>

-                  boolean value &quot;true&quot; or &quot;false&quot; to specify whether the server needs to be started synchronously. If &quot;true&quot;, the server will execute publish and start jobs serially.

-               </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 6eb69f4..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/startup.exsd
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.server.core" id="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="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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="startup">

-      <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;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 e1c1e59..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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>
- * A module is equal to another module whenever the two ids are equal and the
- * (optional) project attribute is equal.
- * </p>
- * <p>This interface is not intended to be implemented by clients.</p>
- * 
- * @noimplement
- * @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 <code>true</code> if the module is an external (non-workspace) module,
-	 * and <code>false</code> otherwise
-	 * 
-	 * @return <code>true</code> if the module is an external module,
-	 *   and <code>false</code> otherwise
-	 */
-	public boolean isExternal();
-
-	/**
-	 * Returns <code>true</code> if the module exists (e.g. is in the workspace)
-	 * and <code>false</code> otherwise (e.g. if the module has been deleted).
-	 * 
-	 * @return <code>true</code> if the module exists,
-	 *    and <code>false</code> otherwise
-	 * @since 1.1
-	 */
-	public boolean exists();
-
-	/**
-	 * 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 8b514fe..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, 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;
-
-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 2f6abe2..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, 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;
-
-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; the default name 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;
-}
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 cff567c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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>
- * If the client of this working copy calls loadAdapter(), a new instance of
- * the delegate (RuntimeDelegate) will be created to help this working copy.
- * This delegate instance will be used as long as this working copy exists.
- * </p>
- * <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.
-	 * 
-	 * @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 4ff9ab8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
+++ /dev/null
@@ -1,800 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-/**
- * Represents a server instance. Every server is an instance of a
- * particular, fixed server type.
- * <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>
- * 
- * @noimplement
- * @since 1.0
- */
-public interface IServer extends IServerAttributes, ISchedulingRule {
-	/**
-	 * 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();
-
-	/**
-	 * 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
-	 * @since 2.0
-	 */
-	public boolean shouldPublish();
-
-	/**
-	 * 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>
-	 * <p>
-	 * Since this method is synchronous and requires access to the workspace,
-	 * it will block until it can access a resource and server scheduling lock.
-	 * To publish asynchronously using a job, use the alternate publish() method.
-	 * </p>
-	 * 
-	 * @param kind the kind of publish being requested. Valid values are:
-	 *    <ul>
-	 *    <li><code>PUBLISH_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
-	 * @see #publish(int, List, IAdaptable, IOperationListener)
-	 */
-	public IStatus publish(int kind, IProgressMonitor monitor);
-
-	/**
-	 * Publish one or more modules to the server.
-	 * <p>
-	 * The operation listener can be used to add a listener for notification
-	 * of the publish result. The listener will be called with a
-	 * single successful status (severity OK) when the server has
-	 * finished publishing, or a single failure (severity ERROR) if
-	 * there was an error publishing to the server.
-	 * </p><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>PUBLISH_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 modules a list of modules to publish, or <code>null</code> to
-	 *    publish all modules
-	 * @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 Shell class.
-	 * @param listener an operation listener to receive notification when this
-	 *    operation is done, or <code>null</code> if notification is not
-	 *    required
-	 * @since 3.0
-	 */
-	public void publish(int kind, List<IModule[]> modules, IAdaptable info, IOperationListener listener);
-
-	/**
-	 * 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 an operation 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
-	 * @see #start(String, IServer.IOperationListener)
-	 */
-	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);
-
-	/**
-	 * 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 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
-	 * @since 2.0
-	 */
-	public boolean shouldRestart();
-
-	/**
-	 * 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();
-
-	/**
-	 * Synchronously restarts this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canRestart(String)}
-	 * returns <code>false</code>. Restarting the server may cause a publish 
-	 * during the start if necessary and according to the server definition.
-	 * 
-	 * 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 an operation 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
-	 * @see #restart(String, IServer.IOperationListener)
-	 */
-	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>. Restarting the server may cause a publish 
-	 * during the start if necessary and according to the server definition.
-	 * 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);
-
-	/**
-	 * 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 an operation listener as a
-	 * parameter.
-	 * </p>
-	 * 
-	 * @param force <code>true</code> to kill the server, or <code>false</code>
-	 *    to stop normally
-	 * @see #start(String, IServer.IOperationListener)
-	 */
-	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);
-
-	/**
-	 * 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_STATE_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
-	 * @deprecated
-	 */
-	public IStatus canControlModule(IModule[] module, IProgressMonitor monitor);
-
-	/**
-	 * 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 canRestartModule(IModule[] module, IProgressMonitor monitor);
-	
-	/**
-	 * Returns whether the given module can be published.
-	 * <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 published, otherwise a status object indicating why it can't
-	 */
-	public IStatus canPublishModule(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: 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);
-
-	/**
-	 * 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 is invalid or has no associated
-	 * launch configuration type (i.e. this server type 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
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(boolean create, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Returns the launch that was used to start the server, if available. If the server
-	 * is not running, will return <code>null</code>. 
-	 * 
-	 * @return the launch used to start the currently running server, or <code>null</code>
-	 *    if the launch is unavailable or could not be found
-	 * @since 1.1
-	 */
-	public ILaunch getLaunch();
-
-	/**
-	 * Returns the start timeout in seconds.
-	 * 
-	 * @return the start timeout in seconds
-	 * @since 1.1
-	 */
-	public int getStartTimeout();
-
-	/**
-	 * Returns the stop timeout in seconds.
-	 * 
-	 * @return the stop timeout in seconds
-	 * @since 1.1
-	 */
-	public int getStopTimeout();
-
-	/**
-	 * 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 use {@link #start(String, IServer.IOperationListener)}
-	 *    instead
-	 * @exception CoreException if an error occurs while trying to start the server
-	 */
-	public void synchronousStart(String launchMode, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * 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 use {@link #stop(boolean, IOperationListener)}
-	 *    instead
-	 */
-	public void synchronousStop(boolean force);
-
-	/**
-	 * Synchronously restarts this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canRestart(String)}
-	 * returns <code>false</code>.
-	 * <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 use {@link #restart(String, IServer.IOperationListener)} 
-	 *    instead
-	 */
-	public void synchronousRestart(String launchMode, 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/IServerAttributes.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
deleted file mode 100644
index 3ada0f9..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.List;
-import java.util.Map;
-
-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 modules that are currently configured on
-	 * the server. When the server is published, these are the modules
-	 * that will be configured on the server. This method may not return
-	 * the list of modules that are currently on the server if a module
-	 * has been added or removed 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);
-
-	/**
-	 * Get the server attribute value that is stored in this server attribute object.
-	 * @param attributeName name of the attribute that is being queried.
-	 * @param defaultValue the default value if the given attribute is not defined.
-	 * @return the value of the given attribute.
-	 */
-	public int getAttribute(String attributeName, int defaultValue);
-
-	/**
-	 * Get the server attribute value that is stored in this server attribute object.
-	 * @param attributeName name of the attribute that is being queried.
-	 * @param defaultValue the default value if the given attribute is not defined.
-	 * @return the value of the given attribute.
-	 */
-	public boolean getAttribute(String attributeName, boolean defaultValue);
-
-	/**
-	 * Get the server attribute value that is stored in this server attribute object.
-	 * @param attributeName name of the attribute that is being queried.
-	 * @param defaultValue the default value if the given attribute is not defined.
-	 * @return the value of the given attribute.
-	 */
-	public String getAttribute(String attributeName, String defaultValue);
-
-	/**
-	 * Get the server attribute value that is stored in this server attribute object.
-	 * @param attributeName name of the attribute that is being queried.
-	 * @param defaultValue the default value if the given attribute is not defined.
-	 * @return the value of the given attribute.
-	 */
-	public List<String> getAttribute(String attributeName, List<String> defaultValue);
-
-	/**
-	 * Get the server attribute value that is stored in this server attribute object.
-	 * @param attributeName name of the attribute that is being queried.
-	 * @param defaultValue the default value if the given attribute is not defined.
-	 * @return the value of the given attribute.
-	 */
-	public Map getAttribute(String attributeName, Map defaultValue);
-
-	/**
-	 * 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 hierarchy) 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 33c377f..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, 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;
-
-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; the default name 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; the default name 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;
-}
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 2851734..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 java.util.List;
-import java.util.Map;
-
-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}). Changes made on a
- * working copy do not occur (and are not persisted) until a
- * save() is performed.
- * <p>
- * If the client of this working copy calls loadAdapter(), a new instance of
- * the delegate (ServerDelegate) will be created to help this working copy.
- * This delegate instance will be used as long as this working copy exists.
- * </p>
- * <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: 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 if there is an error saving the server
-	 * @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 if there is an error saving the server, runtime, or
-	 *    server configuration
-	 * @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);
-
-	/**
-	 * Set the server attribute value that is stored in the server working copy. Throws 
-	 * {@link IllegalArgumentException} if the attribute can't be modified
-	 * @param attributeName name of the attribute that needs to be modified.
-	 * @param value the new value of the given attribute.
-	 */
-	public void setAttribute(String attributeName, int value);
-
-	/**
-	 * Set the server attribute value that is stored in the server working copy. Throws 
-	 * {@link IllegalArgumentException} if the attribute can't be modified
-	 * @param attributeName name of the attribute that needs to be modified.
-	 * @param value the new value of the given attribute.
-	 */
-	public void setAttribute(String attributeName, boolean value);
-
-	/**
-	 * Set the server attribute value that is stored in the server working copy. Throws 
-	 * {@link IllegalArgumentException} if the attribute can't be modified
-	 * @param attributeName name of the attribute that needs to be modified.
-	 * @param value the new value of the given attribute.
-	 */
-	public void setAttribute(String attributeName, String value);
-
-	/**
-	 * Set the server attribute value that is stored in the server working copy. Throws 
-	 * {@link IllegalArgumentException} if the attribute can't be modified
-	 * @param attributeName name of the attribute that needs to be modified.
-	 * @param value the new value of the given attribute.
-	 */
-	public void setAttribute(String attributeName, List<String> value);
-
-	/**
-	 * Set the server attribute value that is stored in the server working copy. Throws 
-	 * {@link IllegalArgumentException} if the attribute can't be modified
-	 * @param attributeName name of the attribute that needs to be modified.
-	 * @param value the new value of the given attribute.
-	 */
-	public void setAttribute(String attributeName, Map value);
-
-	/**
-	 * 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.
-	 * Entries in the add or remove lists may not be null.
-	 * <p>
-	 * This method will not communicate with the server. After saving,
-	 * publish() can be used to sync up with the server.
-	 * </p>
-	 * <p>
-	 * This method is guaranteed to fail with the same status exception
-	 * if the result of canModifyModules() is an error status.
-	 * </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: 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 if the changes are not allowed or could not
-	 *    be processed
-	 * @see IServerAttributes#canModifyModules(IModule[], IModule[], IProgressMonitor)
-	 */
-	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 f06cf3b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.resources.IResourceDelta;
-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.
- * 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 final 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<IRuntimeType> runtimeTypes;
-
-	//	cached copy of all server and configuration types
-	private static List<IServerType> serverTypes;
-
-	private static IRegistryChangeListener registryListener;
-
-	protected static class RegistryChangeListener implements IRegistryChangeListener {
-		public void registryChanged(IRegistryChangeEvent event) {
-			IExtensionDelta[] deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE);
-			if (deltas != null) {
-				for (IExtensionDelta delta : deltas)
-					handleRuntimeTypeDelta(delta);
-			}
-			
-			deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE);
-			if (deltas != null) {
-				for (IExtensionDelta delta : deltas)
-					handleServerTypeDelta(delta);
-			}
-		}
-	}
-
-	/**
-	 * Cannot instantiate ServerCore - use static methods.
-	 */
-	private ServerCore() {
-		// can't create
-	}
-
-	/**
-	 * Returns the resource manager.
-	 *
-	 * @return the resource manager
-	 */
-	private final static ResourceManager getResourceManager() {
-		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 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;
-	}
-
-	/**
-	 * Load the runtime types.
-	 */
-	private static synchronized void loadRuntimeTypes() {
-		if (runtimeTypes != null)
-			return;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .runtimeTypes extension point ->-");
-		}
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE);
-		List<IRuntimeType> list = new ArrayList<IRuntimeType>(cf.length);
-		addRuntimeTypes(cf, list);
-		addRegistryListener();
-		runtimeTypes = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .runtimeTypes extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the runtime types.
-	 */
-	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List<IRuntimeType> list) {
-		for (IConfigurationElement ce : cf) {
-			try {
-				if (!ServerPlugin.contains(ServerPlugin.getExcludedServerAdapters(), ce.getAttribute("id")))
-					list.add(new RuntimeType(ce));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded runtimeType: " + ce.getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load runtimeType: "
-									+ ce.getAttribute("id"), t);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Load the server types.
-	 */
-	private static synchronized void loadServerTypes() {
-		if (serverTypes != null)
-			return;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .serverTypes extension point ->-");
-		}
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE);
-		List<IServerType> list = new ArrayList<IServerType>(cf.length);
-		addServerTypes(cf, list);
-		addRegistryListener();
-		serverTypes = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .serverTypes extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the server types.
-	 */
-	private static synchronized void addServerTypes(IConfigurationElement[] cf, List<IServerType> list) {
-		for (IConfigurationElement ce : cf) {
-			try {
-				if (!ServerPlugin.contains(ServerPlugin.getExcludedServerAdapters(), ce.getAttribute("id")))
-					list.add(new ServerType(ce));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded serverType: " + ce.getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load serverType: "
-									+ ce.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) {
-		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() {
-		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) {
-		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() {
-		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) {
-		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 {
-		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<IServerType> list = new ArrayList<IServerType>(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<IRuntimeType> list = new ArrayList<IRuntimeType>(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);
-	}
-
-	/**
-	 * Returns <code>true</code> if the preference is set to automatically
-	 * publish when starting servers, or <code>false</code> otherwise
-	 * 
-	 * @return <code>true</code> if the preference is set to automatically
-	 *    publish when starting servers, or <code>false</code> otherwise
-	 * @since 1.1
-	 */
-	public static boolean isAutoPublishing() {
-		return ServerPreferences.getInstance().isAutoPublishing();
-	}
-
-	public static boolean isPublishRequired(IServer server, IResourceDelta delta2) {
-		PublishController[] controllers = ServerPlugin.getPublishController();
-		if (controllers.length > 0){
-			for (PublishController controller : controllers){
-				if (server.getServerType() != null && controller.supportsType(server.getServerType().getId()))
-					return controller.isPublishRequired(server, delta2);
-			}
-		}
-		return true;
-	}
-}
\ 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 892dd7a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerEvent.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-
-/**
- * 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;
-	private IStatus status;
-	
-	/**
-	 * 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;
-	
-	public static final int STATUS_CHANGE = 0x0008;
-	
-	/**
-	 * 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 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
-	 * @param status the server status after the change
-	 */
-	public ServerEvent(int kind, IServer server, int state, int publishingState, boolean restartState, IStatus status) {
-		this.kind = kind |= SERVER_CHANGE;
-		this.server = server;
-		this.state = state;
-		this.publishState = publishingState;
-		this.restartState = restartState;
-		this.status = status;
-		
-		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();
-	}
-	
-	/**
-	 * 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.
-	 * @param status the module status after the change
-	 */
-	public ServerEvent(int kind, IServer server, IModule[] module, int state, int publishingState, boolean restartState, IStatus status) {
-		this.kind = kind |= MODULE_CHANGE;
-		this.server = server;
-		this.moduleTree = module;
-		this.state = state;
-		this.publishState = publishingState;
-		this.restartState = restartState;
-		this.status = status;
-		
-		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 ((kind & STATUS_CHANGE) != 0)
-			i++;		
-		
-		if (i != 0 && 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;
-	}
-	
-	/**
-	 * Get the status after the change that triggers this server event. If this event 
-	 * is of the SERVER_CHANGE kind, then the status is the server status.
-	 * If this event is of the MODULE_CHANGE kind, then the status is the module
-	 * status.
-	 * 
-	 * @return the server state after the change (<code>STATE_XXX</code>)
-	 *    constants declared on {@link IServer}
-	 */
-	public IStatus getStatus() {
-		return status;
-	}
-	
-	/**
-	 * Returns the server involved in the change event.
-	 * 
-	 * @return the server involved in the change event.
-	 */
-	public IServer getServer() {
-		return server;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString(){
-		return "<Server-Event" 
-				+ " id="+this.hashCode()
-				+ " kind="+getKind() 
-				+ " server="+getServer() 
-				+ " module="+getModule()
-				+ " state="+getState()
-				+ " publishState="+getPublishState()
-				+ " restartState="+getRestartState()
-				+ " status="+getStatus()
-				+ ">";
-	}
-}
\ 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 30bc068..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
+++ /dev/null
@@ -1,780 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.core.runtime.jobs.ISchedulingRule;
-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.
- * <p>
- * This class provides all its functionality through static members.
- * It is not intended to be sub-classed or instantiated.
- * </p>
- * @since 1.0
- */
-public class ServerUtil {
-	/**
-	 * Constant identifying the job family identifier for server operations.
-	 * 
-	 * @see org.eclipse.core.runtime.jobs.IJobManager#join(Object, IProgressMonitor)
-	 * @since 2.0
-	 */
-	public static final Object SERVER_JOB_FAMILY = ServerPlugin.PLUGIN_ID;
-
-	/**
-	 * Static utility class - cannot create an instance.
-	 */
-	private ServerUtil() {
-		// can't create
-	}
-
-	/**
-	 * 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.
-	 * <p>
-	 * This method may trigger bundle loading and is not suitable for
-	 * short/UI operations.
-	 * </p>
-	 * 
-	 * @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();
-		
-		IModule[] modules = getModules(project);
-		if (modules != null && modules.length > 0)
-			return modules[0];
-		
-		return null;
-	}
-
-	/**
-	 * Returns the modules contained within the given project.
-	 * <p>
-	 * This method may trigger bundle loading and is not suitable for
-	 * short/UI operations.
-	 * </p>
-	 * 
-	 * @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();
-		
-		// use a set for better contains() performance
-		List<IModule> list = new ArrayList<IModule>();
-		
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-
-		if (factories != null) {
-			for (ModuleFactory factory : factories) {
-				if (factory.isEnabled(project, null)){
-					IModule[] modules = factory.getModules(project, null);
-					if (modules != null) {
-						for (IModule module : modules) {
-							if (!list.contains(module))
-								list.add(module);
-						}
-					}
-				}
-			}
-		}
-		return list.toArray(new IModule[list.size()]);
-	}
-
-	/**
-	 * Returns the module with the given moduleId, if one exists. The moduleId
-	 * must not be null.
-	 * <p>
-	 * This method may trigger bundle loading and is not suitable for
-	 * short/UI operations.
-	 * </p>
-	 * 
-	 * @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);
-		return moduleFactory.findModule(moduleSubId, null);
-	}
-
-	/**
-	 * Return all the available modules from all factories whose
-	 * type matches the given module types.
-	 * <p>
-	 * This method may trigger bundle loading and is not suitable for
-	 * short/UI operations. It also performs a search of all available
-	 * modules of the given types, and due to performance reasons should
-	 * not be used unless absolutely required.
-	 * </p>
-	 * 
-	 * @param moduleTypes an array of module types
-	 * @return a possibly empty array of modules
-	 */
-	public static IModule[] getModules(IModuleType[] moduleTypes) {
-		List<IModule> list = new ArrayList<IModule>();
-		
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-		if (factories != null) {
-			for (ModuleFactory factory : factories) {
-				if (isSupportedModule(factory.getModuleTypes(), moduleTypes)) {
-					IModule[] modules = factory.getModules(null);
-					if (modules != null) {
-						for (IModule module : modules)
-							list.add(module);
-					}
-				}
-			}
-		}
-		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.
-	 * <p>
-	 * This method may trigger bundle loading and is not suitable for
-	 * short/UI operations. It also performs a search of all available
-	 * modules of this type, and due to performance reasons should not
-	 * be used unless absolutely required.
-	 * </p>
-	 * 
-	 * @param type a module type
-	 * @return a possibly empty array of modules
-	 */
-	public static IModule[] getModules(String type) {
-		List<IModule> list = new ArrayList<IModule>();
-		
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-		if (factories != null) {
-			for (ModuleFactory factory : factories) {
-				if (isSupportedModule(factory.getModuleTypes(), type, null)) {
-					IModule[] modules = factory.getModules(null);
-					if (modules != null) {
-						for (IModule module : modules)
-							if (type.equals(module.getModuleType().getId()))
-								list.add(module);
-					}
-				}
-			}
-		}
-		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, may not be null
-	 * @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 (moduleTypes == null)
-			throw new IllegalArgumentException();
-		
-		if ("".equals(typeId))
-			typeId = null;
-		if ("".equals(versionId))
-			versionId = null;
-		
-		if (typeId == null && versionId == null)
-			return true;
-		
-		for (IModuleType moduleType : moduleTypes) {
-			if (isSupportedModule(moduleType, typeId, versionId))
-				return true;
-		}
-		
-		return false;
-	}
-
-	private static boolean isSupportedModule(IModuleType[] moduleTypes, IModuleType[] mt) {
-		if (mt != null) {
-			for (IModuleType moduleType : mt) {
-				if (isSupportedModule(moduleTypes, moduleType))
-					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, may not be null
-	 * @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 (moduleTypes == null || mt == null)
-			throw new IllegalArgumentException();
-		
-		for (IModuleType moduleType : moduleTypes) {
-			if (isSupportedModule(moduleType, mt))
-				return true;
-		}
-		return false;
-	}
-
-	private static boolean isSupportedModule(IModuleType moduleType, String type, String version) {
-		String type2 = moduleType.getId();
-		if (ServerPlugin.matches(type, type2)) {
-			String version2 = moduleType.getVersion();
-			if (ServerPlugin.matches(version, version2))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns true if the two given module types are compatible.
-	 * 
-	 * @param moduleType a module type, may not be null
-	 * @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 moduleType, IModuleType mt) {
-		if (moduleType == null || mt == null)
-			throw new IllegalArgumentException();
-		
-		if (ServerPlugin.matches(mt.getId(), moduleType.getId()) &&
-				ServerPlugin.matches(mt.getVersion(), moduleType.getVersion()))
-			return true;
-		
-		return false;
-	}
-
-	/**
-	 * 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.
-	 * Entries in the add or remove arrays may not be null.
-	 * 
-	 * @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("Server cannot be null");
-		
-		if (add == null)
-			add = new IModule[0];
-		if (remove == null)
-			remove = new IModule[0];
-		
-		for (IModule module : add) {
-			if (module == null)
-				throw new IllegalArgumentException("Cannot add null entries");
-		}
-		
-		List<IModule> addParentModules = new ArrayList<IModule>();
-		for (IModule module : add) {
-			boolean found = false;
-			try {
-				IModule[] parents = server.getRootModules(module, monitor);
-				if (parents != null && parents.length > 0) {				
-					IModule parent = parents[0];
-					found = true;
-					if (!addParentModules.contains(parent))
-						addParentModules.add(parent);
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Could not find parent module", e);
-				}
-			}
-			
-			if (!found)
-				addParentModules.add(module);
-		}
-		
-		for (IModule module : remove) {
-			if (module == null)
-				throw new IllegalArgumentException("Cannot remove null entries");
-		}
-		
-		List<IModule> removeParentModules = new ArrayList<IModule>();
-		for (IModule module : remove) {
-			boolean found = false;
-			try {
-				IModule[] parents = server.getRootModules(module, monitor);
-				if (parents != null && parents.length > 0) {				
-					IModule parent = parents[0];
-					found = true;
-					if (!removeParentModules.contains(parent))
-						removeParentModules.add(parent);
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Could not find parent module 2", e);
-				}
-			}
-			
-			if (!found)
-				removeParentModules.add(module);
-		}
-		
-		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) {
-		setRuntimeDefaultName(runtime, -1);
-	}
-
-	/**
-	 * Sets a default name on the given runtime.
-	 * 
-	 * @param runtime
-	 *          a runtime
-	 * @param suffix
-	 *          the numbering to start at for the suffix, if suffix is -1, then the no suffix name will be tried first.
-	 * @return the suffix it found no name conflicts at and is using as part of
-	 *         the default name
-	 */
-	public static int setRuntimeDefaultName(IRuntimeWorkingCopy runtime, int suffix) {
-		String typeName = runtime.getRuntimeType().getName();
-
-		String name = null;
-		if (suffix == -1) {
-			name = NLS.bind(Messages.defaultRuntimeName, typeName);
-			// Start next suffix from 2 to preserve the original behaviour before this change.
-			suffix = 2;
-		} else {
-			name = NLS.bind(Messages.defaultRuntimeName2, new String[] { typeName, suffix + "" });
-		}
-
-		while (ServerPlugin.isNameInUse(runtime.getOriginal(), name)) {
-			name = NLS.bind(Messages.defaultRuntimeName2, new String[] { typeName, suffix + "" });
-			suffix++;
-		}
-		runtime.setName(name);
-		return suffix;
-	}
-
-	/**
-	 * 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();
-		
-		// base the name on the runtime if it exists and has been changed from the default
-		IRuntime runtime = server.getRuntime();
-		if (runtime != null && !(runtime instanceof RuntimeWorkingCopy)) {
-			IRuntimeWorkingCopy wc = runtime.createWorkingCopy();
-			setRuntimeDefaultName(wc);
-			if (!wc.getName().equals(runtime.getName()))
-				typeName = runtime.getName();
-		}
-		
-		String name = NLS.bind(Messages.defaultServerName, new String[] {typeName, host});
-		int i = 2;
-		while (ServerPlugin.isNameInUse(server.getOriginal(), 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 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 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<IRuntime> list = new ArrayList<IRuntime>();
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		if (runtimes != null) {
-			for (IRuntime runtime : runtimes) {
-				IRuntimeType runtimeType = runtime.getRuntimeType();
-				if (runtimeType != null && isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-					list.add(runtime);
-				}
-			}
-		}
-		
-		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<IRuntimeType> list = new ArrayList<IRuntimeType>();
-		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
-		if (runtimeTypes != null) {
-			for (IRuntimeType runtimeType : runtimeTypes) {
-				if (isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-					list.add(runtimeType);
-				}
-			}
-		}
-		
-		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<IRuntimeType> list = new ArrayList<IRuntimeType>();
-		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
-		if (runtimeTypes != null) {
-			for (IRuntimeType runtimeType : runtimeTypes) {
-				if (isSupportedModule(runtimeType.getModuleTypes(), type, version)) {
-					if (runtimeTypeId == null || runtimeType.getId().startsWith(runtimeTypeId))
-						list.add(runtimeType);
-				}
-			}
-		}
-		
-		IRuntimeType[] rt = new IRuntimeType[list.size()];
-		list.toArray(rt);
-		return rt;
-	}
-
-	/**
-	 * Returns a list of all servers that this module is not currently
-	 * configured on, but could be added to. If includeErrors is true, this
-	 * method return servers where the parent module may throw errors. For
-	 * instance, this module 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<IServer> list = new ArrayList<IServer>();
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			for (IServer server : servers) { 
-				if (!containsModule(server, module, monitor)) {
-					try {
-						IModule[] parents = server.getRootModules(module, monitor);
-						if (parents != null && parents.length > 0) {
-							boolean found = false;
-							int size2 = parents.length;
-							for (int j = 0; !found && j < size2; j++) {
-								IModule parent = parents[j];
-								IStatus status = server.canModifyModules(new IModule[] { parent }, new IModule[0], monitor);
-								if (status == null || status.isOK()){
-									list.add(server);
-									found = true;
-								}
-							}
-						}
-					} catch (Exception se) {
-						if (includeErrors)
-							list.add(server);
-					}
-				}
-			}
-		}
-		
-		// make sure that the preferred server is the first one
-		//IServer server = ServerCore.getServerPreferences().getDeployableServerPreference(deployable);
-		//if (server != null && list.contains(server) && list.indexOf(server) != 0) {
-		//	list.remove(server);
-		//	list.add(0, server);
-		//}
-
-		IServer[] allServers = new IServer[list.size()];
-		list.toArray(allServers);
-		return allServers;
-	}
-
-	/**
-	 * 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<IServer> list = new ArrayList<IServer>();
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			for (IServer server : servers) {
-				if (containsModule(server, module, monitor))
-					list.add(server);
-			}
-		}
-		
-		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 || module == null)
-			throw new IllegalArgumentException("Arguments cannot be null");
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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);
-	}
-
-	/**
-	 * Returns a scheduling rule to prevent jobs from simultaneously starting,
-	 * publishing, or stopping the same server.
-	 * 
-	 * @param server a server
-	 * @return a scheduling rule for this server
-	 * @since 2.0
-	 * @deprecated the server instance is now a scheduling rule directly
-	 */
-	public static ISchedulingRule getServerSchedulingRule(IServer server) {
-		return server;
-	}
-}
\ 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 2b7504e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 retrieve data. Its usage allows multiple 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 an array of delta kinds that maps to the modules in the TASK_MODULES.
-	 * The value is a List containing Integer for the delta kind id.
-	 * 
-	 * @see #getObject(String)
-	 * @see TaskModel#putObject(String, Object)
-	 */
-	public static final String TASK_DELTA_KINDS = "deltaKinds";
-
-	/**
-	 * 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<String, Object> map = new HashMap<String, Object>();
-
-	/**
-	 * 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 retrieve 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 bac01e8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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_ID_SET = "id-set";
-	protected static final String PROP_TIMESTAMP = "timestamp";
-
-	protected Map<String, Object> map = new HashMap<String, Object>();
-
-	// 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;
-		if (id != null && id.length() > 0) {
-			map.put(PROP_ID, id);
-			map.put(PROP_ID_SET, Boolean.toString(true));
-		}
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Returns <code>true</code> if the attribute is currently set, and <code>false</code>
-	 * otherwise.
-	 * 
-	 * @param attributeName
-	 * @return <code>true</code> if the attribute is currently set, and <code>false</code>
-	 *    otherwise
-	 */
-	public boolean isAttributeSet(String attributeName) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj != null)
-				return true;
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
-
-	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;
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> getAttribute(String attributeName, List<String> defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return (List<String>) obj;
-		} catch (Exception e) {
-			// ignore
-		}
-		return defaultValue;
-	}
-
-	public Map getAttribute(String attributeName, Map defaultValue) {
-		try {
-			Object obj = map.get(attributeName);
-			if (obj == null)
-				return defaultValue;
-			return (Map) obj;
-		} 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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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<String, Object>();
-		
-		Iterator<String> iterator = memento.getNames().iterator();
-		while (iterator.hasNext()) {
-			String key = iterator.next();
-			map.put(key, memento.getString(key));
-		}
-		IMemento[] children = memento.getChildren("list");
-		if (children != null) {
-			for (IMemento child : children)
-				loadList(child);
-		}
-		IMemento[] maps = memento.getChildren("map");
-		if (maps != null) {
-			for (IMemento m : maps)
-				loadMap(m);
-		}
-		
-		loadState(memento);
-	}
-
-	protected void loadMap(IMemento memento) {
-		String key = memento.getString("key");
-		Map<String, String> vMap = new HashMap<String, String>();
-		Iterator<String> iterator = memento.getNames().iterator();
-		while(iterator.hasNext()) {
-			String s = 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<String> list = new ArrayList<String>();
-		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;
-		if (!getId().equals(base.getId()))
-			return false;
-		
-		if (isWorkingCopy() != base.isWorkingCopy())
-			return false;
-		
-		if (isWorkingCopy() && this != base)
-			return false;
-		
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	protected void loadFromFile(IProgressMonitor monitor) throws CoreException {
-		InputStream in = null;
-		try {
-			in = file.getContents();
-			IMemento memento = XMLMemento.loadMemento(in);
-			load(memento);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not load from file", e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, getFile().toString()), e));
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-	
-	protected void loadFromMemento(IMemento memento, IProgressMonitor monitor) {
-		load(memento);
-	}
-	
-	/**
-	 * 
-	 */
-	protected void loadFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
-		InputStream in = null;
-		try {
-			in = new BufferedInputStream(new FileInputStream(path.toFile()));
-			IMemento memento = XMLMemento.loadMemento(in);
-			load(memento);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not load from path", e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, path.toString()), e));
-		} finally {
-			try {
-				if (in != null)
-					in.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 80f2411..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ChainedJob.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * 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 dependent 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 ServerUtil.SERVER_JOB_FAMILY.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 3218620..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate" + toString(), e);
-				}
-			}
-		}
-		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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-			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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-		}
-		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 6f2befb..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, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 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 boolean isExternal() {
-		return false;
-	}
-
-	public boolean exists() {
-		return false;
-	}
-
-	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/ExternalModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ExternalModule.java
deleted file mode 100644
index ba39358..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ExternalModule.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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 org.eclipse.wst.server.core.model.ModuleDelegate;
-/**
- * An ExternalModule is a unit of "content" that is already published to the server
- * but it doesn't contain a valid resource in the workspace.
- * <p>
- * ExternalModule are created using ServerBehaviourDelegate.
- */
-public class ExternalModule extends Module {
-	/**
-	 * ExternalModule constructor
-	 * 
-	 * @param id the module id
-	 * @param name the module name
-	 * @param type the module type id
-	 * @param version the module version id
-	 * @param delegate
-	 */
-	public ExternalModule(String id, String name, String type, String version, ModuleDelegate delegate) {
-		super(null, "external:" + id, name, type, version, null);
-		this.delegate = delegate;
-	}
-
-	public boolean isExternal() {
-		return true;
-	}
-}
\ 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 6415edf..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, 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.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 9f78c04..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableRuntime.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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 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();
-
-	/**
-	 * Provides a name for this runtime.
-	 * 
-	 * @return a name
-	 */
-	public String getName();
-
-	/**
-	 * 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/ILaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ILaunchableAdapter.java
deleted file mode 100644
index 49095cf..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, 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;
-/**
- * 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 51c1aac..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java
+++ /dev/null
@@ -1,133 +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.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 {
-	/**
-	 * 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);
-
-	/**
-	 * 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 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<String> getNames();
-	
-	/**
-	 * 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);
-
-	/**
-	 * 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/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/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 1213305..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, 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;
-/**
- * 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 14140cd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.IOException;
-import java.io.InputStream;
-import java.net.ConnectException;
-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;
-	
-	private static Object LOCK = new Object();
-
-	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 getName() {
-		return getPath() + "";
-	}
-
-	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++) {
-			String ver = featureRefs[i].getVersionedIdentifier().toString();
-			int ind = ver.indexOf("_");
-			if (ind >= 0)
-				ver = ver.substring(ind+1);
-			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(ver)) {
-				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) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not parse site", e);
-			}
-		} catch (CoreException e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not parse site", e);
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not parse site", e);
-			}
-		}
-		return null;
-	}
-
-	public static ISite getSite(URL fromSiteURL, IProgressMonitor monitor) throws IOException {
-		try {
-			synchronized (LOCK) {
-				return SiteManager.getSite(fromSiteURL, monitor);
-			}
-		} catch (CoreException e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not parse site", e);
-			}
-			throw new IOException(e.getMessage());
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not parse site", e);
-			}
-			throw new IOException(e.getMessage());
-		}
-	}
-
-	protected static String getMirror(String fromSite, ISite site, int mirror) {
-		if (site != null) {
-			String mirrorSite = getMirror(site, mirror);
-			if (mirrorSite != null)
-				return mirrorSite;
-		}
-		// only return fromSite if this is the 0th mirror
-		if (mirror > 0)
-			return null;
-		return fromSite;
-	}
-
-	protected static String getMirror(ISite site, int mirror) {
-		// if the site is a site containing mirrors, set the fromSite to the
-		// mirrors in order 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 > mirror)
-					return urlEntries[mirror].getURL().toExternalForm();
-			} catch (CoreException e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_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;
-		
-		int mirror = 0;
-		ISite site = getSite(fromSite, monitor);
-		fromSite = getMirror(fromSite, site, mirror);
-		
-		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) {
-			boolean complete = false;
-			while (!complete) {
-				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();
-					complete = true;
-				} catch (ConnectException ce) {
-					mirror++;
-					fromSite = getMirror(fromSite, site, mirror);
-					if (fromSite == null)
-						complete = true;
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_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();
-			unzip(in, path, monitor);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error unzipping runtime", e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-					NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-		}
-	}
-
-	private void unzip(InputStream in, IPath path, IProgressMonitor monitor) throws IOException {
-		// unzip from bundle into path
-		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();
-	}
-
-	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/InstallableRuntime2.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime2.java
deleted file mode 100644
index e443a85..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime2.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-import java.util.zip.GZIPInputStream;
-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.wst.server.core.internal.tar.TarEntry;
-import org.eclipse.wst.server.core.internal.tar.TarInputStream;
-/**
- * 
- */
-public class InstallableRuntime2 implements IInstallableRuntime {
-	private IConfigurationElement element;
-	private byte[] BUFFER = null;
-
-	// Default sizes (infinite logarithmic progress will be used when default is employed)
-	private int DEFAULT_DOWNLOAD_SIZE = 10000000;
-	private int DEFAULT_FILE_COUNT = 1000;
-
-	public InstallableRuntime2(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		try {
-			return element.getAttribute("id");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public String getName() {
-		return getArchivePath();
-	}
-
-	public String getArchiveUrl() {
-		try {
-			return element.getAttribute("archiveUrl");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public String getArchivePath() {
-		try {
-			return element.getAttribute("archivePath");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	public int getArchiveSize() {
-		try {
-			String size = element.getAttribute("archiveSize");
-			return Integer.parseInt(size);
-		} catch (Exception e) {
-			// ignore
-		}
-		return -1;
-	}
-
-	public int getFileCount() {
-		try {
-			String size = element.getAttribute("fileCount");
-			return Integer.parseInt(size);
-		} catch (Exception e) {
-			// ignore
-		}
-		return -1;
-	}
-
-	public String getLicenseURL() {
-		try {
-			return element.getAttribute("licenseUrl");
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	/*
-	 * @see IInstallableRuntime#getLicense(IProgressMonitor)
-	 */
-	public String getLicense(IProgressMonitor monitor) throws CoreException {
-		URL url = null;
-		ByteArrayOutputStream out = null;
-		try {
-			String licenseURL = getLicenseURL();
-			if (licenseURL == null)
-				return null;
-			
-			url = new URL(licenseURL);
-			InputStream in = url.openStream();
-			out = new ByteArrayOutputStream();
-			copyWithSize(in, out, null, 0);
-			return new String(out.toByteArray());
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error loading license", e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-					NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-		} finally {
-			try {
-				if (out != null)
-					out.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * @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();
-	}
-
-	private void copyWithSize(InputStream in, OutputStream out, IProgressMonitor monitor, int size) throws IOException {
-		if (BUFFER == null)
-			BUFFER = new byte[8192];
-		SubMonitor progress = SubMonitor.convert(monitor, size);
-		int r = in.read(BUFFER);
-		while (r >= 0) {
-			out.write(BUFFER, 0, r);
-			progress.worked(r);
-			r = in.read(BUFFER);
-		}
-	}
-
-	private void download(InputStream in, OutputStream out, IProgressMonitor monitor, String name, int size) throws IOException {
-		if (BUFFER == null)
-			BUFFER = new byte[8192];
-		
-		String msg = NLS.bind((size > 0) ? Messages.taskDownloadSizeKnown : Messages.taskDownloadSizeUnknown,
-				new Object [] { name, "{0}", Integer.toString(size / 1024) });
-		SubMonitor progress = SubMonitor.convert(monitor, NLS.bind(msg, "0"), (size > 0) ? size : DEFAULT_DOWNLOAD_SIZE);
-		
-		int r = in.read(BUFFER);
-		int total = 0;
-		int lastTotal = 0;
-		while (r >= 0) {
-			out.write(BUFFER, 0, r);
-			total += r;
-			if (total >= lastTotal + 8192) {
-				lastTotal = total;
-				progress.subTask(NLS.bind(msg, Integer.toString(lastTotal / 1024)));
-			}
-			progress.worked(r);
-			// if size is not known, use infinite logarithmic progress
-			if (size <= 0)
-				progress.setWorkRemaining(DEFAULT_DOWNLOAD_SIZE);
-			
-			if (progress.isCanceled())
-				break;
-			r = in.read(BUFFER);
-		}
-	}
-
-	/*
-	 * @see IInstallableRuntime#install(IPath, IProgressMonitor)
-	 */
-	public void install(IPath path, IProgressMonitor monitor) throws CoreException {
-		SubMonitor progress = SubMonitor.convert(monitor, 1000);
-		URL url = null;
-		File temp = null;
-		try {
-			url = new URL(getArchiveUrl());
-			temp = File.createTempFile("runtime", "");
-			temp.deleteOnExit();
-		} catch (IOException e) {
-			if (monitor != null)
-				monitor.done();
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Error creating url and temp file", e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-				NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-		}
-		String name = url.getPath();
-		int slashIdx = name.lastIndexOf('/');
-		if (slashIdx >= 0)
-			name = name.substring(slashIdx + 1);
-		
-		int archiveSize = getArchiveSize();
-		
-		// download
-		FileOutputStream fout = null;
-		try {
-			InputStream in = url.openStream();
-			fout = new FileOutputStream(temp);
-			download(in, fout, progress.newChild(500), name, archiveSize);
-			progress.setWorkRemaining(500);
-		} catch (Exception e) {
-			if (monitor != null)
-				monitor.done();
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error downloading runtime",
-						e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-				NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-		} finally {
-			try {
-				if (fout != null)
-					fout.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-		if (progress.isCanceled())
-			throw new CoreException(Status.CANCEL_STATUS);
-		
-		FileInputStream in = null;
-		try {
-			in = new FileInputStream(temp);
-			if (name.endsWith("zip"))
-				unzip(in, path, progress.newChild(500));
-			else if (name.endsWith("tar"))
-				untar(in, path, progress.newChild(500));
-			else if (name.endsWith("tar.gz")) {
-				File tarFile = File.createTempFile("runtime", ".tar");
-				tarFile.deleteOnExit();
-				String tarName = name;
-				if (slashIdx >= 0)
-					tarName = name.substring(0, name.length() - 3);
-				
-				progress.subTask(NLS.bind(Messages.taskUncompressing, tarName));
-				int tempSize = Integer.MAX_VALUE;
-				if (temp.length() < Integer.MAX_VALUE)
-					tempSize = (int)temp.length();
-				
-				ungzip(in, tarFile, progress.newChild(250), tempSize);
-				progress.setWorkRemaining(250);
-				if (!progress.isCanceled()) {
-					in = new FileInputStream(tarFile);
-					untar(in, path, progress.newChild(250));
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error uncompressing runtime",
-						e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0,
-				NLS.bind(Messages.errorInstallingServer, e.getLocalizedMessage()), e));
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (IOException e) {
-				// ignore
-			}
-			progress.done();
-		}
-	}
-
-	/**
-	 * Unzip the input stream into the given path.
-	 * 
-	 * @param in
-	 * @param path
-	 * @param monitor
-	 * @throws IOException
-	 */
-	private void unzip(InputStream in, IPath path, IProgressMonitor monitor) throws IOException {
-		int fileCnt = getFileCount();
-		SubMonitor progress = SubMonitor.convert(monitor, (fileCnt > 0) ? fileCnt : DEFAULT_FILE_COUNT);
-		String archivePath = getArchivePath();
-		BufferedInputStream bin = new BufferedInputStream(in);
-		ZipInputStream zin = new ZipInputStream(bin);
-		ZipEntry entry = zin.getNextEntry();
-		while (entry != null) {
-			String name = entry.getName();
-			progress.subTask(NLS.bind(Messages.taskUncompressing, name));
-			if (archivePath != null && name.startsWith(archivePath)) {
-				name = name.substring(archivePath.length());
-				if (name.length() > 1)
-					name = name.substring(1);
-			}
-			
-			if (name != null && name.length() > 0) {
-				if (entry.isDirectory())
-					path.append(name).toFile().mkdirs();
-				else {
-					FileOutputStream fout = new FileOutputStream(path.append(name).toFile());
-					copyWithSize(zin, fout, progress.newChild(1), (int)entry.getSize());
-					fout.close();
-					// if count is not known, use infinite logarithmic progress
-					if (fileCnt <= 0)
-						progress.setWorkRemaining(DEFAULT_FILE_COUNT);
-				}
-			}
-			zin.closeEntry();
-			entry = zin.getNextEntry();
-		}
-		zin.close();
-	}
-
-	/**
-	 * Untar the input stream into the given path.
-	 * 
-	 * @param in
-	 * @param path
-	 * @param monitor
-	 * @throws IOException
-	 */
-	protected void untar(InputStream in, IPath path, IProgressMonitor monitor) throws IOException {
-		int fileCnt = getFileCount();
-		SubMonitor progress = SubMonitor.convert(monitor, (fileCnt > 0) ? fileCnt : 500);
-		String archivePath = getArchivePath();
-		BufferedInputStream bin = new BufferedInputStream(in);
-		TarInputStream zin = new TarInputStream(bin);
-		TarEntry entry = zin.getNextEntry();
-		while (entry != null) {
-			String name = entry.getName();
-			progress.subTask(NLS.bind(Messages.taskUncompressing, name));
-			if (archivePath != null && name.startsWith(archivePath)) {
-				name = name.substring(archivePath.length());
-				if (name.length() > 1)
-					name = name.substring(1);
-			}
-			
-			if (name != null && name.length() > 0) {
-				if (entry.getFileType() == TarEntry.DIRECTORY)
-					path.append(name).toFile().mkdirs();
-				else {
-					File dir = path.append(name).removeLastSegments(1).toFile();
-					if (!dir.exists())
-						dir.mkdirs();
-					
-					FileOutputStream fout = new FileOutputStream(path.append(name).toFile());
-					copyWithSize(zin, fout, progress.newChild(1), (int)entry.getSize());
-					fout.close();
-					if (fileCnt <= 0)
-						progress.setWorkRemaining(500);
-				}
-			}
-			entry = zin.getNextEntry();
-		}
-		zin.close();
-	}
-
-	protected void ungzip(InputStream in, File tarFile, IProgressMonitor monitor, int size) throws IOException {
-		GZIPInputStream gzin = null;
-		FileOutputStream fout = null;
-		try {
-			gzin = new GZIPInputStream(in);
-			fout = new FileOutputStream(tarFile);
-			copyWithSize(gzin, fout, monitor, size);
-		} finally {
-			if (gzin != null) {
-				try {
-					gzin.close();
-				} catch (IOException e) {
-					// ignore
-				}
-				if (fout != null) {
-					try {
-						fout.close();
-					} catch (IOException e) {
-						// ignore
-					}
-				}
-			}
-		}
-	}
-
-	public String toString() {
-		return "InstallableRuntime2[" + getId() + "]";
-	}
-}
\ 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 698a5e4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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 an id
-	 */
-	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;
-		}
-	}
-
-	public LaunchableAdapterDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (LaunchableAdapterDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate" + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * @see ILaunchableAdapter#getLaunchable(IServer, IModuleArtifact)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact object) throws CoreException {
-		try {
-			return getDelegate().getLaunchable(server, object);
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return a string
-	 */
-	public String toString() {
-		return "LaunchableAdapter[" + getId() + "]";
-	}
-}
\ No newline at end of file
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 0133dc7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 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 errorWorkingCopyTimestamp;
-	public static String errorPublishStarting;
-	public static String errorPublishNoRuntime;
-	public static String errorPublishNoConfiguration;
-	public static String errorNoConfiguration;
-	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 errorStopFailed;
-	public static String errorRestartTimeout;
-	public static String errorRestartFailed;
-	public static String errorModuleRestartFailed;
-	public static String errorInstallingServer;
-	public static String errorInstallingServerFeature;
-	public static String errorRestartModule;
-	public static String errorPublishModule;
-	public static String canStartErrorState;
-	public static String errorLaunchMode;
-	public static String errorRestartNotStarted;
-	public static String errorStopAlreadyStopped;
-	public static String moduleTypeUnknown;
-	public static String jobStarting;
-	public static String jobStopping;
-	public static String jobRestarting;
-	public static String jobUpdatingServers;
-	public static String jobUpdateServer;
-	public static String jobInstallingRuntime;
-	public static String errorMissingAdapter;
-	
-	public static String errorCopyingFile;
-	public static String errorDeleting;
-	public static String errorMkdir;
-	public static String copyingTask;
-	public static String errorReading;
-	public static String errorCreatingZipFile;
-	public static String errorRename;
-	public static String errorNotADirectory;
-
-	public static String errorNoRuntime;
-	public static String errorFacet;
-
-	public static String taskModifyModules;
-	public static String taskPerforming;
-	public static String taskUncompressing;
-	public static String taskDownloadSizeKnown;
-	public static String taskDownloadSizeUnknown;
-
-	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 c4ef915..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 resources.
-taskUncompressing=Uncompressing: {0}
-taskDownloadSizeKnown=Downloading: {0}, received {1} of {2} kbytes
-taskDownloadSizeUnknown=Downloading: {0}, received {1} kbytes
-
-publishing=Publishing to {0}...
-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
-
-jobStarting=Starting {0}
-jobStopping=Stopping {0}
-jobRestarting=Restarting {0}
-jobUpdatingServers=Updating server status
-jobUpdateServer=Updating status for {0}...
-jobInstallingRuntime=Installing server runtime environment
-
-# --------------- 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 environment.
-errorDuplicateRuntimeName=The name is already in use. Specify a different name.
-errorStartTimeout=Server {0} was unable to start within {1} seconds. If the server requires more time, try increasing the timeout in the server editor.
-errorStartFailed=Server {0} failed to start.
-errorStopFailed=Server {0} failed to stop.
-errorRestartTimeout=Server {0} failed to restart within {1} seconds.
-errorRestartFailed=Server {0} failed to restart.
-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} at {1}
-defaultServerName2={0} at {1} ({2})
-defaultServerName3={0}
-defaultServerName4={0} ({1})
-
-# Used when a name can't be found
-defaultVendor=Basic
-defaultVersion=None
-moduleTypeUnknown=Unknown module
-
-canStartErrorState=The server cannot start because it is currently starting or stopping. Wait for the current operation to complete.
-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 environment.
-errorPublishNoConfiguration=Cannot publish to the server because the configuration is missing.
-errorStopAlreadyStopped=The server cannot be stopped because it is already stopped or stopping.
-errorRestartModule=The module cannot be restarted.
-errorPublishModule=The module cannot be published.
-errorMissingAdapter=Could not load server adapter. Check to make sure that the installation is complete.
-
-errorCopyingFile=Error copying file {0}: {1}
-errorDeleting=Could not delete {0}. May be locked by another process.
-errorMkdir=Could not create directory {0}.
-copyingTask=Copying from {0} to {1}
-errorReading=Error reading file {0}
-errorCreatingZipFile=Error creating zip file {0}: {1}
-errorRename=Could not replace with temp file {0}.
-errorNotADirectory=Could not delete {0} since it is not a directory.
-
-errorNoRuntime=Cannot verify facets because there is no runtime environment associated with the server.
-errorFacet=Project facet {0} version {1} is not supported.
\ No newline at end of file
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 4ac25b1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 ModuleType moduleType;
-	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.moduleType = ModuleType.getModuleType(type, version);
-		this.id = id;
-		this.name = name;
-		if (factory != null)
-			id2 = factory.getId() + ":";
-		else
-			id2 = ":";
-		id2 += id;
-	}
-
-	/**
-	 * Returns the id of this module.
-	 *
-	 * @return the id
-	 */
-	public String getId() {
-		return id2;
-	}
-
-	/**
-	 * Returns the internal (partial) id of this module.
-	 *
-	 * @return the partial id
-	 */
-	public String getInternalId() {
-		return id;
-	}
-
-	/**
-	 * Returns the type of this module.
-	 * 
-	 * @return the module type
-	 */
-	public IModuleType getModuleType() {
-		return moduleType;
-	}
-
-	/**
-	 * 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);
-					if (Trace.PERFORMANCE) {
-						Trace.trace(Trace.STRING_PERFORMANCE, "Module.getDelegate(): <"
-								+ (System.currentTimeMillis() - time) + " " + factory.getId());
-					}
-				} catch (Throwable t) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_WARNING,
-								"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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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 == this)
-			return true;
-		
-		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;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IModule#isExternal()
-	 */
-	public boolean isExternal() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IModule#exists()
-	 */
-	public boolean exists() {
-		return true;
-	}
-
-	/**
-	 * 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 e7dfc1e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 an id
-	 */
-	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) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate" + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	public boolean isDelegateLoaded() {
-		return (delegate != null);
-	}
-
-	/**
-	 * Returns the module artifacts.
-	 * 
-	 * @param obj an object
-	 * @return the module artifact, or <code>null</code>
-	 */
-	public IModuleArtifact[] getModuleArtifacts(Object obj) {
-		try {
-			return getDelegate().getModuleArtifacts(obj);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return a 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/ModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
deleted file mode 100644
index 9c9bb7f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.expressions.*;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-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;
-/**
- * 
- */
-public class ModuleFactory implements IOrdered {
-	private IConfigurationElement element;
-	public ModuleFactoryDelegate delegate;
-	private List<IModuleType> moduleTypes;
-	private Expression fContextualLaunchExpr = null;
-
-	/**
-	 * 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 {
-				long time = System.currentTimeMillis();
-				delegate = (ModuleFactoryDelegate) element.createExecutableExtension("class");
-				InternalInitializer.initializeModuleFactoryDelegate(delegate, this, monitor);
-				if (Trace.PERFORMANCE) {
-					Trace.trace(Trace.STRING_PERFORMANCE,
-							"ModuleFactory.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getId());
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate " + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	/*
-	 * @see ModuleFactoryDelegate#getModules()
-	 */
-	public IModule[] getModules() {
-		return getModules(null);
-	}
-
-	/*
-	 * @see ModuleFactoryDelegate#getModules()
-	 */
-	public IModule[] getModules(IProgressMonitor monitor) {
-		try {
-			IModule[] modules = getDelegate(monitor).getModules();
-			if (hasInvalidModules(modules))
-				modules = filter(modules);
-			return modules;
-		} catch (Throwable t) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), t);
-			}
-			return new IModule[0];
-		}
-	}
-
-	/*
-	 * @see ModuleFactoryDelegate#getModules(IProject)
-	 */
-	public IModule[] getModules(IProject project, IProgressMonitor monitor) {
-		try {
-			IModule[] modules = getDelegate(monitor).getModules(project);
-			if (hasInvalidModules(modules))
-				modules = filter(modules);
-			return modules;
-		} catch (Throwable t) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), t);
-			}
-			return new IModule[0];
-		}
-	}
-	
-	/**
-	 * Returns an expression that represents the enablement logic for the
-	 * contextual project of this module factory <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.
-	 */
-	protected Expression getContextualLaunchEnablementExpression() throws CoreException {
-		if (fContextualLaunchExpr == null) {
-			IConfigurationElement[] elements = element.getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = (elements != null && 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> if result is either TRUE or NOT_LOADED.
-	 * This allows optimistic inclusion before plugins are loaded.
-	 * Returns <code>true</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. 
-	 * @return the result of evaluating the expression
-	 * @throws CoreException
-	 */
-	protected boolean evalEnablementExpression(IEvaluationContext context, Expression exp) throws CoreException {
-		// for compatibility with the current behaviour, if the exp == null we return true. Meaning that the factory doesn't
-		// implement an expression and should be enabled for all cases.
-		return (exp != null) ? ((exp.evaluate(context)) != EvaluationResult.FALSE) : true;
-	}
-	
-	public boolean isEnabled(IProject project, IProgressMonitor monitor) {
-		try {
-			IEvaluationContext context = new EvaluationContext(null, project);
-			context.addVariable("project", project);
-			
-			return evalEnablementExpression(context, getContextualLaunchEnablementExpression());
-		} catch (Throwable t) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), t);
-			}
-			return false;
-		}
-	}
-
-	/*
-	 * @see ModuleFactoryDelegate#findModule(String)
-	 */
-	public IModule findModule(String id, IProgressMonitor monitor) {
-		try {
-			IModule module = getDelegate(monitor).findModule(id);
-			if (module == null)
-				return null;
-			
-			getModuleTypes();
-			if (!moduleTypes.contains(module.getModuleType()))
-				return null;
-			
-			return module;
-		} catch (Throwable t) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), t);
-			}
-			return null;
-		}
-	}
-
-	private boolean hasInvalidModules(IModule[] modules) {
-		if (modules == null)
-			return false;
-		
-		getModuleTypes();
-		
-		int size = modules.length;
-		for (int i = 0; i < size; i++) {
-			if (!moduleTypes.contains(modules[i].getModuleType()))
-				return true;
-		}
-		return false;
-	}
-
-	private IModule[] filter(IModule[] modules) {
-		if (modules == null)
-			return modules;
-		
-		getModuleTypes();
-		List<IModule> list = new ArrayList<IModule>();
-		
-		int size = modules.length;
-		for (int i = 0; i < size; i++) {
-			IModule m = modules[i];
-			if (moduleTypes.contains(m.getModuleType()))
-				list.add(m);
-			else if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Invalid module returned from factory, ignored: " + m);
-			}
-		}
-		
-		IModule[] m = new IModule[list.size()];
-		list.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/ModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.java
deleted file mode 100644
index cb13d93..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-/**
- * @deprecated use org.eclipse.wst.server.core.util.ModuleFile instead
- */
-public class ModuleFile extends org.eclipse.wst.server.core.util.ModuleFile {
-	public ModuleFile(IFile file, String name, IPath path) {
-		super(file, name, path);
-	}
-
-	public ModuleFile(String name, IPath path, long stamp) {
-		super(name, path, stamp);
-	}
-
-	public ModuleFile(File file, String name, IPath path) {
-		super(file, name, path);
-	}
-
-	/*
-	 * @deprecated use another constructor
-	 */
-	public ModuleFile(IFile file, String name, IPath path, long stamp) {
-		super(file, 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 edf7af7..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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 org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IPath;
-/**
- * @deprecated use org.eclipse.wst.server.core.util.ModuleFolder instead
- */
-public class ModuleFolder extends org.eclipse.wst.server.core.util.ModuleFolder {
-	public ModuleFolder(IContainer container, String name, IPath path) {
-		super(container, 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 30bbdb4..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, 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 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 dfd4235..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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<String, String> 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() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Loading module info");
-		}
-		String filename = ServerPlugin.getInstance().getStateLocation().append(MODULE_DATA_FILE).toOSString();
-		modules = new HashMap<String, String>();
-		if (!(new File(filename).exists()))
-			return;
-		
-		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) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not load servers", e);
-			}
-		}
-	}
-
-	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 = modules.get(moduleId);
-				
-				IMemento child = memento.createChild("module");
-				child.putString("moduleId", moduleId);
-				child.putString("serverId", serverId);
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not save servers", e);
-			}
-		}
-	}
-
-	/*
-	 * @see ServerCore#getDefaultServer(IModule)
-	 */
-	public IServer getDefaultServer(IModule module) {
-		if (module == null)
-			throw new IllegalArgumentException();
-		
-		String serverId = modules.get(module.getId());
-		if (serverId == null || serverId.length() == 0)
-			return null;
-		
-		IServer server = ServerCore.findServer(serverId);
-		
-		// in the case that the preferred server doesn't exists in the wrks reset the attribute
-		if (server == null){
-			modules.remove(module.getId());
-		}
-		
-		return server; 
-	}
-
-	/*
-	 * @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 = 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 a719b55..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-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;
-import org.eclipse.wst.server.core.util.ModuleFile;
-import org.eclipse.wst.server.core.util.ModuleFolder;
-/**
- * Publish information for a specific module on a specific server.
- */
-public class ModulePublishInfo {
-	private static final IModuleResource[] EMPTY_MODULE_RESOURCE = new IModuleResource[0];
-	private static final IModuleResourceDelta[] EMPTY_MODULE_RESOURCE_DELTA = new IModuleResourceDelta[0];
-	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 STAMP = "stamp";
-	private static final String FILE = "file";
-	private static final String FOLDER = "folder";
-
-	private String moduleId;
-	private String name;
-	private IModuleResource[] resources = EMPTY_MODULE_RESOURCE;
-	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);
-	}
-
-	/**
-	 * ModulePublishInfo constructor.
-	 * 
-	 * @param in an input stream
-	 * @throws IOException if the load fails
-	 */
-	public ModulePublishInfo(DataInput in) throws IOException {
-		super();
-		
-		load(in);
-	}
-
-	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;
-	}
-
-	/**
-	 * Used only for reading from WTP 1.x workspaces.
-	 */
-	protected void load(IMemento memento) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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 = ModuleType.getModuleType(mt, mv);
-			
-			resources = loadResource(memento, new Path(""));
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Could not load module publish info information", e);
-			}
-		}
-	}
-
-	/**
-	 * Used only for reading from WTP 1.x workspaces.
-	 */
-	protected IModuleResource[] loadResource(IMemento memento, IPath path) {
-		if (memento == null)
-			return EMPTY_MODULE_RESOURCE;
-		
-		List<IModuleResource> list = new ArrayList<IModuleResource>(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 load(DataInput in) throws IOException {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Loading module publish info");
-		}
-		
-		moduleId = in.readUTF();
-		byte b = in.readByte(); // 8?
-		
-		if ((b & 1) != 0)
-			name = in.readUTF();
-		else
-			name = null;
-		
-		if ((b & 2) != 0) {
-			String mt = in.readUTF();
-			String mv = in.readUTF();
-			if (mt != null && mt.length() > 0)
-				moduleType = ModuleType.getModuleType(mt, mv);
-		} else
-			moduleType = null;
-		
-		resources = loadResource(in, new Path(""));
-	}
-
-	private IModuleResource[] loadResource(DataInput in, IPath path) throws IOException {
-		int size = in.readInt();
-		if (size > 1000000)
-			throw new IOException("Folder capacity limit reached");
-		IModuleResource[] resources2 = new IModuleResource[size];
-		
-		for (int i = 0; i < size; i++) {
-			byte b = in.readByte();
-			if (b == 0) {
-				String name2 = in.readUTF();
-				long stamp = in.readLong();
-				resources2[i] = new ModuleFile(name2, path, stamp);
-			} else if (b == 1) {
-				String name2 = in.readUTF();
-				ModuleFolder folder = new ModuleFolder(null, name2, path);
-				folder.setMembers(loadResource(in, path.append(name2)));
-				resources2[i] = folder;
-			}
-		}
-		
-		return resources2;
-	}
-
-	protected void save(DataOutput out) {
-		try {
-			out.writeUTF(moduleId);
-			byte b = 0;
-			if (name != null)
-				b |= 1;
-			if (moduleType != null)
-				b |= 2;
-			out.writeByte(b);
-			
-			if (name != null)
-				out.writeUTF(name);
-			
-			if (moduleType != null) {
-				out.writeUTF(moduleType.getId());
-				out.writeUTF(moduleType.getVersion());
-			}
-			saveResource(out, resources);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE,
-						"Could not save module publish info", e);
-			}
-		}
-	}
-
-	protected void saveResource(DataOutput out, IModuleResource[] resources2) throws IOException {
-		if (resources2 == null)
-			return;
-		int size = resources2.length;
-		out.writeInt(size);
-		for (int i = 0; i < size; i++) {
-			if (resources2[i] instanceof IModuleFile) {
-				IModuleFile file = (IModuleFile) resources2[i];
-				out.writeByte(0);
-				out.writeUTF(file.getName());
-				out.writeLong(file.getModificationStamp());
-			} else {
-				IModuleFolder folder = (IModuleFolder) resources2[i];
-				out.writeByte(1);
-				out.writeUTF(folder.getName());
-				IModuleResource[] resources3 = folder.members();
-				saveResource(out, resources3);
-			}
-		}
-	}
-
-	/**
-	 * Start using the module cache.
-	 */
-	protected void startCaching() {
-		useCache = true;
-		currentResources = null;
-		delta = null;
-		hasDelta = false;
-	}
-
-	/**
-	 * Fill the module cache.
-	 * 
-	 * @param module
-	 */
-	private void fillCache(IModule[] module) {
-		if (!useCache)
-			return;
-		
-		if (currentResources != null)
-			return;
-		
-		try {
-			long time = System.currentTimeMillis();
-			IModule m = module[module.length - 1];
-			ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
-			if (pm == null || (m.getProject() != null && !m.getProject().isAccessible()))
-				currentResources = EMPTY_MODULE_RESOURCE;
-			else
-				currentResources = pm.members();
-			
-			delta = ServerPublishInfo.getDelta(resources, currentResources);
-			hasDelta = (delta != null && delta.length > 0);
-			if (Trace.PERFORMANCE) {
-				Trace.trace(Trace.STRING_PERFORMANCE,
-						"Filling publish cache for " + m.getName() + ": " + (System.currentTimeMillis() - time));
-			}
-		} catch (CoreException ce) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Couldn't fill publish cache for " + module);
-			}
-		}
-		if (delta == null)
-			delta = EMPTY_MODULE_RESOURCE_DELTA;
-	}
-
-	protected void clearCache() {
-		useCache = false;
-		currentResources = null;
-		delta = null;
-		hasDelta = false;
-	}
-
-	protected IModuleResource[] getModuleResources(IModule[] module) {
-		if (module == null)
-			return EMPTY_MODULE_RESOURCE;
-		
-		if (useCache) {
-			fillCache(module);
-			return currentResources;
-		}
-		
-		int size = module.length;
-		IModule m = module[size - 1];
-		ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
-		if (pm == null || (m.getProject() != null && !m.getProject().isAccessible()))
-			return EMPTY_MODULE_RESOURCE;
-		
-		try {
-			long time = System.currentTimeMillis();
-			IModuleResource[] x = pm.members();
-			if (ServerPlugin.getInstance().isDebugging())
-				printModule(x,"resources: ");
-			
-			if (Trace.PERFORMANCE) {
-				Trace.trace(Trace.STRING_PERFORMANCE, "Time to get members() for " + module[size - 1].getName() + ": "
-						+ (System.currentTimeMillis() - time));
-			}
-			return x;
-		} catch (CoreException ce) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Possible failure in getModuleResources", ce);
-			}
-		}
-		return EMPTY_MODULE_RESOURCE;
-	}
-	
-	private void printModule(IModuleResource[] r, String s) {
-		for (IModuleResource mrr : r) {
-			printModule(mrr, s + "  ");
-		}
-	}
-
-	private void printModule(IModuleResource r, String s) {
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_RESOURCES, s + r.getName());
-		}
-		if (r instanceof IModuleFolder) {
-			IModuleFolder mf = (IModuleFolder) r;
-			IModuleResource[] mr = mf.members();
-			for (IModuleResource mrr : mr) {
-				printModule(mrr, s + "  ");
-			}
-		}
-	}
-
-	protected IModuleResourceDelta[] getDelta(IModule[] module) {
-		if (module == null)
-			return EMPTY_MODULE_RESOURCE_DELTA;
-		
-		if (useCache) {
-			fillCache(module);
-			return delta;
-		}
-		
-		IModule m = module[module.length - 1];
-		ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
-		if (pm == null || (m.getProject() != null && !m.getProject().isAccessible()))
-			return EMPTY_MODULE_RESOURCE_DELTA;
-		
-		IModuleResource[] resources2 = null;
-		try {
-			resources2 = pm.members();
-			printModule(resources2, "delta:");
-		} catch (CoreException ce) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Possible failure in getDelta", ce);
-			}
-		}
-		if (resources2 == null)
-			resources2 = EMPTY_MODULE_RESOURCE;
-		return ServerPublishInfo.getDelta(getResources(), resources2);
-	}
-
-	protected boolean hasDelta(IModule[] module) {
-		if (module == null)
-			return false;
-		
-		if (useCache) {
-			fillCache(module);
-			return hasDelta;
-		}
-		
-		IModule m = module[module.length - 1];
-		ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
-		IModuleResource[] resources2 = null;
-		if (pm == null || (m.getProject() != null && !m.getProject().isAccessible()))
-			return false;
-		
-		try {
-			resources2 = pm.members();
-		} catch (CoreException ce) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Possible failure in hasDelta", ce);
-			}
-		}
-		if (resources2 == null)
-			resources2 = EMPTY_MODULE_RESOURCE;
-		return ServerPublishInfo.hasDelta(getResources(), resources2);
-	}
-
-	public void fill(IModule[] module) {
-		if (module == null)
-			return;
-		
-		if (useCache) {
-			fillCache(module);
-			setResources(currentResources);
-			return;
-		}
-		
-		IModule m = module[module.length - 1];
-		ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
-		if (pm == null || (m.getProject() != null && !m.getProject().isAccessible())) {
-			setResources(EMPTY_MODULE_RESOURCE);
-			return;
-		}
-		
-		try {
-			setResources(pm.members());
-		} catch (CoreException ce) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Possible failure in fill",
-						ce);
-			}
-		}
-	}
-
-	/**
-	 * Return a deleted module that represents this module.
-	 * 
-	 * @return a module
-	 */
-	protected IModule getDeletedModule() {
-		String id = moduleId;
-		int index = id.lastIndexOf("#");
-		if (index > 0)
-			id = id.substring(index+1);
-		return new DeletedModule(id, name, moduleType);
-	}
-
-	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 58c40b6..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, 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.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 cc37b43..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 kinds
-	private static List<ModuleKind> moduleKinds;
-
-	private static List<ModuleType> 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 the module type with the given id and version, or create a new one if
-	 * none already exists.
-	 * 
-	 * @param id the module type id
-	 * @param version the module type version
-	 * @return the module type
-	 */
-	public synchronized static ModuleType getModuleType(String id, String version) {
-		if (moduleTypes == null)
-			moduleTypes = new ArrayList<ModuleType>();
-		
-		// look for an existing one first
-		Iterator iterator = moduleTypes.iterator();
-		while (iterator.hasNext()) {
-			ModuleType mt = (ModuleType) iterator.next();
-			if ((id == null && mt.id == null) || (id != null && id.equals(mt.id))) {
-				if ((version == null && mt.version == null) || (version != null && version.equals(mt.version)))
-					return mt;
-			}
-		}
-		
-		// otherwise create one
-		ModuleType mt = new ModuleType(id, version);
-		moduleTypes.add(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
-	 */
-	private static ModuleKind findModuleType(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-
-		if (moduleKinds == null)
-			loadModuleTypes();
-		
-		Iterator iterator = moduleKinds.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 (moduleKinds != null)
-			return;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .moduleTypes extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleTypes");
-
-		int size = cf.length;
-		moduleKinds = new ArrayList<ModuleKind>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				ModuleKind moduleType = new ModuleKind(cf[i]);
-				moduleKinds.add(moduleType);
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded moduleType: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load moduleType: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .moduleTypes extension point -<-");
-		}
-	}
-
-	public int hashCode() {
-		int hash = 17;
-		if (id != null)
-			hash += id.hashCode();
-		if (version != null)
-			hash += version.hashCode();
-		return hash;
-	}
-
-	public boolean equals(Object obj) {
-		if (obj == this)
-			return true;
-		
-		if (!(obj instanceof ModuleType))
-			return false;
-		
-		ModuleType mt = (ModuleType) obj;
-		if (!ServerPlugin.matches(id, mt.id))
-			return false;
-		
-		if (!ServerPlugin.matches(version, mt.version))
-			return false;
-		
-		return true;
-	}
-
-	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/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 6e1e929..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.
- * 
- * This class currently 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() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not load preferences",
-						e);
-			}
-		} 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 {
-				if (in != null)
-					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/PublishController.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishController.java
deleted file mode 100644
index 77ae103..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishController.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.IResourceDelta;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.PublishControllerDelegate;
-/**
- * 
- */
-public class PublishController {
-	private IConfigurationElement element;
-	private PublishControllerDelegate delegate;
-
-	/**
-	 * Publisher constructor comment.
-	 * 
-	 * @param element a configuration element 
-	 */
-	public PublishController(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/*
-	 * @see
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-
-	protected String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public boolean supportsType(String id) {
-		return ServerPlugin.contains(getTypeIds(), id);
-	}
-
-	/*
-	 * @see IPublisher#getDelegate()
-	 */
-	public PublishControllerDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				long time = System.currentTimeMillis();
-				delegate = (PublishControllerDelegate) element.createExecutableExtension("class");
-				if (Trace.PERFORMANCE) {
-					Trace.trace(Trace.STRING_PERFORMANCE, "PublishTask.getDelegate(): <"
-							+ (System.currentTimeMillis() - time) + "> " + getId());
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate" + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	public boolean isPublishRequired(IServer server, IResourceDelta delta) {
-		try {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Task.init " + this);
-			}
-			return getDelegate().isPublishRequired(server, delta);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-			return true;
-		}
-	}
-	
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return a string
-	 */
-	public String toString() {
-		return "PublishController[" + getId() + "]";
-	}
-}
\ 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 a0f3dd1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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<String, String> serverIdToPath;
-
-	// map of loaded serverIds to publish info
-	protected Map<String, ServerPublishInfo> serverIdToPublishInfo;
-
-	/**
-	 * PublishInfo constructor comment.
-	 */
-	private PublishInfo() {
-		super();
-	
-		serverIdToPath = new HashMap<String, String>();
-		serverIdToPublishInfo = new HashMap<String, ServerPublishInfo>();
-		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))
-				return serverIdToPublishInfo.get(serverId);
-			
-			// force .dat extension
-			String partialPath = serverIdToPath.get(serverId);
-			partialPath = partialPath.substring(0, partialPath.length() - 3) + "dat";
-			IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath);
-			ServerPublishInfo spi = new ServerPublishInfo(path);
-			serverIdToPublishInfo.put(serverId, spi);
-			return spi;
-		}
-		
-		// 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 + ".dat";
-				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 = serverIdToPath.get(serverId);
-		synchronized (PUBLISH_DIR) {
-			serverIdToPath.remove(serverId);
-			serverIdToPublishInfo.remove(serverId);
-			save();
-		}
-		if (path2 != null) {
-			path.append(path2).toFile().delete();
-			path2 = path2.substring(0, path2.length() - 3) + "xml";
-			path.append(path2).toFile().delete();
-			path2 = path2.substring(0, path2.length() - 3) + "dat";
-			path.append(path2).toFile().delete();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void load() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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<String, String>(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) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Could not load global publish info", e);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	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 = serverIdToPath.get(serverId);
-				
-				IMemento server = memento.createChild("server");
-				server.putString("id", serverId);
-				server.putString("path", partialPath);
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE,
-						"Could not save global publish info", e);
-			}
-		}
-	}
-}
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 93dbdeb..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.IAdaptable;
-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.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-/**
- * Job to publish to a particular server.
- * 
- * @deprecated - use API directly, it will kick off jobs as required
- */
-public class PublishServerJob extends ChainedJob {
-	protected int kind;
-	protected boolean check;
-	protected List<IModule[]> modules;
-	protected IAdaptable info;
-
-	/**
-	 * Create a new publishing job.
-	 * 
-	 * @param server the server to publish to
-	 * @param kind the kind of publish
-	 * @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 Shell class.
-	 */
-	public PublishServerJob(IServer server, int kind, IAdaptable info) {
-		this(server, kind, null, info);
-	}
-
-	/**
-	 * Create a new publishing job.
-	 * 
-	 * @param server the server to publish to
-	 * @param kind the kind of publish
-	 * @param modules a list of modules to publish, or <code>null</code> to
-	 *    publish all modules
-	 * @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 Shell class.
-	 */
-	public PublishServerJob(IServer server, int kind, List<IModule[]> modules, IAdaptable info) {
-		super(NLS.bind(Messages.publishing, server.getName()), server);
-		this.kind = kind;
-		this.modules = modules;
-		this.info = info;
-	}
-
-	/**
-	 * Create a new publishing job.
-	 * 
-	 * @param server the server to publish to
-	 * @param kind the kind of publish
-	 * @param check to check if auto-publishing is already covering the publish
-	 */
-	public PublishServerJob(IServer server, int kind, boolean check) {
-		this(server, kind, null, null);
-		this.check = check;
-	}
-
-	/**
-	 * Create a new publishing job.
-	 * 
-	 * @param server the server to publish to
-	 * @deprecated use one of the other constructors instead
-	 */
-	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 (!getServer().shouldPublish())
-		//	return Status.OK_STATUS;
-		
-		if (check && !ServerCore.isAutoPublishing()) {
-			// don't run if we're auto-publishing 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
-				return Status.OK_STATUS;
-		}
-		
-		final IStatus[] status = new IStatus[1];
-		getServer().publish(kind, modules, info, new IServer.IOperationListener() {
-			public void done(IStatus result) {
-				status[0] = result;
-			}
-		});
-		
-		while (status[0] == null & !monitor.isCanceled()) {
-			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		if (status[0] != null)
-			return status[0];
-		
-		return Status.CANCEL_STATUS;
-	}
-}
\ 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 cccc489..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.IServer;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.core.model.PublishTaskDelegate;
-/**
- * 
- */
-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;
-	}
-
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	protected String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public boolean supportsType(String id) {
-		return ServerPlugin.contains(getTypeIds(), id);
-	}
-
-	/*
-	 * @see IPublishTask#getDelegate()
-	 */
-	public PublishTaskDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				long time = System.currentTimeMillis();
-				delegate = (PublishTaskDelegate) element.createExecutableExtension("class");
-				if (Trace.PERFORMANCE) {
-					Trace.trace(Trace.STRING_PERFORMANCE, "PublishTask.getDelegate(): <"
-							+ (System.currentTimeMillis() - time) + "> " + getId());
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate" + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	/*
-	 * @see
-	 */
-	public PublishOperation[] getTasks(IServer server, List modules) {
-		try {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Task.init " + this);
-			}
-			PublishOperation[] po = getDelegate().getTasks(server, modules);
-			if (po != null)
-				return po;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-		}
-		return new PublishOperation[0];
-	}
-
-	/*
-	 * @see
-	 */
-	public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) {
-		try {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Task.init " + this);
-			}
-			PublishOperation[] po = getDelegate().getTasks(server, kind, modules, kindList);
-			if (po != null)
-				return po;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-		}
-		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/Publisher.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Publisher.java
deleted file mode 100644
index 6a35107..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Publisher.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.model.PublisherDelegate;
-/**
- * 
- */
-public class Publisher {
-	private IConfigurationElement element;
-	private PublisherDelegate delegate;
-	private boolean modifyModules = false;
-
-	/**
-	 * Publisher constructor comment.
-	 * 
-	 * @param element a configuration element 
-	 */
-	public Publisher(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/*
-	 * @see
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	public String getDescription() {
-		return element.getAttribute("description");
-	}
-
-	protected String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public boolean supportsType(String id) {
-		return ServerPlugin.contains(getTypeIds(), id);
-	}
-
-	/*
-	 * @see IPublisher#getDelegate()
-	 */
-	public PublisherDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				long time = System.currentTimeMillis();
-				delegate = (PublisherDelegate) element.createExecutableExtension("class");
-				if (Trace.PERFORMANCE) {
-					Trace.trace(Trace.STRING_PERFORMANCE, "PublishTask.getDelegate(): <"
-							+ (System.currentTimeMillis() - time) + "> " + getId());
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate" + toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Should the original {@link ISchedulingRule} be changed with the new {@link ISchedulingRule}?
-	 * 
-	 * @param originalRule
-	 *            The original {@link ISchedulingRule}
-	 * @param newRule
-	 *            The new {@link ISchedulingRule}
-	 * @return <code>true</code> if the new scheduling rule should be applied; Otherwise <code>false</code>.
-	 */
-	private boolean changeSchedulingRule(ISchedulingRule originalRule, ISchedulingRule newRule) {
-
-		boolean changeRule = false;
-		if ((originalRule == null) && (newRule == null)) {
-			// no need to change rules if they're both null
-			changeRule = false;
-		}
-		else if((originalRule == null) && (newRule != null)) {
-			// there is currently no rule and a new not-null rule wants to be added 
-			changeRule = true;
-		}
-		else if((originalRule != null) && (newRule == null)) {
-			// there is currently a rule and a new null rule wants to be applied
-			changeRule = true;
-		}
-		else if((originalRule != null) && (newRule != null)) {
-			// there is currently a rule and a new not-null rule wants to be applied.
-			changeRule = !originalRule.equals(newRule);
-		}
-		return changeRule;
-	}
-
-	/**
-	 * rebuild the cache for the modules involved with this task.
-	 */
-	private void rebuildModuleCache() {
-
-		// reset the publishing cache for the modules that are part of this task.
-		Server server = (Server) getDelegate().getTaskModel().getObject(TaskModel.TASK_SERVER);
-		if (server != null) {
-			// make sure the right server is used.
-			if(server.isWorkingCopy()) {
-				IServerWorkingCopy workingCopy = (IServerWorkingCopy)server;
-				server = (Server) workingCopy.getOriginal();
-			}
-			final List<IModule[]> moduleList = getDelegate().getModifiedModules();
-			if (moduleList != null) {
-				final Iterator<IModule[]> moduleIterator = moduleList.iterator();
-				while (moduleIterator.hasNext()) {
-					IModule[] module = moduleIterator.next();
-					if (module != null) {
-						if (Trace.FINEST) {
-							Trace.trace(Trace.STRING_FINEST, "rebuilding cache for module: "
-									+ module[module.length - 1]);
-						}
-						server.getServerPublishInfo().rebuildCache(module);
-					}
-				}
-			}
-		}
-	}
-	
-	public IStatus execute(int kind, IProgressMonitor monitor, IAdaptable info) throws CoreException {
-
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Task.init " + this);
-		}
-		ISchedulingRule delegatePublisherRule = null;
-		final ISchedulingRule originalPublisherRule = Job.getJobManager().currentRule();
-		IStatus resultStatus = null;
-		boolean changeSchedulingRules = false;
-		try {
-			delegatePublisherRule = getDelegate().getRule();
-			changeSchedulingRules = this.changeSchedulingRule(originalPublisherRule, delegatePublisherRule);
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Change the scheduling rule to execute delegate: "
-						+ changeSchedulingRules);
-			}
-			if (changeSchedulingRules) {
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "Ending the current scheduling rule " + originalPublisherRule);
-				}
-				Job.getJobManager().endRule(originalPublisherRule);
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "Beginning the new scheduling rule: " + delegatePublisherRule);
-				}
-				Job.getJobManager().beginRule(delegatePublisherRule, monitor);
-			}
-			resultStatus = getDelegate().execute(kind, monitor, info);
-			this.modifyModules = getDelegate().isModifyModules();
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "The publisher delegate stated that it modified modules: "
-						+ this.modifyModules);
-			}
-			if(this.modifyModules) {
-				this.rebuildModuleCache();
-			}
-		}
-		catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-			resultStatus = new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, "Error in delegate", e);
-		}
-		finally {
-			if (changeSchedulingRules) {
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "Reseting the scheduling rules... ending: "
-							+ delegatePublisherRule);
-				}
-				Job.getJobManager().endRule(delegatePublisherRule);
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "Reseting the scheduling rules... beginning: "
-							+ originalPublisherRule);
-				}
-				Job.getJobManager().beginRule(originalPublisherRule, monitor);
-			}
-		}
-		return resultStatus;
-	}
-
-	public void setTaskModel(TaskModel taskModel) {
-		try {
-			getDelegate().setTaskModel(taskModel);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-		}
-	}
-
-	/**
-	 * Accessor to find out if this publisher modified any modules that are published on the server.
-	 * 
-	 * @return <code>true</code> if the publisher modified the contents of any modules that are published on the server.
-	 */
-	public boolean isModifyModules() {
-
-		return this.modifyModules;
-	}
-	
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return a string
-	 */
-	public String toString() {
-		return "Publisher[" + 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 356f84a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
+++ /dev/null
@@ -1,1253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 = new ResourceManager();
-
-	// currently active runtimes and servers
-	protected List<IRuntime> runtimes;
-	protected List<IServer> servers;
-
-	// lifecycle listeners
-	protected List<IRuntimeLifecycleListener> runtimeListeners = new ArrayList<IRuntimeLifecycleListener>(3);
-	protected List<IServerLifecycleListener> serverListeners = new ArrayList<IServerLifecycleListener>(3);
-
-	// cache for disposing servers & runtimes
-	protected List<String> activeBundles;
-
-	// resource change listeners
-	private IResourceChangeListener resourceChangeListener;
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-
-	protected List moduleServerEventHandlers;
-	protected List moduleServerEventHandlerIndexes;
-
-	private static boolean initialized;
-	private static boolean initializing;
-
-	protected static List<String> serverProjects = new ArrayList<String>(2);
-
-	/**
-	 * 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.
-	 */
-	protected class ServerResourceChangeListener implements IResourceChangeListener {
-		/**
-		 * Create a new ServerResourceChangeListener.
-		 */
-		public ServerResourceChangeListener() {
-			super();
-		}
-
-		/**
-		 * Listen for projects being added or removed and act accordingly.
-		 * 
-		 * @param event a resource change event
-		 */
-		public void resourceChanged(final IResourceChangeEvent event) {
-			IResourceDelta delta = event.getDelta();
-			if (delta == null)
-				return;
-			
-			// ignore clean builds
-			if (event.getBuildKind() == IncrementalProjectBuilder.CLEAN_BUILD)
-				return;
-			
-			if (Trace.RESOURCES) {
-				Trace.trace(Trace.STRING_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, event);
-							return false;
-						}
-						return true;
-					}
-				});
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Error responding to resource change", e);
-				}
-			}
-			
-			if (Trace.RESOURCES) {
-				Trace.trace(Trace.STRING_RESOURCES,
-						"-<- Done ServerResourceChangeListener responding to resource change -<-");
-			}
-		}
-
-		/**
-		 * React to a change within a possible server project.
-		 *
-		 * @param project a project
-		 * @param delta a resource delta
-		 */
-		protected void projectChanged(IProject project, IResourceDelta delta) {
-			String projectName = project.getName();
-			if (!ServerPlugin.getProjectProperties(project).isServerProject()) {
-				if (!serverProjects.contains(projectName)) {
-					if (Trace.RESOURCES) {
-						Trace.trace(Trace.STRING_RESOURCES, "Not a server project: " + project.getName());
-					}
-					return;
-				}
-				serverProjects.remove(projectName);
-			} else if (!serverProjects.contains(projectName))
-				serverProjects.add(projectName);
-			
-			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) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE,
-								"Error responding to resource change", e);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Cannot directly create a ResourceManager. Use
-	 * ServersCore.getResourceManager().
-	 */
-	private ResourceManager() {
-		super();
-	}
-
-	/**
-	 * Execute the server startup extension points.
-	 */
-	private static synchronized void executeStartups() {
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_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) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Startup failed"
-								+ startup.toString(), ex);
-					}
-				}
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded startup: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				ServerPlugin.logExtensionFailure(cf[i].getAttribute("id"), t);
-			}
-		}
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .startup extension point -<-");
-		}
-	}
-
-	protected synchronized void init() {
-		if (initialized || initializing)
-			return;
-		
-		initializing = true;
-		
-		// see who's triggering API startup
-		/*try {
-			throw new NumberFormatException();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}*/
-		
-		servers = new ArrayList<IServer>();
-		activeBundles = new ArrayList<String>();
-		
-		loadRuntimesList();
-		loadServersList();
-		
-		executeStartups();
-		
-		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);
-		
-		if (Trace.FINER) {
-			Trace.trace(Trace.STRING_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()) {
-					String projectName = projects[i].getName();
-					if (!serverProjects.contains(projectName))
-						serverProjects.add(projectName);
-					loadFromProject(projects[i]);
-				}
-			}
-		}
-		
-		addServerLifecycleListener(ServerListener.getInstance());
-		
-		initialized = true;
-	}
-
-	/**
-	 * Load all of the servers and server configurations from the given project.
-	 */
-	protected static void loadFromProject(IProject project) {
-		if (Trace.FINER) {
-			Trace.trace(Trace.STRING_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) {
-								if (Trace.SEVERE) {
-									Trace.trace(
-											Trace.STRING_SEVERE,
-											"Error during initial server resource load",
-											e);
-								}
-							}
-							return false;
-						}
-					return true;
-				}
-			}, 0);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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 static ResourceManager getInstance() {
-		return instance;
-	}
-
-	public static void shutdown() {
-		if (instance == null)
-			return;
-		
-		try {
-			instance.shutdownImpl();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error during shutdown", e);
-			}
-		}
-	}
-
-	protected boolean isActiveBundle(String bundleId) {
-		if (activeBundles == null)
-			return false;
-		return activeBundles.contains(bundleId);
-	}
-
-	protected void shutdownBundle(String id) {
-		if (!initialized)
-			return;
-		
-		// 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) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_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 (runtimeType != null && id != null && id.equals(runtimeType.getNamespace())) {
-					runtime.dispose();
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "Error disposing server",
-							e);
-				}
-			}
-		}
-		try {
-			Thread.sleep(1000);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-	
-	protected void shutdownImpl() {
-		if(!initialized) {
-			return;
-		}
-
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		if (workspace != null && resourceChangeListener != null) {
-			workspace.removeResourceChangeListener(resourceChangeListener);
-		}
-
-		if (pcl != null) {
-			ServerPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl);
-		}
-		
-		removeServerLifecycleListener(ServerListener.getInstance());
-	}
-
-	/*
-	 * 
-	 */
-	public void addRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "Adding runtime lifecycle listener " + listener + " to " + this);
-		}
-		
-		synchronized (runtimeListeners) {
-			runtimeListeners.add(listener);
-		}
-	}
-
-	/*
-	 *
-	 */
-	public void removeRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "Removing runtime lifecycle listener " + listener + " from " + this);
-		}
-		
-		synchronized (runtimeListeners) {
-			runtimeListeners.remove(listener);
-		}
-	}
-
-	/*
-	 * 
-	 */
-	public void addServerLifecycleListener(IServerLifecycleListener listener) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "Adding server lifecycle listener " + listener + " to " + this);
-		}
-		
-		synchronized (serverListeners) {
-			serverListeners.add(listener);
-		}
-	}
-
-	/*
-	 *
-	 */
-	public void removeServerLifecycleListener(IServerLifecycleListener listener) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "Removing server lifecycle listener " + listener + " from " + this);
-		}
-		
-		synchronized (serverListeners) {
-			serverListeners.remove(listener);
-		}
-	}
-
-	/**
-	 * Deregister an existing runtime.
-	 *
-	 * @param runtime
-	 */
-	private void deregisterRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-		
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_RESOURCES, "Deregistering runtime: " + runtime.getName());
-		}
-		
-		runtimes.remove(runtime);
-		fireRuntimeEvent(runtime, EVENT_REMOVED);
-		((Runtime)runtime).dispose();
-	}
-
-	/**
-	 * Deregister an existing server resource.
-	 *
-	 * @param server
-	 */
-	private void deregisterServer(IServer server) {
-		if (server == null)
-			return;
-		
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_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) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing runtime event: " + runtime.getName() + " ->-");
-		}
-		
-		if (runtimeListeners.isEmpty())
-			return;
-		
-		List<IRuntimeLifecycleListener> clone = new ArrayList<IRuntimeLifecycleListener>();
-		clone.addAll(runtimeListeners);
-		for (IRuntimeLifecycleListener srl : clone) {
-			if (Trace.LISTENERS) {
-				Trace.trace(Trace.STRING_LISTENERS, "  Firing runtime event to " + srl);
-			}
-			try {
-				if (b == EVENT_ADDED)
-					srl.runtimeAdded(runtime);
-				else if (b == EVENT_CHANGED)
-					srl.runtimeChanged(runtime);
-				else
-					srl.runtimeRemoved(runtime);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Error firing runtime event to " + srl, e);
-				}
-			}
-		}
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "-<- Done firing runtime event -<-");
-		}
-	}
-
-	/**
-	 * Fire a server event.
-	 */
-	private void fireServerEvent(final IServer server, byte b) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing server event: " + server.getName() + " ->-");
-		}
-		
-		if (serverListeners.isEmpty())
-			return;
-		
-		List<IServerLifecycleListener> clone = new ArrayList<IServerLifecycleListener>();
-		clone.addAll(serverListeners);
-		for (IServerLifecycleListener srl : clone) {
-			if (Trace.LISTENERS) {
-				Trace.trace(Trace.STRING_LISTENERS, "  Firing server event to " + srl);
-			}
-			try {
-				if (b == EVENT_ADDED)
-					srl.serverAdded(server);
-				else if (b == EVENT_CHANGED)
-					srl.serverChanged(server);
-				else
-					srl.serverRemoved(server);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Error firing server event to " + srl, e);
-				}
-			}
-		}
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not save runtimes", e);
-			}
-		}
-		ignorePreferenceChanges = false;
-	}
-
-	private 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();
-				
-				if (server.getFile() == null) {
-					IMemento child = memento.createChild("server");
-					server.save(child);
-				}
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not save servers", e);
-			}
-		}
-	}
-
-	protected void loadRuntimesList() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Loading runtime info");
-		}
-		Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("runtimes");
-		
-		runtimes = new ArrayList<IRuntime>();
-		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) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Could not load runtimes", e);
-				}
-			}
-		}
-	}
-
-	protected void loadServersList() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not load servers", e);
-			}
-		}
-	}
-
-	protected void addRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-		
-		if (!initialized)
-			init();
-		
-		if (!runtimes.contains(runtime))
-			registerRuntime(runtime);
-		else
-			fireRuntimeEvent(runtime, EVENT_CHANGED);
-		saveRuntimesList();
-		resolveServers();
-	}
-
-	protected void removeRuntime(IRuntime runtime) {
-		if (!initialized)
-			init();
-		
-		if (runtimes.contains(runtime)) {
-			deregisterRuntime(runtime);
-			saveRuntimesList();
-			resolveServers();
-		}
-	}
-
-	protected void addServer(IServer server) {
-		if (server == null)
-			return;
-		
-		if (!initialized)
-			init();
-		
-		if (!servers.contains(server))
-			registerServer(server);
-		else
-			fireServerEvent(server, EVENT_CHANGED);
-		saveServersList();
-		resolveServers();
-	}
-
-	protected void removeServer(IServer server) {
-		if (!initialized)
-			init();
-		
-		if (servers.contains(server)) {
-			deregisterServer(server);
-			saveServersList();
-			resolveServers();
-		}
-	}
-
-	/**
-	 * Returns an array of all runtimes.
-	 *
-	 * @return an array of runtimes
-	 */
-	public IRuntime[] getRuntimes() {
-		if (!initialized)
-			init();
-		
-		List<IRuntime> list = new ArrayList<IRuntime>(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();
-		
-		if (!initialized)
-			init();
-		
-		Iterator iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			IRuntime runtime = (IRuntime) iterator.next();
-			if (runtime.getId().equals(id))
-				return runtime;
-		}
-		return null;
-	}
-
-	public void resolveRuntimes() {
-		if (!initialized)
-			init();
-		
-		Iterator iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			Runtime runtime = (Runtime) iterator.next();
-			runtime.resolve();
-		}
-	}
-
-	public void resolveServers() {
-		if (!initialized)
-			init();
-		
-		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() {
-		if (!initialized)
-			init();
-		
-		IServer[] servers2 = new IServer[servers.size()];
-		servers.toArray(servers2);
-		
-		return servers2;
-	}
-
-	/**
-	 * Returns the server with the given id.
-	 * 
-	 * @param id a server id
-	 * @return a server
-	 */
-	public IServer getServer(String id) {
-		if (!initialized)
-			init();
-		
-		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;
-		
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_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);
-			}
-			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) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_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) {
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_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)
-						addServer(server);
-					monitor.done();
-					return true;
-				}
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_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
-	 */
-	private boolean handleMovedFile(IFile file, IResourceDelta delta, IProgressMonitor monitor) {
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_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
-	 */
-	private boolean handleChangedFile(IFile file, IProgressMonitor monitor) {
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_RESOURCES, "handleChangedFile: " + file);
-		}
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.beginTask("", 1000);
-		boolean found = false;
-	
-		IServer server = findServer(file);
-		if (server != null) {
-			found = true;
-			try {
-				if (Trace.RESOURCES) {
-					Trace.trace(Trace.STRING_RESOURCES, "Reloading server: " + server);
-				}
-				((Server) server).loadFromFile(monitor);
-				fireServerEvent(server, EVENT_CHANGED);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Error reloading server "
-							+ server.getName() + " from " + file, e);
-				}
-				removeServer(server);
-			}
-		}
-		else if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_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
-	 */
-	private boolean handleRemovedFile(IFile file) {
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_RESOURCES, "handleRemovedFile: " + file);
-		}
-		
-		IServer server = findServer(file);
-		if (server != null) {
-			removeServer(server);
-			return true;
-		}
-		
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_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) {
-		publishHandleProjectChange(delta, null);
-	}
-	
-	/**
-	 * 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
-	 * @param buildEvent whether this event was a build event
-	 */
-	protected void publishHandleProjectChange(IResourceDelta delta, IResourceChangeEvent event) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "> publishHandleProjectChange " + delta.getResource());
-		}
-		IProject project = (IProject) delta.getResource();
-		
-		if (project == null)
-			return;
-		
-		IServer[] servers2 = getPublishRequiredServers(delta);
-		
-		// process module changes
-		ProjectModuleFactoryDelegate.handleGlobalProjectChange(project, delta);
-		
-		IModule[] modules = ServerUtil.getModules(project);
-		if (modules == null)
-			return;
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "- publishHandleProjectChange");
-		}
-
-		int size = modules.length;
-		int size2 = servers2.length;
-		for (int i = 0; i < size; i++) {
-			for (int j = 0; j < size2; j++) {
-				if (servers2[j].getAdapter(ServerDelegate.class) != null)
-					((Server) servers2[j]).handleModuleProjectChange(modules[i], event);
-			}
-		}
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "< publishHandleProjectChange");
-		}
-	}
-
-	private IServer[] getPublishRequiredServers(IResourceDelta delta){		
-		// The list of servers that will require publish
-		final List<IServer> servers2 = new ArrayList<IServer>();
-
-		// wrksServers = Workspaces Servers
-		final IServer[] wrksServers =  getServers();
-
-		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta2) throws CoreException {
-					// servers2 is the same size as the list of servers in the workspace, all servers require 
-					// publishing. Exit the visitor
-					if (servers2.size() == wrksServers.length)
-						return false;
-					// has this deltaResource been changed?
-					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){
-							// this resource is effectively a no change
-							return true;
-						}
-						// This is a changed file. 
-						// Iterate through all servers for each changed resource, if the server needs publishing 
-						// for one single resource and the server is not on the list(servers2) then add it, as it 
-						// will require publishing
-						for (IServer server:wrksServers){
-							if (ServerCore.isPublishRequired(server,delta2)){
-								if (!servers2.contains(server))
-									servers2.add(server);
-							}
-						}
-						return false;
-					}
-					// This is a changed folder, so visit the child elements.
-					return true;
-				}
-			});
-		} catch (Exception e) {
-			// ignore
-		}
-		//Trace.trace(Trace.FINEST, "Delta contains change: " + t.b);
-		return servers2.toArray(new IServer[0]);
-	}
-	
-	/**
-	 * 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 a runtime
-	 */
-	private void registerRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return;
-		
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_RESOURCES, "Registering runtime: " + runtime.getName());
-		}
-		
-		runtimes.add(runtime);
-		fireRuntimeEvent(runtime, EVENT_ADDED);
-		
-		RuntimeType runtimeType = (RuntimeType) runtime.getRuntimeType();
-		String bundleId = runtimeType.getNamespace();
-		if (activeBundles != null && !activeBundles.contains(bundleId))
-			activeBundles.add(bundleId);
-	}
-
-	/**
-	 * Registers a new server.
-	 *
-	 * @param server a server
-	 */
-	private void registerServer(IServer server) {
-		if (server == null)
-			return;
-		
-		if (Trace.RESOURCES) {
-			Trace.trace(Trace.STRING_RESOURCES, "Registering server: " + server.getName());
-		}
-		
-		servers.add(server);
-		fireServerEvent(server, EVENT_ADDED);
-		
-		ServerType serverType = (ServerType) server.getServerType();
-		if (serverType != null) {
-			String bundleId = serverType.getNamespace();
-			if (activeBundles != null && !activeBundles.contains(bundleId))
-				activeBundles.add(bundleId);
-		}
-	}
-
-	public String toString() {
-		return "Server resource manager";
-	}
-}
\ 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 ede16ca..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-/**
- * A job for restarting a server.
- * 
- * @deprecated - use API directly, it will kick off jobs as required
- */
-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.jobRestarting, server.getName()), server);
-		this.launchMode = launchMode;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		final IStatus[] status = new IStatus[1];
-		getServer().restart(launchMode, new IServer.IOperationListener() {
-			public void done(IStatus result) {
-				status[0] = result;
-			}
-		});
-		
-		while (status[0] == null & !monitor.isCanceled()) {
-			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return status[0];
-	}
-}
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 f7e0a40..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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) {
-			ServerPlugin.logExtensionFailure(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();
-					if (delegate != null)
-						InternalInitializer.initializeRuntimeDelegate(delegate, this, monitor);
-					if (Trace.PERFORMANCE) {
-						Trace.trace(Trace.STRING_PERFORMANCE, "Runtime.getDelegate(): <"
-								+ (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId());
-					}
-				} catch (Throwable t) {
-					ServerPlugin.logExtensionFailure(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 b71cc6f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-	}
-
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	protected String[] getTypeIds() {
-		try {
-			return ServerPlugin.tokenize(element.getAttribute("typeIds"), ",");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public boolean supportsType(String id) {
-		return ServerPlugin.contains(getTypeIds(), id);
-	}
-
-	protected RuntimeLocatorDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (RuntimeLocatorDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate " + toString(), t);
-				}
-			}
-		}
-		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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-		}
-	}
-
-	public String toString() {
-		return "RuntimeLocator[" + getId() + "]";
-	}
-}
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 afa1ee8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * 
- */
-public class RuntimeType implements IRuntimeType {
-	private IConfigurationElement element;
-	private List<IModuleType> 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;
-	}
-
-	public String getFacetRuntimeComponent() {
-		try {
-			return element.getAttribute("facetRuntimeComponent");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public String getFacetRuntimeVersion() {
-		try {
-			return element.getAttribute("facetRuntimeVersion");
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	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)
-				loadModuleTypes();
-	
-			IModuleType[] mt = new IModuleType[moduleTypes.size()];
-			moduleTypes.toArray(mt);
-			return mt;
-		} catch (Exception e) {
-			return new IModuleType[0];
-		}
-	}
-	
-	protected void loadModuleTypes(){
-		moduleTypes = ServerPlugin.getModuleTypes(element.getChildren("moduleType"));
-		ServerPlugin.loadRuntimeModuleTypes(this);
-	}
-	
-	/**
-	 * Adds a Loose ModuleType to this runtime  
-	 * @param moduleType
-	 * @throws CoreException if the moduleType is null or if already added
-	 */
-	public void addModuleType(IConfigurationElement cfe) throws CoreException{
-		if (cfe == null)
-			throw new CoreException(new Status(IStatus.ERROR,ServerPlugin.PLUGIN_ID,"<null> moduleType"));
-		
-		IConfigurationElement [] childs = cfe.getChildren("moduleType");
-		if (childs.length < 1)
-			throw new CoreException(new Status(IStatus.ERROR,ServerPlugin.PLUGIN_ID,"No moduleType found for runtime"));
-		
-		List<IModuleType> extraModuleTypes = ServerPlugin.getModuleTypes(childs);
-		moduleTypes.addAll(extraModuleTypes);
-	}
-
-	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 1e0a831..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.ServerUtil;
-import org.eclipse.wst.server.core.model.InternalInitializer;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * 
- */
-public class RuntimeWorkingCopy extends Runtime implements IRuntimeWorkingCopy {
-	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<String, Object>(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);
-	}
-
-	/**
-	 * @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<String> 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));
-		
-		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);
-		
-		return runtime;
-	}
-
-	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);
-					if (Trace.PERFORMANCE) {
-						Trace.trace(Trace.STRING_PERFORMANCE, "RuntimeWorkingCopy.getWorkingCopyDelegate(): <"
-								+ (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId());
-					}
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_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 for this runtime, including the name.
-	 * 
-	 * @param monitor a progress monitor, or null
-	 */
-	protected void setDefaults(IProgressMonitor monitor) {
-		try {
-			ServerUtil.setRuntimeDefaultName(this);
-			getWorkingCopyDelegate(monitor).setDefaults(monitor);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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/SaveEditorPrompter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/SaveEditorPrompter.java
deleted file mode 100644
index 8e45842..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/SaveEditorPrompter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-
-/**
- * <p>
- * SaveEditorPrompter is the abstract implementation of the .saveEditorPrompter extension 
- * point. This class is used for prompting to the user to save all the editors. The class 
- * transfer the control from the non-ui code to the UI code via an the extension point
- * </p>
- * <b>This class is not intended to be extended adopters.</b> 
- * 
- */
-public class SaveEditorPrompter {
-	
-	/**
-	 * Move the control to the UI and save all the editors according to <code>org.eclipse.debug.internal.ui.IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</code>  
-	 */
-	public void saveAllEditors(){
-		// nothing to do, should be implemented		
-	}
-	public void setDebugNeverSave(){
-		// nothing to do, should be implemented		
-	}
-	public void setDebugOriginalValue(){
-		// nothing to do, should be implemented		
-	}
-}
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 bfec066..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ /dev/null
@@ -1,3685 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.*;
-import org.eclipse.debug.core.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-
-/**
- * 
- */
-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<String> EMPTY_LIST = new ArrayList<String>(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_DISABLE = 1;
-	public static final int AUTO_PUBLISH_RESOURCE = 2;
-	public static final int AUTO_PUBLISH_BUILD = 3;
-
-	private static String PUBLISH_AUTO_STRING = "auto";
-	private static String PUBLISH_CLEAN_STRING = "clean";
-	private static String PUBLISH_FULL_STRING = "full";
-	private static String PUBLISH_INCREMENTAL_STRING = "incremental";
-	private static String PUBLISH_UNKOWN = "unkown";
-	
-	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_PUBLISHERS = "publishers";
-	public static final String PROP_AUTO_PUBLISH_TIME = "auto-publish-time";
-	public static final String PROP_AUTO_PUBLISH_SETTING = "auto-publish-setting";
-	public static final String PROP_START_TIMEOUT = "start-timeout";
-	public static final String PROP_STOP_TIMEOUT = "stop-timeout";	
-
-	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<IModule> modules;
-	
-	/** A lock that is used to synchronize access to modules. */
-	protected final Object modulesLock = new Object();
-
-	// the list of external modules
-	protected List<IModule> externalModules;
-
-	// 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<String, Integer> moduleState = new HashMap<String, Integer>();
-	protected transient Map<String, Integer> modulePublishState = new HashMap<String, Integer>();
-	protected transient Map<String, Boolean> moduleRestartState = new HashMap<String, Boolean>();
-
-	protected transient IStatus serverStatus;
-	protected transient Map<String, IStatus> moduleStatus = new HashMap<String, IStatus>();
-
-	protected transient ServerPublishInfo publishInfo;
-	protected transient AutoPublishThread autoPublishThread;
-
-	/**
-	 * The most recent launch used to start the server.
-	 */
-	protected transient ILaunch launch;
-
-/*	private static final String[] stateStrings = new String[] {
-		"unknown", "starting", "started", "started_debug",
-		"stopping", "stopped", "started_unsupported", "started_profile"
-	};*/
-
-	// publish listeners
-	protected transient List<IPublishListener> 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() {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Auto-publish thread starting for " + Server.this + " - " + time + "s");
-			}
-			if (stop)
-				return;
-			
-			try {
-				sleep(time * 1000);
-			} catch (Exception e) {
-				// ignore
-			}
-			
-			if (stop)
-				return;
-			
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Auto-publish thread publishing " + Server.this);
-			}
-			
-			if (getServerState() != IServer.STATE_STARTED)
-				return;
-			
-			publish(IServer.PUBLISH_AUTO, null, null, null);
-		}
-	}
-
-	private abstract class ServerJob extends Job {
-		public ServerJob(String name) {
-			super(name);
-		}
-
-		public boolean belongsTo(Object family) {
-			return ServerUtil.SERVER_JOB_FAMILY.equals(family);
-		}
-	
-		public IServer getServer() {
-			return Server.this;
-		}
-	}
-
-	public class ResourceChangeJob extends ServerJob {
-		private IModule module;
-		private IResourceChangeEvent event;
-
-		public ResourceChangeJob(IModule module) {
-			this(module, null);
-		}
-		
-		public ResourceChangeJob(IModule module, IResourceChangeEvent event) {
-			super(NLS.bind(Messages.jobUpdateServer, Server.this.getName()));
-			this.module = module;
-			this.event = event;
-			
-			if (module.getProject() == null)
-				setRule(Server.this);
-			else {
-				ISchedulingRule[] rules = new ISchedulingRule[2];
-				IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-				rules[0] = ruleFactory.createRule(module.getProject());
-				rules[1] = Server.this;
-				setRule(MultiRule.combine(rules));
-			}
-		}
-
-		protected IModule getModule() {
-			return module;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			final boolean[] changed = new boolean[1];
-			final List<IModule[]> modules2 = new ArrayList<IModule[]>();
-			
-			// create the visitor that will reset the module publish state flag
-			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 (getModule().equals(m)) {
-						if (hasPublishedResourceDelta(module2)) {
-							changed[0] = true;
-							int newState = getModulePublishState(module2) == IServer.PUBLISH_STATE_FULL ? IServer.PUBLISH_STATE_FULL : IServer.PUBLISH_STATE_INCREMENTAL;
-							setModulePublishState(module2, newState);
-						}
-					}
-					return true;
-				}
-			};
-			
-			// run the visitor
-			visit(visitor, null);
-			
-			if (getServerPublishInfo().hasStructureChanged(modules2)) {
-				int newState = getServerPublishState() == IServer.PUBLISH_STATE_FULL ? IServer.PUBLISH_STATE_FULL : IServer.PUBLISH_STATE_INCREMENTAL;
-				setServerPublishState(newState);
-				changed[0] = true;
-			}
-			
-			if (!changed[0])
-				return Status.OK_STATUS;
-			
-			if (getServerState() != IServer.STATE_STOPPED && behaviourDelegate != null)
-				behaviourDelegate.handleResourceChange();
-			
-			if (getServerState() == IServer.STATE_STARTED)
-				autoPublish(event);
-			
-			return Status.OK_STATUS;
-		}
-	}
-
-	public final class PublishJob extends ServerJob {
-		private final int kind;
-		private final List<IModule[]> modules4;
-		private final IAdaptable info;
-		private final boolean start;
-
-		/**
-		 * Create a new publishing job.
-		 * 
-		 * @param kind the kind of publish
-		 * @param modules4 a list of modules to publish, or <code>null</code> to
-		 *    publish all modules
-		 * @param start true if we need to start the server first
-		 * @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 Shell class.
-		 */
-		public PublishJob(int kind, List<IModule[]> modules4, boolean start, IAdaptable info) {
-			super(NLS.bind(Messages.publishing, Server.this.getName()));
-			this.kind = kind;
-			this.modules4 = modules4;
-			this.start = start;
-			this.info = info;
-		}
-		
-		/**
-		 * Returns the list of projects that requires to be locked during a publish.
-		 * @return the list of projects
-		 */
-		@SuppressWarnings("synthetic-access")
-		List<IProject> getProjectPublishLockList(IProgressMonitor monitor) {
-			final List<IProject> projectPublishLockList = new ArrayList<IProject>();
-			
-			IModule[] curModules = getModules();
-			// Check empty module list since the visitModule does not handle that properly.
-			if (curModules != null && curModules.length > 0) {
-				for (IModule curModule: curModules) {
-					// Get all the affected projects during the publish.
-					visitModule(new IModule[] { curModule }, new IModuleVisitor(){
-						public boolean visit(IModule[] modules2) {
-							for (IModule curModule2 : modules2) {
-								IProject curProject = curModule2.getProject();
-								if (curProject != null) {
-									if (!projectPublishLockList.contains(curProject)) {
-										projectPublishLockList.add(curProject);
-									}
-								}
-							}
-							return true;
-					}}, monitor);
-				}
-			}
-			return projectPublishLockList;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			if (start) {
-				try{
-					// 237222 - Apply the rules only when the job has started
-					Job.getJobManager().beginRule(Server.this, monitor);
-					IStatus status = startImpl(ILaunchManager.RUN_MODE, monitor);
-					if (status != null && status.getSeverity() == IStatus.ERROR)
-						return status;
-				}
-				finally{
-					Job.getJobManager().endRule(Server.this);
-				}
-			}
-
-			ServerDelegate curDelegate = getDelegate(monitor);
-			ISchedulingRule[] publishScheduleRules = null;
-			if (curDelegate != null && curDelegate.isUseProjectSpecificSchedulingRuleOnPublish()) {
-				// 288863 - lock only affected projects during publish
-				// Find out all the projects that contains modules added to this server for workspace lock.
-				List<IProject> curProjectPublishLockList = getProjectPublishLockList(monitor);
-				
-				publishScheduleRules = new ISchedulingRule[curProjectPublishLockList.size()+1];
-				IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-				publishScheduleRules[0] = Server.this;
-				int i=1;
-				for (IProject curProj : curProjectPublishLockList) {
-					publishScheduleRules[i++] = ruleFactory.modifyRule(curProj);
-				}
-			} else {
-				// 102227 - lock entire workspace during publish
-				publishScheduleRules = new ISchedulingRule[] {
-						ResourcesPlugin.getWorkspace().getRoot(), Server.this
-				};
-			}
-			ISchedulingRule publishRule = MultiRule.combine(publishScheduleRules);
-			
-			try{
-				// 237222 - Apply the rules only when the job has started
-				Job.getJobManager().beginRule(publishRule, monitor);	
-				return publishImpl(kind, modules4, info, monitor);
-			} finally {
-				Job.getJobManager().endRule(publishRule);
-			}
-		}
-	}
-
-	public class StartJob extends ServerJob {
-		protected static final byte PUBLISH_NONE = 0;
-		protected static final byte PUBLISH_BEFORE = 1;
-		protected static final byte PUBLISH_AFTER = 2;
-
-		protected String launchMode;
-
-		public StartJob(String launchMode) {
-			super(NLS.bind(Messages.jobStarting, Server.this.getName()));
-			this.launchMode = launchMode;
-			
-			setRule(Server.this);
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			IStatus stat = startImpl(launchMode, monitor);
-			return stat;
-		}
-	}
-
-	public class RestartJob extends ServerJob {
-		protected String launchMode;
-
-		public RestartJob(String launchMode) {
-			super(NLS.bind(Messages.jobRestarting, Server.this.getName()));
-			this.launchMode = launchMode;
-			setRule(Server.this);
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			return restartImpl(launchMode, monitor);
-		}
-	}
-
-	public class StopJob extends ServerJob {
-		protected boolean force;
-
-		public StopJob(boolean force) {
-			super(NLS.bind(Messages.jobStopping, Server.this.getName()));
-			setRule(Server.this);
-			this.force = force;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			return stopImpl(force, monitor);
-		}
-	}
-
-	private static final Comparator<PublishOperation> PUBLISH_OPERATION_COMPARTOR = new Comparator<PublishOperation>() {
-      public int compare(PublishOperation leftOp, PublishOperation rightOp) {
-          PublishOperation left = leftOp;
-          PublishOperation right = 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");
-		map.put(PROP_START_TIMEOUT, ((ServerType)serverType).getStartTimeout()/1000 + "");
-		map.put(PROP_STOP_TIMEOUT, ((ServerType)serverType).getStopTimeout()/1000 + "");
-		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().removeServer(this);
-	}
-
-	protected void deleteFromMetadata() {
-		ResourceManager.getInstance().removeServer(this);
-	}
-
-	protected void doSave(IProgressMonitor monitor) throws CoreException {
-		super.doSave(monitor);
-		fireServerChangeEvent();
-	}
-
-	protected void saveToFile(IProgressMonitor monitor) throws CoreException {
-		super.saveToFile(monitor);
-		ResourceManager.getInstance().addServer(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();
-					if (delegate != null)
-						InternalInitializer.initializeServerDelegate(delegate, Server.this, monitor);
-					if (Trace.PERFORMANCE) {
-						Trace.trace(Trace.STRING_PERFORMANCE, "Server.getDelegate(): <"
-								+ (System.currentTimeMillis() - time) + "> " + getServerType().getId());
-					}
-				} catch (Throwable t) {
-					ServerPlugin.logExtensionFailure(toString(), t);
-				}
-			}
-		}
-		return delegate;
-	}
-
-	protected ServerBehaviourDelegate getBehaviourDelegate(IProgressMonitor monitor) {
-		if (behaviourDelegate != null || serverType == null)
-			return behaviourDelegate;
-		
-		synchronized (moduleState) {
-			if (behaviourDelegate == null) {
-				try {
-					long time = System.currentTimeMillis();
-					behaviourDelegate = ((ServerType) serverType).createServerBehaviourDelegate();
-					if (behaviourDelegate != null)
-						InternalInitializer.initializeServerBehaviourDelegate(behaviourDelegate, Server.this, monitor);
-					if (Trace.PERFORMANCE) {
-						Trace.trace(Trace.STRING_PERFORMANCE,
-								"Server.getBehaviourDelegate(): <" + (System.currentTimeMillis() - time) + "> "
-										+ getServerType().getId());
-					}
-
-					// publish only if the server is started but respect Server > Launching > PREF_AUTO_PUBLISH
-					if (getServerState() == IServer.STATE_STARTED && ServerCore.isAutoPublishing())
-						autoPublish();
-				} catch (Throwable t) {
-					ServerPlugin.logExtensionFailure(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, 15);
-	}
-
-	public int getAutoPublishSetting() {
-		return getAttribute(PROP_AUTO_PUBLISH_SETTING, AUTO_PUBLISH_RESOURCE);
-	}
-
-	public int getStartTimeout() {
-		return getAttribute(PROP_START_TIMEOUT, ((ServerType)getServerType()).getStartTimeout()/1000);
-	}
-
-	public int getStopTimeout() {
-		return getAttribute(PROP_STOP_TIMEOUT, ((ServerType)getServerType()).getStopTimeout()/1000);
-	}
-
-	/**
-    * 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<String> 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<String> getEnabledOptionalPublishOperationIds() {
-		return getAttribute(PROP_ENABLED_OPTIONAL_TASKS, EMPTY_LIST);
-	}
-
-	/**
-    * Returns a list of id (String) of publishers and state (true or false).
-    * 
-    * @return a list of publishers
-    */
-	public List<String> getPublisherIds() {
-		return getAttribute(PROP_PUBLISHERS, EMPTY_LIST);		
-	}
-
-	public boolean isPublisherEnabled(Publisher pub) {
-		if (pub == null)
-			return false;
-		
-		// check for existing enablement
-		List<String> list = getAttribute(PROP_PUBLISHERS, EMPTY_LIST);
-		Iterator<String> iter = list.iterator();
-		while (iter.hasNext()) {
-			String id = iter.next();
-			int ind = id.indexOf(":");
-			boolean enabled = false;
-			if ("true".equals(id.substring(ind+1)))
-				enabled = true;
-			id = id.substring(0, ind);
-			if (pub.getId().equals(id))
-				return enabled;
-		}
-		
-		// otherwise use the default enablement
-		return true;
-	}
-
-	/**
-	 * 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;
-		
-		// ensure that any server monitors are started
-		if (state == IServer.STATE_STARTED)
-			ServerMonitorManager.getInstance();
-		
-		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");
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_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");
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_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");
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "Removing server listener " + listener + " from " + this);
-		}
-		getServerNotificationManager().removeListener(listener);
-	}
-
-	/**
-	 * Fire a server listener restart state change event.
-	 */
-	protected void fireRestartStateChangeEvent() {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing server restart change event: " + getName() + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.RESTART_STATE_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState()));
-	}
-	
-	/**
-	 * Fire a server listener server status change event
-	 */
-	protected void fireServerStatusChangeEvent() {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing server status change event: " + getName() + ", "
-					+ getServerStatus() + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.STATUS_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState(), getServerStatus()));
-	}
-
-	/**
-	 * Fire a server listener state change event.
-	 */
-	protected void fireServerStateChangeEvent() {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing server state change event: " + getName() + ", "
-					+ getServerState() + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState()));
-	}
-
-	/**
-	 * Fire a server listener change event.
-	 */
-	protected void fireServerChangeEvent() {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing server change event: " + getName() + ", "
-					+ getServerState() + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.SERVER_CHANGE, this, getServerState(), 
-				getServerPublishState(), getServerRestartState()));
-	}
-
-	/**
-	 * Fire a server listener module state change event.
-	 */
-	protected void fireModuleStateChangeEvent(IModule[] module) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing module state change event: " + getName() + ", "
-					+ getServerState() + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.STATE_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module)));
-	}
-	
-
-	/**
-	 * Fire a server listener module status change event.
-	 */
-	protected void fireModuleStatusChangeEvent(IModule[] module) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing module status change event: " + getName() + ", "
-					+ getModuleStatus(module) + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			return;
-		
-		notificationManager.broadcastChange(
-			new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.STATUS_CHANGE, this, module, getModuleState(module), 
-				getModulePublishState(module), getModuleRestartState(module), getModuleStatus(module)));
-	}
-
-	/**
-	 * Fire a server listener module publish state change event.
-	 */
-	protected void fireModulePublishStateChangeEvent(IModule[] module) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing module publish state change event: " + getName() + ", "
-					+ getServerState() + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			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) {
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "->- Firing module restart change event: " + getName() + ", "
-					+ getServerState() + " ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		boolean oldState = getModuleRestartState(module);
-		if (oldState == r)
-			return;
-		
-		Boolean b = new Boolean(r);
-		moduleRestartState.put(getKey(module), b);
-		fireModuleRestartChangeEvent(module);
-	}
-
-	public void setExternalModules(IModule[] modules) {
-		externalModules = new ArrayList<IModule>();
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++)
-				externalModules.add(modules[i]);
-		}
-	}
-
-	public List<IModule> getExternalModules() {
-		return externalModules;
- 	}
-
-	protected void handleModuleProjectChange(IModule module) {
-		handleModuleProjectChange(module, null);
-	}
-
-	protected void handleModuleProjectChange(IModule module, IResourceChangeEvent buildEvent) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "> handleDeployableProjectChange() " + this + " " + module);
-		}
-		
-		if (!isModuleDeployed(module)){
-			return;
-		}
-		
-		// check for duplicate jobs already waiting and don't create a new one
-		Job[] jobs = Job.getJobManager().find(ServerUtil.SERVER_JOB_FAMILY);
-		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, buildEvent);
-		job.setSystem(true);
-		job.setPriority(Job.BUILD);
-		job.schedule();
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "< handleDeployableProjectChange()");
-		}
-	}
-	
-	protected boolean isModuleDeployed(final IModule requestedModule){
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "> isModuleDeployed()");
-		}
-
-		// no modules are deployed
-		if (getModules().length < 0)
-			return false;
-		
-		boolean deployed = false;
-		
-		synchronized (modulesLock){
-			// shallow search: check for root modules first
-			if (modules != null){
-				deployed = modules.contains(requestedModule);
-			
-				if(!deployed){
-					// deep search: look into all the child modules
-					Iterator<IModule> itr = modules.iterator();
-					while(itr.hasNext() && !deployed){
-						IModule[] m = new IModule[] {itr.next()};
-						deployed = !visitModule(m, new IModuleVisitor(){
-							public boolean visit(IModule[] modules2) {
-								for (int i =0;i<=modules2.length-1;i++){
-									if (modules2[i].equals(requestedModule))
-										return false;
-								}
-								return true;
-						}}, null);
-					}
-				}
-			}
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "< isModuleDeployed() deployed=" + deployed);
-		}
-		return deployed;
-	}
-
-	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() {
-		autoPublish(null);
-	}
-	
-	protected void autoPublish(IResourceChangeEvent event) {
-		stopAutoPublish();
-		boolean buildOccurred = event != null && didBuildOccur(event);
-		boolean projectClosedOrDeleted = event != null && isProjectCloseOrDeleteEvent(event);
-		
-		if (getAutoPublishSetting() == AUTO_PUBLISH_DISABLE)
-			return;
-		
-		if( (getAutoPublishSetting() == AUTO_PUBLISH_BUILD) && 
-				!buildOccurred && !projectClosedOrDeleted)
-			return;
-		
-		int time = getAutoPublishTime();
-		if (time >= 0) {
-			autoPublishThread = new AutoPublishThread();
-			autoPublishThread.time = time;
-			autoPublishThread.setPriority(Thread.MIN_PRIORITY + 1);
-			autoPublishThread.setDaemon(true);
-			autoPublishThread.start();
-		}
-	}
-	
-	private boolean isProjectCloseOrDeleteEvent(IResourceChangeEvent event) {
-		int kind = event.getType();
-		if( (kind & IResourceChangeEvent.PRE_CLOSE) > 0 || 
-				(kind & IResourceChangeEvent.PRE_DELETE) > 0)
-			return true;
-		return false;
-	}
-	
-	private boolean didBuildOccur(IResourceChangeEvent event) {
-		int kind = event.getBuildKind();
-		final boolean eventOccurred = 
-			   (kind == IncrementalProjectBuilder.INCREMENTAL_BUILD) || 
-			   (kind == IncrementalProjectBuilder.FULL_BUILD) || 
-			   ((kind == IncrementalProjectBuilder.AUTO_BUILD && 
-					ResourcesPlugin.getWorkspace().isAutoBuilding()));
-		return eventOccurred;
-	}
-
-	/**
-	 * Returns the event notification manager.
-	 * 
-	 * @return the notification manager
-	 */
-	private ServerNotificationManager getServerNotificationManager() {
-		if (notificationManager == null)
-			notificationManager = new ServerNotificationManager();
-		
-		return notificationManager;
-	}
-
-	/**
-	 * Returns the server's publish sync state.
-	 *
-	 * @return int
-	 */
-	public int getServerPublishState() {
-		return serverSyncState;
-	}
-
-	/**
-	 * Sets the server's publish 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");
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "Adding publish listener " + listener + " to " + this);
-		}
-		
-		if (publishListeners == null)
-			publishListeners = new ArrayList<IPublishListener>();
-		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");
-		if (Trace.LISTENERS) {
-			Trace.trace(Trace.STRING_LISTENERS, "Removing publish listener " + listener + " from " + this);
-		}
-
-		if (publishListeners != null)
-			publishListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a publish start event.
-	 */
-	protected void firePublishStarted() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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++) {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "  Firing publish started event to " + srl[i]);
-			}
-			try {
-				srl[i].publishStarted(this);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Error firing publish started event to " + srl[i],
-							e);
-				}
-			}
-		}
-
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "-<- Done firing publish started event -<-");
-		}
-	}
-
-	/**
-	 * Fire a publish stop event.
-	 *
-	 * @param status publishing status
-	 */
-	protected void firePublishFinished(IStatus status) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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++) {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "  Firing publishing finished event to " + srl[i]);
-			}
-			try {
-				srl[i].publishFinished(this, status);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Error firing publishing finished event to "
-									+ srl[i], e);
-				}
-			}
-		}
-
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "-<- Done firing publishing finished event -<-");
-		}
-	}
-
-	/**
-	 * Fire a publish state change event.
-	 */
-	protected void firePublishStateChange() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "->- Firing publish state change event ->-");
-		}
-		
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			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) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "->- Firing publish state change event: " + module + " ->-");
-		}
-	
-		if (notificationManager == null || notificationManager.hasNoListeners())
-			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() {
-		if (getServerType() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, null);
-		
-		// 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().hasServerConfiguration() && configuration == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoConfiguration, null);
-		
-		if (getBehaviourDelegate(new NullProgressMonitor()) != null)
-			return getBehaviourDelegate(new NullProgressMonitor()).canPublish();
-		
-		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];
-	}
-
-	public boolean isPublishUnknown() {
-		if (getServerPublishState() != PUBLISH_STATE_UNKNOWN)
-			return false;
-		
-		final boolean[] publish = new boolean[1];
-		publish[0] = true;
-		
-		visit(new IModuleVisitor() {
-			public boolean visit(IModule[] module) {
-				if (getModulePublishState(module) != PUBLISH_STATE_UNKNOWN) {
-					publish[0] = false;
-					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(int kind, IProgressMonitor monitor) {
-		if (getServerType() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, 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)) {
-			IStatus status = startImpl(ILaunchManager.RUN_MODE, monitor);
-			if (status != null && status.getSeverity() == IStatus.ERROR)
-				return status;
-		}
-		
-		return publishImpl(kind, null, null, monitor);
-	}
-
-	/*
-	 * Publish the given modules to the server.
-	 * TODO: Implementation of publishing individual modules!
-	 */
-	public void publish(final int kind, final List<IModule[]> modules2, final IAdaptable info, final IOperationListener opListener) {
-		if (getServerType() == null) {
-			if (opListener != null)
-				opListener.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, null));
-			return;
-		}
-		
-		// check what is out of sync and publish
-		if (getServerType().hasServerConfiguration() && configuration == null) {
-			if (opListener != null)
-				opListener.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorNoConfiguration, null));
-			return;
-		}
-		
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, null);
-		
-		boolean start = false;
-		if (((ServerType)getServerType()).startBeforePublish() && (getServerState() == IServer.STATE_STOPPED))
-			start = true;
-		
-		PublishJob publishJob = new PublishJob(kind, modules2, start, info);
-		if (opListener != null) {
-			publishJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					opListener.done(event.getResult());
-				}
-			});
-		}
-		
-		// to make the publishing dialog appear, require adaptable to covert String.class
-		// into "user" string. a bit of a kludge, but works fine for now
-		if (info != null && "user".equals(info.getAdapter(String.class)))
-			publishJob.setUser(true);
-		publishJob.schedule();
-	}
-
-	/**
-	 * Returns the publish tasks that have been targeted 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<PublishOperation> tasks = new ArrayList<PublishOperation>();
-		
-		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 tasks.toArray(new PublishOperation[tasks.size()]);
-	}
-
-	/**
-	 * Returns all the publishers that are available with this server,
-	 * whether or not they are currently enabled.
-	 * 
-	 * @return a possibly empty array of Publishers
-	 */
-	public Publisher[] getAllPublishers() {
-		List<Publisher> pubs = new ArrayList<Publisher>();
-		
-		String serverTypeId = getServerType().getId();
-		
-		TaskModel taskModel = new TaskModel();
-		taskModel.putObject(TaskModel.TASK_SERVER, this);
-		
-		Publisher[] publishers = ServerPlugin.getPublishers();
-		if (publishers != null) {
-			int size = publishers.length;
-			for (int i = 0; i < size; i++) {
-				Publisher pub = publishers[i];
-				if (pub.supportsType(serverTypeId)) {
-					pub.setTaskModel(taskModel);
-					pubs.add(pub);
-				}
-			}
-		}
-		
-		return pubs.toArray(new Publisher[pubs.size()]);
-	}
-
-	/**
-	 * Returns the publishers that have been targeted to this server and
-	 * are enabled.
-	 * 
-	 * @return a possibly empty array of Publishers
-	 */
-	public Publisher[] getEnabledPublishers() {
-		List<Publisher> pubs = new ArrayList<Publisher>();
-		
-		String serverTypeId = getServerType().getId();
-		
-		TaskModel taskModel = new TaskModel();
-		taskModel.putObject(TaskModel.TASK_SERVER, this);
-		
-		Publisher[] publishers = ServerPlugin.getPublishers();
-		if (publishers != null) {
-			int size = publishers.length;
-			for (int i = 0; i < size; i++) {
-				Publisher pub = publishers[i];
-				if (pub.supportsType(serverTypeId) && isPublisherEnabled(pub)) {
-					pub.setTaskModel(taskModel);
-					pubs.add(pub);
-				}
-			}
-		}
-		
-		return pubs.toArray(new Publisher[pubs.size()]);
-	}
-
-	/**
-	 * Returns all publish tasks that have been targeted 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<PublishOperation> tasks = new ArrayList<PublishOperation>();
-		
-		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 tasks.toArray(new PublishOperation[tasks.size()]);
-	}
-
-	public String getPublishOperationId(PublishOperation op) {
-		return getId()+"|"+op.getLabel();
-	}
-
-	/**
-	 * Returns a list containing module arrays of every module on the
-	 * server.
-	 * 
-	 * @return a list of IModule[]
-	 */
-	public List<IModule[]> getAllModules() {
-		final List<IModule[]> moduleList = new ArrayList<IModule[]>();
-		
-		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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		return getServerPublishInfo().getResources(module);
-	}
-
-	/*
-	 * Returns the module resources that have been published.
-	 * 
-	 * @see ServerBehaviourDelegate.getPublishedResources(IModule[])
-	 */
-	public IModuleResource[] getPublishedResources(IModule[] module) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		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());
-	}
-
-	/**
-	 * 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) {
-		if (getServerType() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, null);
-		
-		int state = getServerState();
-		if (state != STATE_STOPPED && state != STATE_UNKNOWN)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.canStartErrorState, null);
-		
-		if (!getServerType().supportsLaunchMode(mode2))
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null);
-		
-		if (getBehaviourDelegate(new NullProgressMonitor()) != null)
-			return getBehaviourDelegate(new NullProgressMonitor()).canStart(mode2);
-		
-		return Status.OK_STATUS;
-	}
-
-	public ILaunch getLaunch() {
-		if (launch != null && !launch.isTerminated())
-			return launch;
-		return null;
-	}
-	
-	public void setLaunch(ILaunch launch) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "setLaunch() " + launch);
-		}
-		this.launch = launch;
-	}
-
-	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) {
-		try {
-			getBehaviourDelegate(monitor).setupLaunchConfiguration(workingCopy, monitor);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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 {
-		if (getServerType() == null)
-			return null;
-		
-		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 monitor2) {
-									try {
-										lc[0] = wc.doSave();
-									} catch (CoreException ce) {
-										if (Trace.SEVERE) {
-											Trace.trace(Trace.STRING_SEVERE,
-													"Error configuring launch",
-													ce);
-										}
-									}
-									return Status.OK_STATUS;
-								}
-							};
-							job.setSystem(true);
-							job.schedule();
-							try {
-								job.join();
-							} catch (Exception e) {
-								if (Trace.SEVERE) {
-									Trace.trace(Trace.STRING_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) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_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;
-	}
-
-	/**
-	 * 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() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, null);
-		
-		if (!getServerType().supportsLaunchMode(mode2))
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null);
-		
-		if (getServerState() != STATE_STARTED)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartNotStarted, null);
-		
-		if (getBehaviourDelegate(new NullProgressMonitor()) != null)
-			return getBehaviourDelegate(new NullProgressMonitor()).canRestart(mode2);
-		
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * 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 (getServerType() == null || getServerState() == STATE_STOPPED)
-			return;
-		
-		if (getServerType() == null)
-			return;
-		
-		if (getServerState() == STATE_STOPPED)
-			return;
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Restarting server: " + getName());
-		}
-		
-		RestartJob restartJob = new RestartJob(mode2);
-		restartJob.schedule();
-	}
-
-	/**
-	 * Returns true if the server is in a state that it can
-	 * be stopped.
-	 *
-	 * @return boolean
-	 */
-	public IStatus canStop() {
-		if (getServerType() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, null);
-		
-		if (getServerState() == STATE_STOPPED || getServerState() == STATE_STOPPING)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorStopAlreadyStopped, null);
-		
-		if (!getServerType().supportsLaunchMode(getMode()))
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null);
-		
-		if (getBehaviourDelegate(new NullProgressMonitor()) != null)
-			return getBehaviourDelegate(new NullProgressMonitor()).canStop();
-		
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * @see IServer#stop(boolean)
-	 */
-	public void stop(boolean force) {
-		if (getServerState() == STATE_STOPPED)
-			return;
-		
-		StopJob job = new StopJob(force);
-		job.schedule();
-	}
-
-	protected IStatus publishBeforeStart(IProgressMonitor monitor, boolean synchronous){
-
-		// check if we need to publish
-		byte pub = StartJob.PUBLISH_NONE;
-		if (ServerCore.isAutoPublishing() && shouldPublish()) {
-			if (((ServerType)getServerType()).startBeforePublish())
-				return Status.OK_STATUS;
-			pub = StartJob.PUBLISH_BEFORE;
-		}
-		
-		final IStatus [] pubStatus = new IStatus[]{Status.OK_STATUS};
-		
-		// publish before start
-		byte publish = pub;
-		if (publish == StartJob.PUBLISH_BEFORE) {
-			PublishJob pubJob = new PublishJob(IServer.PUBLISH_INCREMENTAL, null,false, null);
-			pubJob.addJobChangeListener(new JobChangeAdapter(){
-				public void done(IJobChangeEvent event) {
-					IStatus status = event.getResult();
-					if (status != null && status.getSeverity() == IStatus.ERROR)
-						pubStatus[0] = status; 
-				}
-				
-			});
-			
-			pubJob.schedule();
-			
-			try{
-				if (synchronous)
-					pubJob.join();
-					
-			}
-			catch (InterruptedException ie){
-				return Status.CANCEL_STATUS;
-			}
-		}
-		return pubStatus[0];
-	}
-	
-	protected IStatus publishAfterStart(IProgressMonitor monitor, boolean synchronous, final IOperationListener op){
-		
-		// check if we need to publish
-		byte pub = StartJob.PUBLISH_NONE;
-		if (ServerCore.isAutoPublishing() && shouldPublish()) {
-			if (((ServerType)getServerType()).startBeforePublish())
-				pub = StartJob.PUBLISH_AFTER;
-			else {
-				if(op != null) {
-					op.done(Status.OK_STATUS);
-				}
-				return Status.OK_STATUS;
-			}
-		}
-		
-		final IStatus [] pubStatus = new IStatus[]{Status.OK_STATUS};
-		
-		// publish after start
-		byte publish = pub;
-		if (publish == StartJob.PUBLISH_AFTER) {
-			PublishJob pubJob = new PublishJob(IServer.PUBLISH_INCREMENTAL, null,false, null);
-			pubJob.addJobChangeListener(new JobChangeAdapter(){
-				public void done(IJobChangeEvent event) {
-					IStatus status = event.getResult();
-					if (status != null && status.getSeverity() == IStatus.ERROR)
-						pubStatus[0] = status; 
-					if (op != null){
-						op.done(status);
-					}
-				}
-				
-			});
-			
-			pubJob.schedule();
-			
-			try{
-				if (synchronous)
-					pubJob.join();
-			}
-			catch (InterruptedException ie){
-				return Status.CANCEL_STATUS;
-			}
-		}
-		return pubStatus[0];
-	}
-	
-	/**
-	 * @see IServer#start(String, IProgressMonitor)
-	 */
-	public void start(String mode2, IProgressMonitor monitor) throws CoreException {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Starting server: " + toString() + ", launchMode: " + mode2);
-		}
-		if (getServerType() == null)
-			return;
-		
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, null);
-		
-		boolean synchronous = ((ServerType)getServerType()).synchronousStart();
-		IStatus status = publishBeforeStart(monitor,synchronous);
-		
-		if (status != null && status.getSeverity() == IStatus.ERROR){
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Failed publish job during start routine");
-			}
-			return;
-		}
-		
-		StartJob startJob = new StartJob(mode2);
-		// 287442 - only do publish after start if the server start is successful.
-		final IProgressMonitor monitor2 = monitor; 
-		final boolean synchronous2 = synchronous;
-		startJob.addJobChangeListener(new JobChangeAdapter() {
-			public void done(IJobChangeEvent event) {
-				IStatus resultStatus = event.getResult();
-				if (resultStatus != null && resultStatus.getSeverity() == IStatus.ERROR) { 
-					if (Trace.INFO) {
-						Trace.trace(Trace.STRING_INFO,
-								"Skipping auto publish after server start since the server start failed.");
-					}
-				} else {
-					publishAfterStart(monitor2,synchronous2,null);
-				}
-			}
-		});
-		startJob.schedule();
-		try {
-			if(synchronous)
-				startJob.join();
-		} catch (InterruptedException e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error waiting for job", e);
-			}
-		}
-	}
-	
-	/**
-	 * @see IServer#start(String, IOperationListener)
-	 */
-	public void start(String mode2, final IOperationListener opListener) {
-		if (getServerType() == null) {
-			if (opListener != null)
-				opListener.done(Status.OK_STATUS);
-			return;
-		}
-		
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, null);
-		
-		boolean synchronous = ((ServerType)getServerType()).synchronousStart();
-		IStatus status = publishBeforeStart(null,synchronous);
-		
-		if (status != null && status.getSeverity() == IStatus.ERROR){
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Failed publish job during start routine");
-			}
-			if (opListener != null)
-				opListener.done(Status.OK_STATUS);
-			return;
-		}
-
-		// check the publish flag (again) to determine when to call opListener.done 
-		byte pub = StartJob.PUBLISH_NONE;
-		if (ServerCore.isAutoPublishing() && shouldPublish()) {
-			if (((ServerType)getServerType()).startBeforePublish())
-				pub = StartJob.PUBLISH_AFTER;
-			else
-				pub = StartJob.PUBLISH_BEFORE;
-		}
-		
-		if (ServerPlugin.isRunningGUIMode()){
-			ServerPlugin.getSaveEditorHelper().saveAllEditors();
-		}
-		
-		StartJob startJob = new StartJob(mode2);
-		if (opListener != null && pub != StartJob.PUBLISH_AFTER) {
-			startJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					opListener.done(event.getResult());
-				}
-			});
-		}
-		// 287442 - only do publish after start if the server start is successful.
-		final boolean synchronous2 = synchronous;
-		if (pub == StartJob.PUBLISH_AFTER) {
-			startJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					IStatus resultStatus = event.getResult();
-					if (resultStatus != null && resultStatus.getSeverity() == IStatus.ERROR) { 
-						if (Trace.INFO) {
-							Trace.trace(Trace.STRING_INFO,
-									"Skipping auto publish after server start since the server start failed.");
-						}
-						if (opListener != null)
-							opListener.done(Status.OK_STATUS);
-					}
-					else {
-						publishAfterStart(null,synchronous2,opListener);
-					}
-				}
-			});
-		}
-		startJob.schedule();
-		
-		try {
-			if(synchronous)
-				startJob.join();
-		} catch (InterruptedException e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error waiting for job", e);
-			}
-		}
-	}
-
-	public void synchronousStart(String mode2, IProgressMonitor monitor) throws CoreException {
-		if (getServerType() == null)
-			return;
-		
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, monitor);
-		
-		IStatus status = publishBeforeStart(monitor,true);
-		
-		if (status != null && status.getSeverity() == IStatus.ERROR){
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Failed publish job during start routine");
-			}
-			return;
-		}
-		
-		StartJob startJob = new StartJob(mode2);
-		// 287442 - only do publish after start if the server start is successful.
-		final IProgressMonitor monitor2 = monitor; 
-		startJob.addJobChangeListener(new JobChangeAdapter() {
-			public void done(IJobChangeEvent event) {
-				IStatus resultStatus = event.getResult();
-				if (resultStatus != null && resultStatus.getSeverity() == IStatus.ERROR) { 
-					if (Trace.INFO) {
-						Trace.trace(Trace.STRING_INFO,
-								"Skipping auto publish after server start since the server start failed.");
-					}
-				} else {
-					publishAfterStart(monitor2,true,null);
-				}
-			}
-		});
-		startJob.schedule();
-		
-		try {
-			startJob.join();
-		} catch (InterruptedException e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error waiting for job", e);
-			}
-		}
-	}
-
-	/*
-	 * @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, final IOperationListener opListener) {
-		if (getServerType() == null) {
-			if (opListener != null)
-				opListener.done(Status.OK_STATUS);
-			return;
-		}
-		
-		if (getServerState() == STATE_STOPPED) {
-			if (opListener != null)
-				opListener.done(Status.OK_STATUS);
-			return;
-		}
-		
-		RestartJob restartJob = new RestartJob(mode2);
-		if (opListener != null) {
-			restartJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					opListener.done(event.getResult());
-				}
-			});
-		}
-		restartJob.schedule();
-	}
-
-	/*
-	 * @see IServer#stop(boolean, IOperationListener)
-	 */
-	public void stop(boolean force, final IOperationListener opListener) {
-		if (getServerType() == null) {
-			if (opListener != null)
-				opListener.done(Status.OK_STATUS);
-			return;
-		}
-		
-		if (getServerState() == IServer.STATE_STOPPED) {
-			if (opListener != null)
-				opListener.done(Status.OK_STATUS);
-			return;
-		}
-		
-		StopJob job = new StopJob(force);
-		if (opListener != null) {
-			job.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					opListener.done(event.getResult());
-				}
-			});
-		}
-		job.schedule();
-	}
-
-	/*
-	 * @see IServer#synchronousStop()
-	 */
-	public void synchronousStop(boolean force) {
-		if (getServerType() == null)
-			return;
-		
-		if (getServerState() == IServer.STATE_STOPPED)
-			return;
-		
-		StopJob job = new StopJob(force);
-		job.schedule();
-		try {
-			job.join();
-		} catch (InterruptedException e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error waiting for job", e);
-			}
-		}
-	}
-
-	/*
-	 * 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());
-	}
-
-	public IPath getTempDirectory(boolean recycle) {
-		return ServerPlugin.getInstance().getTempDirectory(getId(), recycle);
-	}
-
-	protected String getXMLRoot() {
-		return "server";
-	}
-
-	protected void loadState(IMemento memento) {
-		resolve();
-	}
-
-	public void serialize(IMemento memento) {
-		save(memento);
-	}
-
-	public void deserialize(IMemento memento) {
-		load(memento);
-	}
-
-	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));
-
-		// for migration from WTP 2.0 -> WTP 3.0
-		int autoPubSetting = getAttribute(PROP_AUTO_PUBLISH_SETTING, AUTO_PUBLISH_RESOURCE);
-		if (autoPubSetting == 0)
-			map.put(PROP_AUTO_PUBLISH_SETTING, AUTO_PUBLISH_RESOURCE);
-	}
-
-	protected void setInternal(ServerWorkingCopy wc) {
-		map = new HashMap<String, Object>(wc.map);
-		configuration = wc.configuration;
-		runtime = wc.runtime;
-		serverSyncState = wc.serverSyncState;
-		//restartNeeded = wc.restartNeeded;
-		serverType = wc.serverType;
-		synchronized(modulesLock){
-			modules = wc.modules;
-		}
-		
-		// can never modify the following properties via the working copy
-		//serverState = wc.serverState;
-		delegate = wc.delegate;
-		
-	}
-
-	protected void saveState(IMemento memento) {
-		if (serverType != null)
-			memento.putString("server-type", serverType.getId());
-		
-		if (configuration != null)
-			memento.putString(CONFIGURATION_ID, configuration.getFullPath().toString());
-		else
-			memento.putString(CONFIGURATION_ID, null);
-		
-		if (runtime != null)
-			memento.putString(RUNTIME_ID, runtime.getId());
-		else
-			memento.putString(RUNTIME_ID, null);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#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) {
-			int size = add.length;
-			for (int i = 0; i < size; i++)
-				if (add[i] == null)
-					throw new IllegalArgumentException("Cannot add null entries");
-		}
-		
-		if (remove != null) {
-			int size = remove.length;
-			for (int i = 0; i < size; i++)
-				if (remove[i] == null)
-					throw new IllegalArgumentException("Cannot remove null entries");
-		}
-		
-		if (getServerType() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, null);
-		
-		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) {
-			ServerPlugin.logExtensionFailure(toString(), e);
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, e.getMessage(), e);
-		}
-	}
-	
-	public void clearModuleCache() {
-		synchronized (modulesLock){
-			modules = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#getModules()
-	 */
-	public IModule[] getModules() {
-		synchronized (modulesLock){
-			return getModulesWithoutLock();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * The implementation for getModules but this one does not lock the modules object. Caller is responsible for locking the modulesLock
-	 * object when calling this method for thread safe implementation.
-	 * @see org.eclipse.wst.server.core.IServer#getModules()
-	 */
-	protected IModule[] getModulesWithoutLock() {
-		if (modules == null) {
-			// convert from attribute
-			List<String> list = getAttribute(MODULE_LIST, (List<String>) null);
-			if (list == null)
-				list = new ArrayList<String>(1);
-			
-			modules = new ArrayList<IModule>(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 = ModuleType.getModuleType(moduleTypeId, moduleTypeVersion);
-					module = new DeletedModule(moduleId, name, moduleType);
-				}
-				modules.add(module);
-			}
-		}
-		
-		List em = getExternalModules();
-		if (em == null || em.isEmpty()) {
-			IModule[] modules2 = new IModule[modules.size()];
-			modules.toArray(modules2);
-			return modules2;
-		}
-		
-		IModule[] modules2 = new IModule[modules.size() + em.size()];
-		modules.toArray(modules2);
-		
-		Object[] obj = em.toArray();
-		System.arraycopy(obj, 0, modules2, modules.size(), em.size());
-		
-		return modules2;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#getModuleState()
-	 */
-	public int getModuleState(IModule[] module) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		try {
-			Integer in = 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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		try {
-			Integer in = 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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		try {
-			int i = module.length - 1;
-			if (!module[i].isExternal() && (module[i].getProject() == null || !module[i].getProject().isAccessible()))
-				return null;
-			
-			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) {
-			ServerPlugin.logExtensionFailure(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) {
-			throw se;
-		} catch (Exception e) {
-			ServerPlugin.logExtensionFailure(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
-	 * @deprecated use canRestartModule or canPublishModule
-	 */
-	public IStatus canControlModule(IModule[] module, IProgressMonitor monitor) {		
-		return canRestartModule(module,monitor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#canRestartModule(org.eclipse.wst.server.core.IModule[], org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus canRestartModule(IModule[] module, IProgressMonitor monitor) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		try {
-			ServerBehaviourDelegate bd = getBehaviourDelegate(monitor);
-			if (bd == null)
-				return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartModule, null);
-			boolean b = bd.canRestartModule(module);
-			if (b)
-				return Status.OK_STATUS;
-		} catch (Exception e) {
-			ServerPlugin.logExtensionFailure(toString(), e);
-		}
-		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartModule, null);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IServer#canPublishModule(org.eclipse.wst.server.core.IModule[], org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus canPublishModule(IModule[] module, IProgressMonitor monitor) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		try {
-			ServerBehaviourDelegate bd = getBehaviourDelegate(monitor);
-			if (bd == null)
-				return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishModule, null);
-			boolean b = bd.canPublishModule(module);
-			if (b)
-				return Status.OK_STATUS;
-		} catch (Exception e) {
-			ServerPlugin.logExtensionFailure(toString(), e);
-		}
-		return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishModule, 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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		try {
-			Boolean b = moduleRestartState.get(getKey(module));
-			if (b != null)
-				return b.booleanValue();
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
-
-	abstract class OperationContext {
-		public abstract void run(IProgressMonitor monitor) throws CoreException;
-		public void cancel() {
-			// do nothing
-		}
-		public abstract String getTimeoutMessage();
-		public abstract String getFailureMessage();
-	}
-	/**
-	 * 
-	 * @param module the module that the operation applies to, or null for a server operation
-	 * @param monitor cannot be null
-	 * @return the status
-	 */
-	protected IStatus runAndWait(final IModule[] module, OperationContext runnable, final int operationTimeout, IProgressMonitor monitor) {
-		final boolean[] notified = new boolean[1];
-		IServerListener listener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				int eventKind = event.getKind();
-				if ((eventKind | ServerEvent.STATE_CHANGE) != 0) {
-					if ((module == null && (eventKind | ServerEvent.SERVER_CHANGE) != 0) ||
-							(module != null && module.equals(event.getModule()) && (eventKind | ServerEvent.MODULE_CHANGE) != 0)) {
-						int state = getServerState();
-						if (state == IServer.STATE_STARTED || state == IServer.STATE_STOPPED) {
-							// notify waiter
-							synchronized (notified) {
-								try {
-									if (Trace.FINEST) {
-										Trace.trace(Trace.STRING_FINEST, "runAndWait notify");
-									}
-									notified[0] = true;
-									notified.notifyAll();
-								} catch (Exception e) {
-									if (Trace.SEVERE) {
-										Trace.trace(Trace.STRING_SEVERE,
-												"Error notifying runAndWait", e);
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		};
-		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final IProgressMonitor monitor2 = monitor;
-		Thread thread = new Thread("Server RunAndWait Timeout") {
-			public void run() {
-				try {
-					int totalTimeout = operationTimeout;
-					if (totalTimeout < 0)
-						totalTimeout = 1;
-					boolean userCancelled = false;
-					int retryPeriod = 1;
-					while (!notified[0] && totalTimeout > 0 && !userCancelled && !timer.alreadyDone) {
-						// The operationTimeout is in seconds.  Therefore, each retry period have to wait for 1 sec.
-						Thread.sleep(retryPeriod * 1000);
-						if (operationTimeout > 0)
-							totalTimeout -= retryPeriod;
-						if (!notified[0] && !timer.alreadyDone && monitor2.isCanceled()) {
-							// user canceled
-							userCancelled = true;
-							if (launch != null && !launch.isTerminated())
-								launch.terminate();//TODO
-							// notify waiter
-							synchronized (notified) {
-								if (Trace.FINEST) {
-									Trace.trace(Trace.STRING_FINEST, "runAndWait user cancelled");
-								}
-								notified[0] = true;
-								notified.notifyAll();
-							}
-						}
-					}
-					if (!userCancelled && !timer.alreadyDone && !notified[0]) {
-						// notify waiter
-						synchronized (notified) {
-							if (Trace.FINEST) {
-								Trace.trace(Trace.STRING_FINEST, "runAndWait notify timeout");
-							}
-							if (!timer.alreadyDone && totalTimeout <= 0)
-								timer.timeout = true;
-							notified[0] = true;
-							notified.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE,
-								"Error notifying runAndWait timeout", e);
-					}
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "runAndWait 2");
-		}
-	
-		// do the operation
-		try {
-			runnable.run(monitor);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			return e.getStatus();
-		}
-		if (monitor.isCanceled()) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			return Status.CANCEL_STATUS;
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "runAndWait 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) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Error waiting for operation", e);
-				}
-			}
-			timer.alreadyDone = true;
-		}
-		removeServerListener(listener);
-		
-		if (timer.timeout) {
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 1, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), (operationTimeout / 1000) + "" }), null);
-		}
-		
-		if (!monitor.isCanceled() && getServerState() == IServer.STATE_STOPPED)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 2, NLS.bind(Messages.errorStartFailed, getName()), null);
-		
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * @see IServer#startModule(IModule[], IOperationListener)
-	 */
-	public void startModule(final IModule[] module, final IOperationListener opListener) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty or empty");
-		
-		Job moduleJob = new ServerJob(NLS.bind(Messages.jobStarting, module[0].getName())) {
-			protected IStatus run(IProgressMonitor monitor) {
-				return runAndWait(module, new OperationContext() {
-					public String getFailureMessage() {
-						return Messages.errorStartFailed;
-					}
-
-					public String getTimeoutMessage() {
-						return Messages.errorStartTimeout;
-					}
-
-					public void run(IProgressMonitor monitor2) throws CoreException {
-						try {
-							getBehaviourDelegate(monitor2).startModule(module, monitor2);
-						} catch (Exception e) {
-							if (Trace.SEVERE) {
-								Trace.trace(Trace.STRING_SEVERE,
-										"Error calling delegate startModule() "
-												+ toString(), e);
-							}
-							throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, e.getMessage()));
-						}
-					}
-				}, getStartTimeout(), monitor);
-			}
-		};
-		if (opListener != null) {
-			moduleJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					opListener.done(event.getResult());
-				}
-			});
-		}
-		moduleJob.schedule();
-	}
-
-	/*
-	 * @see IServer#stopModule(IModule[], IOperationListener)
-	 */
-	public void stopModule(final IModule[] module, final IOperationListener opListener) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		
-		Job moduleJob = new ServerJob(NLS.bind(Messages.jobStopping, module[0].getName())) {
-			protected IStatus run(IProgressMonitor monitor) {
-				return runAndWait(module, new OperationContext() {
-					public String getFailureMessage() {
-						return Messages.errorStopFailed;
-					}
-
-					public String getTimeoutMessage() {
-						return Messages.errorStopFailed;
-					}
-
-					public void run(IProgressMonitor monitor2) throws CoreException {
-						try {
-							getBehaviourDelegate(monitor2).stopModule(module, monitor2);
-						} catch (Exception e) {
-							if (Trace.SEVERE) {
-								Trace.trace(Trace.STRING_SEVERE,
-										"Error calling delegate stopModule() "
-												+ toString(), e);
-							}
-							throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, e.getMessage()));
-						}
-					}
-				}, getStopTimeout(), monitor);
-			}
-		};
-		if (opListener != null) {
-			moduleJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					opListener.done(event.getResult());
-				}
-			});
-		}
-		moduleJob.schedule();
-	}
-
-	/*
-	 * @see IServer#restartModule(IModule[], IOperationListener, IProgressMonitor)
-	 */
-	public void restartModule(final IModule[] module, final IOperationListener opListener) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		
-		Job moduleJob = new ServerJob(NLS.bind(Messages.jobRestarting, module[0].getName())) {
-			protected IStatus run(IProgressMonitor monitor) {
-				return runAndWait(module, new OperationContext() {
-					public String getFailureMessage() {
-						return Messages.errorRestartFailed;
-					}
-
-					public String getTimeoutMessage() {
-						return Messages.errorRestartTimeout;
-					}
-
-					public void run(IProgressMonitor monitor2) throws CoreException {
-						try {
-							getBehaviourDelegate(monitor2).restartModule(module, monitor2);
-						} catch (Exception e) {
-							if (Trace.SEVERE) {
-								Trace.trace(Trace.STRING_SEVERE,
-										"Error calling delegate restartModule() "
-												+ toString(), e);
-							}
-							throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, e.getMessage()));
-						}
-					}
-				}, getStopTimeout() + getStartTimeout(), monitor);
-			}
-		};
-		if (opListener != null) {
-			moduleJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					opListener.done(event.getResult());
-				}
-			});
-		}
-		moduleJob.schedule();
-	}
-
-	/**
-	 * 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) {
-			ServerPlugin.logExtensionFailure(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 || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		moduleStatus.put(getKey(module), status);
-		fireModuleStatusChangeEvent(module);
-	}
-
-	public IStatus getModuleStatus(IModule[] module) {
-		if (module == null || module.length == 0)
-			throw new IllegalArgumentException("Module cannot be null or empty");
-		try {
-			return moduleStatus.get(getKey(module));
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public void setServerStatus(IStatus status) {
-		serverStatus = status;
-		fireServerStatusChangeEvent();
-	}
-
-	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();
-	}
-
-	protected IStatus publishImpl(int kind, List<IModule[]> modules4, IAdaptable info, IProgressMonitor monitor) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "-->-- Publishing to server: " + Server.this.toString() + " -->--");
-		}
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Server.publishImpl(): kind=<" + getPublishKindString(kind) + "> modules="
-					+ modules4);
-		}
-		
-		stopAutoPublish();
-		
-		try {
-			long time = System.currentTimeMillis();
-			firePublishStarted();
-			
-			getServerPublishInfo().startCaching();
-			IStatus status = Status.OK_STATUS;
-			try {
-				getBehaviourDelegate(monitor).publish(kind, modules4, monitor, info);
-			} catch (CoreException ce) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Error during publishing", ce);
-				}
-				status = ce.getStatus();
-			}
-			
-			final List<IModule[]> modules2 = new ArrayList<IModule[]>();
-			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(Server.this, modules2);
-			getServerPublishInfo().clearCache();
-			getServerPublishInfo().save();
-			
-			firePublishFinished(Status.OK_STATUS);
-			if (Trace.PERFORMANCE) {
-				Trace.trace(Trace.STRING_PERFORMANCE, "Server.publishImpl(): <" + (System.currentTimeMillis() - time)
-						+ "> " + getServerType().getId());
-			}
-			return status;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(
-						Trace.STRING_SEVERE,
-						"Error calling delegate publish() "
-								+ Server.this.toString(), e);
-			}
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e);
-		}
-	}
-
-	protected IStatus restartImpl(String launchMode, IProgressMonitor monitor) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Restarting server: " + getName());
-		}
-		
-		try {
-			try {
-				// synchronous restart
-				restartImpl2(launchMode, monitor);
-				
-				return Status.OK_STATUS;
-			} catch (CoreException ce) {
-				if (ce.getStatus().getCode() != -1) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error calling delegate restart() " + Server.this.toString());
-					}
-					return ce.getStatus();
-				}
-			}
-			// if restart is not implemented by the server adopter
-			// lets provide a default implementation
-			stop(false);
-			start(launchMode, monitor);
-
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error restarting server", e);
-			}
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Synchroneous restart. Throws a core exception in case the the adopter doesn't implement restart 
-	 * @param launchMode
-	 * @param monitor
-	 * @return IStatus 
-	 * @throws CoreException
-	 */
-	protected IStatus restartImpl2(String launchMode, IProgressMonitor monitor) throws CoreException{
-		final boolean[] notified = new boolean[1];
-		
-		// 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) {
-						// notify waiter
-						synchronized (notified) {
-							try {
-								if (Trace.FINEST) {
-									Trace.trace(Trace.STRING_FINEST, "synchronousRestart notify");
-								}
-								notified[0] = true;
-								notified.notifyAll();
-							} catch (Exception e) {
-								if (Trace.SEVERE) {
-									Trace.trace(Trace.STRING_SEVERE,
-											"Error notifying server restart", e);
-								}
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		final int restartTimeout = (getStartTimeout() * 1000) + (getStopTimeout() * 1000);
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final IProgressMonitor monitor2 = monitor;
-		Thread thread = new Thread("Server Restart Timeout") {
-			public void run() {
-				try {
-					int totalTimeout = restartTimeout;
-					if (totalTimeout < 0)
-						totalTimeout = 1;
-					boolean userCancelled = false;
-					int retryPeriod = 2500;
-					while (!notified[0] && totalTimeout > 0 && !userCancelled && !timer.alreadyDone) {
-						Thread.sleep(retryPeriod);
-						if (restartTimeout > 0)
-							totalTimeout -= retryPeriod;
-						if (!notified[0] && !timer.alreadyDone && monitor2.isCanceled()) {
-							// user canceled - set the server state to stopped
-							userCancelled = true;
-							if (launch != null && !launch.isTerminated())
-								launch.terminate();
-							// notify waiter
-							synchronized (notified) {
-								if (Trace.FINEST) {
-									Trace.trace(Trace.STRING_FINEST, "synchronousRestart user cancelled");
-								}
-								notified[0] = true;
-								notified.notifyAll();
-							}
-						}
-					}
-					if (!userCancelled && !timer.alreadyDone && !notified[0]) {
-						// notify waiter
-						synchronized (notified) {
-							if (Trace.FINEST) {
-								Trace.trace(Trace.STRING_FINEST, "synchronousRestart notify timeout");
-							}
-							if (!timer.alreadyDone && totalTimeout <= 0)
-								timer.timeout = true;
-							notified[0] = true;
-							notified.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE,
-								"Error notifying server restart timeout", e);
-					}
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "synchronousRestart 2");
-		}
-		
-		// call the delegate restart
-		try {
-			getBehaviourDelegate(null).restart(launchMode);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			throw new CoreException(e.getStatus());
-		}
-		if (monitor.isCanceled()) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			return Status.CANCEL_STATUS;
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "synchronousRestart 3");
-		}
-		
-		// wait for it! wait for it! ...
-		synchronized (notified) {
-			try {
-				while (!notified[0] && !monitor.isCanceled() && !timer.timeout
-						&& !(getServerState() == IServer.STATE_STARTED)) {
-					notified.wait();
-				}
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Error waiting for server restart", e);
-				}
-			}
-			timer.alreadyDone = true;
-		}
-		removeServerListener(listener);
-		
-		if (timer.timeout) {
-			stop(false);
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRestartTimeout, new String[] { getName(), (restartTimeout / 1000) + "" }), null);
-		}
-		
-		if (!monitor.isCanceled() && getServerState() == IServer.STATE_STOPPED)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRestartFailed, getName()), null);
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "synchronousRestart 4");
-		}
-		return Status.OK_STATUS;
-	}
-	
-	protected IStatus startImpl(String launchMode, IProgressMonitor 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 {
-								if (Trace.FINEST) {
-									Trace.trace(Trace.STRING_FINEST, "synchronousStart notify");
-								}
-								notified[0] = true;
-								notified.notifyAll();
-							} catch (Exception e) {
-								if (Trace.SEVERE) {
-									Trace.trace(Trace.STRING_SEVERE,
-											"Error notifying server start", e);
-								}
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		final int serverTimeout = getStartTimeout() * 1000;
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final IProgressMonitor monitor2 = monitor;
-		Thread thread = new Thread("Server Start Timeout") {
-			public void run() {
-				try {
-					int totalTimeout = serverTimeout;
-					if (totalTimeout < 0)
-						totalTimeout = 1;
-					boolean userCancelled = false;
-					int retryPeriod = 1000;
-					while (!notified[0] && totalTimeout > 0 && !userCancelled && !timer.alreadyDone) {
-						Thread.sleep(retryPeriod);
-						if (serverTimeout > 0)
-							totalTimeout -= retryPeriod;
-						if (!notified[0] && !timer.alreadyDone && monitor2.isCanceled()) {
-							// user canceled - set the server state to stopped
-							userCancelled = true;
-							if (launch != null && !launch.isTerminated())
-								launch.terminate();
-							// notify waiter
-							synchronized (notified) {
-								if (Trace.FINEST) {
-									Trace.trace(Trace.STRING_FINEST, "synchronousStart user cancelled");
-								}
-								notified[0] = true;
-								notified.notifyAll();
-							}
-						}
-					}
-					if (!userCancelled && !timer.alreadyDone && !notified[0]) {
-						// notify waiter
-						synchronized (notified) {
-							if (Trace.FINEST) {
-								Trace.trace(Trace.STRING_FINEST, "synchronousStart notify timeout");
-							}
-							if (!timer.alreadyDone && totalTimeout <= 0)
-								timer.timeout = true;
-							notified[0] = true;
-							notified.notifyAll();
-						}
-					}
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE,
-								"Error notifying server start timeout", e);
-					}
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "synchronousStart 2");
-		}
-	
-		// start the server
-		try {
-			startImpl2(launchMode, monitor);
-		} catch (CoreException e) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			return e.getStatus();
-		}
-		if (monitor.isCanceled()) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			return Status.CANCEL_STATUS;
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Error waiting for server start", e);
-				}
-			}
-			timer.alreadyDone = true;
-		}
-		removeServerListener(listener);
-		
-		if (timer.timeout) {
-			stop(false);
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), (serverTimeout / 1000) + "" }), null);
-		}
-		
-		if (!monitor.isCanceled() && getServerState() == IServer.STATE_STOPPED)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null);
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "synchronousStart 4");
-		}
-		return Status.OK_STATUS;
-	}
-
-	protected void startImpl2(String mode2, IProgressMonitor monitor) throws CoreException {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Starting server: " + Server.this.toString() + ", launchMode: " + mode2);
-		}
-		SaveEditorPrompter editorHelper = (ServerPlugin.isRunningGUIMode()) ? ServerPlugin.getSaveEditorHelper() : null;
-		// make sure that the delegate is loaded and the server state is correct
-		loadAdapter(ServerBehaviourDelegate.class, monitor);
-		
-		try {
-			ILaunchConfiguration launchConfig = getLaunchConfiguration(true, monitor);
-			
-			if (editorHelper != null){
-				editorHelper.setDebugNeverSave();
-			}
-			
-			if (launchConfig != null){
-				launch = launchConfig.launch(mode2, monitor); // , true); - causes workspace lock
-			}
-			
-			if (editorHelper != null){
-				editorHelper.setDebugOriginalValue();
-			}
-			
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Launch: " + launch);
-			}
-		} catch (CoreException e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error starting server "
-						+ Server.this.toString(), e);
-			}
-			throw e;
-		}
-	}
-
-	protected IStatus stopImpl(boolean force, IProgressMonitor monitor) {
-		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 || state == IServer.STATE_STARTED)) {
-						// notify waiter
-						synchronized (mutex) {
-							try {
-								mutex.notifyAll();
-							} catch (Exception e) {
-								if (Trace.SEVERE) {
-									Trace.trace(Trace.STRING_SEVERE,
-											"Error notifying server stop", e);
-								}
-							}
-						}
-					}
-				}
-			}
-		};
-		addServerListener(listener);
-		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final int serverTimeout = getStopTimeout() * 1000;
-		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) {
-								if (Trace.FINEST) {
-									Trace.trace(Trace.STRING_FINEST, "stop notify timeout");
-								}
-								mutex.notifyAll();
-							}
-						}
-					} catch (Exception e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE,
-									"Error notifying server stop timeout", e);
-						}
-					}
-				}
-			};
-			thread.setDaemon(true);
-			thread.start();
-		}
-		
-		// stop the server
-		stopImpl2(force);
-		
-		// wait for it! wait for it!
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && getServerState() != IServer.STATE_STOPPED &&
-						getServerState() != IServer.STATE_STARTED)
-					mutex.wait();
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Error waiting for server stop", e);
-				}
-			}
-		}
-		removeServerListener(listener);
-		
-		//can't throw exceptions
-		/*if (timer.timeout)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorStopTimeout, getName()), null);
-		else
-			timer.alreadyDone = true;
-		*/
-		if (!monitor.isCanceled() && getServerState() == IServer.STATE_STARTED)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStopFailed, getName()), null);
-		
-		return Status.OK_STATUS;
-	}
-
-	protected void stopImpl2(boolean force) {
-		if (getServerState() == STATE_STOPPED)
-			return;
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Stopping server: " + Server.this.toString());
-		}
-		
-		try {
-			getBehaviourDelegate(null).stop(force);
-		} catch (RuntimeException e) {
-			if (Trace.SEVERE) {
-				Trace.trace(
-						Trace.STRING_SEVERE,
-						"Error calling delegate stop() "
-								+ Server.this.toString(), e);
-			}
-			throw e;
-		} catch (Throwable t) {
-			if (Trace.SEVERE) {
-				Trace.trace(
-						Trace.STRING_SEVERE,
-						"Error calling delegate stop() "
-								+ Server.this.toString(), t);
-			}
-			throw new RuntimeException(t);
-		}
-	}
-
-	public boolean contains(ISchedulingRule rule) {
-		return (rule instanceof IServer || rule instanceof ServerSchedulingRule);
-	}
-
-	public boolean isConflicting(ISchedulingRule rule) {
-		if (!(rule instanceof IServer) && !(rule instanceof ServerSchedulingRule))
-			return false;
-		
-		if (rule instanceof IServer) {
-			IServer s = (IServer) rule;
-			return this.equals(s);
-		}
-		ServerSchedulingRule ssrule = (ServerSchedulingRule) rule;
-		return ssrule.server.equals(this);
-	}
-
-	public String toString() {
-		return getName();
-	}
-	
-	private String getPublishKindString(int kind){
-		if (kind == IServer.PUBLISH_AUTO){
-			return PUBLISH_AUTO_STRING;
-		}
-		else if (kind == IServer.PUBLISH_CLEAN){
-			return PUBLISH_CLEAN_STRING;
-		}
-		else if (kind == IServer.PUBLISH_FULL){
-			return PUBLISH_FULL_STRING;
-		}
-		else if (kind == IServer.PUBLISH_INCREMENTAL){
-			return PUBLISH_INCREMENTAL_STRING;
-		}
-		return PUBLISH_UNKOWN;
-	}
-} 
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 aac3689..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create delegate" + toString(), t);
-				}
-			}
-		}
-		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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-			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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate "
-						+ toString(), e);
-			}
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "Monitor[" + getId() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/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 c58451d..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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<MonitoredPort> ports = new ArrayList<MonitoredPort>(); 
-	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) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_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<IMonitoredServerPort> list = new ArrayList<IMonitoredServerPort>();
-		Iterator iterator = ports.iterator();
-		while (iterator.hasNext()) {
-			MonitoredPort mp = (MonitoredPort) iterator.next();
-			if (mp.server.equals(server))
-				list.add(mp);
-		}
-		
-		return list.toArray(new IMonitoredServerPort[list.size()]);
-	}
-
-	/**
-	 * 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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error saving monitor info", e);
-			}
-		}
-	}
-	
-	protected void loadMonitors() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_WARNING, "Could not load monitor: " + e);
-					}
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Could not load monitor info", e);
-			}
-		}
-	}
-}
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 f744ba8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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<ListenerEntry> listenerList = new ArrayList<ListenerEntry>();
-
-	/**
-	 * For masking event on all changes.
-	 */
-	public static final int ALL_EVENTS = 0xFFFF;
-
-	private class ListenerEntry {
-		private IServerListener listener;
-		private int eventMask;
-
-		protected 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) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "->- Broadcasting server event: " + event + " ->-");
-		}
-		if (event == null) {
-			return;
-		}
-		int eventKind = event.getKind();
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "  Server event kind: " + eventKind + " ->-");
-		}
-		
-		// only notify listeners that listen to module event
-		int size;
-		ListenerEntry[] listeners;
-		synchronized (listenerList) {
-			size = listenerList.size();
-			listeners = 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
-			// take out the ServerEvent.SERVER_CHANGE bit and ServerEvent.MODULE_CHANGE bit
-			int kindOnly = (eventKind | ServerEvent.SERVER_CHANGE | ServerEvent.MODULE_CHANGE) ^ ServerEvent.SERVER_CHANGE ^ ServerEvent.MODULE_CHANGE;
-			boolean isKindMatch = (mask & kindOnly) != 0;
-			
-			if (isTypeMatch && isKindMatch) {
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "->- Firing server event to listener: " + curEntry.getListener()
-							+ " ->-");
-				}
-				try {
-					if (Trace.LISTENERS) {
-						Trace.trace(Trace.STRING_LISTENERS,
-								"  Firing server event to listener: " + curEntry.getListener());
-					}
-					curEntry.getListener().serverChanged(event);
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(
-								Trace.STRING_SEVERE,
-								"  Error firing server event: "
-										+ curEntry.getListener(), e);
-					}
-				}
-				if (Trace.LISTENERS) {
-					Trace.trace(Trace.STRING_LISTENERS, "-<- Done firing server event -<-");
-				}
-			}
-		}
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "-<- Done broadcasting server event -<-");
-		}
-	}
-
-	/**
-	 * Returns true if the listener list is empty, or false otherwise.
-	 * 
-	 * @return true if the listener list is empty, or false otherwise
-	 */
-	protected boolean hasNoListeners() {
-		return listenerList.isEmpty();
-	}
-
-	/**
-	 * Remove a listener from notification.
-	 * 
-	 * @param curListener
-	 */
-	public void removeListener(IServerListener curListener) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "->- Removing server listener from notification manager: " + curListener
-					+ " ->-");
-		}
-		if (curListener == null)
-			return;
-		
-		synchronized (listenerList) {
-			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)
-				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 d97672c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
+++ /dev/null
@@ -1,1535 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.text.DateFormat;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.core.util.UIContextDetermination;
-import org.eclipse.wst.server.core.*;
-import org.osgi.framework.*;
-
-/**
- * The main server plugin class.
- */
-public class ServerPlugin extends Plugin {
-	public static final String PROJECT_PREF_FILE = ".serverPreference";
-	public static final String EXCLUDE_SERVER_ADAPTERS = "excludeServerAdapters";
-	private static final String EXTENSION_RUNTIME_MODULE_TYPE = "runtimeModuleType";
-
-	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<LaunchableAdapter> launchableAdapters;
-
-	// cached copy of all launchable clients
-	private static List<IClient> clients;
-
-	// cached copy of all module factories
-	private static List<ModuleFactory> moduleFactories;
-
-	// singleton instance of this class
-	private static ServerPlugin singleton;
-
-	// cached copy of all publish tasks
-	private static List<IPublishTask> publishTasks;
-	
-	// cached copy of all publish tasks
-	private static List<PublishController> publishControllers;
-
-	// cached copy of all publishers
-	private static List<Publisher> publishers;
-
-	//	cached copy of all server monitors
-	private static List<IServerMonitor> monitors;
-
-	//	cached copy of all runtime locators
-	private static List<IRuntimeLocator> runtimeLocators;
-
-	// cached copy of all module artifact adapters
-	private static List<ModuleArtifactAdapter> moduleArtifactAdapters;
-
-	//	cached copy of all installable runtimes
-	private static List<IInstallableRuntime> installableRuntimes;
-
-	// cached copy of SaveEditorPrompter
-	private static SaveEditorPrompter saveEditorPrompter;
-	
-	// cached copy of isRunningInGUICache
-	public static Boolean isRunningInGUICache = null;
-
-	// 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;
-		boolean recycle = true;
-	}
-
-	// temp directories - String key to TempDir
-	private Map<String, TempDir> 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 primarily 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) {
-		return getTempDirectory(key, true);
-	}
-	
-	/**
-	 * Returns a temporary directory that the requestor can use
-	 * throughout it's lifecycle. This is primarily 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 recycling is enabled and 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.
-	 * If this behavior is not desired, recycling should be disabled.</p>
-	 *
-	 * @param key
-	 * @param recycle true if directory may be deleted if not used
-	 * over a period of time
-	 * @return java.io.File
-	 */
-	public IPath getTempDirectory(String key, boolean recycle) {
-		if (key == null)
-			return null;
-	
-		// first, look through hash of current directories
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		try {
-			TempDir dir = getTempDirs().get(key);
-			if (dir != null) {
-				dir.age = 0;
-				// If recycle status needs changing, update
-				if (dir.recycle != recycle) {
-					dir.recycle = recycle;
-					saveTempDirInfo();
-				}
-				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;
-		d.recycle = recycle;
-		getTempDirs().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 = getTempDirs().get(key);
-			if (dir != null) {
-				getTempDirs().remove(key);
-				saveTempDirInfo();
-				deleteDirectory(statePath.append(dir.path).toFile(), null);
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Could not remove temp directory", e);
-			}
-		}
-	}
-
-	private Map<String, TempDir> getTempDirs() {
-		if (tempDirHash == null)
-			loadTempDirInfo();
-		return tempDirHash;
-	}
-
-	/**
-	 * Load the temporary directory information.
-	 */
-	private void loadTempDirInfo() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Loading temporary directory information");
-		}
-		IPath statePath = ServerPlugin.getInstance().getStateLocation();
-		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
-		
-		tempDirHash = new HashMap<String, TempDir>();
-		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();
-				Boolean recycle = children[i].getBoolean("recycle");
-				if (recycle != null) {
-					d.recycle = recycle.booleanValue();
-				}
-				// Age only if recycling is enabled
-				if (d.recycle) {
-					d.age++;
-				}
-				
-				tempDirHash.put(key, d);
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Could not load temporary directory information", e);
-			}
-		}
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status an error status
-	 */
-	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 = getTempDirs().keySet().iterator();
-			while (iterator.hasNext()) {
-				String key = (String) iterator.next();
-				TempDir d = getTempDirs().get(key);
-
-				// If not recycling or not old enough, keep
-				if (!d.recycle || d.age < 5) {
-					IMemento child = memento.createChild("temp-directory");
-					child.putString("key", key);
-					child.putString("path", d.path);
-					child.putInteger("age", d.age);
-					child.putBoolean("recycle", d.recycle);
-				} else
-					deleteDirectory(statePath.append(d.path).toFile(), null);
-			}
-	
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE,
-						"Could not save temporary directory information", e);
-			}
-		}
-	}
-
-	/**
-	 * @see Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "----->----- Server Core plugin startup ----->-----");
-		}
-		super.start(context);
-		bundleContext = context;
-		
-		bundleListener = new BundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				String bundleId = event.getBundle().getSymbolicName();
-				//Trace.trace(Trace.INFO, event.getType() + " " + bundleId);
-				if (BundleEvent.STOPPED == event.getType() && ResourceManager.getInstance().isActiveBundle(bundleId))
-					stopBundle(bundleId);
-			}
-		};
-		context.addBundleListener(bundleListener);
-
-		// Load the PublishController during plugin startup since this will be used
-		// during the a workspace delta (changes to the workspace)
-		getPublishController();
-
-		// register the debug options listener
-		final Hashtable<String, String> props = new Hashtable<String, String>(4);
-		props.put(DebugOptions.LISTENER_SYMBOLICNAME, ServerPlugin.PLUGIN_ID);
-		context.registerService(DebugOptionsListener.class.getName(), new Trace(), props);
-	}
-
-	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;
-			}
-		}
-		
-		try {
-			StopJob job = new StopJob();
-			job.setUser(false);
-			job.schedule();
-		} catch (Throwable t) {
-			// ignore errors
-		}
-	}
-
-	/**
-	 * @see Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-----<----- Server Core plugin shutdown -----<-----");
-		}
-		super.stop(context);
-		
-		if (registryListener != null)
-			Platform.getExtensionRegistry().removeRegistryChangeListener(registryListener);
-		
-		ResourceManager.shutdown();
-		ServerMonitorManager.shutdown();
-		
-		try {
-			Job.getJobManager().join(SHUTDOWN_JOB_FAMILY, null);
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Error waiting for shutdown job", e);
-			}
-		}
-		context.removeBundleListener(bundleListener);
-	}
-
-	/**
-	 * Logs an error message caused by a missing or failed extension
-	 * (server adapters, runtime, class-path provider, etc.). A single
-	 * error is output to the .log (once per session) and the full
-	 * exception is output to tracing.
-	 * 
-	 * @param id the id of the missing/failed extension
-	 * @param t a throwable or exception
-	 */
-	public static void logExtensionFailure(String id, Throwable t) {
-		if (Trace.SEVERE) {
-			Trace.trace(Trace.STRING_SEVERE, "Missing or failed server extension: " + id
-					+ ". Enable tracing for more information");
-		}
-		if (Trace.WARNING) {
-			Trace.trace(Trace.STRING_WARNING, "Exception in server delegate", t);
-		}
-	}
-
-	private static void addAll(List<Object> 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 a server or runtime exists with the given name.
-	 *
-	 * @param element an object
-	 * @param name a name
-	 * @return <code>true</code> if the name is in use, and <code>false</code>
-	 *    otherwise
-	 */
-	public static boolean isNameInUse(Object element, String name) {
-		if (name == null)
-			return true;
-		
-		List<Object> list = new ArrayList<Object>();
-		
-		if (element == null || element instanceof IRuntime)
-			addAll(list, ServerCore.getRuntimes());
-		if (element == null || element instanceof IServerAttributes)
-			addAll(list, ServerCore.getServers());
-		
-		if (element != null) {
-			if (element instanceof IRuntimeWorkingCopy)
-				element = ((IRuntimeWorkingCopy) element).getOriginal();
-			if (element instanceof IServerWorkingCopy)
-				element = ((IServerWorkingCopy) element).getOriginal();
-			if (list.contains(element))
-				list.remove(element);
-		}
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServerAttributes && 
-					(name.equalsIgnoreCase(((IServerAttributes)obj).getName()) || name.equalsIgnoreCase(((IServerAttributes)obj).getId()))) 
-				return true;
-			if (obj instanceof IRuntime && name.equalsIgnoreCase(((IRuntime)obj).getName()))
-				return true;
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Utility method to tokenize a string into an array.
-	 * 
-	 * @param str a string to be parsed
-	 * @param delim the delimiters
-	 * @return an array containing the tokenized string
-	 */
-	public static String[] tokenize(String str, String delim) {
-		if (str == null)
-			return new String[0];
-		
-		List<String> list = new ArrayList<String>();
-		
-		StringTokenizer st = new StringTokenizer(str, delim);
-		while (st.hasMoreTokens()) {
-			String s = st.nextToken();
-			if (s != null && s.length() > 0)
-				list.add(s.trim());
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	/**
-	 * Load the Loose Module Types.
-	 */
-	protected static synchronized void loadRuntimeModuleTypes(IRuntimeType runtimeType) {	
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_MODULE_TYPE);
-		for (IConfigurationElement ce : cf) {
-			try {
-				String [] looseModuleRuntimeIds = ServerPlugin.tokenize(ce.getAttribute("runtimeTypes"), ",");				
-				if (looseModuleRuntimeIds.length < 0){
-					if (Trace.EXTENSION_POINT) {
-						Trace.trace(Trace.STRING_EXTENSION_POINT,
-								"  runtimeTypes on extension point definition is empty");
-					}
-					return;
-				}
-				
-				if (ServerPlugin.contains(looseModuleRuntimeIds, runtimeType.getId())){
-					((RuntimeType)runtimeType).addModuleType(ce);					
-					if (Trace.EXTENSION_POINT) {
-						Trace.trace(Trace.STRING_EXTENSION_POINT,
-								"  Loaded Runtime supported ModuleType: " + ce.getAttribute("id"));
-					}
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Could not load Runtime supported ModuleType: "
-									+ ce.getAttribute("id"), t);
-				}
-			}
-		}
-	}
-	
-	protected static List<org.eclipse.wst.server.core.IModuleType> getModuleTypes(IConfigurationElement[] elements) {
-		List<IModuleType> list = new ArrayList<IModuleType>();
-		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++)
-					list.add(ModuleType.getModuleType(types[j], versions[k]));
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Returns <code>true</code> if the array of strings contains a specific
-	 * string, or <code>false</code> otherwise.
-	 * 
-	 * @param ids an array of strings, or <code>null</code>
-	 * @param id a string
-	 * @return <code>true</code> if the array of strings contains a specific
-	 *    string, or <code>false</code> otherwise
-	 */
-	public static boolean contains(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 a folder
-	 * @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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .launchableAdapters extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "launchableAdapters");
-
-		int size = cf.length;
-		List<LaunchableAdapter> list = new ArrayList<LaunchableAdapter>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new LaunchableAdapter(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded launchableAdapter: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load launchableAdapter: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		
-		// sort by priority to put higher numbers first
-		size = list.size();
-		for (int i = 0; i < size-1; i++) {
-			for (int j = i+1; j < size; j++) {
-				LaunchableAdapter a = list.get(i);
-				LaunchableAdapter b = list.get(j);
-				if (a.getPriority() < b.getPriority()) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-		launchableAdapters = list;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .launchableAdapters extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the client extension point.
-	 */
-	private static synchronized void loadClients() {
-		if (clients != null)
-			return;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .clients extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "clients");
-		
-		int size = cf.length;
-		List<IClient> list = new ArrayList<IClient>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new Client(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded clients: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load clients: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		
-		// sort by priority to put higher numbers first
-		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;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_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;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .publishTasks extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishTasks");
-		
-		int size = cf.length;
-		List<IPublishTask> list = new ArrayList<IPublishTask>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new PublishTask(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded publishTask: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load publishTask: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		publishTasks = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .publishTasks extension point -<-");
-		}
-	}
-
-	/**
-	 * Returns an array of all known publishers.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of publisher instances {@link Publisher}
-	 */
-	public static Publisher[] getPublishers() {
-		if (publishers == null)
-			loadPublishers();
-		Publisher[] pub = new Publisher[publishers.size()];
-		publishers.toArray(pub);
-		return pub;
-	}
-
-	/**
-	 * Returns the publisher with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * publisher ({@link #getPublishers()}) for the one a matching
-	 * publisher id ({@link Publisher#getId()}). The id may not be null.
-	 *
-	 * @param id the publisher id
-	 * @return the publisher, or <code>null</code> if there is no publishers
-	 *    with the given id
-	 */
-	public static Publisher findPublisher(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		
-		if (publishers == null)
-			loadPublishers();
-		
-		Iterator iterator = publishers.iterator();
-		while (iterator.hasNext()) {
-			Publisher pub = (Publisher) iterator.next();
-			if (id.equals(pub.getId()))
-				return pub;
-		}
-		return null;
-	}
-
-	/**
-	 * Load the publisher extension point.
-	 */
-	private static synchronized void loadPublishers() {
-		if (publishers != null)
-			return;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .publishers extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishers");
-		
-		int size = cf.length;
-		List<Publisher> list = new ArrayList<Publisher>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new Publisher(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded publisher: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load publisher: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		publishers = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .publishers extension point -<-");
-		}
-	}
-	
-	/**
-	 * Returns an array of all known publishers.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of publisher instances {@link Publisher}
-	 */
-	public static PublishController[] getPublishController() {
-		if (publishers == null)
-			loadPublishControllers();
-		PublishController[] controllers = new PublishController[publishControllers.size()];
-		publishControllers.toArray(controllers);
-		return controllers;
-	}
-	
-	/**
-	 * Load the publishController extension point.
-	 */
-	private static synchronized void loadPublishControllers() {
-		if (publishControllers != null)
-			return;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .publishController extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishController");
-		
-		int size = cf.length;
-		List<PublishController> list = new ArrayList<PublishController>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new PublishController(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT,
-							"  Loaded .publishController: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load .publishController: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		publishControllers = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .publishController 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;
-	}
-
-	/**
-	 * Returns the launchable adapter with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * launchable adapters ({@link #getLaunchableAdapters()}) for the one a matching
-	 * launchable adapter id ({@link ILaunchableAdapter#getId()}). The id may not be null.
-	 *
-	 * @param id the launchable adapter id
-	 * @return the launchable adapter, or <code>null</code> if there is no launchable adapter
-	 *    with the given id
-	 */
-	public static ILaunchableAdapter findLaunchableAdapter(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		
-		if (launchableAdapters == null)
-			loadLaunchableAdapters();
-		
-		Iterator iterator = launchableAdapters.iterator();
-		while (iterator.hasNext()) {
-			ILaunchableAdapter la = (ILaunchableAdapter) iterator.next();
-			if (id.equals(la.getId()))
-				return la;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the client with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * clients ({@link #getClients()}) for the one a matching
-	 * client id ({@link IClient#getId()}). The id may not be null.
-	 *
-	 * @param id the client id
-	 * @return the client, or <code>null</code> if there is no client
-	 *    with the given id
-	 */
-	public static IClient findClient(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		
-		if (clients == null)
-			loadClients();
-		
-		Iterator iterator = clients.iterator();
-		while (iterator.hasNext()) {
-			IClient client = (IClient) iterator.next();
-			if (id.equals(client.getId()))
-				return client;
-		}
-		return null;
-	}
-
-	/**
-	 * Load the module factories extension point.
-	 */
-	private static synchronized void loadModuleFactories() {
-		if (moduleFactories != null)
-			return;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .moduleFactories extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleFactories");
-		
-		int size = cf.length;
-		List<ModuleFactory> list = new ArrayList<ModuleFactory>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ModuleFactory(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded moduleFactories: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_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 = list.get(i);
-				ModuleFactory b = list.get(j);
-				if (a.getOrder() > b.getOrder()) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-		moduleFactories = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_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;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .serverMonitors extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalServerMonitors");
-
-		int size = cf.length;
-		List<IServerMonitor> list = new ArrayList<IServerMonitor>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ServerMonitor(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded serverMonitor: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load serverMonitor: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		monitors = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_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;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .runtimeLocators extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeLocators");
-
-		int size = cf.length;
-		List<IRuntimeLocator> list = new ArrayList<IRuntimeLocator>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new RuntimeLocator(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded runtimeLocator: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load runtimeLocator: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		runtimeLocators = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_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;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .moduleArtifactAdapters extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleArtifactAdapters");
-
-		int size = cf.length;
-		List<ModuleArtifactAdapter> list = new ArrayList<ModuleArtifactAdapter>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ModuleArtifactAdapter(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT,
-							"  Loaded moduleArtifactAdapter: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_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 = list.get(i);
-				ModuleArtifactAdapter b = list.get(j);
-				if (a.getPriority() < b.getPriority()) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-		moduleArtifactAdapters = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_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) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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)) {
-						if (Trace.FINER) {
-							Trace.trace(Trace.STRING_FINER, "ServerPlugin.hasModuleArtifact() - " + adapters[i].getId());
-						}
-						if (adapters[i].isDelegateLoaded()) {
-							long time = System.currentTimeMillis();
-							IModuleArtifact[] ma = adapters[i].getModuleArtifacts(obj);
-							if (Trace.FINER) {
-								Trace.trace(Trace.STRING_FINER, "Deep enabled time: "
-										+ (System.currentTimeMillis() - time));
-							}
-							if (ma != null) {
-								if (Trace.FINER) {
-									Trace.trace(Trace.STRING_FINER, "Deep enabled");
-								}
-								return true;
-							}
-							if (Trace.FINER) {
-								Trace.trace(Trace.STRING_FINER, "Not enabled");
-							}
-						} else {
-							if (Trace.FINER) {
-								Trace.trace(Trace.STRING_FINER, "Enabled");
-							}
-							return true;
-						}
-					}
-				} catch (CoreException ce) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_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[] getModuleArtifacts(Object obj) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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].getModuleArtifacts(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) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_WARNING,
-								"Could not use moduleArtifactAdapter "
-										+ adapters[i], e);
-					}
-				}
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * 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 runtimes.
-	 */
-	private static synchronized void loadInstallableRuntimes() {
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .installableRuntimes extension point ->-");
-		}
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableRuntimes");
-		
-		int size = cf.length;
-		List<IInstallableRuntime> list = new ArrayList<IInstallableRuntime>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				if ("runtime".equals(cf[i].getName())) {
-					String os = cf[i].getAttribute("os");
-					if (os == null || os.contains(Platform.getOS()))
-						list.add(new InstallableRuntime2(cf[i]));
-				} else
-					list.add(new InstallableRuntime(cf[i]));
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT,
-							"  Loaded installableRuntime: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load installableRuntime: "
-									+ cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		installableRuntimes = list;
-		
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_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);
-	}
-
-	/**
-	 * Returns <code>true</code> if a and b match, and <code>false</code> otherwise.
-	 * Strings match if they are equal, if either is null, if either is "*", or if
-	 * one ends with ".*" and the beginning matches the other string.
-	 * 
-	 * @param a a string to match
-	 * @param b another string to match
-	 * @return <code>true</code> if a and b match, and <code>false</code> otherwise
-	 */
-	public static boolean matches(String a, String b) {
-		if (a == null || b == null || a.equals(b) || "*".equals(a) || "*".equals(b)
-			|| (a.endsWith(".*") && b.startsWith(a.substring(0, a.length() - 1)))
-			|| (b.endsWith(".*") && a.startsWith(b.substring(0, b.length() - 1))))
-			return true;
-		if (a.startsWith(b) || b.startsWith(a)) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Invalid matching rules used: " + a + "/" + b);
-			}
-			return true;
-		}
-		return false;
-	}
-
-	public static String[] getExcludedServerAdapters() {
-		return tokenize(getProperty(EXCLUDE_SERVER_ADAPTERS), ",");
-	}
-
-	private static String getProperty(String key) {
-		if (key == null)
-			return null;
-		String value = null;
-		if (Platform.getProduct() != null)
-			return Platform.getProduct().getProperty(key);
-		return value;
-	}
-	
-	public static boolean isRunningGUIMode() {
-
-		if (isRunningInGUICache == null) {
-			boolean isGui = false;
-			switch (UIContextDetermination.getCurrentContext()) {
-			case UIContextDetermination.UI_CONTEXT:
-				isGui = true;
-				break;
-			case UIContextDetermination.HEADLESS_CONTEXT:
-			default:
-				isGui = false;
-			}
-			isRunningInGUICache = new Boolean(isGui);
-		}
-		return isRunningInGUICache.booleanValue();
-	}
-
-	/**
-	 * Transfer the control to the UI and prompts to save all the editors
-	 */
-	public static SaveEditorPrompter getSaveEditorHelper() {
-		loadSaveEditorExtension();
-		return saveEditorPrompter;
-	}
-
-	private static void loadSaveEditorExtension() {
-		if (saveEditorPrompter != null)
-			return;
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading .saveEditorPrompter extension point ->-");
-		}
-		
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "saveEditorPrompter");
-		
-		int size = cf.length;
-		if (size == 0) {
-			if (Trace.EXTENSION_POINT) {
-				Trace.trace(Trace.STRING_EXTENSION_POINT, "  No .saveEditorPrompter is found.");
-			}
-		} else {
-			try{
-				saveEditorPrompter = (SaveEditorPrompter)cf[0].createExecutableExtension("class");
-				if (Trace.EXTENSION_POINT) {
-					Trace.trace(Trace.STRING_EXTENSION_POINT, "  Loaded saveEditorPrompter: " + cf[0].getAttribute("id"));
-				}
-			} catch (CoreException ce){
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load saveEditorPrompter: "
-									+ cf[0].getAttribute("id"), ce);
-				}			
-			}
-			if (size > 1) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "  More than one .saveEditorPrompter found, only one loaded =>"
-							+ cf[0].getAttribute("id"));
-				}
-			}
-		}
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading .saveEditorPrompter extension point -<-");
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferenceModifyListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferenceModifyListener.java
deleted file mode 100644
index aa60152..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferenceModifyListener.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.io.StringReader;
-import java.io.StringWriter;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.core.runtime.preferences.PreferenceModifyListener;
-import org.osgi.service.prefs.Preferences;
-import org.w3c.dom.*;
-import org.xml.sax.InputSource;
-
-public class ServerPreferenceModifyListener extends PreferenceModifyListener {
-
-	private static final String LOCKED_ATTRIBUTE_NAME = "locked"; //$NON-NLS-1$
-	private static final String RUNTIMES_PREFERENCE_NAME = "runtimes"; //$NON-NLS-1$
-	private static final String RUNTIME_NODE_NAME = "runtime"; //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.PreferenceModifyListener#preApply(org.eclipse.core.runtime.preferences.IEclipsePreferences)
-	 */
-	public IEclipsePreferences preApply(IEclipsePreferences node) {
-		Preferences instance = node.node(InstanceScope.SCOPE);
-		Preferences runtimes = instance.node(ServerPlugin.PLUGIN_ID);
-		if (runtimes != null)
-			removeLockedServerRuntimePreference(runtimes); //$NON-NLS-1$
-		return super.preApply(node);
-	}
-
-	private void removeLockedServerRuntimePreference(Preferences preferences) {
-		try {
-			File prefFile = new File(preferences.get(RUNTIMES_PREFERENCE_NAME, ""));
-			if (!prefFile.exists()){
-				return; 
-			}
-			
-			Document doc = DocumentBuilderFactory.newInstance()
-					.newDocumentBuilder().parse(new InputSource(new StringReader(prefFile.toString()))); //$NON-NLS-1$
-			NodeList nodeList = doc.getElementsByTagName(RUNTIME_NODE_NAME);
-			for (int s = 0; s < nodeList.getLength(); s++) {
-				Node node = nodeList.item(s);
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					NamedNodeMap attributes = node.getAttributes();
-					Node locked = attributes.getNamedItem(LOCKED_ATTRIBUTE_NAME);
-					if (locked != null && Boolean.parseBoolean(locked.getNodeValue()))
-						node.getParentNode().removeChild(node);
-				}
-			}
-			StringWriter runtimes = new StringWriter();
-            TransformerFactory.newInstance().newTransformer().transform(new DOMSource(doc), new StreamResult(runtimes));        
-            preferences.remove(RUNTIMES_PREFERENCE_NAME);
-            preferences.put(RUNTIMES_PREFERENCE_NAME, runtimes.toString());
-		  } catch (Exception e) {
-		    //there is no defined runtime environment 
-			  return;
-		  }
-		  
-	}
-
-}
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 b02e362..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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_PUBLISH = "auto-publish";
-	private static final String PREF_MODULE_START_TIMEOUT = "module-start-timeout";
-		
-	private Preferences preferences;
-
-	protected static ServerPreferences instance;
-
-	/**
-	 * ServerPreference constructor comment.
-	 */
-	private ServerPreferences() {
-		super();
-		preferences = ServerPlugin.getInstance().getPluginPreferences();
-		setDefaults();
-	}
-
-	/**
-	 * Returns the static instance.
-	 * 
-	 * @return the static instance
-	 */
-	public static ServerPreferences getInstance() {
-		if (instance == null)
-			instance = new ServerPreferences();
-		return instance;
-	}
-
-	/**
-	 * 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) {
-		// ignore
-	}
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * Set the default values.
-	 */
-	private void setDefaults() {
-		preferences.setDefault(PREF_AUTO_PUBLISH, isDefaultAutoPublishing());
-			
-		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 8573884..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
+++ /dev/null
@@ -1,575 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.*;
-/**
- * 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<String, ModulePublishInfo> modulePublishInfo;
-
-	/**
-	 * ServerPublishInfo constructor comment.
-	 */
-	protected ServerPublishInfo(IPath path) {
-		super();
-		
-		this.path = path;
-		modulePublishInfo = new HashMap<String, ModulePublishInfo>();
-		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("#");
-				if (module[i] != null)
-					sb.append(module[i].getId());
-				else
-					sb.append("null");
-			}
-		}
-		
-		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<IModule> list = new ArrayList<IModule>();
-		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);
-		synchronized (modulePublishInfo) {
-			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<String> removed = new ArrayList<String>();
-		
-		synchronized (modulePublishInfo) {
-			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 = 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
-		synchronized (modulePublishInfo) {
-			if (modulePublishInfo.containsKey(key))
-				return 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<IModule[]> moduleList) {
-		int size = moduleList.size();
-		List<ModulePublishInfo> removed = new ArrayList<ModulePublishInfo>();
-		synchronized (modulePublishInfo) {
-			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 = moduleList.get(i);
-					String key2 = getKey(module);
-					if (key != null && key.equals(key2))
-						found = true;
-				}
-				if (!found) {
-					ModulePublishInfo mpi = 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) {
-						String[] ids = getModuleIds(moduleId);
-						int depth = ids.length;
-						
-						module2 = new IModule[depth];
-						String s = "";
-						for (int i = 0; i < depth; i++) {
-							s += ids[i];
-							if (i == depth - 1)
-								module2[i] = mpi.getDeletedModule();
-							else {
-								ModulePublishInfo mpi2 = modulePublishInfo.get(s);
-								if (mpi2 != null)
-									module2[i] = mpi2.getDeletedModule();
-							}
-							s += "#";
-						}
-					}
-				}
-				if (module2 != null && module2.length > 0)
-					moduleList.add(module2);
-			}
-		}
-	}
-
-	/**
-	 * Parse a combined module id string into the individual module ids
-	 * @param moduleId
-	 * @return an array of module ids
-	 */
-	private String[] getModuleIds(String moduleId) {
-		StringTokenizer st = new StringTokenizer(moduleId, "#");
-		List<String> list = new ArrayList<String>(2);
-		while (st.hasMoreTokens()) {
-			list.add(st.nextToken());
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	/**
-	 * 
-	 */
-	public void load() {
-		String filename = path.toOSString();
-		
-		if (new File(filename).exists()) {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Loading publish info from " + filename);
-			}
-			
-			DataInputStream in = null;
-			try {
-				in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename)));
-				in.readByte();
-				in.readByte();
-				// version
-				int ver = in.readByte();
-				if (ver <= 1) {
-					int size = in.readInt();	
-					for (int i = 0; i < size; i++) {
-						ModulePublishInfo mpi = new ModulePublishInfo(in);
-						modulePublishInfo.put(getKey(mpi.getModuleId()), mpi);
-					}
-					return;
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Could not load publish information", e);
-				}
-			}
-		}
-		
-		filename = filename.substring(0, filename.length() - 3) + "xml";
-		if (new File(filename).exists()) {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Loading publish info from old format " + 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) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Could not load publish information", e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void save() {
-		String filename = path.toOSString();
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Saving publish info to " + filename);
-		}
-		
-		DataOutputStream out = null;
-		try {
-			out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));
-			out.writeByte(14);
-			out.writeByte(14);
-			// version
-			out.writeByte(1);
-			
-			synchronized (modulePublishInfo) {
-				out.writeInt(modulePublishInfo.keySet().size());
-				Iterator iterator = modulePublishInfo.keySet().iterator();
-				while (iterator.hasNext()) {
-					String controlRef = (String) iterator.next();
-					ModulePublishInfo mpi = modulePublishInfo.get(controlRef);
-					mpi.save(out);
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE,
-						"Could not save publish information", e);
-			}
-		} finally {
-			try {
-				if (out != null)
-					out.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		
-		// remove old file
-		filename = filename.substring(0, filename.length() - 3) + "xml";
-		File f = new File(filename);
-		if (f.exists())
-			f.delete();
-	}
-
-	/**
-	 * 
-	 * 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<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
-		int size = original.length;
-		int size2 = current.length;
-		
-		Map<IModuleResource, IModuleResource> originalMap = new HashMap<IModuleResource, IModuleResource>(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 = 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 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<IModuleResource, IModuleResource> originalMap = new HashMap<IModuleResource, IModuleResource>(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 = 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<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
-		
-		// 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);
-		}
-		
-		return list.toArray(new IModuleResourceDelta[list.size()]);
-	}
-
-	/**
-	 * Returns true if the list of modules being published does not match the previous
-	 * list of published modules.
-	 * 
-	 * @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<IModule[]> modules) {
-		synchronized (modulePublishInfo) {
-			// if the lists are different size, the structured changed
-			if (modules.size() != modulePublishInfo.keySet().size())
-				return true;
-			
-			// if the list are the same size, compare modules id
-			final boolean[] changed = new boolean[1];
-			
-			for (IModule[] module:modules){
-				String key = getKey(module);
-				if (!modulePublishInfo.containsKey(key)){
-					changed[0] = true;
-				}
-			}
-			
-			return changed[0];
-		}
-	}
-
-	/**
-	 * Fill the module cache.
-	 */
-	public void startCaching() {
-		synchronized (modulePublishInfo) {
-			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() {
-		synchronized (modulePublishInfo) {
-			Iterator iterator = modulePublishInfo.values().iterator();
-			while (iterator.hasNext()) {
-				ModulePublishInfo mpi = (ModulePublishInfo) iterator.next();
-				mpi.clearCache();
-			}
-		}
-	}
-
-	/**
-	 * Recreates the cache for the specified {@link IModule}.
-	 * 
-	 * @param module The {@link IModule}
-	 */
-	public void rebuildCache(IModule[] module) {
-
-		synchronized (modulePublishInfo) {
-			final String publishInfoKey = this.getKey(module);
-			ModulePublishInfo mpi = modulePublishInfo.get(publishInfoKey);
-			if(mpi != null) {
-				mpi.startCaching(); // clear out the resource list
-				mpi.fill(module); // rebuild the resource list
-			}
-		}
-	}
-}
\ 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 44c790c..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerSchedulingRule.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.
- * 
- * @deprecated use IServer instance directly
- */
-public class ServerSchedulingRule implements ISchedulingRule {
-	protected IServer server;
-
-	public ServerSchedulingRule(IServer server) {
-		this.server = server;
-	}
-
-	public boolean contains(ISchedulingRule rule) {
-		return (rule instanceof IServer || rule instanceof ServerSchedulingRule);
-	}
-
-	public boolean isConflicting(ISchedulingRule rule) {
-		if (!(rule instanceof IServer) && !(rule instanceof ServerSchedulingRule))
-			return false;
-		
-		if (rule instanceof IServer) {
-			IServer s = (IServer) rule;
-			return server.equals(s);
-		}
-		
-		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 a72a72a..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 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 boolean synchronousStart() {
-		try {
-			return "true".equals(element.getAttribute("synchronousStart"));
-		} 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;
-		
-		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
-		if (hasRuntime())
-			swc.setRuntime(runtime);
-		
-		swc.setDefaults(monitor);
-		
-		if (hasServerConfiguration() && runtime != null && runtime.getLocation() != null && !runtime.getLocation().isEmpty())
-			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<IRuntime> list = new ArrayList<IRuntime>();
-		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;
-		
-		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 {
-					runtime = runtimeType.createRuntime(id, monitor);
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE,
-								"Couldn't create runtime", e);
-					}
-				}
-			}
-		}
-		
-		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
-		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
-	 */
-	public int getStartTimeout() {
-		try {
-			return Integer.parseInt(element.getAttribute("startTimeout"));
-		} 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
-	 */
-	public int getStopTimeout() {
-		try {
-			return Integer.parseInt(element.getAttribute("stopTimeout"));
-		} 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 671b1a0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
+++ /dev/null
@@ -1,861 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-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<String, Object>(server.map);
-		wch = new WorkingCopyHelper(this);
-		
-		resolve();
-	}
-
-	// creation
-	public ServerWorkingCopy(String id, IFile file, IRuntime runtime, IServerType serverType) {
-		super(id, file, runtime, serverType);
-		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) {
-		canModifyAttribute(attributeName);		
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, boolean value) {
-		canModifyAttribute(attributeName);
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, String value) {
-		canModifyAttribute(attributeName);
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, List<String> value) {
-		canModifyAttribute(attributeName);
-		wch.setAttribute(attributeName, value);
-	}
-
-	public void setAttribute(String attributeName, Map value) {
-		canModifyAttribute(attributeName);
-		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);
-		boolean set = getAttribute(PROP_ID_SET, false);
-		if (server == null && !set)
-			setAttribute(PROP_ID, 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 setStartTimeout(int p) {
-		setAttribute(PROP_START_TIMEOUT, p);
-	}
-
-	public void setStopTimeout(int p) {
-		setAttribute(PROP_STOP_TIMEOUT, 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<String> list = getAttribute(PROP_DISABLED_PERFERRED_TASKS, (List<String>)null);
-		if (list == null)
-			list = new ArrayList<String>();
-		
-		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<String> list = getAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List<String>)null);
-		if (list == null)
-			list = new ArrayList<String>();
-		
-		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<String>)null);
-	}
-
-	/**
-	 * Reset all optional operations to default
-	 */
-	public void resetOptionalPublishOperations() {
-		setAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List<String>)null);
-	}
-
-	public void setPublisherEnabled(Publisher pub, boolean enabled) {
-		if (pub == null)
-			return;
-		
-		// copy over all elements except the updated publisher
-		List<String> list = getAttribute(PROP_PUBLISHERS, EMPTY_LIST);
-		List<String> newList = new ArrayList<String>();
-		Iterator<String> iter = list.iterator();
-		while (iter.hasNext()) {
-			String id = iter.next();
-			int ind = id.indexOf(":");
-			if (!pub.getId().equals(id.substring(0, ind)))
-				newList.add(id);
-		}
-		
-		String s = pub.getId() + ":";
-		if (enabled)
-			s += "true";
-		else
-			s += "false";
-		newList.add(s);
-		setAttribute(PROP_PUBLISHERS, newList);
-	}
-
-	/**
-	 * 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);
-					if (Trace.PERFORMANCE) {
-						Trace.trace(Trace.STRING_PERFORMANCE,
-								"ServerWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time)
-										+ "> " + getServerType().getId());
-					}
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_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() != null && 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() != null && 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);
-			}
-		}
-		if (getWorkingCopyDelegate(monitor) != null)
-			getWorkingCopyDelegate(monitor).saveConfiguration(monitor);
-		wch.setDirty(false);
-		
-		if (getServerState() == IServer.STATE_STARTED)
-			autoPublish();
-		
-		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 {
-		// null checks are in canModifyModules
-		IStatus status = canModifyModules(add, remove, monitor);
-		if (status != null && status.getSeverity() == IStatus.ERROR)
-			throw new CoreException(status);
-		
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			monitor.subTask(Messages.taskModifyModules);
-			getWorkingCopyDelegate(monitor).modifyModules(add, remove, monitor);
-			wch.setDirty(true);
-			
-			// trigger load of modules list
-			synchronized (modulesLock){
-				getModulesWithoutLock();
-				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;
-					externalModules = getExternalModules();
-					for (int i = 0; i < size; i++) {
-						if (modules.contains(remove[i])) {
-							modules.remove(remove[i]);
-							resetState(new IModule[] { remove[i] }, monitor);
-						}
-						if (externalModules != null && externalModules.contains(remove[i])) {
-							externalModules.remove(remove[i]);
-							resetState(new IModule[] { remove[i] }, monitor);
-						}
-					}
-				}
-				
-				// convert to attribute
-				List<String> list = new ArrayList<String>();
-				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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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
-		}
-	}
-
-	/**
-	 * Sets the defaults for this server, including the name. This method should be
-	 * called when creating a server, or when any major settings (e.g. runtime, host)
-	 * change.
-	 * 
-	 * @param monitor a progress monitor, or null
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		try {
-			ServerUtil.setServerDefaultName(this);
-			getWorkingCopyDelegate(monitor).setDefaults(monitor);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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);
-	}
-
-	public void publish(int kind, List<IModule[]> modules2, IAdaptable info, IOperationListener listener) {
-		if (server != null) {
-			server.publish(kind, modules2, info, listener);
-			return;
-		}
-		listener.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, null));
-	}
-
-	public ILaunch getLaunch() {
-		if (server != null)
-			return server.getLaunch();
-		return null;
-	}
-
-	public ILaunchConfiguration getLaunchConfiguration(boolean create, IProgressMonitor monitor) throws CoreException {
-		if (server != null)
-			return server.getLaunchConfiguration(create, monitor);
-		return 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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_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) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE,
-						"CoreException calling delegate importConfiguration() "
-								+ toString(), ce);
-			}
-			throw ce;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE,
-						"Error calling delegate importConfiguration() "
-								+ toString(), e);
-			}
-		}
-	}
-
-	public void setExternalModules(IModule[] modules) {
-		if (server != null)
-			server.setExternalModules(modules);
-		super.setExternalModules(modules);
-	}
-
-	public List<IModule> getExternalModules() {
-		if (server != null)
-			return server.getExternalModules();
-		return super.getExternalModules();
-	}
-
-	/*
-	 * Break connection with the original server so that this working copy can
-	 * be duplicated. The name *must* be set afterwards to change the id. 
-	 */
-	public void disassociate() {
-		server = null;
-		if (getAttribute(PROP_LOCKED, false))
-			setAttribute(PROP_LOCKED, false);
-		if (getAttribute(PROP_ID_SET, false))
-			setAttribute(PROP_ID_SET, false);
-	}
-	
-	/**
-	 * Checks if a given attribute can be modified, throws an IllegalArgumentException if otherwise 
-	 * @param attributeName
-	 */
-	protected void canModifyAttribute(String attributeName){
-		if (attributeName != null && 
-				PROP_TIMESTAMP.equalsIgnoreCase(attributeName))			
-			throw new IllegalArgumentException("Unmodifiable attribute: "+ attributeName);
-	}
-
-	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 cb1a2fc..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-/**
- * A job for starting the server.
- * 
- * @deprecated - use API directly, it will kick off jobs as required
- */
-public class StartServerJob extends ChainedJob {
-	protected String launchMode;
-
-	public StartServerJob(IServer server, String launchMode) {
-		super(NLS.bind(Messages.jobStarting, server.getName()), server);
-		this.launchMode = launchMode;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		final IStatus[] status = new IStatus[1];
-		getServer().start(launchMode, new IServer.IOperationListener() {
-			public void done(IStatus result) {
-				status[0] = result;
-			}
-		});
-		
-		while (status[0] == null & !monitor.isCanceled()) {
-			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		if (status[0] != null)
-			return status[0];
-		
-		getServer().stop(true, null);
-		return Status.CANCEL_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StopServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StopServerJob.java
deleted file mode 100644
index 3b96933..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StopServerJob.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-/**
- * A job for stopping the server.
- * 
- * @deprecated - use API directly, it will kick off jobs as required
- */
-public class StopServerJob extends ChainedJob {
-	public StopServerJob(IServer server) {
-		super(NLS.bind(Messages.jobStopping, server.getName()), server);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		final IStatus[] status = new IStatus[1];
-		getServer().stop(false, new IServer.IOperationListener() {
-			public void done(IStatus result) {
-				status[0] = result;
-			}
-		});
-		
-		while (status[0] == null & !monitor.isCanceled()) {
-			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return status[0];
-	}
-}
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 370e742..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-
-/**
- * Helper class to route trace output.
- */
-public class Trace implements DebugOptionsListener {
-
-	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS"); //$NON-NLS-1$
-
-	private static Set<String> logged = new HashSet<String>();
-
-	// tracing enablement flags
-	public static boolean CONFIG = false;
-	public static boolean INFO = false;
-	public static boolean WARNING = false;
-	public static boolean SEVERE = false;
-	public static boolean FINER = false;
-	public static boolean FINEST = false;
-	public static boolean RESOURCES = false;
-	public static boolean EXTENSION_POINT = false;
-	public static boolean LISTENERS = false;
-	public static boolean RUNTIME_TARGET = false;
-	public static boolean PERFORMANCE = false;
-	public static boolean PUBLISHING = false;
-
-	// tracing levels. One most exist for each debug option
-	public final static String STRING_CONFIG = "/config"; //$NON-NLS-1$
-	public final static String STRING_INFO = "/info"; //$NON-NLS-1$
-	public final static String STRING_WARNING = "/warning"; //$NON-NLS-1$
-	public final static String STRING_SEVERE = "/severe"; //$NON-NLS-1$
-	public final static String STRING_FINER = "/finer"; //$NON-NLS-1$
-	public final static String STRING_FINEST = "/finest"; //$NON-NLS-1$
-	public final static String STRING_RESOURCES = "/resources"; //$NON-NLS-1$
-	public final static String STRING_EXTENSION_POINT = "/extension_point"; //$NON-NLS-1$
-	public final static String STRING_LISTENERS = "/listeners"; //$NON-NLS-1$
-	public final static String STRING_RUNTIME_TARGET = "/runtime_target"; //$NON-NLS-1$
-	public final static String STRING_PERFORMANCE = "/performance"; //$NON-NLS-1$
-	public final static String STRING_PUBLISHING = "/publishing"; //$NON-NLS-1$
-	
-	/**
-	 * Trace constructor. This should never be explicitly called by clients and is used to register this class with the
-	 * {@link DebugOptions} service.
-	 */
-	public Trace() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.osgi.service.debug.DebugOptionsListener#optionsChanged(org.eclipse.osgi.service.debug.DebugOptions)
-	 */
-	public void optionsChanged(DebugOptions options) {
-		Trace.CONFIG = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_CONFIG, false);
-		Trace.INFO = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_INFO, false);
-		Trace.WARNING = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_WARNING, false);
-		Trace.SEVERE = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_SEVERE, false);
-		Trace.FINER = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_FINER, false);
-		Trace.FINEST = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_FINEST, false);
-		Trace.RESOURCES = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_RESOURCES, false);
-		Trace.EXTENSION_POINT = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_EXTENSION_POINT, false);
-		Trace.LISTENERS = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_LISTENERS, false);
-		Trace.RUNTIME_TARGET = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_RUNTIME_TARGET, false);
-		Trace.PERFORMANCE = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_PERFORMANCE, false);
-		Trace.PUBLISHING = options.getBooleanOption(ServerPlugin.PLUGIN_ID + Trace.STRING_PUBLISHING, false);
-	}
-
-	/**
-	 * Trace the given message.
-	 * 
-	 * @param level
-	 *            The tracing level.
-	 * @param s
-	 *            The message to trace
-	 */
-	public static void trace(final String level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level
-	 *            The tracing level.
-	 * @param s
-	 *            The message to trace
-	 * @param t
-	 *            A {@link Throwable} to trace
-	 */
-	public static void trace(final String level, String s, Throwable t) {
-		if (s == null) {
-			return;
-		}
-		if (Trace.STRING_SEVERE.equals(level)) {
-			if (!logged.contains(s)) {
-				ServerPlugin.log(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, s, t));
-				logged.add(s);
-			}
-		}
-		if (ServerPlugin.getInstance().isDebugging()) {
-			final StringBuffer sb = new StringBuffer(ServerPlugin.PLUGIN_ID);
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(level);
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(sdf.format(new Date()));
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(s);
-			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 b32b5a0..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/UpdateServerJob.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.core.runtime.jobs.Job;
-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 Job {
-	/**
-	 * An action to update the status of a server.
-	 * 
-	 * @param server a server
-	 */
-	private IServer[] servers;
-
-	public UpdateServerJob(IServer[] servers2) {
-		super(Messages.jobUpdatingServers);
-		this.servers = servers2;	
-	}
-
-	public IStatus run(IProgressMonitor monitor) {
-		for (IServer server : servers){
-			if (server.getServerType() != null && server.getServerState() == IServer.STATE_UNKNOWN) {
-				monitor.subTask(NLS.bind(Messages.jobUpdateServer, server.getName()));
-				server.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 104f079..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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<PropertyChangeListener> propertyListeners;
-
-	public WorkingCopyHelper(Base base) {
-		this.base = base;
-	}
-
-	public void setAttribute(String attributeName, int value) {
-		int current = base.getAttribute(attributeName, 0);
-		if (base.isAttributeSet(attributeName) && 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);
-		if (base.isAttributeSet(attributeName) && current == value)
-			return;
-		
-		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 (base.isAttributeSet(attributeName) && 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<String> value) {
-		List current = base.getAttribute(attributeName, (List<String>)null);
-		if (base.isAttributeSet(attributeName) && 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 (base.isAttributeSet(attributeName) && 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<PropertyChangeListener>(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) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE,
-								"Error firing property change event", e);
-					}
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error in property event", e);
-			}
-		}
-	}
-
-	protected void setDirty(boolean dirty) {
-		isDirty = dirty;
-	}
-}
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 caaefc4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,390 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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);
-	}
-
-	/**
-	 * 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.
-		List<Element> list = new ArrayList<Element>(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, 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 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<String> getNames() {
-		NamedNodeMap map = element.getAttributes();
-		int size = map.getLength();
-		List<String> list = new ArrayList<String>();
-		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
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to a Writer.
-	 * 
-	 * @throws IOException if there is a problem saving
-	 */
-	public void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
-			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
-			transformer.transform(source, result);
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Saves the memento to the given file.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 */
-	public void saveToFile(String filename) throws IOException {
-		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/facets/FacetMappingUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java
deleted file mode 100644
index e75f5be..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.facets;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * The main server tooling plugin class.
- */
-public class FacetMappingUtil extends Plugin {
-	//	cached copy of all runtime component providers
-	private static List<RuntimeComponentProviderWrapper> runtimeComponentProviders;
-
-	//	cached copy of all runtime facet mappings
-	private static List<RuntimeFacetMapping> runtimeFacetMappings;
-
-	/**
-	 * Returns an array of all known runtime facet mapping 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 facet mapping instances
-	 *    {@link RuntimeFacetMapping}
-	 */
-	public static RuntimeFacetMapping[] getRuntimeFacetMapping() {
-		if (runtimeFacetMappings == null)
-			loadRuntimeFacetMapping();
-		
-		RuntimeFacetMapping[] rfm = new RuntimeFacetMapping[runtimeFacetMappings.size()];
-		runtimeFacetMappings.toArray(rfm);
-		return rfm;
-	}
-
-	/**
-	 * Uses the runtime component provider(s) that supports the given runtime to add
-	 * additional runtime components to the list.
-	 * The runtimeType may not be null.
-	 *
-	 * @param runtime a runtime
-	 * @param components the existing list of components
-	 */
-	public static void addFacetRuntimeComponents(IRuntime runtime, List<IRuntimeComponent> components) {
-		if (runtime == null || runtime.getRuntimeType() == null)
-			throw new IllegalArgumentException();
-		
-		if (runtimeComponentProviders == null)
-			loadRuntimeComponentProviders();
-		
-		Iterator<RuntimeComponentProviderWrapper> iterator = runtimeComponentProviders.iterator();
-		while (iterator.hasNext()) {
-			RuntimeComponentProviderWrapper runtimeComponentProvider = iterator.next();
-			if (runtimeComponentProvider.supportsRuntimeType(runtime.getRuntimeType())) {
-				List<IRuntimeComponent> list = runtimeComponentProvider.getComponents(runtime);
-				if (list != null)
-					components.addAll(list);
-			}
-		}
-	}
-
-	/**
-	 * Load the runtime component providers.
-	 */
-	private static synchronized void loadRuntimeComponentProviders() {
-		if (runtimeComponentProviders != null)
-			return;
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .runtimeFacetComponentProviders extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeFacetComponentProviders");
-		
-		// load new wst extension point
-		List<RuntimeComponentProviderWrapper> list = new ArrayList<RuntimeComponentProviderWrapper>(cf.length);
-		for (IConfigurationElement ce : cf) {
-			try {
-				list.add(new RuntimeComponentProviderWrapper(ce));
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded runtimeFacetComponentProvider: " + ce.getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Could not load runtimeFacetComponentProvider: "
-									+ ce.getAttribute("id"), t);
-				}
-			}
-		}
-		
-		// load old jst extension point
-		cf = registry.getConfigurationElementsFor("org.eclipse.jst.server.core.internalRuntimeComponentProviders");
-		
-		for (IConfigurationElement ce : cf) {
-			try {
-				list.add(new RuntimeComponentProviderWrapper(ce));
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded runtimeFacetComponentProvider: " + ce.getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Could not load runtimeFacetComponentProvider: "
-									+ ce.getAttribute("id"), t);
-				}
-			}
-		}
-		runtimeComponentProviders = list;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .runtimeFacetComponentProviders extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the runtime facet mappings.
-	 */
-	private static synchronized void loadRuntimeFacetMapping() {
-		if (runtimeFacetMappings != null)
-			return;
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .runtimeFacetMapping extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor("org.eclipse.jst.server.core.runtimeFacetMappings");
-		
-		List<RuntimeFacetMapping> list = new ArrayList<RuntimeFacetMapping>(cf.length);
-		for (IConfigurationElement ce : cf) {
-			try {
-				list.add(new RuntimeFacetMapping(ce));
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG,
-							"  Loaded runtimeFacetMapping: " + ce.getAttribute("runtimeTypeId"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(
-							Trace.STRING_SEVERE,
-							"  Could not load runtimeFacetMapping: "
-									+ ce.getAttribute("id"), t);
-				}
-			}
-		}
-		runtimeFacetMappings = list;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .runtimeFacetMapping extension point -<-");
-		}
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetUtil.java
deleted file mode 100644
index 1558a25..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetUtil.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.facets;
-
-import java.util.Iterator;
-import java.util.Set;
-
-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.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Messages;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * Utility class for converting between facet runtimes and server runtimes.
- * <p>
- * This class provides all its functionality through static members.
- * It is not intended to be subclassed or instantiated.
- * </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>
- */
-public final class FacetUtil {
-	/**
-	 * Static utility class - cannot create an instance.
-	 */
-	private FacetUtil() {
-		// can't create
-	}
-
-	/**
-	 * Returns the server runtime that corresponds to a facet runtime, or null
-	 * if none could be found.
-	 * 
-	 * @param runtime a facet runtime
-	 * @return the server runtime that corresponds to the facet runtime, or
-	 *    <code>null</code> if none could be found.
-	 */
-	public static IRuntime getRuntime(org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime) {
-		if (runtime == null)
-			throw new IllegalArgumentException();
-		
-		String id = runtime.getProperty("id");
-		if (id == null)
-			return null;
-		
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		for (IRuntime r : runtimes) {
-			if (id.equals(r.getId()))
-				return r;
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Returns the facet runtime that corresponds to a server runtime, or null
-	 * if none could be found.
-	 * 
-	 * @param runtime a server runtime
-	 * @return the facet runtime that corresponds to the server runtime, or
-	 *    <code>null</code> if none could be found.
-	 */
-	public static org.eclipse.wst.common.project.facet.core.runtime.IRuntime getRuntime(IRuntime runtime) {
-		if (runtime == null)
-			throw new IllegalArgumentException();
-		
-		String id = runtime.getId();
-		if (id == null)
-			return null;
-		
-		Set runtimes = RuntimeManager.getRuntimes();
-		Iterator iterator = runtimes.iterator();
-		while (iterator.hasNext()) {
-			org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = (org.eclipse.wst.common.project.facet.core.runtime.IRuntime) iterator.next();
-			if (id.equals(runtime2.getProperty("id")))
-				return runtime2;
-		}
-		return null;
-	}
-
-	/**
-	 * Tests whether the facets on a project are supported by a given server. Returns
-	 * an OK status if the server's runtime supports the project's facets, and an
-	 * ERROR status (with message) if it doesn't.
-	 * 
-	 * @param project a project
-	 * @param server a server
-	 * @return OK status if the server's runtime supports the project's facets, and an
-	 *    ERROR status (with message) if it doesn't
-	 */
-	public static final IStatus verifyFacets(IProject project, IServer server) {
-		if (server == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorNoRuntime, null);
-		IRuntime runtime = server.getRuntime();
-		if (runtime == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorNoRuntime, null);
-		
-		org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = getRuntime(runtime);
-		
-		if (runtime2 == null) // bug 150194 - what do we do if the facet runtime doesn't exist yet
-			return Status.OK_STATUS;
-		
-		try {
-			IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-			Iterator iterator = facetedProject.getProjectFacets().iterator();
-			while (iterator.hasNext()) {
-				IProjectFacetVersion facet = (IProjectFacetVersion) iterator.next();
-				if (!runtime2.supports(facet))
-					return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorFacet, facet.getProjectFacet().getLabel(), facet.getVersionString()), null);
-			}
-		} catch (CoreException ce) {
-			return ce.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-	
-	/**
-	 * Returns true if the given runtime is being targeted by the facet
-	 * framework, and false otherwise.
-	 * 
-	 * @param runtime a runtime
-	 * @return <code>true</code> if the runtime is in use, and <code>false</code>
-	 *    otherwise
-	 */
-	public static boolean isRuntimeTargeted(IRuntime runtime) {
-		try {
-			org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = getRuntime(runtime);
-			
-			IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			if (projects != null) {
-				for (IProject project : projects) {
-					IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-					if (facetedProject != null) {
-						Set<org.eclipse.wst.common.project.facet.core.runtime.IRuntime> set = facetedProject.getTargetedRuntimes();
-						if (set != null && set.contains(runtime2))
-							return true;
-					}
-				}
-			}
-		} catch (Throwable t) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Could not determine if runtime is in use", t);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Removes the given runtime from the target of all projects.
-	 * 
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *   reporting and cancellation are not desired
-	 * @throws CoreException if failed for any reason
-	 */
-	public static void removeTargets(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		try {
-			org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = getRuntime(runtime);
-			
-			IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			if (projects != null) {
-				for (IProject project : projects) {
-					IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-					if (facetedProject != null) {
-						Set<org.eclipse.wst.common.project.facet.core.runtime.IRuntime> set = facetedProject.getTargetedRuntimes();
-						if (set != null && set.contains(runtime2))
-							facetedProject.removeTargetedRuntime(runtime2, monitor);
-					}
-				}
-			}
-		} catch (CoreException ce) {
-			throw ce;
-		} catch (Throwable t) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING,
-						"Could not remove runtime target", t);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
deleted file mode 100644
index bbb0b7b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007,2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    IBM Corporation - Support for all server types
- *******************************************************************************/
-package org.eclipse.wst.server.core.internal.facets;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.common.project.facet.core.runtime.*;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Runtime;
-import org.eclipse.wst.server.core.internal.RuntimeType;
-/**
- * 
- */
-public class RuntimeBridge implements IRuntimeBridge {
-	protected static Map<String, List<IRuntimeComponentVersion>> mappings = new HashMap<String, List<IRuntimeComponentVersion>>();
-
-	static {
-		initialize();
-	}
-
-	private static void addMapping(String id, String id2, String version) {
-		List<IRuntimeComponentVersion> list = null;
-		try {
-			list = mappings.get(id);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		if (list == null)
-			list = new ArrayList<IRuntimeComponentVersion>(2);
-		
-		try {
-			list.add(RuntimeManager.getRuntimeComponentType(id2).getVersion(version));
-			mappings.put(id, list);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	private static void initialize() {
-		// add runtime mappings
-		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
-		int size = runtimeTypes.length;
-		for (int i = 0; i < size; i++) {
-			RuntimeType rt = (RuntimeType) runtimeTypes[i];
-			String component = rt.getFacetRuntimeComponent();
-			String version = rt.getFacetRuntimeVersion();
-			if (component != null && !"".equals(component) && version != null && !"".equals(version))
-				addMapping(rt.getId(), component, version);
-		}
-		
-		// add extension mappings
-		RuntimeFacetMapping[] rfms = FacetMappingUtil.getRuntimeFacetMapping();
-		size = rfms.length;
-		for (int i = 0; i < size; i++)
-			addMapping(rfms[i].getRuntimeTypeId(), rfms[i].getRuntimeComponent(), rfms[i].getVersion());
-		
-		// generic runtimes
-		addMapping("org.eclipse.jst.server.generic.runtime.jboss323", "org.eclipse.jst.server.generic.runtime.jboss", "3.2.3");
-
-		addMapping("org.eclipse.jst.server.generic.runtime.jonas4", "org.eclipse.jst.server.generic.runtime.jonas", "4.0");
-		
-		addMapping("org.eclipse.jst.server.generic.runtime.oracle1013", "org.eclipse.jst.server.generic.runtime.oracle", "10.1.3");
-		
-		addMapping("org.eclipse.jst.server.generic.runtime.websphere.6", "org.eclipse.jst.server.generic.runtime.websphere", "6.0");
-	}
-
-	public Set<String> getExportedRuntimeNames() throws CoreException {
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		Set<String> result = new HashSet<String>(runtimes.length);
-		
-		for (int i = 0; i < runtimes.length; i++) {
-			IRuntime runtime = runtimes[i];
-			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null && mappings.containsKey(runtimeType.getId())) {
-				result.add(runtime.getId());
-			}
-		}
-		
-		return result;
-	}
-
-	public IStub bridge(String name) throws CoreException {
-		if (name == null)
-			throw new IllegalArgumentException();
-		return new Stub(name);
-	}
-
-	private static class Stub extends IRuntimeBridge.Stub {
-		private String id;
-
-		public Stub(String id) {
-			this.id = id;
-		}
-
-		public List<IRuntimeComponent> getRuntimeComponents() {
-			List<IRuntimeComponent> components = new ArrayList<IRuntimeComponent>(2);
-			final IRuntime runtime = findRuntime( this.id );
-			
-			if (runtime == null)
-				return components;
-			
-			// define server runtime component
-			Map<String, String> properties = new HashMap<String, String>(5);
-			if (runtime.getLocation() != null)
-				properties.put("location", runtime.getLocation().toPortableString());
-			else
-				properties.put("location", "");
-			properties.put("name", runtime.getName());
-			properties.put("id", runtime.getId());
-			if (runtime.getRuntimeType() != null) {
-				properties.put("type", runtime.getRuntimeType().getName());
-				properties.put("type-id", runtime.getRuntimeType().getId());
-			}
-			
-			String typeId = runtime.getRuntimeType().getId();
-			if (mappings.containsKey(typeId)) {
-				ArrayList list = (ArrayList) mappings.get(typeId);
-				int size = list.size();
-				for (int i = 0; i < size; i++) {
-					IRuntimeComponentVersion mapped = (IRuntimeComponentVersion) list.get(i);
-					components.add(RuntimeManager.createRuntimeComponent(mapped, properties));
-				}
-			}
-			
-			FacetMappingUtil.addFacetRuntimeComponents(runtime, components);
-			
-			return components;
-		}
-
-		public Map<String, String> getProperties() {
-			final Map<String, String> props = new HashMap<String, String>();
-            final IRuntime runtime = findRuntime( this.id );
-			if (runtime != null) {
-				props.put("id", runtime.getId());
-				props.put("localized-name", runtime.getName());
-				String s = ((Runtime)runtime).getAttribute("alternate-names", (String)null);
-				if (s != null)
-				    props.put("alternate-names", s);
-			}
-			return props;
-		}
-		
-		public IStatus validate(final IProgressMonitor monitor) {
-            final IRuntime runtime = findRuntime( this.id );
-            if( runtime != null ) {
-                return runtime.validate( monitor );
-            }
-            return Status.OK_STATUS; 
-		}
-		
-		private static final IRuntime findRuntime( final String id )
-		{
-	        IRuntime[] runtimes = ServerCore.getRuntimes();
-	        int size = runtimes.length;
-
-	        for (int i = 0; i < size; i++) {
-	            if (runtimes[i].getId().equals(id))
-	                return runtimes[i];
-	            if (runtimes[i].getName().equals(id))
-	                return runtimes[i];
-
-	        }
-	        return null;
-	    }
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
deleted file mode 100644
index 5909e61..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.facets;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-/**
- * 
- */
-public class RuntimeComponentProviderWrapper {
-	private IConfigurationElement element;
-	private RuntimeFacetComponentProviderDelegate delegate;
-
-	/**
-	 * Create a new runtime component handler.
-	 * 
-	 * @param element a configuration element
-	 */
-	public RuntimeComponentProviderWrapper(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	public String[] getRuntimeTypeIds() {
-		try {
-			List<String> list = new ArrayList<String>();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not parse runtime type ids: " + element);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the getServerResources() method.
-	 *
-	 * @param runtimeType a runtime type
-	 * @return boolean
-	 */
-	public boolean supportsRuntimeType(IRuntimeType runtimeType) {
-		if (runtimeType == null)
-			return false;
-		String id = runtimeType.getId();
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getRuntimeTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * Loads the delegate class.
-	 */
-	protected RuntimeFacetComponentProviderDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (RuntimeFacetComponentProviderDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				ServerPlugin.logExtensionFailure(toString(), t);
-			}
-		}
-		return delegate;
-	}
-
-	/*
-	 * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
-	 */
-	public List<IRuntimeComponent> getComponents(IRuntime runtime) {
-		if (runtime == null)
-			return null;
-		try {
-			return getDelegate().getRuntimeComponents(runtime);
-		} catch (Exception e) {
-			ServerPlugin.logExtensionFailure(toString(), e);
-		}
-		return null;
-	}
-
-	public String toString() {
-		return "RuntimeComponentProviderWrapper[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
deleted file mode 100644
index f943c3f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.facets;
-
-import java.util.List;
-
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * A runtime component provider can provide additional runtime components for a facet runtime.
- * This provider is scoped by runtime type and may provide components for multiple
- * runtime instances.
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>internalRuntimeComponentProviders</code> extension point.
- * </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>
- * 
- * @plannedfor 2.0
- */
-public abstract class RuntimeFacetComponentProviderDelegate {
-	public RuntimeFacetComponentProviderDelegate() {
-		// default constructor
-	}
-
-	/**
-	 * Add runtime components to the given runtime. Components should be created by calling
-	 * RuntimeManager.createRuntimeComponent(IRuntimeComponentVersion, Map)
-	 * 
-	 * @param runtime a server runtime
-	 * @return a list of runtimes, or an empty list or null if there are no additional components
-	 */
-	public abstract List<IRuntimeComponent> getRuntimeComponents(IRuntime runtime);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetMapping.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetMapping.java
deleted file mode 100644
index c12e9ec..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetMapping.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.facets;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-/**
- * 
- */
-public class RuntimeFacetMapping {
-	private IConfigurationElement element;
-
-	/**
-	 * Create a new runtime facet mapping.
-	 * 
-	 * @param element a configuration element
-	 */
-	public RuntimeFacetMapping(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getRuntimeTypeId() {
-		return element.getAttribute("runtimeTypeId");
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getVersion() {
-		return element.getAttribute("version");
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getRuntimeComponent() {
-		return element.getAttribute("runtime-component");
-	}
-
-	public String toString() {
-		return "RuntimeFacetMapping[" + getId() + "]";
-	}
-}
\ 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 d82f810..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, 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.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/internal/tar/TarEntry.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarEntry.java
deleted file mode 100644
index 32bd857..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarEntry.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.tar;
-/**
- * Representation of a file in a tar archive.
- * <p>
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.
- * </p>
- */
-public class TarEntry implements Cloneable {
-	private String name;
-	private long mode, time, size;
-	private int type;
-	int filepos;
-
-	/**
-	 * Entry type for normal files.
-	 */
-	public static final int FILE = '0';
-
-	/**
-	 * Entry type for directories.
-	 */
-	public static final int DIRECTORY = '5';
-	
-	/**
-	 * Create a new TarEntry for a file of the given name at the
-	 * given position in the file.
-	 * 
-	 * @param name filename
-	 * @param pos position in the file in bytes
-	 */
-	TarEntry(String name, int pos) {
-		this.name = name;
-		mode = 0644;
-		type = FILE;
-		filepos = pos;
-		time = System.currentTimeMillis() / 1000;
-	}
-
-	/**
-	 * Create a new TarEntry for a file of the given name.
-	 * 
-	 * @param name filename
-	 */
-	public TarEntry(String name) {
-		this(name, -1);
-	}
-
-	/**
-	 * Returns the type of this file, one of FILE, LINK, SYM_LINK,
-	 * CHAR_DEVICE, BLOCK_DEVICE, DIRECTORY or FIFO.
-	 * 
-	 * @return file type
-	 */
-	public int getFileType() {
-		return type;
-	}
-
-	/**
-	 * Returns the mode of the file in UNIX permissions format.
-	 * 
-	 * @return file mode
-	 */
-	public long getMode() {
-		return mode;
-	}
-
-	/**
-	 * Returns the name of the file.
-	 * 
-	 * @return filename
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the size of the file in bytes.
-	 * 
-	 * @return filesize
-	 */
-	public long getSize() {
-		return size;
-	}
-
-	/**
-	 * Returns the modification time of the file in seconds since January
-	 * 1st 1970.
-	 * 
-	 * @return time
-	 */
-	public long getTime() {
-		return time;
-	}
-
-	/**
-	 * Sets the type of the file, one of FILE, LINK, SYMLINK, CHAR_DEVICE,
-	 * BLOCK_DEVICE, or DIRECTORY.
-	 * 
-	 * @param type
-	 */
-	public void setFileType(int type) {
-		this.type = type;
-	}
-
-	/**
-	 * Sets the mode of the file in UNIX permissions format.
-	 * 
-	 * @param mode
-	 */
-	public void setMode(long mode) {
-		this.mode = mode;
-	}
-
-	/**
-	 * Sets the size of the file in bytes.
-	 * 
-	 * @param size
-	 */
-	public void setSize(long size) {
-		this.size = size;
-	}
-
-	/**
-	 * Sets the modification time of the file in seconds since January
-	 * 1st 1970.
-	 * 
-	 * @param time
-	 */
-	public void setTime(long time) {
-		this.time = time;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarException.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarException.java
deleted file mode 100644
index 1a3b1fd..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.tar;
-
-import java.io.IOException;
-/**
- * Exception generated upon encountering corrupted tar files.
- * <p>
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.
- * </p>
- */
-public class TarException extends IOException {
-	/**
-	 * Generated serial version UID for this class.
-	 */
-	private static final long serialVersionUID = 2886671254518853528L;
-
-    /**
-     * Constructs a TarException without a detail string.
-     */
-    public TarException() {
-    	super();
-    }
-	
-	/**
-     * Constructs a TarException with the specified detail string.
-     *
-     * @param s the detail string
-     */
-    public TarException(String s) {
-    	super(s);
-    }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarFile.java
deleted file mode 100644
index 0d97478..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarFile.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.tar;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.zip.GZIPInputStream;
-/**
- * Reads a .tar or .tar.gz archive file, providing an index enumeration
- * and allows for accessing an InputStream for arbitrary files in the
- * archive.
- * <p>
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.
- * </p>
- */
-public class TarFile {
-	private File file;
-	protected TarInputStream entryEnumerationStream;
-	protected TarEntry curEntry;
-	private TarInputStream entryStream;
-	
-	/**
-	 * Create a new TarFile for the given file.
-	 * 
-	 * @param file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarFile(File file) throws TarException, IOException {
-		this.file = file;
-
-		InputStream in = new FileInputStream(file);
-		// First, check if it's a GZIPInputStream.
-		try {
-			in = new GZIPInputStream(in);
-		} catch(IOException e) {
-			//If it is not compressed we close
-			//the old one and recreate
-			in.close();		
-			in = new FileInputStream(file);
-		}
-		entryEnumerationStream = new TarInputStream(in);
-		curEntry = entryEnumerationStream.getNextEntry();
-	}
-	
-	/**
-	 * Close the tar file input stream.
-	 * 
-	 * @throws IOException if the file cannot be successfully closed
-	 */
-	public void close() throws IOException {
-		entryEnumerationStream.close();
-	}
-
-	/**
-	 * Create a new TarFile for the given path name.
-	 * 
-	 * @param filename
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarFile(String filename) throws TarException, IOException {
-		this(new File(filename));
-	}
-
-	/**
-	 * Returns an enumeration cataloguing the tar archive.
-	 * 
-	 * @return enumeration of all files in the archive
-	 */
-	public Enumeration entries() {
-		return new Enumeration() {			
-			public boolean hasMoreElements() {
-				return (curEntry != null);
-			}
-			
-			public Object nextElement() {
-				TarEntry oldEntry = curEntry;
-				try {
-					curEntry = entryEnumerationStream.getNextEntry();
-				} catch(TarException e) {
-					curEntry = null;
-				} catch(IOException e) {
-					curEntry = null;
-				}
-				return oldEntry;
-			}
-		};
-	}
-
-	/**
-	 * Returns a new InputStream for the given file in the tar archive.
-	 * 
-	 * @param entry
-	 * @return an input stream for the given file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public InputStream getInputStream(TarEntry entry) throws TarException, IOException {
-		if(entryStream == null || !entryStream.skipToEntry(entry)) {
-			InputStream in = new FileInputStream(file);
-			// First, check if it's a GZIPInputStream.
-			try {
-				in = new GZIPInputStream(in);
-			} catch(IOException e) {
-				in = new FileInputStream(file);
-			}
-			entryStream = new TarInputStream(in, entry) {
-				public void close() {
-					// Ignore close() since we want to reuse the stream.
-				}
-			};
-		}
-		if(entryStream == null) {
-			System.out.println("huh?"); //$NON-NLS-1$
-		}
-		return entryStream;
-	}
-
-	/**
-	 * Returns the path name of the file this archive represents.
-	 * 
-	 * @return path
-	 */
-	public String getName() {
-		return file.getPath();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarInputStream.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarInputStream.java
deleted file mode 100644
index edbdd1f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarInputStream.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tar;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-/**
- * Input stream for reading files in ustar format (tar) compatible
- * with the specification in IEEE Std 1003.1-2001.  Also supports
- * long filenames encoded using the GNU @LongLink extension.
- * <p>
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.
- * </p>
- */
-public class TarInputStream extends FilterInputStream {
-	private int nextEntry = 0;
-	private int nextEOF = 0;
-	private int filepos = 0;
-	private int bytesread = 0;
-	private TarEntry firstEntry = null;
-	private String longLinkName = null;
-
-	/**
-	 * Creates a new tar input stream on the given input stream.
-	 * 
-	 * @param in input stream
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarInputStream(InputStream in) throws TarException, IOException {
-		super(in);
-
-		// Read in the first TarEntry to make sure
-		// the input is a valid tar file stream.
-		firstEntry = getNextEntry();
-	}
-
-	/**
-	 * Create a new tar input stream, skipping ahead to the given entry
-	 * in the file.
-	 * 
-	 * @param in input stream
-	 * @param entry skips to this entry in the file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	TarInputStream(InputStream in, TarEntry entry) throws TarException, IOException {
-		super(in);
-		skipToEntry(entry);
-	}
-
-	/**
-	 *  The checksum of a tar file header is simply the sum of the bytes in
-	 *  the header.
-	 * 
-	 * @param header
-	 * @return checksum
-	 */
-	private long headerChecksum(byte[] header) {
-		long sum = 0;
-		for(int i = 0; i < 512; i++) {
-			sum += header[i] & 0xff;
-		}
-		return sum;
-	}
-
-	/**
-	 * Skips ahead to the position of the given entry in the file.
-	 * 
-	 * @param entry
-	 * @returns false if the entry has already been passed
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	boolean skipToEntry(TarEntry entry) throws TarException, IOException {
-		int bytestoskip = entry.filepos - bytesread;
-		if(bytestoskip < 0) {
-			return false;
-		}
-		while(bytestoskip > 0) {
-			long ret = in.skip(bytestoskip);
-			if(ret < 0) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			bytestoskip -= ret;
-			bytesread += ret;
-		}
-		filepos = entry.filepos;
-		nextEntry = 0;
-		nextEOF = 0;
-		// Read next header to seek to file data.
-		getNextEntry();
-		return true;
-	}
-
-	/**
-	 * Returns true if the header checksum is correct.
-	 * 
-	 * @param header
-	 * @return true if this header has a valid checksum
-	 */
-	private boolean isValidTarHeader(byte[] header) {
-		long fileChecksum, calculatedChecksum;
-		int pos, i;
-		
-		pos = 148;
-		StringBuffer checksumString = new StringBuffer();
-		for(i = 0; i < 8; i++) {
-			if(header[pos + i] == ' ') {
-				continue;
-			}
-			if(header[pos + i] == 0 || !Character.isDigit((char) header[pos + i])) {
-				break;
-			}
-			checksumString.append((char) header[pos + i]);
-		}
-		if(checksumString.length() == 0) {
-			return false;
-		}
-		if(checksumString.charAt(0) != '0') {
-			checksumString.insert(0, '0');
-		}
-		try {
-			fileChecksum = Long.decode(checksumString.toString()).longValue();
-		} catch(NumberFormatException exception) {
-			//This is not valid if it cannot be parsed
-			return false;
-		}
-
-		// Blank out the checksum.
-		for(i = 0; i < 8; i++) {
-			header[pos + i] = ' ';
-		}
-		calculatedChecksum = headerChecksum(header);
-
-		return (fileChecksum == calculatedChecksum);
-	}
-
-	/**
-	 * Returns the next entry in the tar file.  Does not handle
-	 * GNU @LongLink extensions.
-	 * 
-	 * @return the next entry in the tar file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	TarEntry getNextEntryInternal() throws TarException, IOException {
-		byte[] header = new byte[512];
-		int pos = 0;
-		int i;
-
-		if(firstEntry != null) {
-			TarEntry entryReturn = firstEntry;
-			firstEntry = null;
-			return entryReturn;
-		}
-
-		while(nextEntry > 0) {
-			long ret = in.skip(nextEntry);
-			if(ret < 0) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			nextEntry -= ret;
-			bytesread += ret;
-		}
-
-		int bytestoread = 512;
-		while(bytestoread > 0) {
-			int ret = super.read(header, 512 - bytestoread, bytestoread);
-			if( ret < 0 ) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			bytestoread -= ret;
-			bytesread += ret;
-		}
-
-		// If we have a header of all zeros, this marks the end of the file.
-		if(headerChecksum(header) == 0) {
-			// We are at the end of the file.
-			if(filepos > 0) {
-				return null;
-			}
-			
-			// Invalid stream.
-			throw new TarException("not in tar format"); //$NON-NLS-1$
-		}
-		
-		// Validate checksum.
-		if(!isValidTarHeader(header)) {
-			throw new TarException("not in tar format"); //$NON-NLS-1$
-		}
-
-		while (pos < 100 && header[pos] != 0) {
-			pos++;
-		}
-		String name = new String(header, 0, pos, "UTF8"); //$NON-NLS-1$
-		// Prepend the prefix here.
-		pos = 345;
-		if(header[pos] != 0) {
-			while (pos < 500 && header[pos] != 0) {
-				pos++;
-			}
-			String prefix = new String(header, 345, pos - 345, "UTF8"); //$NON-NLS-1$
-			name = prefix + "/" + name; //$NON-NLS-1$
-		}
-		
-		TarEntry entry;
-		if(longLinkName != null) {
-			entry = new TarEntry(longLinkName, filepos);
-			longLinkName = null;
-		} else {
-			entry = new TarEntry(name, filepos);
-		}
-		if(header[156] != 0) {
-			entry.setFileType(header[156]);
-		}
-		
-		pos = 100;
-		StringBuffer mode = new StringBuffer();
-		for(i = 0; i < 8; i++) {
-			if(header[pos + i] == 0) {
-				break;
-			}
-			if(header[pos + i] == ' ') {
-				continue;
-			}
-			mode.append((char) header[pos + i]);
-		}
-		if(mode.length() > 0 && mode.charAt(0) != '0') {
-			mode.insert(0, '0');
-		}
-		try {
-			long fileMode = Long.decode(mode.toString()).longValue();
-			entry.setMode(fileMode);
-		} catch(NumberFormatException nfe) { // TODO
-			throw new TarException("TarImport_invalid_tar_format" + nfe);
-		}
-		
-		pos = 100 + 24;
-		StringBuffer size = new StringBuffer();
-		for(i = 0; i < 12; i++) {
-			if(header[pos + i] == 0) {
-				break;
-			}
-			if(header[pos + i] == ' ') {
-				continue;
-			}
-			size.append((char) header[pos + i]);
-		}
-		if(size.charAt(0) != '0') {
-			size.insert(0, '0');
-		}
-		int fileSize;
-		try {
-			fileSize = Integer.decode(size.toString()).intValue();
-		} catch(NumberFormatException nfe) { // TODO
-			throw new TarException("DataTransferMessages.TarImport_invalid_tar_format" + nfe);
-		}
-
-		entry.setSize(fileSize);
-		nextEOF = fileSize;
-		if(fileSize % 512 > 0) {
-			nextEntry = fileSize + (512 - (fileSize % 512));
-		} else {
-			nextEntry = fileSize;
-		}
-		filepos += (nextEntry + 512);
-		return entry;
-	}
-
-	/**
-	 * Moves ahead to the next file in the tar archive and returns
-	 * a TarEntry object describing it.
-	 * 
-	 * @return the next entry in the tar file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarEntry getNextEntry() throws TarException, IOException {
-		TarEntry entry = getNextEntryInternal();
-
-		if(entry != null && entry.getName().equals("././@LongLink")) { //$NON-NLS-1$
-			// This is a GNU extension for doing long filenames.
-			// We get a file called ././@LongLink which just contains
-			// the real pathname.
-			byte[] longNameData = new byte[(int) entry.getSize()];
-			int bytesread2 = 0;
-			while (bytesread2 < longNameData.length) {
-				int cur = read(longNameData, bytesread2, longNameData.length - bytesread2);
-				if (cur < 0) {
-					throw new IOException("early end of stream"); //$NON-NLS-1$
-				}
-				bytesread2 += cur;
-			}
-
-			int pos = 0;
-			while (pos < longNameData.length && longNameData[pos] != 0) {
-				pos++;
-			}
-			longLinkName = new String(longNameData, 0, pos, "UTF8"); //$NON-NLS-1$
-			return getNextEntryInternal();
-		}
-		return entry;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.io.FilterInputStream#read(byte[], int, int)
-	 */
-	public int read(byte[] b, int off, int len) throws IOException {
-		if(nextEOF == 0) {
-			return -1;
-		}
-		if(len > nextEOF) {
-			len = nextEOF;
-		}
-		int size = super.read(b, off, len);
-		nextEntry -= size;
-		nextEOF -= size;
-		bytesread += size;
-		return size;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.io.FilterInputStream#read()
-	 */
-	public int read() throws IOException {
-		byte[] data = new byte[1];
-		int size = read(data, 0, 1);
-		if (size < 0) {
-			return size;
-		}
-		return data[0];
-	}
-}
\ 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 06acc5e..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, 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.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 5a7e018..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, 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.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 3c69667..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, 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.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 4745080..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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();
-}
\ 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/IURLProvider2.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider2.java
deleted file mode 100644
index 3c11d61..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-
-/**
- * An interface for providing URLs for a module published
- * to the server.
- * 
- * @since 1.0
- */
-public interface IURLProvider2 extends IURLProvider {
-
-	/**
-	 * Returns a URL (e.g. "http://localhost:8080/myProject/myServlet") that can be used to launch
-	 * a browser pointing to a specific resource inside a module.    
-	 * @return
-	 */
-	public URL getLaunchableURL();
-
-}
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 4995479..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactAdapterDelegate.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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.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);
-
-	/**
-	 * 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 IModuleArtifact[] getModuleArtifacts(Object obj) {
-		IModuleArtifact artifact = getModuleArtifact(obj);
-		if (artifact != null)
-			return new IModuleArtifact[] { artifact };
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactDelegate.java
deleted file mode 100644
index 3c3c859..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactDelegate.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.model;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * 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 to this type will be considered by the
- * contextual Run on Server launch support.  
- * </p>
- * <p>
- * Subclasses should provide a default (no-arg) constructor, implement
- * the serialize/deserialize methods, and provide a useful name.
- * </p>
- * 
- * @see org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate
- * @since 2.0
- */
-public abstract class ModuleArtifactDelegate implements IModuleArtifact {
-	private IModule module;
-
-	/**
-	 * Create a new module artifact.
-	 * 
-	 * @param module a module
-	 */
-	public ModuleArtifactDelegate(IModule module) {
-		this.module = module;
-	}
-
-	/**
-	 * Create a new module artifact.
-	 */
-	public ModuleArtifactDelegate() {
-		super();
-	}
-
-	/**
-	 * @see IModuleArtifact#getModule()
-	 */
-	public IModule getModule() {
-		return module;
-	}
-
-	/**
-	 * Returns a user-presentable name for this artifact.
-	 * 
-	 * @return a user-presentable name
-	 */
-	public abstract String getName();
-
-	/**
-	 * Serialize this object into a string.
-	 *  
-	 * @return a serialized string
-	 */
-	public String serialize() {
-		return module.getId();
-	}
-
-	/**
-	 * Deserialize this object from a serialized string.
-	 * 
-	 * @param s a serialized string.
-	 */
-	public void deserialize(String s) {
-		this.module = ServerUtil.getModule(s);
-	}
-}
\ 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 7b144be..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 path relative to its parent of the given module contained within this application
-	 * 
-	 * @param m a module within this application
-	 * @return the path of the given module with respect to the parent, or <code>null</code> if the path could
-	 *    not be found
-	 */	
-	public String getPath(IModule m){
-		return null;
-	}
-	
-	/**
-	 * 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 fe57cc5..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.List;
-
-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.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Module;
-import org.eclipse.wst.server.core.internal.ModuleFactory;
-import org.eclipse.wst.server.core.internal.Server;
-/**
- * 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 getModules() is invalid and should be
-	 * refreshed.
-	 * 
-	 * @deprecated This method is implementation specific and never called by the
-	 *    framework. It shouldn't be part of the public API, but subclasses are still
-	 *    welcome to provide their own method to clear the cache.
-	 * @see #getModules()
-	 */
-	public void clearModuleCache() {
-		// ignore
-	}
-
-	/**
-	 * 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();
-
-	/**
-	 * Return all modules created by this factory that are contained within the
-	 * given project. Subclasses should override this method if they do not need
-	 * to filter through the entire project list.
-	 * <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>
-	 * 
-	 * @param project a project
-	 * @return a possibly-empty array of modules {@link IModule}
-	 * @since 2.0
-	 */
-	public IModule[] getModules(IProject project) {
-		IModule[] modules = getModules();
-		if (project != null && modules != null) {
-			List<IModule> list = new ArrayList<IModule>(modules.length);
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				if (project.equals(modules[i].getProject()))
-					list.add(modules[i]);
-			}
-			
-			IModule[] m = new IModule[list.size()];
-			list.toArray(m);
-			return m;
-		}
-		
-		return new IModule[0];
-	}
-
-	/**
-	 * Returns the module created by this factory that has the given id, or
-	 * <code>null</code> if there is no module with the given id. The id must
-	 * not be null.
-	 * <p>
-	 * Subclasses should override this method if they do not need to search
-	 * through the entire project list.
-	 * </p>
-	 * <p>
-	 * This method is normally called by the web server core framework.
-	 * Clients (other than the delegate) should never call this method.
-	 * </p>
-	 * 
-	 * @param id a module id
-	 * @return the module with the given id, or <code>null</code> if no module
-	 *    could be found {@link IModule}
-	 * @since 2.0
-	 */
-	public IModule findModule(String id) {
-		if (id == null)
-			return null;
-		
-		IModule[] modules = getModules();
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				String id2 = modules[i].getId();
-				int index = id2.indexOf(":");
-				if (index >= 0)
-					id2 = id2.substring(index+1);
-				
-				if (id.equals(id2))
-					return modules[i];
-			}
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Alerts the server tools framework that this factory's list of modules
-	 * has changed, and caches may no longer be accurate 
-	 */
-	protected void modulesChanged() {
-		IServer[] allServers = ServerCore.getServers();
-		for( int i = 0; i < allServers.length; i++ ) {
-			((Server)allServers[i]).clearModuleCache();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishControllerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishControllerDelegate.java
deleted file mode 100644
index 01f46cb..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishControllerDelegate.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.IResourceDelta;
-import org.eclipse.wst.server.core.IServer;
-/**
- * A controller allows to inteject a different points of the publish action  
- * <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.1
- */
-public abstract class PublishControllerDelegate {
-	
-	/**
-	 * Create a new operation. The label and description must be supplied
-	 * by overriding the getLabel() and getDescription() methods.
-	 */
-	public PublishControllerDelegate() {
-		// do nothing
-	}
-
-	public abstract boolean isPublishRequired(IServer server, IResourceDelta delta);
-}
\ 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 74dc3b4..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishOperation.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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 retrieve data. Its usage allows multiple tasks to be
-	 * chained together and share data from the output of one task to the input
-	 * of another.
-	 * </p>
-	 * 
-	 * @return the task model
-	 * @see #setTaskModel(TaskModel)
-	 */
-	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 retrieve data. Its usage allows multiple 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
-	 * @see #getTaskModel()
-	 */
-	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/PublisherDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublisherDelegate.java
deleted file mode 100644
index a8368c1..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublisherDelegate.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.TaskModel;
-/**
- * An operation that will be executed during publishing. 
- * <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.1
- */
-public abstract class PublisherDelegate {
-	private TaskModel model;
-
-	/**
-	 * Create a new operation. The label and description must be supplied
-	 * by overriding the getLabel() and getDescription() methods.
-	 */
-	public PublisherDelegate() {
-		// do nothing
-	}
-
-	/**
-	 * Return the task model.
-	 * <p>
-	 * A task model contains information about the overall task flow and allows
-	 * tasks to store and retrieve data. Its usage allows multiple tasks to be
-	 * chained together and share data from the output of one task to the input
-	 * of another.
-	 * </p>
-	 * 
-	 * @return the task model
-	 * @see #setTaskModel(TaskModel)
-	 */
-	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 retrieve data. Its usage allows multiple 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
-	 * @see #getTaskModel()
-	 */
-	public void setTaskModel(TaskModel taskModel) {
-		this.model = taskModel;
-	}
-
-	/**
-	 * Execute (perform) the operation.
-	 * 
-	 * @param kind the kind of publish being requested. Valid values are:
-	 *    <ul>
-	 *    <li><code>PUBLISH_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
-	 * @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 Shell class.
-	 * @return status indicating what (if anything) went wrong
-	 * @throws CoreException if there was an error while executing the task
-	 */
-	public abstract IStatus execute(int kind, IProgressMonitor monitor, IAdaptable info) throws CoreException;
-
-	/**
-	 * Returns the scheduling rule that is required for executing the publisher delegate. The default is the current
-	 * rule defined on the publishing job.
-	 * 
-	 * @return A {@link ISchedulingRule} for the job that defines how this publisher can execute in the publishing job.
-	 *         A <code>null</code> value may be returned if the publishing job does not have any rule defined.
-	 * @since 3.2
-	 */
-	public ISchedulingRule getRule() {
-
-		return Job.getJobManager().currentRule();
-	}
-
-	/**
-	 * Accessor to find out if this publisher delegate modified any modules that are published on the server.
-	 * 
-	 * @return <code>true</code> if the publisher modified the contents of any modules that are published on the server.
-	 * @since 3.2
-	 */
-	public boolean isModifyModules() {
-
-		return false;
-	}
-
-	/**
-	 * Accessor to acquire the list of {@link IModule} entries that were modified by the publisher.  By default, it will
-	 * return all modules published to the server
-	 * 
-	 * @return An array of {@link IModule} entries that were modified by the publisher
-	 * @since 3.2
-	 */
-	public List<IModule[]> getModifiedModules() {
-
-		return (List<IModule[]>) this.model.getObject(TaskModel.TASK_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 5bc8234..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, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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<String> 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<String> 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);
-	}
-}
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 2621b50..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
+++ /dev/null
@@ -1,1320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.ILaunch;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.*;
-/**
- * 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>
- * 
- * @noimplement
- * @see IServer
- * @see 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 ILaunchManager}
-	 */
-	protected final void setMode(String mode) {
-		server.setMode(mode);
-	}
-
-	/**
-	 * Sets the Launch on the server object. 
-	 *  
-	 * @param launch
-	 */
-	public final void setLaunch(ILaunch launch) {
-		server.setLaunch(launch);
-	}
-	
-	/**
-	 * 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);
-	}
-
-	/**
-	 * Sets the server's external modules.
-	 *
-	 * @param modules the root external module
-	 */
-	protected final void setExternalModules(IModule[] modules) {
-		server.setExternalModules(modules);
-	}
-
-	/**
-	 * Creates an external module instance with the given static information. An external module is a unit of "content"
-	 * that is already published to the server, and that doesn't exist in the workspace
-	 *  
-	 * @param id the module id
-	 * @param name the module name
-	 * @param type the module type id
-	 * @param version the module version id
-	 * @param moduleDelegate the ModuleDelegate which will act as a helper of the module 
-	 * @return a module instance
-	 */
-	protected final IModule createExternalModule(String id, String name, String type, String version, ModuleDelegate moduleDelegate) {
-		IModule module = new ExternalModule(id, name, type, version, moduleDelegate);
-		setModulePublishState(new IModule [] {module}, IServer.PUBLISH_STATE_NONE);
-		return module;
-	}
-
-	/**
-	 * Disposes of this server delegate.
-	 * <p>
-	 * This method is called by the 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>PUBLISH_FULL</code>- indicates a full publish.</li>
-	 *    <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish.
-	 *    <li><code>PUBLISH_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>PUBLISH_FULL</code>- indicates a full publish.</li>
-	 *    <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish.
-	 *    <li><code>PUBLISH_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 {
-		// by default, assume the module has published successfully.
-		// this will update the publish state and delta correctly
-		setModulePublishState(module, IServer.PUBLISH_STATE_NONE);
-	}
-
-	/**
-	 * 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 using a more optimized behavior than a full stop
-	 * and start. The server should use the server listener to notify progress.
-	 * 
-	 * This method is used to find out if there is an optimized path to restart
-	 * the server that's better than a full stop and start (launch). If this
-	 * method throws a CoreException with a status code of -1, it is a sign
-	 * that either there is no optimized path, or that the path has failed,
-	 * and in either case the framework will use the regular stop/start
-	 * behavior.
-	 * 
-	 * @param launchMode the mode to restart in, one of the mode constants
-	 *    defined by {@link ILaunchManager}
-	 * @throws CoreException if there was a problem restarting
-	 */
-	public void restart(String launchMode) throws CoreException {
-		throw new CoreException(new Status(IStatus.WARNING, ServerPlugin.PLUGIN_ID, -1, "Restart not supported", null));
-	}
-
-	/**
-	 * Returns whether the given module can be restarted.
-	 * <p>
-	 * This call should complete reasonably fast and not require communication
-	 * with the (potentially remote) server. If communication is required it
-	 * should be done asynchronously and this method should either fail until
-	 * that is complete or succeed and handle failure in the xxModule methods.
-	 * </p>
-	 * 
-	 * @param module the module
-	 * @return <code>true</code> if the given module can be
-	 *    restarted, and <code>false</code> otherwise
-	 *    
-	 * @deprecated instead use canRestartModule, canPublishModule   
-	 */
-	public boolean canControlModule(IModule[] module) {
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given module can be restarted.
-	 * <p>
-	 * This call should complete reasonably fast and not require communication
-	 * with the (potentially remote) server. If communication is required it
-	 * should be done asynchronously and this method should either fail until
-	 * that is complete or succeed and handle failure in the xxModule methods.
-	 * </p>
-	 * 
-	 * @param module the module
-	 * @return <code>true</code> if the given module can be
-	 *    restarted, and <code>false</code> otherwise
-	 *    
-	 */
-	public boolean canRestartModule(IModule[] module){
-		return canControlModule(module);
-	}
-	
-	/**
-	 * Returns whether the given module can be published.
-	 * <p>
-	 * This call should complete reasonably fast and not require communication
-	 * with the (potentially remote) server. If communication is required it
-	 * should be done asynchronously and this method should either fail until
-	 * that is complete or succeed and handle failure in the xxModule methods.
-	 * </p>
-	 * 
-	 * @param module the module
-	 * @return <code>true</code> if the given module can be
-	 *    published, and <code>false</code> otherwise
-	 *    
-	 */
-	public boolean canPublishModule(IModule[] module){
-		return canControlModule(module);
-	}
-
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be started in the given mode.
-	 * <p>
-	 * This call should complete reasonably fast and not require communication
-	 * with the (potentially remote) server. If communication is required it
-	 * should be done asynchronously and this method should either fail until
-	 * that is complete or succeed and handle failure during start.
-	 * </p><p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.canStart()</code>.
-	 * The framework has already filtered out obviously invalid situations,
-	 * such as starting a server that is already running.
-	 * Clients should never call this method directly.
-	 * </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 a status object with code <code>IStatus.OK</code> if the server can
-	 *    be started, otherwise a status object indicating why it can't
-    * @since 1.1
-	 */
-	public IStatus canStart(String launchMode) {
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * 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.
-	 * <p>
-	 * This call should complete reasonably fast and not require communication
-	 * with the (potentially remote) server. If communication is required it
-	 * should be done asynchronously and this method should either fail until
-	 * that is complete or succeed and handle failure during restart.
-	 * </p><p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.canRestart()</code>.
-	 * The framework has already filtered out obviously invalid situations,
-	 * such as restarting a stopped server.
-	 * Clients should never call this method directly.
-	 * </p>
-	 * 
-	 * @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
-    * @since 1.1
-	 */
-	public IStatus canRestart(String mode) {
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * 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.
-	 * <p>
-	 * This call should complete reasonably fast and not require communication
-	 * with the (potentially remote) server. If communication is required it
-	 * should be done asynchronously and this method should either fail until
-	 * that is complete or succeed and handle failure during stop.
-	 * </p><p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.canStop()</code>.
-	 * The framework has already filtered out obviously invalid situations,
-	 * such as stopping a server that is already stopped.
-	 * Clients should never call this method directly.
-	 * </p>
-	 * 
-	 * @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
-    * @since 1.1
-	 */
-	public IStatus canStop() {
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Returns whether this server is in a state that it can
-	 * be published to.
-	 * <p>
-	 * This call should complete reasonably fast and not require communication
-	 * with the (potentially remote) server. If communication is required it
-	 * should be done asynchronously and this method should either fail until
-	 * that is complete or succeed and handle failure during publish.
-	 * </p><p>
-	 * This method is called by the server core framework,
-	 * in response to a call to <code>IServer.canPublish()</code>.
-	 * The framework has already filtered out obviously invalid situations,
-	 * such as publishing to a server in the wrong mode.
-	 * Clients should never call this method directly.
-	 * </p>
-	 * 
-	 * @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
-    * @since 1.1
-	 */
-	public IStatus canPublish() {
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * 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 asynchronous, 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 asynchronous, 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
-	}
-
-	/**
-	 * Restarts the given module on the server. See the specification of 
-	 * {@link IServer#restartModule(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 asynchronous, 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 restartModule(IModule[] module, IProgressMonitor monitor) throws CoreException {
-		stopModule(module, monitor);
-		startModule(module, monitor);
-	}
-
-	/**
-	 * 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 async 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 requester can use
-	 * throughout it's lifecycle. This is primarily 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();
-	}
-
-	/**
-	 * Returns a temporary directory that the requester can use
-	 * throughout it's lifecycle. This is primarily to be used by
-	 * servers for working directories, server specific
-	 * files, etc.
-	 * <p>
-	 * As long as the same key is used to call this method on
-	 * each use of the workbench, this method directory will return
-	 * the same directory. If recycling is enabled and 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.
-	 * If this behavior is not desired, recycling should be disabled.</p>
-	 *
-	 * @param recycle true if directory may be deleted if not used
-	 * over a period of time
-	 * @return a temporary directory
-	 */
-	protected IPath getTempDirectory(boolean recycle) {
-		return server.getTempDirectory(recycle);
-	}
-
-	/**
-	 * 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 modules
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @param info
-	 * @throws CoreException
-	 */
-	public void publish(int kind, List<IModule[]> modules, IProgressMonitor monitor, IAdaptable info) throws CoreException {
-		info2 = info;
-		IStatus status = publish(kind, monitor);
-		if (status != null && status.getSeverity() != IStatus.OK && status.getSeverity() != IStatus.CANCEL)
-			throw new CoreException(status);
-	}
-
-	private IAdaptable info2;
-
-	/*public void publish2(int kind, List<IModule[]> modules, IProgressMonitor monitor, IAdaptable info) throws CoreException {
-		Trace.trace(Trace.FINEST, "-->-- Publishing to server: " + toString() + " -->--");
-		
-		if (getServer().getServerType().hasRuntime() && getServer().getRuntime() == null)
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoRuntime, null));
-		
-		final List<IModule[]> moduleList = getAllModules();
-		addRemovedModules(moduleList, null);
-		
-		PublishOperation[] tasks = getTasks(kind, moduleList, null);
-		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;
-		
-		try {
-			Trace.trace(Trace.FINEST, "Starting publish");
-			publishStart(ProgressUtil.getSubMonitorFor(monitor, 1000));
-			
-			if (monitor.isCanceled())
-				return;
-			
-			// execute publishers
-			executePublishers(kind, modules, monitor, info);
-			
-			if (monitor.isCanceled())
-				return;
-			
-			// publish the server
-			publishServer(kind, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			
-			if (monitor.isCanceled())
-				return;
-			
-			// publish modules
-			IspublishModules(kind, moduleList, monitor);
-			
-			if (monitor.isCanceled())
-				return;
-			
-			monitor.done();
-		} catch (CoreException ce) {
-			Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce);
-			throw ce;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error publishing  to " + toString(), e);
-			tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e));
-		} finally {
-			// end the publishing
-			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));
-			}
-		}
-		
-		Trace.trace(Trace.FINEST, "--<-- Done publishing --<--");
-		
-		if (tempMulti.getChildren().length == 1)
-			throw new CoreException(tempMulti.getChildren()[0]);
-		
-		MultiStatus multi = null;
-		if (tempMulti.getSeverity() == IStatus.OK)
-			return;
-		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);
-		
-		if (multi != null)
-			multi.addAll(tempMulti);
-	}*/
-
-	private List<Integer> computeDelta(final List<IModule[]> moduleList) {
-
-		final List<Integer> deltaKindList = new ArrayList<Integer>();
-		final Iterator<IModule[]> iterator = moduleList.iterator();
-		while (iterator.hasNext()) {
-			IModule[] module = iterator.next();
-			if (hasBeenPublished(module)) {
-				IModule m = module[module.length - 1];
-				if ((m.getProject() != null && !m.getProject().isAccessible())
-						|| 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));
-			}
-		}
-		this.addRemovedModules(moduleList, null);
-		while (deltaKindList.size() < moduleList.size()) {
-			deltaKindList.add(new Integer(ServerBehaviourDelegate.REMOVED));
-		}
-		return deltaKindList;
-	}
-	
-	/**
-	 * 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) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "-->-- Publishing to server: " + getServer().toString() + " -->--");
-		}
-		
-		if (getServer().getServerType().hasRuntime() && getServer().getRuntime() == null)
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoRuntime, null);
-		
-		final List<IModule[]> moduleList = getAllModules();
-		List<Integer> deltaKindList = this.computeDelta(moduleList);
-		
-		PublishOperation[] tasks = getTasks(kind, moduleList, deltaKindList);
-		int size = 2000 + 3500 * moduleList.size() + 500 * tasks.length;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		String mainTaskMsg = NLS.bind(Messages.publishing, getServer().getName());
-		monitor.beginTask(mainTaskMsg, size);
-		
-		MultiStatus tempMulti = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, "", null);
-		
-		if (monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-		
-		try {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Starting publish");
-			}
-			publishStart(ProgressUtil.getSubMonitorFor(monitor, 1000));
-			
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			
-			// execute tasks
-			MultiStatus taskStatus = performTasks(tasks, monitor);
-			monitor.setTaskName(mainTaskMsg);
-			if (taskStatus != null && !taskStatus.isOK())
-				tempMulti.addAll(taskStatus);
-			
-			// execute publishers
-			taskStatus = executePublishers(kind, moduleList, deltaKindList, monitor, info2);
-			monitor.setTaskName(mainTaskMsg);
-			if (taskStatus != null && !taskStatus.isOK())
-				tempMulti.addAll(taskStatus);
-			
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			
-			// publish the server
-			publishServer(kind, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			monitor.setTaskName(mainTaskMsg);
-			
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			
-			// publish modules
-			publishModules(kind, moduleList, deltaKindList, tempMulti, monitor);
-			
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			
-			monitor.done();
-		} catch (CoreException ce) {
-			if (Trace.INFO) {
-				Trace.trace(Trace.STRING_INFO, "CoreException publishing to "
-						+ toString(), ce);
-			}
-			return ce.getStatus();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error publishing  to "
-						+ toString(), e);
-			}
-			tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e));
-		} finally {
-			// end the publishing
-			try {
-				publishFinish(ProgressUtil.getSubMonitorFor(monitor, 500));
-			} catch (CoreException ce) {
-				if (Trace.INFO) {
-					Trace.trace(Trace.STRING_INFO,
-							"CoreException publishing to " + toString(), ce);
-				}
-				tempMulti.add(ce.getStatus());
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Error stopping publish to " + toString(), e);
-				}
-				tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e));
-			}
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "--<-- Done publishing --<--");
-		}
-		
-		if (tempMulti.getChildren().length == 1)
-			return tempMulti.getChildren()[0];
-		
-		MultiStatus multi = null;
-		if (tempMulti.getSeverity() == IStatus.OK)
-			return Status.OK_STATUS;
-		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);
-		
-		if (multi != null)
-			multi.addAll(tempMulti);
-		
-		return multi;
-	}
-
-	/*private void printModule(IModuleResource[] res, String ind) {
-		int size = res.length;
-		for (int i = 0; i < size; i++) {
-			if (res[i] instanceof IModuleFolder) {
-				IModuleFolder f = (IModuleFolder) res[i];
-				printModule(f.members(), ind + "  ");
-			} else {
-				Trace.trace(Trace.INFO, ind + res[i].getName());
-			}
-		}
-	}*/
-
-	/**
-	 * 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) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "-->-- Publishing module");
-		}
-		
-		int size = module.length;
-		IModule m = module[size - 1];
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Module: " + m);
-		}
-		monitor.beginTask(NLS.bind(Messages.publishingModule, m.getName()), 1000);
-		
-		try {
-			publishModule(kind, deltaKind, module, monitor);
-			return Status.OK_STATUS;
-		} catch (CoreException ce) {
-			return ce.getStatus();
-		} catch (Exception e) {
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e);
-		} finally {
-			monitor.done();
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "--<-- Done publishing module");
-			}
-		}
-	}
-
-	/**
-	 * 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 deprecated, should be null
-	 */
-	protected void addRemovedModules(List<IModule[]> moduleList, List<Integer> kindList) {
-		server.getServerPublishInfo().addRemovedModules(moduleList);
-	}
-
-	/**
-	 * 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 canceled.
-	 * 
-	 * Uses 500 ticks plus 3500 ticks per module
-	 * 
-	 * @param kind the publish kind
-	 * @param modules a list of modules
-	 * @param deltaKind2 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 deltaKind2, MultiStatus multi, IProgressMonitor monitor) {
-		if (modules == null)
-			return;
-		
-		int size = modules.size();
-		if (size == 0)
-			return;
-		
-		// publish modules
-		for (int i = 0; i < size; i++) {
-			if (monitor.isCanceled())
-				return;
-			
-			// should skip this publish
-			IModule[] module = (IModule[]) modules.get(i);
-			IModule m = module[module.length - 1];
-			if(shouldIgnorePublishRequest(m))
-				continue;
-			
-			int kind2 = kind;
-			if (getServer().getModulePublishState(module) == IServer.PUBLISH_STATE_UNKNOWN)
-				kind2 = IServer.PUBLISH_FULL;
-			
-			/*int deltaKind = ServerBehaviourDelegate.ADDED;
-			if (hasBeenPublished(module)) {
-				if (getPublishedResourceDelta(module).length == 0)
-					deltaKind = ServerBehaviourDelegate.NO_CHANGE;
-				else
-					deltaKind = ServerBehaviourDelegate.CHANGED;
-			} // TODO REMOVED*/
-			
-			IStatus status = publishModule(kind2, module, ((Integer)deltaKind2.get(i)).intValue(), ProgressUtil.getSubMonitorFor(monitor, 3000));
-			if (status != null && !status.isOK())
-				multi.add(status);
-		}
-	}
-
-	/**
-	 * Returns whether this module should be ignore during the publish
-	 * @param m
-	 * @return
-	 */
-	protected boolean shouldIgnorePublishRequest(IModule m) {
-		return (m.getProject() != null && !m.getProject().isAccessible());
-	}
-	
-	/**
-	 * Returns the publish tasks that have been targeted 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);
-	}
-
-	/**
-	 * Execute publishers.
-	 * 
-	 * @param kind the publish kind
-	 * @param modules the list of modules
-	 * @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
-	 * @since 1.1
-	 * @deprecated Replaced by 
-	 * {@link #executePublishers(int, List, List, IProgressMonitor, IAdaptable)}
-	 */
-	protected MultiStatus executePublishers(int kind, List<IModule[]> modules, IProgressMonitor monitor, IAdaptable info) throws CoreException {
-		return executePublishers(kind, modules, null, monitor, info);
-	}
-
-	/**
-	 * Execute publishers. If a publisher modified the contents of the module (which is determined by the
-	 * {@link PublisherDelegate}) then the delta list is rebuild.
-	 * 
-	 * @param kind
-	 *            the publish kind
-	 * @param modules
-	 *            the list of modules. The contents of this {@link List} may change if the publisher modifies code.
-	 * @param deltaKinds
-	 *            the list of delta kind that maps to the list of modules. The contents of this {@link List} may change
-	 *            if the publisher modifies code.
-	 * @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
-	 * @since 1.1
-	 */
-	protected MultiStatus executePublishers(int kind, List<IModule[]> modules, List<Integer> deltaKinds, IProgressMonitor monitor, IAdaptable info) throws CoreException {
-		Publisher[] publishers = ((Server)getServer()).getEnabledPublishers();
-		int size = publishers.length;
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Executing publishers: " + size);
-		}
-		
-		if (size == 0)
-			return null;
-		
-		MultiStatus multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.taskPerforming, null);
-		
-		TaskModel taskModel = new TaskModel();
-		taskModel.putObject(TaskModel.TASK_SERVER, getServer());
-		taskModel.putObject(TaskModel.TASK_MODULES, modules);
-		if (deltaKinds != null) {
-			taskModel.putObject(TaskModel.TASK_DELTA_KINDS, deltaKinds);
-		}
-		
-		boolean publisherModifiedCode = false;
-		for (int i = 0; i < size; i++) {
-			Publisher pub = publishers[i];
-			monitor.subTask(NLS.bind(Messages.taskPerforming, pub.getName()));
-			try {
-				pub.setTaskModel(taskModel);
-				IStatus pubStatus = pub.execute(kind, ProgressUtil.getSubMonitorFor(monitor, 500), info);
-				if(!publisherModifiedCode) {
-					// If a publisher has modified modules then there is no reason to keep checking other publishers.
-					publisherModifiedCode = pub.isModifyModules();
-				}
-				multi.add(pubStatus);
-			} catch (CoreException ce) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Publisher failed", ce);
-				}
-				throw ce;
-			}
-			
-			// return early if the monitor has been canceled
-			if (monitor.isCanceled())
-				return multi;
-		}
-		if (publisherModifiedCode) {
-			// re-create the delta list as at least one publisher has changed the contents of the published modules.
-			deltaKinds = this.computeDelta(modules);
-		}
-		monitor.subTask("");
-		return multi;
-	}
-
-	/**
-	 * 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<IModule[]> 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;
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_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) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Task failed", ce);
-				}
-				multi.add(ce.getStatus());
-			}
-			
-			// return early if the monitor has been canceled
-			if (monitor.isCanceled())
-				return multi;
-		}
-		
-		monitor.subTask("");
-		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 d34d417..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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();
-	}
-	
-	/**
-	 * Specify the locking rule to be used during a publish.
-	 * @return true if only affected projects are locked during a publish. false if the entire workspace
-	 * needs to be locked during a publish. 
-	 */
-	public boolean isUseProjectSpecificSchedulingRuleOnPublish() {
-		return false;
-	}
-
-	/**
-	 * 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<String> 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>. It should return quickly
-	 * without connection to the server. Clients should never call this method.
-	 * </p>
-	 *
-	 * @param add a possibly-empty list of modules to add
-	 * @param remove a possibly-empty list of modules to remove
-	 * @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
-	 * @see IServerAttributes#canModifyModules(IModule[], IModule[], IProgressMonitor)
-	 */
-	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<String> 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 if the changes are not allowed or could not
-	 *    be processed
-	 */
-	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 b1a1214..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.IURLProvider2;
-/**
- * An HTTP launchable object. Encapsulates a launch of a URL for the Run on Server
- * support.
- * 
- * @since 1.0
- */
-public class HttpLaunchable {
-	private IURLProvider2 urlProvider;
-
-	/**
-	 * Create a reference to something accessible via HTTP.
-	 * 
-	 * @param url the URL to the object
-	 */
-	public HttpLaunchable(final URL url) {
-		this.urlProvider = new IURLProvider2() {
-			public URL getModuleRootURL(IModule module){
-				return url;
-			}
-			public URL getLaunchableURL() {
-				return getModuleRootURL(null);
-			}
-		};
-	}
-
-	public HttpLaunchable(IURLProvider2 urlProvider){
-		this.urlProvider = urlProvider;
-	}
-	/**
-	 * Return the URL to the object.
-	 * 
-	 * @return the URL to the object
-	 */
-	public URL getURL() {
-		return urlProvider.getLaunchableURL();
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "HttpLaunchable[urlProvider=" + urlProvider + "]";
-	}
-}
\ 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/ModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFile.java
deleted file mode 100644
index beb56c6..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFile.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModuleFile;
-/**
- * An implementation of {@link IModuleFile} for physical files on disk or in the
- * workspace.
- *
- * @since 1.1
- */
-public class ModuleFile implements IModuleFile {
-	private IFile file;
-	private File file2;
-	private String name;
-	private IPath path;
-	private long stamp = -1;
-
-	/**
-	 * Creates a workspace module file with the current modification stamp.
-	 * 
-	 * @param file a file in the workspace
-	 * @param name a name
-	 * @param path the path to the file
-	 */
-	public ModuleFile(IFile file, String name, IPath path) {
-		if (name == null)
-			throw new IllegalArgumentException();
-		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) {
-		if (name == null)
-			throw new IllegalArgumentException();
-		this.file2 = file;
-		this.name = name;
-		this.path = path;
-		if (file2 != null)
-			stamp = file2.lastModified();
-	}
-
-	/**
-	 * 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) {
-		if (name == null)
-			throw new IllegalArgumentException();
-		this.name = name;
-		this.path = path;
-		this.stamp = stamp;
-	}
-
-	/**
-	 * 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;
-	}
-
-	/* (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 == this)
-			return true;
-		
-		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/util/ModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFolder.java
deleted file mode 100644
index 918e932..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFolder.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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;
-/**
- * An implementation of {@link IModuleFolder} for physical folders on disk or in the
- * workspace.
- *
- * @since 1.1
- */
-public class ModuleFolder implements IModuleFolder {
-	private static final IModuleResource[] EMPTY_RESOURCE_ARRAY = new IModuleResource[0];
-
-	private IContainer container;
-	private String name;
-	private IPath path;
-	private IModuleResource[] members;
-
-	/**
-	 * Creates a module folder.
-	 * 
-	 * @param container the container, or <code>null</code> for unknown container
-	 * @param name a name
-	 * @param path the module relative path to the folder
-	 */
-	public ModuleFolder(IContainer container, String name, IPath path) {
-		if (name == null)
-			throw new IllegalArgumentException();
-		this.container = container;
-		this.name = name;
-		this.path = path;
-	}
-
-	/**
-	 * Sets the members (contents) of this folder.
-	 * 
-	 * @param members the 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 == this)
-			return true;
-		
-		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/util/NullModuleArtifact.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java
deleted file mode 100644
index 618208f..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.util;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-/**
- * A dummy module artifact.
- * 
- * @since 1.0
- */
-public class NullModuleArtifact extends ModuleArtifactDelegate {
-	/**
-	 * Create a new reference to a module.
-	 * 
-	 * @param module the module
-	 */
-	public NullModuleArtifact(IModule module) {
-		super(module);
-	}
-
-	/**
-	 * Create a new empty reference to a module.
-	 */
-	public NullModuleArtifact() {
-		super();
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#getName()
-	 */
-	public String getName() {
-		return "";
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "NullModuleArtifact [module=" + getModule() + "]";
-	}
-}
\ 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 306764b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
+++ /dev/null
@@ -1,184 +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.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.ModuleDelegate;
-/**
- * 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<IModuleResource> list = new ArrayList<IModuleResource>(size);
-			for (int i = 0; i < size; i++) {
-				IResource resource = resources[i];
-				if (resource != null && resource.exists()) {
-					String name = resource.getName();
-					if (resource instanceof IContainer) {
-						IContainer container2 = (IContainer) resource;
-						ModuleFolder mf = new org.eclipse.wst.server.core.internal.ModuleFolder(container2, name, path);
-						mf.setMembers(getModuleResources(path.append(name), container2));
-						list.add(mf);
-					} else if (resource instanceof IFile) {
-						list.add(new ModuleFile((IFile) resource, name, path));
-					}
-				}
-			}
-			IModuleResource[] moduleResources = new IModuleResource[list.size()];
-			list.toArray(moduleResources);
-			return moduleResources;
-		}
-		return new IModuleResource[0];
-	}
-}
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 7477e9e..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.core.runtime.Path;
-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 Map<IProject, IModule[]> modules = new HashMap<IProject, IModule[]>();
-
-	/**
-	 * Construct a new ProjectModuleFactoryDelegate.
-	 */
-	public ProjectModuleFactoryDelegate() {
-		super();
-	}
-
-	/**
-	 * Cache modules that exist in the given project.
-	 * 
-	 * @param project a project to cache
-	 * @since 2.0
-	 */
-	private final IModule[] cacheModules(IProject project) {
-		if (project == null || !project.isAccessible())
-			return null;
-		
-		IModule[] m = null;
-		try {
-			m = modules.get(project);
-			if (m != null)
-				return m;
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		try {
-			m = createModules(project);
-			if (m != null) {
-				modules.put(project, m);
-				return m;
-			}
-		} catch (Throwable t) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error creating module", t);
-			}
-		}
-		return new IModule[0];
-	}
-
-	/**
-	 * Cache all existing modules.
-	 */
-	private final void cacheModules() {
-		try {
-			IProject[] projects = getWorkspaceRoot().getProjects();
-			int size = projects.length;
-			for (int i = 0; i < size; i++) {
-				if (projects[i].isAccessible()) {
-					boolean cache = true;
-					try {
-						Object o = modules.get(projects[i]);
-						if (o != null)
-							cache = false;
-					} catch (Exception e) {
-						// ignore
-					}
-					
-					if (cache) {
-						try {
-							IModule[] modules2 = createModules(projects[i]);
-							if (modules2 != null)
-								modules.put(projects[i], modules2);
-						} catch (Throwable t) {
-							if (Trace.SEVERE) {
-								Trace.trace(Trace.STRING_SEVERE,
-										"Error creating module for "
-												+ projects[i].getName(), t);
-							}
-						}
-					}
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error caching modules", e);
-			}
-		}
-	}
-
-	/**
-	 * Returns the workspace root.
-	 * 
-	 * @return the workspace root
-	 */
-	private static IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/*
-	 * @see ModuleFactoryDelegate#getModules()
-	 */
-	public final IModule[] getModules() {
-		cacheModules();
-		
-		List<IModule> list = new ArrayList<IModule>();
-		Iterator iter = modules.values().iterator();
-		while (iter.hasNext()) {
-			IModule[] m = (IModule[]) iter.next();
-			if (m != null)
-				list.addAll(Arrays.asList(m));
-		}
-		
-		IModule[] modules2 = new IModule[list.size()];
-		list.toArray(modules2);
-		return modules2;
-	}
-
-	/**
-	 * Handle changes to a project.
-	 * 
-	 * @param project a project
-	 * @param delta a resource delta
-	 */
-	public final static void handleGlobalProjectChange(IProject project, IResourceDelta delta) {
-		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
-		int size = factories.length;
-		for (int i = 0; i < size; i++) {
-			if (factories[i].delegate != null && factories[i].delegate instanceof ProjectModuleFactoryDelegate) {
-				ProjectModuleFactoryDelegate pmfd = (ProjectModuleFactoryDelegate) factories[i].delegate;
-				if (pmfd.deltaAffectsModules(delta)) {
-					pmfd.clearCache(project);
-					pmfd.clearCache();
-				}
-			}
-		}
-	}
-
-	/**
-	 * 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 cached metadata.
-	 * 
-	 * @deprecated use {@link #clearCache(IProject)} instead
-	 */
-	protected void clearCache() {
-		// ignore
-	}
-
-	/**
-	 * Clear cached metadata.
-	 * 
-	 * @since 2.0
-	 */
-	protected void clearCache(IProject project) {
-		modules = new HashMap<IProject, IModule[]>();
-	}
-
-	/**
-	 * 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;
-	}
-
-	/*
-	 * @see ModuleFactoryDelegate#getModules(IProject)
-	 * @since 2.0
-	 */
-	public IModule[] getModules(IProject project) {
-		return cacheModules(project);
-	}
-
-	/*
-	 * @see ModuleFactoryDelegate#findModule(String)
-	 * @since 2.0
-	 */
-	public IModule findModule(String id) {
-		try {
-			IPath pathToProject = new Path(null, id);
-			if (pathToProject.segmentCount() == 1) {
-				// only look for projects which means there should only be 1 segment in the path
-				IProject project = getWorkspaceRoot().getProject(id);
-				if (project != null) {
-					IModule[] m = cacheModules(project);
-					if (m != null) {
-						int size = m.length;
-						for (int i = 0; i < size; i++) {
-							String id2 = m[i].getId();
-							int index = id2.indexOf(":");
-							if (index >= 0)
-								id2 = id2.substring(index + 1);
-
-							if (id.equals(id2))
-								return m[i];
-						}
-					}
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.FINER) {
-				Trace.trace(Trace.STRING_FINER, "Could not find " + id
-						+ ". Reverting to default behaviour", e);
-			}
-		}
-
-		// otherwise default to searching all modules
-		return super.findModule(id);
-	}
-}
\ 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/PublishHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishHelper.java
deleted file mode 100644
index 10785c2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishHelper.java
+++ /dev/null
@@ -1,874 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.internal.Messages;
-import org.eclipse.wst.server.core.internal.ProgressUtil;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.Trace;
-import org.eclipse.osgi.util.NLS;
-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;
-/**
- * Utility class with an assortment of useful publishing file methods.
- *
- * @since 1.1
- */
-public class PublishHelper {
-	// size of the buffer
-	private static final int BUFFER = 65536;
-
-	// the buffer
-	private static byte[] buf = new byte[BUFFER];
-
-	private static final IStatus[] EMPTY_STATUS = new IStatus[0];
-
-	private static final File defaultTempDir = ServerPlugin.getInstance().getStateLocation().toFile();
-
-	private static final String TEMPFILE_PREFIX = "tmp";
-
-	private File tempDir;
-
-	/**
-	 * Create a new PublishHelper.
-	 * 
-	 * @param tempDirectory a temporary directory to use during publishing, or <code>null</code>
-	 *    to use the default. If it does not exist, the folder will be created
-	 */
-	public PublishHelper(File tempDirectory) {
-		this.tempDir = tempDirectory;
-		if (tempDir == null)
-			tempDir = defaultTempDir;
-		else if (!tempDir.exists())
-			tempDir.mkdirs();
-	}
-
-	/**
-	 * Copy a file from a to b. Closes the input stream after use.
-	 * 
-	 * @param in an input stream
-	 * @param to a path to copy to. the directory must already exist
-	 * @param ts timestamp
-	 * @throws CoreException if anything goes wrong
-	 */
-	private void copyFile(InputStream in, IPath to, long ts, IModuleFile mf) throws CoreException {
-		OutputStream out = null;
-		
-		File tempFile = null;
-		try {
-			File file = to.toFile();
-			tempFile = File.createTempFile(TEMPFILE_PREFIX, "." + to.getFileExtension(), tempDir);
-			
-			out = new FileOutputStream(tempFile);
-			
-			int avail = in.read(buf);
-			while (avail > 0) {
-				out.write(buf, 0, avail);
-				avail = in.read(buf);
-			}
-			
-			out.close();
-			out = null;
-			
-			moveTempFile(tempFile, file);
-			
-			if (ts != IResource.NULL_STAMP && ts != 0)
-				file.setLastModified(ts);
-		} catch (CoreException e) {
-			throw e;
-		} catch (Exception e) {
-			IPath path = mf.getModuleRelativePath().append(mf.getName());
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE,
-						"Error copying file: " + path.toOSString() + " to "
-								+ to.toOSString(), e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, path.toOSString(), e.getLocalizedMessage()), null));
-		} finally {
-			if (tempFile != null && tempFile.exists())
-				tempFile.deleteOnExit();
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception ex) {
-				// ignore
-			}
-			try {
-				if (out != null)
-					out.close();
-			} catch (Exception ex) {
-				// ignore
-			}
-		}
-	}
-
-	/**
-	 * Utility method to recursively delete a directory.
-	 *
-	 * @param dir a directory
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public static IStatus[] deleteDirectory(File dir, IProgressMonitor monitor) {
-		if (!dir.exists() || !dir.isDirectory())
-			return new IStatus[] { new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorNotADirectory, dir.getAbsolutePath()), null) };
-		
-		List<IStatus> status = new ArrayList<IStatus>(2);
-		
-		try {
-			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
-			boolean deleteCurrent = true;
-			for (int i = 0; i < size; i++) {
-				File current = files[i];
-				if (current.isFile()) {
-					if (!current.delete()) {
-						status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, files[i].getAbsolutePath()), null));
-						deleteCurrent = false;
-					}
-					monitor.worked(10);
-				} else if (current.isDirectory()) {
-					monitor.subTask(NLS.bind(Messages.deletingTask, new String[] {current.getAbsolutePath()}));
-					IStatus[] stat = deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10));
-					if (stat != null && stat.length > 0) {
-						deleteCurrent = false;
-						addArrayToList(status, stat);
-					}
-				}
-			}
-			if (deleteCurrent && !dir.delete())
-				status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, dir.getAbsolutePath()), null));
-			monitor.done();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error deleting directory "
-						+ dir.getAbsolutePath(), e);
-			}
-			status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, e.getLocalizedMessage(), null));
-		}
-		
-		IStatus[] stat = new IStatus[status.size()];
-		status.toArray(stat);
-		return stat;
-	}
-
-	/**
-	 * Smart copy the given module resources to the given path.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path an external path to copy to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status 
-	 */
-	public IStatus[] publishSmart(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		return publishSmart(resources, path, null, monitor);
-	}
-
-	/**
-	 * Smart copy the given module resources to the given path.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path an external path to copy to
-	 * @param ignore an array of paths relative to path to ignore, i.e. not delete or copy over
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status 
-	 */
-	public IStatus[] publishSmart(IModuleResource[] resources, IPath path, IPath[] ignore, IProgressMonitor monitor) {
-		if (resources == null)
-			return EMPTY_STATUS;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		List<IStatus> status = new ArrayList<IStatus>(2);
-		File toDir = path.toFile();
-		int fromSize = resources.length;
-		String[] fromFileNames = new String[fromSize];
-		for (int i = 0; i < fromSize; i++)
-			fromFileNames[i] = resources[i].getName();
-		List<String> ignoreFileNames = new ArrayList<String>();
-		if (ignore != null) {
-			for (int i = 0; i < ignore.length; i++) {
-				if (ignore[i].segmentCount() == 1) {
-					ignoreFileNames.add(ignore[i].toOSString());
-				}
-			}
-		}
-		
-		//	cache files and file names for performance
-		File[] toFiles = null;
-		String[] toFileNames = null;
-		
-		boolean foundExistingDir = false;
-		if (toDir.exists()) {
-			if (toDir.isDirectory()) {
-				foundExistingDir = true;
-				toFiles = toDir.listFiles();
-				int toSize = toFiles.length;
-				toFileNames = new String[toSize];
-				
-				// check if this exact file exists in the new directory
-				for (int i = 0; i < toSize; i++) {
-					toFileNames[i] = toFiles[i].getName();
-					boolean isDir = toFiles[i].isDirectory();
-					boolean found = false;
-					for (int j = 0; j < fromSize; j++) {
-						if (toFileNames[i].equals(fromFileNames[j]) && isDir == resources[j] instanceof IModuleFolder) {
-							found = true;
-							break;
-						}
-					}
-					
-					// delete file if it can't be found or isn't the correct type
-					if (!found) {
-						boolean delete = true;
-						// if should be preserved, don't delete and don't try to copy
-						for (String preserveFileName : ignoreFileNames) {
-							if (toFileNames[i].equals(preserveFileName)) {
-								delete = false;
-								break;
-							}
-						}
-						if (delete) {
-							if (isDir) {
-								IStatus[] stat = deleteDirectory(toFiles[i], null);
-								addArrayToList(status, stat);
-							} else {
-								if (!toFiles[i].delete())
-									status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, toFiles[i].getAbsolutePath()), null));
-							}
-						}
-						toFiles[i] = null;
-						toFileNames[i] = null;
-					}
-				}
-			} else { //if (toDir.isFile())
-				if (!toDir.delete()) {
-					status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, toDir.getAbsolutePath()), null));
-					IStatus[] stat = new IStatus[status.size()];
-					status.toArray(stat);
-					return stat;
-				}
-			}
-		}
-		if (!foundExistingDir && !toDir.mkdirs()) {
-			status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorMkdir, toDir.getAbsolutePath()), null));
-			IStatus[] stat = new IStatus[status.size()];
-			status.toArray(stat);
-			return stat;
-		}
-		
-		if (monitor.isCanceled())
-			return new IStatus[] { Status.CANCEL_STATUS };
-		
-		monitor.worked(50);
-		
-		// cycle through files and only copy when it doesn't exist
-		// or is newer
-		if (toFiles == null) {
-			toFiles = toDir.listFiles();
-			if (toFiles == null)
-				toFiles = new File[0];
-		}
-		int toSize = toFiles.length;
-		
-		int dw = 0;
-		if (toSize > 0)
-			dw = 500 / toSize;
-		
-		// cache file names and last modified dates for performance
-		if (toFileNames == null)
-			toFileNames = new String[toSize];
-		long[] toFileMod = new long[toSize];
-		for (int i = 0; i < toSize; i++) {
-			if (toFiles[i] != null) {
-				if (toFileNames[i] != null)
-					toFileNames[i] = toFiles[i].getName();
-				toFileMod[i] = toFiles[i].lastModified();
-			}
-		}
-		
-		for (int i = 0; i < fromSize; i++) {
-			IModuleResource current = resources[i];
-			String name = fromFileNames[i];
-			boolean currentIsDir = current instanceof IModuleFolder;
-			
-			if (!currentIsDir) {
-				// check if this is a new or newer file
-				boolean copy = true;
-				IModuleFile mf = (IModuleFile) current;
-				
-				long mod = -1;
-				IFile file = (IFile) mf.getAdapter(IFile.class);
-				if (file != null) {
-					mod = file.getLocalTimeStamp();
-				} else {
-					File file2 = (File) mf.getAdapter(File.class);
-					mod = file2.lastModified();
-				}
-				
-				for (int j = 0; j < toSize; j++) {
-					if (name.equals(toFileNames[j]) && mod == toFileMod[j]) {
-						copy = false;
-						break;
-					}
-				}
-				
-				if (copy) {
-					try {
-						copyFile(mf, path.append(name));
-					} catch (CoreException ce) {
-						status.add(ce.getStatus());
-					}
-				}
-				monitor.worked(dw);
-			} else { //if (currentIsDir) {
-				IModuleFolder folder = (IModuleFolder) current;
-				IModuleResource[] children = folder.members();
-
-				// build array of ignored Paths that apply to this folder
-				IPath[] ignoreChildren = null;
-				if (ignore != null) {
-					List<IPath> ignoreChildPaths = new ArrayList<IPath>();
-					for (int j = 0; j < ignore.length; j++) {
-						IPath preservePath = ignore[j];
-						if (preservePath.segment(0).equals(name)) {
-							ignoreChildPaths.add(preservePath.removeFirstSegments(1));
-						}
-					}
-					if (ignoreChildPaths.size() > 0)
-						ignoreChildren = ignoreChildPaths.toArray(new Path[ignoreChildPaths.size()]);
-				}
-				monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {name, name}));
-				IStatus[] stat = publishSmart(children, path.append(name), ignoreChildren, ProgressUtil.getSubMonitorFor(monitor, dw));
-				addArrayToList(status, stat);
-			}
-		}
-		if (monitor.isCanceled())
-			return new IStatus[] { Status.CANCEL_STATUS };
-		
-		monitor.worked(500 - dw * toSize);
-		monitor.done();
-		
-		IStatus[] stat = new IStatus[status.size()];
-		status.toArray(stat);
-		return stat;
-	}
-
-	/**
-	 * Handle a delta publish.
-	 * 
-	 * @param delta a module resource delta
-	 * @param path the path to publish to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public IStatus[] publishDelta(IModuleResourceDelta[] delta, IPath path, IProgressMonitor monitor) {
-		if (delta == null)
-			return EMPTY_STATUS;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		List<IStatus> status = new ArrayList<IStatus>(2);
-		int size2 = delta.length;
-		for (int i = 0; i < size2; i++) {
-			IStatus[] stat = publishDelta(delta[i], path, monitor);
-			addArrayToList(status, stat);
-		}
-		
-		IStatus[] stat = new IStatus[status.size()];
-		status.toArray(stat);
-		return stat;
-	}
-
-	/**
-	 * Handle a delta publish.
-	 * 
-	 * @param delta a module resource delta
-	 * @param path the path to publish to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public IStatus[] publishDelta(IModuleResourceDelta delta, IPath path, IProgressMonitor monitor) {
-		List<IStatus> status = new ArrayList<IStatus>(2);
-		
-		IModuleResource resource = delta.getModuleResource();
-		int kind2 = delta.getKind();
-		
-		if (resource instanceof IModuleFile) {
-			IModuleFile file = (IModuleFile) resource;
-			try {
-				if (kind2 == IModuleResourceDelta.REMOVED)
-					deleteFile(path, file);
-				else {
-					IPath path2 = path.append(file.getModuleRelativePath()).append(file.getName());
-					File f = path2.toFile().getParentFile();
-					if (!f.exists())
-						f.mkdirs();
-					
-					copyFile(file, path2);
-				}
-			} catch (CoreException ce) {
-				status.add(ce.getStatus());
-			}
-			IStatus[] stat = new IStatus[status.size()];
-			status.toArray(stat);
-			return stat;
-		}
-		
-		if (kind2 == IModuleResourceDelta.ADDED) {
-			IPath path2 = path.append(resource.getModuleRelativePath()).append(resource.getName());
-			File file = path2.toFile();
-			if (!file.exists() && !file.mkdirs()) {
-				status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorMkdir, path2), null));
-				IStatus[] stat = new IStatus[status.size()];
-				status.toArray(stat);
-				return stat;
-			}
-		}
-		
-		IModuleResourceDelta[] childDeltas = delta.getAffectedChildren();
-		int size = childDeltas.length;
-		for (int i = 0; i < size; i++) {
-			IStatus[] stat = publishDelta(childDeltas[i], path, monitor);
-			addArrayToList(status, stat);
-		}
-		
-		if (kind2 == IModuleResourceDelta.REMOVED) {
-			IPath path2 = path.append(resource.getModuleRelativePath()).append(resource.getName());
-			File file = path2.toFile();
-			if (file.exists() && !file.delete()) {
-				status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, path2), null));
-			}
-		}
-		
-		IStatus[] stat = new IStatus[status.size()];
-		status.toArray(stat);
-		return stat;
-	}
-
-	private static void deleteFile(IPath path, IModuleFile file) throws CoreException {
-		if (Trace.PUBLISHING) {
-			Trace.trace(Trace.STRING_PUBLISHING, "Deleting: " + file.getName() + " from " + path.toString());
-		}
-		IPath path2 = path.append(file.getModuleRelativePath()).append(file.getName());
-		if (path2.toFile().exists() && !path2.toFile().delete())
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, path2), null));
-	}
-
-	private void copyFile(IModuleFile mf, IPath path) throws CoreException {
-		if (Trace.PUBLISHING) {
-			Trace.trace(Trace.STRING_PUBLISHING, "Copying: " + mf.getName() + " to " + path.toString());
-		}
-		
-		if(!isCopyFile(mf, path)){
-			return;
-		}
-		
-		IFile file = (IFile) mf.getAdapter(IFile.class);
-		if (file != null)
-			copyFile(file.getContents(), path, file.getLocalTimeStamp(), mf);
-		else {
-			File file2 = (File) mf.getAdapter(File.class);
-			InputStream in = null;
-			try {
-				in = new FileInputStream(file2);
-			} catch (IOException e) {
-				throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorReading, file2.getAbsolutePath()), e));
-			}
-			copyFile(in, path, file2.lastModified(), mf);
-		}
-	}
-	
-	/**
-	 * Returns <code>true<code/> if the module file should be copied to the destination, <code>false</codre> otherwise.
-	 * @param moduleFile the module file
-	 * @param toPath destination.
-	 * @return <code>true<code/>, if the module file should be copied
-	 */
-	protected boolean isCopyFile(IModuleFile moduleFile, IPath toPath){
-		return true;
-	}
-
-	/**
-	 * Publish the given module resources to the given path.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path a path to publish to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public IStatus[] publishFull(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		if (resources == null)
-			return EMPTY_STATUS;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		List<IStatus> status = new ArrayList<IStatus>(2);
-		int size = resources.length;
-		for (int i = 0; i < size; i++) {
-			IStatus[] stat = copy(resources[i], path, monitor);
-			addArrayToList(status, stat);
-		}
-		
-		IStatus[] stat = new IStatus[status.size()];
-		status.toArray(stat);
-		return stat;
-	}
-
-	private IStatus[] copy(IModuleResource resource, IPath path, IProgressMonitor monitor) {
-		String name = resource.getName();
-		if (Trace.PUBLISHING) {
-			Trace.trace(Trace.STRING_PUBLISHING, "Copying: " + name + " to " + path.toString());
-		}
-		List<IStatus> status = new ArrayList<IStatus>(2);
-		if (resource instanceof IModuleFolder) {
-			IModuleFolder folder = (IModuleFolder) resource;
-			IStatus[] stat = publishFull(folder.members(), path, monitor);
-			addArrayToList(status, stat);
-		} else {
-			IModuleFile mf = (IModuleFile) resource;
-			path = path.append(mf.getModuleRelativePath()).append(name);
-			File f = path.toFile().getParentFile();
-			if (!f.exists())
-				f.mkdirs();
-			try {
-				copyFile(mf, path);
-			} catch (CoreException ce) {
-				status.add(ce.getStatus());
-			}
-		}
-		IStatus[] stat = new IStatus[status.size()];
-		status.toArray(stat);
-		return stat;
-	}
-
-	/**
-	 * Creates a new zip file containing the given module resources. Deletes the existing file
-	 * (and doesn't create a new one) if resources is null or empty.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path the path where the zip file should be created 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public IStatus[] publishZip(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		if (resources == null || resources.length == 0) {
-			// should also check if resources consists of all empty directories
-			File file = path.toFile();
-			if (file.exists())
-				file.delete();
-			return EMPTY_STATUS;
-		}
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		File tempFile = null;
-		try {
-			File file = path.toFile();
-			tempFile = File.createTempFile(TEMPFILE_PREFIX, "." + path.getFileExtension(), tempDir);
-			
-			BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(tempFile));
-			ZipOutputStream zout = new ZipOutputStream(bout);
-			addZipEntries(zout, resources);
-			zout.close();
-			
-			moveTempFile(tempFile, file);
-		} catch (CoreException e) {
-			return new IStatus[] { e.getStatus() };
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error zipping", e);
-			}
-			return new Status[] { new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCreatingZipFile, path.lastSegment(), e.getLocalizedMessage()), e) };
-		} finally {
-			if (tempFile != null && tempFile.exists())
-				tempFile.deleteOnExit();
-		}
-		return EMPTY_STATUS;
-	}
-
-	private static void addZipEntries(ZipOutputStream zout, IModuleResource[] resources) throws Exception {
-		if (resources == null)
-			return;
-		
-		int size = resources.length;
-		for (int i = 0; i < size; i++) {
-			if (resources[i] instanceof IModuleFolder) {
-				IModuleFolder mf = (IModuleFolder) resources[i];
-				IModuleResource[] res = mf.members();
-				
-				IPath path = mf.getModuleRelativePath().append(mf.getName());
-				String entryPath = path.toPortableString();
-				if (!entryPath.endsWith("/"))
-					entryPath += '/';
-				
-				ZipEntry ze = new ZipEntry(entryPath);
-				
-				long ts = 0;
-				IContainer folder = (IContainer) mf.getAdapter(IContainer.class);
-				if (folder != null)
-					ts = folder.getLocalTimeStamp();
-				
-				if (ts != IResource.NULL_STAMP && ts != 0)
-					ze.setTime(ts);
-				
-				zout.putNextEntry(ze);
-				zout.closeEntry();
-				
-				addZipEntries(zout, res);
-				continue;
-			}
-			
-			IModuleFile mf = (IModuleFile) resources[i];
-			IPath path = mf.getModuleRelativePath().append(mf.getName());
-			
-			ZipEntry ze = new ZipEntry(path.toPortableString());
-			
-			InputStream in = null;
-			long ts = 0;
-			IFile file = (IFile) mf.getAdapter(IFile.class);
-			if (file != null) {
-				ts = file.getLocalTimeStamp();
-				in = file.getContents();
-			} else {
-				File file2 = (File) mf.getAdapter(File.class);
-				ts = file2.lastModified();
-				in = new FileInputStream(file2);
-			}
-			
-			if (ts != IResource.NULL_STAMP && ts != 0)
-				ze.setTime(ts);
-			
-			zout.putNextEntry(ze);
-			
-			try {
-				int n = 0;
-				while (n > -1) {
-					n = in.read(buf);
-					if (n > 0)
-						zout.write(buf, 0, n);
-				}
-			} finally {
-				in.close();
-			}
-			
-			zout.closeEntry();
-		}
-	}
-
-	/**
-	 * Accepts an IModuleResource array which is expected to contain a single
-	 * IModuleFile resource and copies it to the specified path, which should
-	 * include the name of the file to write.  If the array contains more than
-	 * a single resource or the resource is not an IModuleFile resource, the
-	 * file is not created.  Currently no error is returned, but error handling
-	 * is recommended since that is expected to change in the future.
-	 * 
-	 * @param resources an array containing a single IModuleFile resource
-	 * @param path the path, including file name, where the file should be created
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public IStatus[] publishToPath(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		if (resources == null || resources.length == 0) {
-			// should also check if resources consists of all empty directories
-			File file = path.toFile();
-			if (file.exists())
-				file.delete();
-			return EMPTY_STATUS;
-		}
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-
-		if (resources.length == 1 && resources[0] instanceof IModuleFile) {
-			try {
-				copyFile((IModuleFile) resources[0], path);
-			}
-			catch (CoreException e) {
-				return new IStatus[] { e.getStatus() };
-			}
-		}
-
-		return EMPTY_STATUS;
-	}
-
-	/**
-	 * Utility method to move a temp file into position by deleting the original and
-	 * swapping in a new copy.
-	 *  
-	 * @param tempFile
-	 * @param file
-	 * @throws CoreException
-	 */
-	private void moveTempFile(File tempFile, File file) throws CoreException {
-		if (file.exists()) {
-			if (!safeDelete(file, 2)) {
-				// attempt to rewrite an existing file with the tempFile contents if
-				// the existing file can't be deleted to permit the move
-				try {
-					InputStream in = new FileInputStream(tempFile);
-					IStatus status = copyFile(in, file.getPath());
-					if (!status.isOK()) {
-						MultiStatus status2 = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, file.toString()), null);
-						status2.add(status);
-						throw new CoreException(status2);
-					}
-					return;
-				} catch (FileNotFoundException e) {
-					// shouldn't occur
-				} finally {
-					tempFile.delete();
-				}
-				/*if (!safeDelete(file, 8)) {
-					tempFile.delete();
-					throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, file.toString()), null));
-				}*/
-			}
-		}
-		if (!safeRename(tempFile, file, 10))
-			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRename, tempFile.toString()), null));
-	}
-
-	/**
-	 * Copy a file from a to b. Closes the input stream after use.
-	 *
-	 * @param in an InputStream
-	 * @param to the file to copy to
-	 * @return a status
-	 */
-	private IStatus copyFile(InputStream in, String to) {
-		OutputStream out = null;
-		
-		try {
-			out = new FileOutputStream(to);
-			
-			int avail = in.read(buf);
-			while (avail > 0) {
-				out.write(buf, 0, avail);
-				avail = in.read(buf);
-			}
-			return Status.OK_STATUS;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error copying file", e);
-			}
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception ex) {
-				// ignore
-			}
-			try {
-				if (out != null)
-					out.close();
-			} catch (Exception ex) {
-				// ignore
-			}
-		}
-	}
-
-	/**
-	 * Safe delete. Tries to delete multiple times before giving up.
-	 * 
-	 * @param f
-	 * @return <code>true</code> if it succeeds, <code>false</code> otherwise
-	 */
-	private static boolean safeDelete(File f, int retrys) {
-		int count = 0;
-		while (count < retrys) {
-			if (!f.exists())
-				return true;
-			
-			f.delete();
-			
-			if (!f.exists())
-				return true;
-			
-			count++;
-			// delay if we are going to try again
-			if (count < retrys) {
-				try {
-					Thread.sleep(100);
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Safe rename. Will try multiple times before giving up.
-	 * 
-	 * @param from
-	 * @param to
-	 * @param retrys number of times to retry
-	 * @return <code>true</code> if it succeeds, <code>false</code> otherwise
-	 */
-	private static boolean safeRename(File from, File to, int retrys) {
-		// make sure parent dir exists
-		File dir = to.getParentFile();
-		if (dir != null && !dir.exists())
-			dir.mkdirs();
-		
-		int count = 0;
-		while (count < retrys) {
-			if (from.renameTo(to))
-				return true;
-			
-			count++;
-			// delay if we are going to try again
-			if (count < retrys) {
-				try {
-					Thread.sleep(100);
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-		return false;
-	}
-
-	private static void addArrayToList(List<IStatus> list, IStatus[] a) {
-		if (list == null || a == null || a.length == 0)
-			return;
-		
-		int size = a.length;
-		for (int i = 0; i < size; i++)
-			list.add(a[i]);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishUtil.java
deleted file mode 100644
index f495fe8..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishUtil.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-/**
- * Utility class with an assortment of useful file methods.
- * <p>
- * This class provides all its functionality through static members.
- * It is not intended to be subclassed or instantiated.
- * </p>
- * @since 2.0
- */
-public final class PublishUtil {
-	private static PublishHelper publishHelper = new PublishHelper(null);
-
-	/**
-	 * PublishUtil cannot be created. Use static methods.
-	 */
-	private PublishUtil() {
-		// can't create
-	}
-
-	/**
-	 * Utility method to recursively delete a directory.
-	 *
-	 * @param dir a directory
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public static IStatus[] deleteDirectory(File dir, IProgressMonitor monitor) {
-		return PublishHelper.deleteDirectory(dir, monitor);
-	}
-
-	/**
-	 * Smart copy the given module resources to the given path.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path an external path to copy to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status 
-	 */
-	public static IStatus[] publishSmart(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		return publishHelper.publishSmart(resources, path, monitor);
-	}
-
-	/**
-	 * Smart copy the given module resources to the given path.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path an external path to copy to
-	 * @param ignore an array of paths relative to path to ignore, i.e. not delete or copy over
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status 
-	 * @since 1.1
-	 */
-	public static IStatus[] publishSmart(IModuleResource[] resources, IPath path, IPath[] ignore, IProgressMonitor monitor) {
-		return publishHelper.publishSmart(resources, path, ignore, monitor);
-	}
-
-	/**
-	 * Handle a delta publish.
-	 * 
-	 * @param delta a module resource delta
-	 * @param path the path to publish to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public static IStatus[] publishDelta(IModuleResourceDelta[] delta, IPath path, IProgressMonitor monitor) {
-		return publishHelper.publishDelta(delta, path, monitor);
-	}
-
-	/**
-	 * Handle a delta publish.
-	 * 
-	 * @param delta a module resource delta
-	 * @param path the path to publish to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public static IStatus[] publishDelta(IModuleResourceDelta delta, IPath path, IProgressMonitor monitor) {
-		return publishHelper.publishDelta(delta, path, monitor);
-	}
-
-	/**
-	 * Publish the given module resources to the given path.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path a path to publish to
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public static IStatus[] publishFull(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		return publishHelper.publishFull(resources, path, monitor);
-	}
-
-	/**
-	 * Creates a new zip file containing the given module resources. Deletes the existing file
-	 * (and doesn't create a new one) if resources is null or empty.
-	 * 
-	 * @param resources an array of module resources
-	 * @param path the path where the zip file should be created 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly-empty array of error and warning status
-	 */
-	public static IStatus[] publishZip(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		return publishHelper.publishZip(resources, path, monitor);
-	}
-}
\ 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 88c1baa..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.net.UnknownHostException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-
-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());
-
-	protected static final Object lock = new Object();
-
-	protected static Set<String> localHostCache = new HashSet<String>();
-	private static Set<String> notLocalHostCache = new HashSet<String>();
-	private static Map<String, CacheThread> threadMap = new HashMap<String, CacheThread>();
-
-	private static Set<InetAddress> addressCache;
-
-	static class CacheThread extends Thread {
-		private Set<InetAddress> currentAddresses;
-		private Set<String> addressList;
-		private String host;
-		private Set<String> nonAddressList;
-		private Map threadMap2;
-
-		public CacheThread(String host, Set<InetAddress> currentAddresses, Set<String> addressList, Set<String> nonAddressList, Map threadMap2) {
-			super("Caching localhost information");
-			this.host = host;
-			this.currentAddresses = currentAddresses;
-			this.addressList = addressList;
-			this.nonAddressList = nonAddressList;
-			this.threadMap2 = threadMap2;
-		}
-
-		public void run() {
-			if (currentAddresses != null) {
-				Iterator iter2 = currentAddresses.iterator();
-				while (iter2.hasNext()) {
-					InetAddress addr = (InetAddress) iter2.next();
-					String hostname = addr.getHostName().toLowerCase();
-					String hostname2 = addr.getCanonicalHostName().toLowerCase();
-					synchronized (lock) {
-						if (hostname != null && !addressList.contains(hostname))
-							addressList.add(hostname);
-						if (hostname2 != null && !addressList.contains(hostname2))
-							addressList.add(hostname2);
-					}
-				}
-			}
-			
-			try {
-				InetAddress[] addrs = InetAddress.getAllByName(host);
-				int length = addrs.length;
-				for (int j = 0; j < length; j++) {
-					InetAddress addr = addrs[0];
-					String hostname = addr.getHostName().toLowerCase();
-					String hostname2 = addr.getCanonicalHostName().toLowerCase();
-					synchronized (lock) {
-						if (addr.isLoopbackAddress()) {
-							if (hostname != null && !addressList.contains(hostname))
-								addressList.add(hostname);
-							if (hostname2 != null && !addressList.contains(hostname2))
-								addressList.add(hostname2);
-						} else {
-							if (hostname != null && !nonAddressList.contains(hostname))
-								nonAddressList.add(hostname);
-							if (hostname2 != null && !nonAddressList.contains(hostname2))
-								nonAddressList.add(hostname2);
-						}
-					}
-				}
-			} catch (UnknownHostException e) {
-				synchronized (lock) {
-					if (host != null && !nonAddressList.contains(host))
-						nonAddressList.add(host);
-				}
-			}
-			synchronized (lock) {
-				threadMap2.remove(host);
-			}
-		}
-	}
-
-	/**
-	 * Static utility class - cannot create an instance.
-	 */
-	private SocketUtil() {
-		// cannot create
-	}
-
-	/**
-	 * Finds an unused local port between the given from and to values.
-	 * 
-	 * @param low lowest possible port number
-	 * @param high highest possible port number
-	 * @return an unused port number, or <code>-1</code> if no used ports could be found
-	 */
-	public static int findUnusedPort(int low, int high) {
-		return findUnusedPort(null, low, high);
-	}
-
-	/**
-	 * Finds an unused local port between the given from and to values.
-	 * 
-	 * @param address a local InetAddress
-	 * @param low lowest possible port number
-	 * @param high highest possible port number
-	 * @return an unused port number, or <code>-1</code> if no used ports could be found
-	 * @since 1.1
-	 */
-	public static int findUnusedPort(InetAddress address, int low, int high) {
-		if (high < low)
-			return -1;
-		
-		for (int i = 0; i < 10; i++) {
-			int port = getRandomPort(low, high);
-			if (!isPortInUse(address, port))
-				return port;
-		}
-		return -1;
-	}
-
-	/**
-	 * Return a random local 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 local 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) {
-		return isPortInUse(null, port, count);
-	}
-
-	/**
-	 * Checks to see if the given local 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 address a local InetAddress
-	 * @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
-	 * @since 1.1
-	 */
-	public static boolean isPortInUse(InetAddress address, int port, int count) {
-		boolean inUse = isPortInUse(address, port);
-		while (inUse && count > 0) {
-			try {
-				Thread.sleep(500);
-			} catch (Exception e) {
-				// ignore
-			}
-			inUse = isPortInUse(address, port);
-			count --;
-		}
-	
-		return inUse;
-	}
-
-	/**
-	 * Checks to see if the given local 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) {
-		return isPortInUse(null, port);
-	}
-		
-	/**
-	 * Checks to see if the given local port number is being used.
-	 * Returns <code>true</code> if the given port is in use, and <code>false</code>
-	 * otherwise.
-	 * 
-	 * @param address a local InetAddress
-	 * @param port the port number to check
-	 * @return boolean <code>true</code> if the port is in use, and
-	 *    <code>false</code> otherwise
-	 * @since 1.1
-	 */
-	public static boolean isPortInUse(InetAddress address, int port) {
-		ServerSocket s = null;
-		try {
-			s = new ServerSocket(port, 0, address);
-		} 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, the first call to this method will always return after
-	 * 350ms, even if the caching is not complete. At that point it may return
-	 * "false negative" results. (i.e. the method will return <code>false</code>
-	 * even though it may later determine that the host address is a local host)
-	 * </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/complete.
-	 * </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 || host.equals(""))
-			return false;
-		
-		host = host.toLowerCase();
-		if ("localhost".equals(host) || "127.0.0.1".equals(host) || "::1".equals(host))
-			return true;
-		
-		// check existing caches to see if the host is there
-		synchronized (lock) {
-			if (localHostCache.contains(host))
-				return true;
-			if (notLocalHostCache.contains(host))
-				return false;
-		}
-		InetAddress localHostaddr = null;
-		
-		// check simple cases
-		try {
-			localHostaddr = InetAddress.getLocalHost();
-			if (host.equals(localHostaddr.getHostName().toLowerCase())
-					|| host.equals(localHostaddr.getHostAddress().toLowerCase())){
-				synchronized (lock) {
-					localHostCache.add(host);
-				}
-				return true;
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Localhost caching failure",
-						e);
-			}
-		}
-		
-		// Bug 337763 - the InetAddress's getCanonicalHostName was removed from the simple case
-		// to be called in its own separate thread. This was due to the call being platform
-		// dependent and in some cases, taking up to 10 seconds to return. 
-		// 
-		// The cached thread may perform operations that are expensive. Therefore, to handle
-		// the case where the canonical host name returns quickly, a thread that terminates 
-		// after 100ms is used.
-		try {
-			final String hostFinal = host;
-			final InetAddress localHostaddrFinal = localHostaddr;
-			Thread compareCanonicalHostNameThread = new Thread(){
-				public void run(){
-					boolean isLocal = 
-						hostFinal.equals(localHostaddrFinal.getCanonicalHostName().toLowerCase());					
-					if (isLocal){
-						synchronized (lock) {
-							localHostCache.add(hostFinal);
-						}
-					}
-				}
-			};
-			compareCanonicalHostNameThread.start();
-			compareCanonicalHostNameThread.join(100);
-			// Check cache again
-			if (localHostCache.contains(host)){
-				return true;
-			}
-		} catch (Exception e){
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Comparing host with local host conical host name failed", e);
-			}			
-		}
-		
-		// check for current thread and wait if necessary
-		boolean currentThread = false;
-		try {
-			Thread t = null;
-			synchronized (lock) {
-				t = threadMap.get(host);
-			}
-			if (t != null && t.isAlive()) {
-				currentThread = true;
-				t.join(30);
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Localhost caching failure",
-						e);
-			}
-		}
-		
-		// check if cache is still ok
-		boolean refreshedCache = false;
-		try {
-			// get network interfaces
-			final Set<InetAddress> currentAddresses = new HashSet<InetAddress>();
-			
-			if(localHostaddr != null)
-				currentAddresses.add(localHostaddr);
-			
-			Enumeration nis = NetworkInterface.getNetworkInterfaces();
-			while (nis.hasMoreElements()) {
-				NetworkInterface inter = (NetworkInterface) nis.nextElement();
-				Enumeration<InetAddress> 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)) {
-				CacheThread cacheThread = null;
-				refreshedCache = true;
-				
-				synchronized (lock) {
-					addressCache = currentAddresses;
-					notLocalHostCache = new HashSet<String>();
-					localHostCache = new HashSet<String>(currentAddresses.size() * 3);
-					
-					Iterator iter = currentAddresses.iterator();
-					while (iter.hasNext()) {
-						InetAddress addr = (InetAddress) iter.next();
-						String a = addr.getHostAddress().toLowerCase();
-						if (a != null && !localHostCache.contains(a))
-							localHostCache.add(a);
-					}
-					
-					cacheThread = new CacheThread(host, currentAddresses, localHostCache, notLocalHostCache, threadMap);
-					threadMap.put(host, cacheThread);
-					cacheThread.setDaemon(true);
-					cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
-					cacheThread.start();
-				}
-				cacheThread.join(200);
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Localhost caching failure",
-						e);
-			}
-		}
-		
-		synchronized (lock) {
-			if (localHostCache.contains(host))
-				return true;
-			if (notLocalHostCache.contains(host))
-				return false;
-		}
-		
-		// if the cache hasn't been cleared, maybe we still need to lookup the host  
-		if (!refreshedCache && !currentThread) {
-			try {
-				CacheThread cacheThread = null;
-				synchronized (lock) {
-					cacheThread = new CacheThread(host, null, localHostCache, notLocalHostCache, threadMap);
-					threadMap.put(host, cacheThread);
-					cacheThread.setDaemon(true);
-					cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
-					cacheThread.start();
-				}
-				cacheThread.join(75);
-				
-				synchronized (lock) {
-					if (localHostCache.contains(host))
-						return true;
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Could not find localhost", e);
-				}
-			}
-		}
-		synchronized (lock) {
-			if(!notLocalHostCache.contains(host)){
-				notLocalHostCache.add(host);
-			}
-		}
-		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 74a07f2..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/WebResource.java
+++ /dev/null
@@ -1,84 +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.util;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-/**
- * A Web module resource.
- * 
- * @since 1.0
- */
-public class WebResource extends ModuleArtifactDelegate {
-	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) {
-		super(module);
-		this.path = path;
-	}
-
-	public WebResource() {
-		super();
-	}
-
-	/**
-	 * Return the relative path to the artifact within the module.
-	 * 
-	 * @return the relative path
-	 */
-	public IPath getPath() {
-		return path;
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#getName()
-	 */
-	public String getName() {
-		if (path == null || path.toString().length() == 0)
-			return getModule().getName();
-		return path.toString();
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#deserialize(String)
-	 */
-	public void deserialize(String s) {
-		int ind = s.indexOf("//");
-		super.deserialize(s.substring(0, ind));
-		path = new Path(s.substring(ind+2));
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#serialize()
-	 */
-	public String serialize() {
-		StringBuffer sb = new StringBuffer(super.serialize());
-		sb.append("//");
-		sb.append(path.toPortableString());
-		return sb.toString();
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "WebResource [module=" + getModule() + ", 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
diff --git a/plugins/org.eclipse.wst.server.ui/.classpath b/plugins/org.eclipse.wst.server.ui/.classpath
deleted file mode 100644
index 859bd32..0000000
--- a/plugins/org.eclipse.wst.server.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="serverui/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.server.ui/.cvsignore b/plugins/org.eclipse.wst.server.ui/.cvsignore
deleted file mode 100644
index c9a4c17..0000000
--- a/plugins/org.eclipse.wst.server.ui/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-serverui.jar
-build.xml
-temp.folder
-org.eclipse.wst.server.ui_3.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.server.ui/.options b/plugins/org.eclipse.wst.server.ui/.options
deleted file mode 100644
index dbaab94..0000000
--- a/plugins/org.eclipse.wst.server.ui/.options
+++ /dev/null
@@ -1,18 +0,0 @@
-# Debugging options for the org.eclipse.wst.server.ui plugin
-
-# Turn on general debugging
-org.eclipse.wst.server.ui/debug=true
-
-# Tracing options
-org.eclipse.wst.server.ui/config=false
-org.eclipse.wst.server.ui/info=false
-org.eclipse.wst.server.ui/warning=false
-org.eclipse.wst.server.ui/severe=false
-org.eclipse.wst.server.ui/finest=false
-org.eclipse.wst.server.ui/finer=false
-
-# Loading of extension points
-org.eclipse.wst.server.ui/extension_point=false
-
-# Performance of loading and calling delegates
-org.eclipse.wst.server.ui/performance=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/.project b/plugins/org.eclipse.wst.server.ui/.project
deleted file mode 100644
index eeeba70..0000000
--- a/plugins/org.eclipse.wst.server.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Nov 10 17:11:35 HST 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2920850..0000000
--- a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Thu Sep 13 15:25:06 EDT 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=ignore
-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=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-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=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-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=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-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=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-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=error
-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.5
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index f677818..0000000
--- a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Apr 14 16:36:20 EDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.ondemandthreshold=4
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.staticondemandthreshold=4
diff --git a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Sat Apr 22 18:36:14 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 119ee0f..0000000
--- a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,44 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.server.ui; singleton:=true
-Bundle-Version: 1.1.210.qualifier
-Bundle-Activator: org.eclipse.wst.server.ui.internal.ServerUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.server.ui,
- org.eclipse.wst.server.ui.actions,
- org.eclipse.wst.server.ui.editor,
- org.eclipse.wst.server.ui.internal;x-internal:=true,
- org.eclipse.wst.server.ui.internal.actions;x-internal:=true,
- org.eclipse.wst.server.ui.internal.audio;x-internal:=true,
- org.eclipse.wst.server.ui.internal.command;x-internal:=true,
- org.eclipse.wst.server.ui.internal.editor;x-internal:=true,
- org.eclipse.wst.server.ui.internal.provisional;x-internal:=true,
- org.eclipse.wst.server.ui.internal.view.servers;x-internal:=true,
- org.eclipse.wst.server.ui.internal.cnf;x-internal:=true,
- org.eclipse.wst.server.ui.internal.viewers;x-internal:=true,
- org.eclipse.wst.server.ui.internal.webbrowser;x-internal:=true,
- org.eclipse.wst.server.ui.internal.wizard;x-internal:=true,
- org.eclipse.wst.server.ui.internal.wizard.fragment;x-internal:=true,
- org.eclipse.wst.server.ui.internal.wizard.page;x-internal:=true,
- org.eclipse.wst.server.ui.wizard
-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.wst.server.discovery;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.browser;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.console;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.103,2.0.0)",
- org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.103,2.0.0)",
- org.eclipse.jface.text;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,2.0.0)";resolution:=optional,
- org.eclipse.ui.navigator;bundle-version="[3.3.100,4.0.0)"
-Bundle-ActivationPolicy: lazy;exclude:="org.eclipse.wst.server.ui.internal.webbrowser"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.server.ui/about.html b/plugins/org.eclipse.wst.server.ui/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.server.ui/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>June, 2008</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.ui/build.properties b/plugins/org.eclipse.wst.server.ui/build.properties
deleted file mode 100644
index 581da82..0000000
--- a/plugins/org.eclipse.wst.server.ui/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               icons/,\
-               .options,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/
-source.. = serverui/
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif
deleted file mode 100644
index 5714d7a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif
deleted file mode 100644
index 6e0d383..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif
deleted file mode 100644
index 89c3340..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif
deleted file mode 100644
index 87827af..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif
deleted file mode 100644
index bc0ac6e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif
deleted file mode 100644
index 57f4102..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif
deleted file mode 100644
index fbf1686..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif
deleted file mode 100644
index d4650bb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif
deleted file mode 100644
index aca9522..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif
deleted file mode 100644
index 5ed7d98..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif
deleted file mode 100644
index a4f6b31..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif
deleted file mode 100644
index d507012..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif
deleted file mode 100644
index 55bacb2..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif
deleted file mode 100644
index 1cfd11a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif b/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif
deleted file mode 100644
index 88b648c..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif b/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif
deleted file mode 100644
index fbabfbb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif
deleted file mode 100644
index 02f9c3a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif
deleted file mode 100644
index 0956095..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif
deleted file mode 100644
index 8309b0d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif
deleted file mode 100644
index b6322fd..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif
deleted file mode 100644
index 49d908e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif
deleted file mode 100644
index 9362e67..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif
deleted file mode 100644
index 13c5faf..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/clear.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/clear.gif
deleted file mode 100644
index 6775edf..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif
deleted file mode 100644
index 3b4cf27..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif
deleted file mode 100644
index d14c89d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif
deleted file mode 100644
index b422a86..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif
deleted file mode 100644
index 45f57b3..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif
deleted file mode 100644
index 314fed1..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif
deleted file mode 100644
index 116fcb0..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif
deleted file mode 100644
index fc52314..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif
deleted file mode 100644
index 5714d7a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif
deleted file mode 100644
index 6e0d383..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif
deleted file mode 100644
index 89c3340..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif
deleted file mode 100644
index a1e9a6d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif
deleted file mode 100644
index bc0ac6e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif
deleted file mode 100644
index 57f4102..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif
deleted file mode 100644
index fbf1686..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/clear.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/clear.gif
deleted file mode 100644
index af30a42..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif
deleted file mode 100644
index d4650bb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif
deleted file mode 100644
index aca9522..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif
deleted file mode 100644
index 5ed7d98..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif
deleted file mode 100644
index a4f6b31..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif
deleted file mode 100644
index d507012..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif
deleted file mode 100644
index 55bacb2..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif
deleted file mode 100644
index 1cfd11a..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif b/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif
deleted file mode 100644
index 88b648c..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif b/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif
deleted file mode 100644
index fbabfbb..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_category.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_category.gif
deleted file mode 100644
index 74a5388..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_category.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_sound.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_sound.gif
deleted file mode 100644
index 5ed8553..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_sound.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif
deleted file mode 100644
index f0ef4c9..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif
deleted file mode 100644
index cbd2756..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/internal_browser.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/internal_browser.gif
deleted file mode 100644
index 09f609d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/internal_browser.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif
deleted file mode 100644
index 42e5f31..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif
deleted file mode 100644
index 2ff3974..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif
deleted file mode 100644
index 0cb4c16..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif
deleted file mode 100644
index 519b846..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif
deleted file mode 100644
index bb900ed..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif
deleted file mode 100644
index e5690ec..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif
deleted file mode 100644
index d370054..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif
deleted file mode 100644
index f1e1778..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif
deleted file mode 100644
index 47e2584..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif
deleted file mode 100644
index 66263aa..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif
deleted file mode 100644
index 703bbfe..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif
deleted file mode 100644
index 5151e54..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif
deleted file mode 100644
index d6c3b65..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif
deleted file mode 100644
index 306c57d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif
deleted file mode 100644
index d6c3b65..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif
deleted file mode 100644
index 306c57d..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/state_started.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/state_started.gif
deleted file mode 100644
index 496e04f..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/state_started.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/state_stopped.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/state_stopped.gif
deleted file mode 100644
index 61bbe3c..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/state_stopped.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/web_module.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/web_module.gif
deleted file mode 100644
index bf20f70..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/obj16/web_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif
deleted file mode 100644
index dbfcbc0..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif
deleted file mode 100644
index aa8d52e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_debug_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_debug_ovr.gif
deleted file mode 100644
index 835846c..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_debug_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_ovr.gif
deleted file mode 100644
index 6e1b6d8..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_profile_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_profile_ovr.gif
deleted file mode 100644
index 4df815e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_started_profile_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting1_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting1_ovr.gif
deleted file mode 100644
index b56b71f..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting1_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting2_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting2_ovr.gif
deleted file mode 100644
index d064bfa..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting2_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting3_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting3_ovr.gif
deleted file mode 100644
index 8521cce..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_starting3_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopped_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopped_ovr.gif
deleted file mode 100644
index 836042e..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopped_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping1_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping1_ovr.gif
deleted file mode 100644
index 49cc1a4..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping1_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping2_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping2_ovr.gif
deleted file mode 100644
index 540a436..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping2_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping3_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping3_ovr.gif
deleted file mode 100644
index ee563f3..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_stopping3_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.png b/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.png
deleted file mode 100644
index 000ad20..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.png b/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.png
deleted file mode 100644
index 577567c..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.png b/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.png
deleted file mode 100644
index 6097885..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.png b/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.png
deleted file mode 100644
index f4f1b76..0000000
--- a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.properties b/plugins/org.eclipse.wst.server.ui/plugin.properties
deleted file mode 100644
index 35ecb73..0000000
--- a/plugins/org.eclipse.wst.server.ui/plugin.properties
+++ /dev/null
@@ -1,111 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Server UI
-providerName=Eclipse.org
-
-extensionPointEditorPages=Editor Pages
-extensionPointEditorPageSections=Editor Page Sections
-extensionPointEditorActions=Editor Actions
-extensionPointServerImages=Server Images
-extensionPointWizardFragments=Wizard Fragments
-extensionPointInitialSelectionProvider=Initial Selection Provider
-extensionPointServerLabelProvider=Server Label Provider
-extensionPointAudio=Audio
-extensionPointServerCreationWizardPageExtension=Server Creation Wizard Page Extension
-extensionPointServerEditorOverviewPageExtension=Server Editor Overview Page Modifier
-
-# --------------- Wizards and Views ---------------
-
-category=Server
-context=In Servers View
-newServer=Server
-newServerDescription=Define a new server
-
-viewServers=Servers
-viewServers_old=Servers (deprecated)
-defaultProvider=Server and Module Provider
-
-# --------------- Action Sets (toolbar icon groups) ---------------
-
-# Servers action set
-actionSetTitle=Server
-actionSetNewServer=Create Server
-
-# Run on Server actions
-actionRunOnServer=Run on Server
-actionRunOnServerDescription=Run the current selection on a server
-actionDebugOnServer=Debug on Server
-actionDebugOnServerDescription=Debug the current selection on a server
-actionPublish=Publish
-actionPublishDescription=Publish to server
-actionRun=Run
-actionRunDescription=Run server
-actionDebug=Debug
-actionDebugDescription=Debug server
-actionProfileOnServer=Profile on Server
-actionStop=Stop
-actionStopDescription=Stop the server
-
-# --------------- Preferences and Property pages ---------------
-
-preferenceServersTitle=Server
-preferenceLaunchingTitle=Launching
-preferenceRuntimesTitle=Runtime Environments
-preferenceServerKeywords=servers runtime environment build installed publishing deploy assembly launching running debugging profiling
-
-propertiesServer=Server
-propertiesServerInfo=General
-propertiesMonitor=Monitoring
-
-runOnServerLaunchConfiguration=Run on Server
-launchConfigurationDelegateName=Run on Server
-launchConfigurationDelegateDescription=Runs applications on the server
-
-# --------------- Editor ---------------
-
-serverEditor=Server Editor
-serverEditorOverviewPage=Overview
-
-# --------------- Audio ---------------
-
-audioPreferenceTitle=Audio
-preferenceAudioKeywords=sound volume
-
-launchableWebBrowser=Web browser
-launchableWebBrowserDescription=Open the Resource in a Web Browser
-
-audioCategoryServer=Server
-audioServerStarted=Server Started
-audioServerStopped=Server Stopped
-
-audioCategoryPublish=Publishing
-audioPublishFinished=Publish Finished
-
-# --------------- Other ---------------
-
-monitorLabel=TCP/IP monitor
-monitorDescription=Uses the internal TCP/IP monitor to monitor server requests.
-
-moduleProjectDecoratorLabel=Module Project
-moduleProjectDecoratorDescription=Decorates server modules with information on the project that they come from
-serverStateDecoratorLabel=Server State Decorator
-
-# --------------- Action Sets (toolbar icon groups) ---------------
-
-# Web Browser action set
-actionSetWebBrowserTitle=Web Browser
-actionSetOpenWebBrowser=Open Web Browser
-actionSetSwitchBrowser=Web Browser
-
-# --------------- Preferences ---------------
-
-# Name of the preference pages
-preferenceInternetTitle=Internet
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.xml b/plugins/org.eclipse.wst.server.ui/plugin.xml
deleted file mode 100644
index 10f4697..0000000
--- a/plugins/org.eclipse.wst.server.ui/plugin.xml
+++ /dev/null
@@ -1,633 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension-point id="editorPages" name="%extensionPointEditorPages" schema="schema/editorPages.exsd"/>
-  <extension-point id="editorPageSections" name="%extensionPointEditorPageSections" schema="schema/editorPageSections.exsd"/>
-  <extension-point id="editorActions" name="%extensionPointEditorActions" schema="schema/editorActions.exsd"/>
-  <extension-point id="serverImages" name="%extensionPointServerImages" schema="schema/serverImages.exsd"/>
-  <extension-point id="wizardFragments" name="%extensionPointWizardFragments" schema="schema/wizardFragments.exsd"/>
-  <extension-point id="initialSelectionProvider" name="%extensionPointInitialSelectionProvider" schema="schema/initialSelectionProvider.exsd"/>
-  <extension-point id="audio" name="%extensionPointAudio" schema="schema/audio.exsd"/>
-  <extension-point id="serverToolTip" name="%extensionPointServerToolTip" schema="schema/serverToolTip.exsd"/>
-  <extension-point id="serverCreationWizardPageExtension" name="%extensionPointServerCreationWizardPageExtension" schema="schema/serverCreationWizardPageExtension.exsd"/>
-  <extension-point id="serverEditorOverviewPageModifier" name="%extensionPointServerEditorOverviewPageExtension" schema="schema/serverEditorOverviewPageModifier.exsd"/>
-  <extension-point id="serverLabelProvider" name="%serverLabelProvider" schema="schema/serverLabelProvider.exsd"/>
-
-<extension point="org.eclipse.ui.newWizards">
-  <category
-    id="org.eclipse.wst.server.ui"
-    name="%category"/>
-
-  <wizard
-      id="org.eclipse.wst.server.ui.new.server"
-      name="%newServer"
-      class="org.eclipse.wst.server.ui.internal.wizard.NewServerWizard"
-      category="org.eclipse.wst.server.ui"
-      icon="icons/ctool16/wiz_new_server.gif">
-    <description>%newServerDescription</description>
-  </wizard>
-</extension>
-
-<extension point="org.eclipse.ui.views"> 
-  <category
-    id="org.eclipse.wst.server.ui"
-    name="%category"/>
-
-
-  <view
-        allowMultiple="false"
-        category="org.eclipse.wst.server.ui"
-        class="org.eclipse.wst.server.ui.internal.cnf.ServersView2"
-        icon="icons/cview16/servers_view.gif"
-        id="org.eclipse.wst.server.ui.ServersView"
-        name="%viewServers">
-  </view>
-</extension>
-<extension
-      point="org.eclipse.ui.navigator.navigatorContent">
-   <navigatorContent
-         activeByDefault="true"
-         contentProvider="org.eclipse.wst.server.ui.internal.cnf.ServerContentProvider"
-         icon="icons/cview16/servers_view.gif"
-         id="org.eclipse.wst.server.ui.ServersView.content.root"
-         labelProvider="org.eclipse.wst.server.ui.internal.cnf.ServerLabelProvider"
-         name="%defaultProvider"
-         priority="highest">
-      <triggerPoints>
-         <or>
-            <instanceof
-                  value="org.eclipse.wst.server.core.IServer">
-            </instanceof>
-            <instanceof
-                  value="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-            </instanceof>
-         </or>
-      </triggerPoints>
-      <possibleChildren>
-         <or>
-            <instanceof
-                  value="java.lang.Object">
-            </instanceof>
-            <instanceof
-                  value="org.eclipse.wst.server.core.IServer">
-            </instanceof>
-            <instanceof
-                  value="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-            </instanceof>
-         </or>
-      </possibleChildren>
-	  <actionProvider
-	            class="org.eclipse.wst.server.ui.internal.cnf.ServerActionProvider"
-	            id="org.eclipse.wst.server.ui.ServersView.ServerActionProvider"
-	            priority="highest">
-			<enablement>
-             <or>
-                <instanceof
-                      value="org.eclipse.wst.server.core.IServer">
-                </instanceof>
-                <instanceof
-                      value="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-                </instanceof>
-                <instanceof
-                      value="org.eclipse.core.resources.IWorkspaceRoot">
-                </instanceof>
-               <adapt
-                     type="java.util.Collection">
-                  <count
-                        value="0">
-                  </count>
-               </adapt>
-             </or>
-            </enablement>
-	  </actionProvider>      
-      <dropAssistant
-             class="org.eclipse.wst.server.ui.internal.cnf.ServersViewDropAdapterAssistant"
-             id="org.eclipse.wst.server.ui.ServersView.DropAssistant">
-          <possibleDropTargets>
-             <or>
-                <instanceof
-                      value="java.lang.Object">
-                </instanceof>
-             </or>
-          </possibleDropTargets>
-       </dropAssistant>
-   </navigatorContent>
-</extension>
-
-<extension
-      point="org.eclipse.ui.navigator.viewer">
-   <viewerContentBinding
-         viewerId="org.eclipse.wst.server.ui.ServersView">
-      <includes>
-         <contentExtension
-               isRoot="true"
-               pattern="org.eclipse.wst.server.ui.ServersView.content.root">
-         </contentExtension>
-      </includes>
-   </viewerContentBinding>
-	<viewer
-       helpContext="org.eclipse.wst.server.ui.svcp0000"
-       viewerId="org.eclipse.wst.server.ui.ServersView">
-		<options>
-			<property name="org.eclipse.ui.navigator.hideLinkWithEditorAction"
-				value="true">
-			</property>
-		</options>
-	</viewer>
-</extension>
-
-<extension point="org.eclipse.ui.perspectiveExtensions">
-  <perspectiveExtension
-    targetID="org.eclipse.debug.ui.DebugPerspective">
-    <view
-      relative="org.eclipse.debug.ui.DebugView"
-      relationship="stack"
-      id="org.eclipse.wst.server.ui.ServersView">
-    </view>
-  </perspectiveExtension>
-</extension>
-
-<extension point="org.eclipse.ui.preferencePages">
-  <page
-    id="org.eclipse.wst.server.ui.preferencePage"
-    name="%preferenceServersTitle"
-    class="org.eclipse.wst.server.ui.internal.ServerPreferencePage">
-      <keywordReference id="org.eclipse.wst.server.preferenceKeywords"/>
-  </page>
-  <page
-    id="org.eclipse.wst.server.ui.launching.preferencePage"
-    name="%preferenceLaunchingTitle"
-    category="org.eclipse.wst.server.ui.preferencePage"
-    class="org.eclipse.wst.server.ui.internal.LaunchingPreferencePage">
-      <keywordReference id="org.eclipse.wst.server.preferenceKeywords"/>
-  </page>
-  <page
-    id="org.eclipse.wst.server.ui.runtime.preferencePage"
-    name="%preferenceRuntimesTitle"
-    category="org.eclipse.wst.server.ui.preferencePage"
-    class="org.eclipse.wst.server.ui.internal.RuntimePreferencePage">
-      <keywordReference id="org.eclipse.wst.server.preferenceKeywords"/>
-  </page>
-  <page
-    id="org.eclipse.wst.audio.preferencePage"
-    category="org.eclipse.wst.server.ui.preferencePage"
-    name="%audioPreferenceTitle"
-    class="org.eclipse.wst.server.ui.internal.audio.AudioPreferencePage">
-      <keywordReference id="org.eclipse.wst.server.audio.preferenceKeywords"/>
-  </page>
-</extension>
-
-<extension point="org.eclipse.ui.keywords">
-  <keyword
-    label="%preferenceServerKeywords"
-    id="org.eclipse.wst.server.preferenceKeywords"/>
-  <keyword
-    label="%preferenceAudioKeywords"
-    id="org.eclipse.wst.server.audio.preferenceKeywords"/>
-</extension>
-
-<extension point="org.eclipse.ui.editors">
-  <editor id="org.eclipse.wst.server.ui.editor"
-    name="%serverEditor"
-    icon="icons/obj16/server.gif"
-    extensions="server"
-    class="org.eclipse.wst.server.ui.internal.editor.ServerEditor"
-    contributorClass="org.eclipse.wst.server.ui.internal.editor.ServerEditorActionBarContributor"/>
-</extension>
-
-<extension point="org.eclipse.ui.elementFactories">
-  <factory id="org.eclipse.wst.server.ui.editor.input.factory"
-    class="org.eclipse.wst.server.ui.internal.editor.ServerEditorInputFactory"/>
-</extension>
-
-<extension point="org.eclipse.ui.propertyPages">
-  <page
-    id="org.eclipse.wst.server.ui.project.properties"
-    name="%propertiesServer"
-    class="org.eclipse.wst.server.ui.internal.ProjectPropertyPage">
-     <enabledWhen>
-       <and>
-         <adapt type="org.eclipse.core.resources.IProject"/>
-         <test property="org.eclipse.wst.server.ui.isRunnable" value="true"/>
-       </and>
-     </enabledWhen>
-  </page>
-  <page
-    id="org.eclipse.wst.server.ui.properties"
-    name="%propertiesServerInfo"
-    class="org.eclipse.wst.server.ui.internal.ServerPropertyPage">
-     <enabledWhen>
-       <and>
-         <adapt type="org.eclipse.wst.server.core.IServer"/>
-       </and>
-     </enabledWhen>
-  </page>
-  <page
-    id="org.eclipse.wst.server.ui.properties.monitor"
-    name="%propertiesMonitor"
-    class="org.eclipse.wst.server.ui.internal.view.servers.MonitorPropertyPage">
-     <enabledWhen>
-       <and>
-         <adapt type="org.eclipse.wst.server.core.IServer"/>
-       </and>
-     </enabledWhen>
-  </page>
-</extension>
-
-<extension point="org.eclipse.ui.actionSets">
-  <actionSet
-    id="org.eclipse.wst.server.ui.new.actionSet"
-    label="%actionSetTitle"
-    visible="false">
-    <action
-      id="org.eclipse.wst.server.ui.action.new.server"
-      toolbarPath="servers"
-      label="%actionSetNewServer"
-      tooltip="%actionSetNewServer"
-      icon="icons/ctool16/wiz_new_server.gif"
-      class="org.eclipse.wst.server.ui.internal.actions.NewServerAction"/>
-  </actionSet>
-</extension>
-
-<extension point="org.eclipse.debug.ui.launchShortcuts">
-   <shortcut
-         id="org.eclipse.wst.server.launchShortcut"
-         label="%actionRunOnServer"
-         description="%actionRunOnServerDescription"
-         modes="run, debug, profile"
-         path="aa"
-         icon="icons/etool16/run_on_server.gif"
-         class="org.eclipse.wst.server.ui.internal.ServerLaunchShortcut">
-      <contextualLaunch>
-        <enablement>
-           <with variable="selection">
-             <count value="1"/>
-             <iterate>
-                <test property="org.eclipse.wst.server.ui.isRunnable" value="true"/>
-             </iterate>
-           </with>
-         </enablement>
-        <contextLabel
-           mode="run"
-           label="%actionRunOnServer"/>
-        <contextLabel
-           mode="debug"
-           label="%actionDebugOnServer"/>
-        <contextLabel
-           mode="profile"
-           label="%actionProfileOnServer"/>
-      </contextualLaunch>
-      <configurationType
-           id="org.eclipse.wst.server.ui.launchConfigurationType">
-      </configurationType>
-   </shortcut>
-</extension>
-
-<extension point="org.eclipse.core.expressions.propertyTesters">
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="isRunnable"
-      type="java.lang.Object"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="serverType"
-      type="org.eclipse.wst.server.core.IServer"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="serverType"
-      type="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="moduleType"
-      type="org.eclipse.wst.server.core.IModule"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="moduleType"
-      type="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="moduleVersion"
-      type="org.eclipse.wst.server.core.IModule"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-   <propertyTester
-      id="org.eclipse.wst.server.ui.propertyTester"
-      namespace="org.eclipse.wst.server.ui"
-      properties="moduleVersion"
-      type="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer"
-      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
-   </propertyTester>
-</extension>
-
-  <extension point="org.eclipse.wst.server.ui.editorPages">
-    <page
-      id="org.eclipse.wst.server.editor.overview"
-      order="-10000"
-      name="%serverEditorOverviewPage"
-      typeIds="*"
-      insertionIds="org.eclipse.wst.server.editor.overview.left, org.eclipse.wst.server.editor.overview.right"
-      class="org.eclipse.wst.server.ui.internal.editor.OverviewEditorPart"/>
-  </extension>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory
-      class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory"
-      adaptableType="org.eclipse.wst.server.core.IServer">
-      <adapter type="org.eclipse.ui.IActionFilter"/>
-    </factory>
-    <factory
-      class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory"
-      adaptableType="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-      <adapter type="org.eclipse.ui.IActionFilter"/>
-    </factory>
-    <factory
-      adaptableType="org.eclipse.wst.server.core.IServer"
-      class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory">
-      <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-    </factory>
-  </extension>
-
-<extension point="org.eclipse.wst.server.core.clients">
-  <client
-    id="org.eclipse.wst.server.ui.web"
-    name="%launchableWebBrowser"
-    description="%launchableWebBrowserDescription"
-    launchable="org.eclipse.wst.server.core.util.HttpLaunchable"
-    class="org.eclipse.wst.server.ui.internal.WebLaunchableClient"/>
-</extension>
-
-<extension point="org.eclipse.wst.server.core.internalStartup">
-  <startup
-    id="org.eclipse.wst.server.ui.startup"
-    class="org.eclipse.wst.server.ui.internal.Startup"/>
-</extension>
-
-<extension point="org.eclipse.wst.server.ui.audio">
-  <category id="org.eclipse.wst.server.sound.server"
-    name="%audioCategoryServer"/>
-  <sound id="org.eclipse.wst.server.sound.serverStart"
-    category="org.eclipse.wst.server.sound.server"
-    name="%audioServerStarted"/>
-  <sound id="org.eclipse.wst.server.sound.serverStop"
-    category="org.eclipse.wst.server.sound.server"
-    name="%audioServerStopped"/>
-  <category id="org.eclipse.wst.server.sound.publish"
-    name="%audioCategoryPublish"/>
-  <sound id="org.eclipse.wst.server.sound.publishFinished"
-    category="org.eclipse.wst.server.sound.publish"
-    name="%audioPublishFinished"/>
-</extension>
-
-<extension point="org.eclipse.wst.server.core.internalServerMonitors">
-  <monitor
-    id="org.eclipse.wst.server.ui.monitor"
-    name="%monitorLabel"
-    description="%monitorDescription"
-    class="org.eclipse.wst.server.ui.internal.DefaultMonitorDelegate"/>
-</extension>
-
-<extension point="org.eclipse.ui.actionSets">
-  <actionSet
-    id="org.eclipse.wst.server.ui.internal.webbrowser.actionSet"
-    label="%actionSetWebBrowserTitle"
-    visible="false">
-    <action
-      id="org.eclipse.wst.server.ui.internal.webbrowser.action.open"
-      toolbarPath="browser"
-      label="%actionSetOpenWebBrowser"
-      tooltip="%actionSetOpenWebBrowser"
-      icon="icons/obj16/internal_browser.gif"
-      class="org.eclipse.wst.server.ui.internal.webbrowser.OpenBrowserWorkbenchAction"/>
-    <action
-      id="org.eclipse.wst.server.ui.internal.webbrowser.action.switch"
-      menubarPath="window/browser"
-      label="%actionSetSwitchBrowser"
-      tooltip="%actionSetSwitchBrowser"
-      style="pulldown"
-      class="org.eclipse.wst.server.ui.internal.webbrowser.SwitchBrowserWorkbenchAction"/>
-  </actionSet>
-</extension>
-
-<!--
-<extension point="org.eclipse.debug.ui.launchGroups">
-  <launchGroup
-     label="%ExternalToolsLaunchGroup.label"
-     bannerImage="icons/full/wizban/ext_tools_wiz.gif"
-     category="org.eclipse.ui.externaltools"
-     image="icons/full/obj16/external_tools.gif"
-     mode="run"
-     id="org.eclipse.ui.externaltools.launchGroup"
-     title="%ExternalToolsLaunchGroup.title">
-  </launchGroup>
-  <launchGroup
-     label="%ExternalToolsLaunchGroup.label"
-     bannerImage="icons/full/wizban/ext_tools_wiz.gif"
-     category="org.eclipse.ui.externaltools.builder"
-     image="icons/full/obj16/external_tools.gif"
-     public="false"
-     mode="run"
-     id="org.eclipse.ui.externaltools.launchGroup.builder">
-   </launchGroup>
-</extension>
--->
-
-<extension point="org.eclipse.ui.commands">
-  <category
-    id="org.eclipse.wst.server.ui"
-    name="%category"
-    description="%category"/>
-  <command
-    id="org.eclipse.wst.server.launchShortcut.run"
-    name="%actionRunOnServer"
-    description="%actionRunOnServerDescription"
-    categoryId="org.eclipse.debug.ui.category.run"/>
-  <command
-    id="org.eclipse.wst.server.launchShortcut.debug"
-    name="%actionDebugOnServer"
-    description="%actionDebugOnServerDescription"
-    categoryId="org.eclipse.debug.ui.category.run"/>
-  <command
-    id="org.eclipse.wst.server.run"
-    name="%actionRun"
-    description="%actionRunDescription"
-    categoryId="org.eclipse.wst.server.ui"
-    defaultHandler="org.eclipse.wst.server.ui.internal.view.servers.ServerActionHandler"/>
-  <command
-    id="org.eclipse.wst.server.debug"
-    name="%actionDebug"
-    description="%actionDebugDescription"
-    categoryId="org.eclipse.wst.server.ui"
-    defaultHandler="org.eclipse.wst.server.ui.internal.view.servers.ServerActionHandler"/>
-  <command
-    id="org.eclipse.wst.server.stop"
-    name="%actionStop"
-    description="%actionStopDescription"
-    categoryId="org.eclipse.wst.server.ui"
-    defaultHandler="org.eclipse.wst.server.ui.internal.view.servers.ServerActionHandler"/>
-  <command
-    id="org.eclipse.wst.server.publish"
-    name="%actionPublish"
-    description="%actionPublishDescription"
-    categoryId="org.eclipse.wst.server.ui"
-    defaultHandler="org.eclipse.wst.server.ui.internal.view.servers.ServerActionHandler"/>
-</extension>
-
-<extension point="org.eclipse.ui.contexts">
-  <context
-    id="org.eclipse.ui.serverViewScope"
-    name="%context"
-    description="%context"
-    parentId="org.eclipse.ui.contexts.window">
-  </context>
-</extension>
-
-<!-- commands and their bindings
-NOTE:
-M1 = CTRL/COMMAND
-M2 = SHIFT
-M3 = ALT
-M4 = Platform-specific fourth key
--->
-<extension point="org.eclipse.ui.bindings">
-  <key
-    sequence="M3+M2+X R"
-    contextId="org.eclipse.ui.globalScope"
-    commandId="org.eclipse.wst.server.launchShortcut.run"
-    schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-  <key
-    sequence="M3+M2+D R"
-    contextId="org.eclipse.ui.globalScope"
-    commandId="org.eclipse.wst.server.launchShortcut.debug"
-    schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-  <key
-    sequence="M1+M3+R"
-    contextId="org.eclipse.ui.serverViewScope"
-    commandId="org.eclipse.wst.server.run"
-    schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-  <key
-    sequence="M1+M3+D"
-    contextId="org.eclipse.ui.serverViewScope"
-    commandId="org.eclipse.wst.server.debug"
-    schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-  <key
-    sequence="M1+M3+S"
-    contextId="org.eclipse.ui.serverViewScope"
-    commandId="org.eclipse.wst.server.stop"
-    schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-  <key
-    sequence="M1+M3+P"
-    contextId="org.eclipse.ui.serverViewScope"
-    commandId="org.eclipse.wst.server.publish"
-    schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-</extension>
-
-<extension point="org.eclipse.wst.server.ui.serverImages">
-  <image
-     id="org.eclipse.wst.server.ui.web"
-     typeIds="wst.web"
-     icon="icons/obj16/web_module.gif"/>
-</extension>
-
-<extension point="org.eclipse.ui.ide.markerResolution">
-  <markerResolutionGenerator
-     class="org.eclipse.wst.server.ui.internal.MarkerResolutionGenerator"
-     markerType="org.eclipse.wst.common.project.facet.core.validation.marker"/>
-</extension>
-
-<extension point="org.eclipse.ui.decorators">
-  <decorator
-     adaptable="true"
-     class="org.eclipse.wst.server.ui.internal.ModuleLabelDecorator"
-     id="org.eclipse.wst.server.ui.decorator"
-     label="%moduleProjectDecoratorLabel"
-     lightweight="false"
-     state="false">
-    <description>%moduleProjectDecoratorDescription</description>
-    <enablement>
-      <or>
-        <objectClass name="org.eclipse.wst.server.core.IModule"/>
-        <objectClass name="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer"/>
-      </or>
-    </enablement>
-  </decorator>
-</extension>
-
-<extension point="org.eclipse.debug.core.launchConfigurationTypes">
-  <launchConfigurationType
-    id="org.eclipse.wst.server.ui.launchConfigurationType"
-    delegate="org.eclipse.wst.server.ui.internal.actions.RunOnServerLaunchConfigurationDelegate"
-    delegateName="%launchConfigurationDelegateName"
-    delegateDescription="%launchConfigurationDelegateDescription"
-    public="false"
-    modes="run,debug,profile"
-    name="%runOnServerLaunchConfiguration"/>
-</extension>
-
-<extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-  <launchConfigurationTypeImage
-    id="org.eclipse.wst.server.ui.launchConfigurationTypeImage"
-    configTypeID="org.eclipse.wst.server.ui.launchConfigurationType"
-    icon="icons/etool16/run_on_server.gif">
-  </launchConfigurationTypeImage>
-</extension>
-
-<extension point="org.eclipse.wst.server.ui.serverToolTip">
-  <serverToolTip
-    id="org.eclipse.wst.server.ui.GeneralToolTip"
-    class="org.eclipse.wst.server.ui.internal.GeneralToolTip"
-    serverTypes="*"/>
-</extension>
-
-<extension point="org.eclipse.wst.server.core.launchableAdapters">
-  <launchableAdapter
-        class="org.eclipse.wst.server.ui.internal.ServerUIPlugin$DefaultLaunchableAdapter"
-        id="org.eclipse.wst.server.ui.launchable.adapter.default"
-        priority="-999999"/>
-</extension>
-<extension
-      point="org.eclipse.ui.decorators">
-   <decorator
-         class="org.eclipse.wst.server.ui.internal.cnf.ServerDecorator"
-         icon="icons/obj16/server.gif"
-         id="org.eclipse.wst.server.ui.navigatorDecorator"
-         label="%serverStateDecoratorLabel"
-         lightweight="true"
-         location="BOTTOM_RIGHT"
-         state="true">
-      <enablement>
-         <or>
-            <objectClass
-                  name="org.eclipse.wst.server.core.IServer">
-            </objectClass>
-            <objectClass
-                  name="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-            </objectClass>
-         </or>
-      </enablement>
-   </decorator>
-</extension>
-<extension
-      point="org.eclipse.wst.server.core.saveEditorPrompter">
-   <saveEditorPrompter
-         class="org.eclipse.wst.server.ui.internal.SaveEditorPrompter"
-         id="org.eclipse.wst.server.ui.saveEditorPrompter1">
-   </saveEditorPrompter>
-</extension>
-</plugin>
diff --git a/plugins/org.eclipse.wst.server.ui/schema/audio.exsd b/plugins/org.eclipse.wst.server.ui/schema/audio.exsd
deleted file mode 100644
index a19edf8..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/audio.exsd
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.ui" id="audio" name="Audio"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a way to sort runtime types, runtimes, server types, and servers. The first extension found is always used and it is expected that only one comparator exists in an installation.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="category" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="sound" 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="category">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this category
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used to identify this category
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="sound">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this sound
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a category id
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used to identify this sound
-               </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 sorter extension point:
-
-&lt;pre&gt;
-   &lt;extension 
-         point=&quot;org.eclipse.wst.server.ui.sorter&quot;&gt;
-      &lt;image
-            id=&quot;com.example&quot;
-            class=&quot;com.example.runtime.MyComparator&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.ui/schema/editorActions.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd
deleted file mode 100644
index f4cfcac..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

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

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="editorAction">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this action

-               </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.ui.internal.provisional.ServerEditorActionFactoryDelegate&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.internal.provisional.ServerEditorActionFactoryDelegate"/>

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

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify this action

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an integer that specifies an absolute ordering of the action relative to other actions

-               </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 editor action extension point:

-

-&lt;pre&gt;

-   &lt;extension

-         point=&quot;org.eclipse.wst.server.ui.editorActions&quot;&gt;

-      &lt;page

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

-            order=&quot;20&quot;

-            name=&quot;%editorAction&quot;

-            typeIds=&quot;com.example.*&quot;

-            class=&quot;com.example.ExampleEditorAction&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.ui/schema/editorPageSections.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd
deleted file mode 100644
index dbfa8b9..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

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

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="section">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this section

-               </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.ui.editor.ServerEditorSection&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.editor.ServerEditorSection"/>

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

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

-            <annotation>

-               <documentation>

-                  an integer that specifies an absolute ordering of the section relative to other sections

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the editor page insertion id that this section should be inserted into

-               </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 an editor page section extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.ui.editorPageSections&quot;&gt;

-      &lt;section

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

-            order=&quot;0&quot;

-            insertionId=&quot;com.example.left&quot;

-            typeIds=&quot;com.example.*&quot;

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

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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.ui.editor.ServerEditorPageSectionFactoryDelegate&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.ui/schema/editorPages.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd
deleted file mode 100644
index f3a9ec0..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

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

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="page">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this page

-               </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.ui.IEditorPart&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorPart"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify this page

-               </documentation>

-               <appInfo>

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

-               </appInfo>

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

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

-            <annotation>

-               <documentation>

-                  an integer that specifies an absolute ordering of the page relative to other pages

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of insertion ids that allow sections to be plugged in

-               </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 an editor page extension point:

-

-&lt;pre&gt;

-   &lt;extension

-         point=&quot;org.eclipse.wst.server.ui.editorPages&quot;&gt;

-      &lt;page

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

-            order=&quot;20&quot;

-            name=&quot;%editorPage&quot;

-            typeIds=&quot;com.example.*&quot;

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

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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.ui.editor.ServerEditorPartFactoryDelegate&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.ui/schema/initialSelectionProvider.exsd b/plugins/org.eclipse.wst.server.ui/schema/initialSelectionProvider.exsd
deleted file mode 100644
index 6a9bca3..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/initialSelectionProvider.exsd
+++ /dev/null
@@ -1,127 +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="initialSelectionProvider" name="Initial Selection Provider"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a way to initially select runtime types, runtimes, server types, and servers in the server wizards. The first extension found is always used and it is expected that only one initialSelectionProvider exists in an installation.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="selectionProvider"/>
-         </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="selectionProvider">
-      <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;org.eclipse.wst.server.ui.internal.viewers.InitialSelectionProvider&lt;/samp&gt;. The class must have a public 0-arg constructor.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </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 the extension point:
-
-&lt;pre&gt;
-   &lt;extension 
-         point=&quot;org.eclipse.wst.server.ui.initialSelectionProvider&quot;&gt;
-      &lt;selectionProvider
-            id=&quot;com.example&quot;
-            class=&quot;com.example.runtime.MySelectionProvider&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.ui/schema/serverCreationWizardPageExtension.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverCreationWizardPageExtension.exsd
deleted file mode 100644
index 52cc1ea..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/serverCreationWizardPageExtension.exsd
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.ui" id="serverCreationWizardPageExtension" name="Server Creation Wizard Page Extension"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a way to for adopters to modify the first page of the server creation wizard page.  It provides mechanisms to add custom UI to different sections of the server creation wizard page.  It also allow adopter to control the display of some existing UI on the server creation wizard page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="serverCreationWizardPageExtension"/>
-         </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="serverCreationWizardPageExtension">
-      <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;org.eclipse.wst.server.ui.wizard.ServerCreationWizardPageExtension&lt;/samp&gt;. The class must have a public 0-arg constructor.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.wizard.ServerCreationWizardPageExtension:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <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.ui.editor.ServerCreationWizardPageExtension&lt;/code&gt;.
-
-This extension point currently only supports the control on the following fields on the implementation of org.eclipse.wst.server.ui.AbstractUIControl.IUIControlListener.handleUIControlMapChanged(Map&lt;String, UIControlEntry&gt;):
-Server&apos;s host name
-
-This extension point currently only issue property change event on the following property change:
-Server type selection change
-      </documentation>
-   </annotation>
-
-   <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>
-         3.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The following is an example of the extension point:
-
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.server.ui.serverCreationWizardPageExtension&quot;&gt;
-      &lt;serverCreationWizardPageExtension
-            id=&quot;org.eclipse.wst.server.ui.test.serverCreationWizardPageExtension&quot;
-                        class=&quot;org.eclipse.wst.server.ui.test.internal.serverCreationWizardPageExtension.ServerCreationWizardPageExtensionTest&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2009 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.ui/schema/serverEditorOverviewPageModifier.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverEditorOverviewPageModifier.exsd
deleted file mode 100644
index 9bf999f..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/serverEditorOverviewPageModifier.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.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.ui" id="serverEditorOverviewPageModifier" name="Server Editor Overview Page Modifier"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a way for adopters to modify controls on the server editor Overview page.  It provides a mechanism to allow modify the display of some existing UI on the Overview page.
-
-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.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="serverEditorOverviewPageModifier"/>
-         </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="serverEditorOverviewPageModifier">
-      <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;org.eclipse.wst.server.ui.editor.ServerEditorOverviewPageModifier&lt;/samp&gt;. The class must have a public 0-arg constructor.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.editor.ServerEditorOverviewPageModifier:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of the extension point:
-
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.server.ui.serverEditorPageExtension&quot;&gt;
-      &lt;serverEditorOverviewPageModifier
-            id=&quot;org.eclipse.wst.server.ui.test.serverEditorOverviewModifier&quot;
-                        class=&quot;org.eclipse.wst.server.ui.test.internal.serverEditorPageExtension.ServerEditorOverviewPageModifierTest&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2010 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>
-
-   <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.ui.editor.ServerEditorPageExtension&lt;/code&gt;.
-
-This extension point currently only supports the control on the following fields on the implementation of org.eclipse.wst.server.ui.AbstractUIControl.IUIControlListener.handleUIControlMapChanged(Map&lt;String, UIControlEntry&gt;):
-Server&apos;s host name
-
-This extension point currently only issue property change event on the following property change:
-Server type selection change
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd
deleted file mode 100644
index d4ae0da..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/serverImages.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.ui">

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="image">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this image

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a bundle-relative path to the icon image

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of runtime, server, or module type ids

-               </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 image extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.ui.serverImages&quot;&gt;

-      &lt;image

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

-            icon=&quot;icons/obj16/runtime.gif&quot;

-            typeIds=&quot;com.example.runtime&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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.ui/schema/serverLabelProvider.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverLabelProvider.exsd
deleted file mode 100644
index 51fe81c..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/serverLabelProvider.exsd
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.server.ui" id="serverLabelProvider" name="Server Label Provider"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a way to customize the text label for a particular server type
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="serverLabelProvider" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="serverLabelProvider">
-      <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;org.eclipse.wst.server.ui.internal.provisional.AbstractServerLabelProvider&lt;/samp&gt;. The class must have a public 0-arg constructor.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.internal.provisional.AbstractServerLabelProvider:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="serverTypes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The Server Types that this Server Label Provider will respond to. A comma separate list can be provider for more than one Server Type
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.2.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         &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="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2010 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.ui/schema/serverToolTip.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverToolTip.exsd
deleted file mode 100644
index 7934915..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/serverToolTip.exsd
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.server.ui" id="serverToolTip" name="Server ToolTip"/>
-      </appinfo>
-      <documentation>
-         This extension point provides a way to add additional text when the mouseover action is detected
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="serverToolTip"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="serverToolTip">
-      <annotation>
-         <appinfo>
-            <meta.element labelAttribute="id"/>
-         </appinfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this ToolTip provider
-               </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.ui.internal.provisional.IServerToolTip&lt;/samp&gt;
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.server.ui.internal.provisional.IServerToolTip"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="serverTypes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the server type ids that use this ServerToolTip
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         The following is an example of the extension point:
-
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.server.ui.serverToolTip&quot;&gt;
-      &lt;serverToolTip
-            id=&quot;com.example&quot;
-            serverTypes=&quot;*&quot;
-            class=&quot;com.example.ExampleToolTipProvider&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </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="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2007 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.ui/schema/wizardFragments.exsd b/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd
deleted file mode 100644
index 38a89b1..0000000
--- a/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.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.ui">

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="fragment">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this fragment

-               </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.ui.wizard.WizardFragment&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.wizard.WizardFragment"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a comma separated list of runtime or server type ids that this fragment applies to

-               </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 wizard fragment extension point:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.server.ui.wizardFragments&quot;&gt;

-      &lt;fragment

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

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

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

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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.ui.wizard.WizardFragment&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.ui/serverui/org/eclipse/wst/server/ui/AbstractUIControl.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/AbstractUIControl.java
deleted file mode 100644
index fae84ef..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/AbstractUIControl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui;
-
-import java.beans.PropertyChangeEvent;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Abstract UI control that allows adopter to control the UI
- */
-public abstract class AbstractUIControl {
-	// Control map describing the UI that needs to be controlled. 
-	public Map<String, UIControlEntry> controlMap = new HashMap<String, UIControlEntry>();
-	// UI Control listener that listens to changes in event on GUI provided by this UI control
-	public IUIControlListener controlListener;
-	
-	// The list of properties supported by the existing UI control.
-	public static final String PROP_HOSTNAME = "PROP_HOSTNAME";
-	public static final String PROP_SERVER_TYPE = "PROP_SERVERTYPE";
-
-	/**
-	 * UI Control listener that listens to changes in event on GUI provided by this UI control
-	 * IUIControlListener
-	 */
-	public interface IUIControlListener {
-		/**
-		 * Handle the UI control map change by the listener based on the given control map.
-		 * @param controlMap the control map that describes the UI control.
-		 */
-		public void handleUIControlMapChanged(Map<String, UIControlEntry> controlMap);
-		/**
-		 * Get the value of a given control UI on the listener's page.
-		 * @param controlId control ID of the UI on the listener's page.
-		 * @return the String value of the given control ID field.
-		 */
-		public String getControlStringValue(String controlId);
-	}
-	
-	/**
-	 * UI control entry class that describes the behaviour of the UI control of specific fields or widget.
-	 */
-	public class UIControlEntry {
-		private boolean isEnabled;
-		private String newTextValue;
-		
-		public UIControlEntry(boolean curIsEnabled, String curNewTextValue) {
-			isEnabled = curIsEnabled;
-			newTextValue = curNewTextValue;
-		}
-
-		/**
-		 * Gives the new text value of the given field.
-		 * @return the new text value of the given field. If the value returns <code>null</code>, then it means
-		 * the field do not need to be modified.
-		 */
-		public String getNewTextValue() {
-			return newTextValue;
-		}
-
-		/**
-		 * Return if the UI control needs to be enabled.
-		 * @return true if value needs to be enabled; otherwise, return false.
-		 */
-		public boolean isEnabled() {
-			return isEnabled;
-		}
-	}
-
-	/**
-	 * Fire the control change event for the changed control map to take effect.
-	 */
-	protected void fireUIControlChangedEvent() {
-		if (controlListener != null) {
-			controlListener.handleUIControlMapChanged(controlMap);
-		}
-	}
-	
-	/**
-	 * Allow UI Control to react based on a property change and change the UI control.
-	 * @param event property change event that describes the change.
-	 */
-	public abstract void handlePropertyChanged(PropertyChangeEvent event);
-	
-	/**
-	 * Set the UI control listener that listens to the changes initialed by this UI control. 
-	 * @param curControlListener the UI control listener
-	 */
-	public void setUIControlListener(IUIControlListener curControlListener) {
-		controlListener = curControlListener;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/FacetRuntimeComponentLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/FacetRuntimeComponentLabelProvider.java
deleted file mode 100644
index 08dff1f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/FacetRuntimeComponentLabelProvider.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider;
-/**
- * A facet runtime label provider that can be used as an implementation of
- * org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider in the
- * org.eclipse.wst.common.project.facet.core.runtimes extension point.
- */
-public class FacetRuntimeComponentLabelProvider implements IAdapterFactory {
-	private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
-
-	public final class RuntimeLabelProvider implements IRuntimeComponentLabelProvider {
-		private final IRuntimeComponent rc;
-
-		public RuntimeLabelProvider(IRuntimeComponent rc) {
-			this.rc = rc;
-		}
-
-		public String getLabel() {
-			return rc.getProperty("type");
-		}
-	}
-
-	public Object getAdapter(Object adaptable, Class adapterType) {
-		IRuntimeComponent rc = (IRuntimeComponent) adaptable;
-		return new RuntimeLabelProvider(rc);
-	}
-
-	public Class[] getAdapterList() {
-		return ADAPTER_TYPES;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerModule.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerModule.java
deleted file mode 100644
index 10dec46..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerModule.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-/**
- * A helper interface for modules that are deployed to a server, commonly
- * used to help actions interact with modules in the Servers view.
- *
- * @since 1.1
- */
-public interface IServerModule {
-	/**
-	 * Return the server that the module belongs to.
-	 * 
-	 * @return the server
-	 */
-	public IServer getServer();
-
-	/**
-	 * Returns the module.
-	 * 
-	 * @return the module
-	 */
-	public IModule[] getModule();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
deleted file mode 100644
index cdb8896..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.internal.*;
-/**
- * Server launch configuration tab.
- * 
- * @since 1.0
- */
-public class ServerLaunchConfigurationTab extends AbstractLaunchConfigurationTab {
-	// flag to be used to decide whether to enable combo in launch config dialog
-	// after the user requests a launch, they cannot change it
-	private static final String READ_ONLY = "read-only";
-
-	private String[] serverTypeIds;
-
-	private Combo serverCombo;
-
-	private Label runtimeLabel;
-	private Label hostname;
-
-	private IServer server;
-
-	// list of servers that are in combo
-	private List<IServer> servers;
-
-	private ILaunchConfigurationWorkingCopy wc;
-
-	/**
-	 * Create a new server launch configuration tab.
-	 */
-	public ServerLaunchConfigurationTab() {
-		this(new String[] {"*"});
-	}
-
-	/**
-	 * Create a new server launch configuration tab with the given server type ids.
-	 * 
-	 * @param serverTypeIds an array of server type ids
-	 */
-	public ServerLaunchConfigurationTab(String[] serverTypeIds) {
-		this.serverTypeIds = serverTypeIds;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 5;
-		layout.marginHeight = 5;
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		//GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		//data.widthHint = 200;
-		//composite.setLayoutData(data);
-
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(Messages.serverLaunchDescription);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		data.grabExcessHorizontalSpace = false;
-		data.widthHint = 300;
-		label.setLayoutData(data);
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.serverLaunchServer);
-		serverCombo = new Combo(composite, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
-		serverCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		serverCombo.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-			public void widgetSelected(SelectionEvent e) {
-				handleServerSelection();
-			}
-		});
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(serverCombo, ContextIds.LAUNCH_CONFIGURATION_SERVER_COMBO);
-
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.serverLaunchRuntime);
-		runtimeLabel = new Label(composite, SWT.NONE);
-		runtimeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.serverLaunchHost);
-		hostname = new Label(composite, SWT.NONE);
-		hostname.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		// initialize
-		IServer[] servers2 = ServerCore.getServers();
-		servers = new ArrayList<IServer>();
-		if (servers2 != null) {
-			int size = servers2.length;
-			for (int i = 0; i < size; i++) {
-				IServer server2 = servers2[i];
-				if (server2.getServerType() != null && isSupportedServer(server2.getServerType().getId())) {
-					serverCombo.add(server2.getName());
-					servers.add(server2);
-				}
-			}
-		}
-		
-		// select first item in list
-		if (serverCombo.getItemCount() > 0)
-			serverCombo.select(0);
-		
-		handleServerSelection();
-		
-		serverCombo.forceFocus();
-		
-		Dialog.applyDialogFont(composite);
-		setControl(composite);
-	}
-
-	private boolean isSupportedServer(String serverTypeId) {
-		if (serverTypeIds == null)
-			return true;
-		int size = serverTypeIds.length;
-		for (int i = 0; i < size; i++) {
-			if (matches(serverTypeId, serverTypeIds[i]))
-				return true;
-		}
-		return false;
-	}
-
-	private static boolean matches(String a, String b) {
-		if (a == null || b == null || "*".equals(a) || "*".equals(b) || a.startsWith(b) || b.startsWith(a))
-			return true;
-		return false;
-	}
-
-	/**
-	 * Called when a server is selected.
-	 * This method should not be called directly.
-	 */
-	protected void handleServerSelection() {
-		if (servers.isEmpty())
-			server = null;
-		else
-			server = servers.get(serverCombo.getSelectionIndex());
-		IRuntime runtime = null;
-		if (server != null) {
-			runtime = server.getRuntime();
-			hostname.setText(server.getHost());
-		} else
-			hostname.setText("");
-		
-		// check if "runtime" property is true or false
-		if (runtime != null && server != null && server.getServerType() != null && server.getServerType().hasRuntime())
-			runtimeLabel.setText(runtime.getName());
-		else
-			runtimeLabel.setText("");
-		
-		try {
-			if (wc != null)
-				((Server)server).setupLaunchConfiguration(wc, new NullProgressMonitor());
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		if (server == null)
-			setErrorMessage(Messages.errorNoServerSelected);
-		else if (server.getServerState() != IServer.STATE_STOPPED)
-			setErrorMessage(Messages.errorServerAlreadyRunning);
-		else
-			setErrorMessage(null);
-		
-		updateLaunchConfigurationDialog();
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		setErrorMessage(null);
-		if (serverCombo != null) {	
-			serverCombo.setEnabled(true);
-			if (serverCombo.getItemCount() > 0)
-				serverCombo.select(0);
-		}
-		
-		if (servers != null) {
-			server = servers.get(serverCombo.getSelectionIndex());
-			if (server != null)
-				((Server) server).setupLaunchConfiguration(configuration, null);
-		}
-		wc = configuration;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		serverCombo.setEnabled(true);
-		// remove error message that other instances may have set
-		setErrorMessage(null);
-		
-		try {
-			// bug 137822 - set the ILaunchConfigurationWorkingCopy wc variable before calling the method handleServerSelection()
-			//if (configuration instanceof ILaunchConfigurationWorkingCopy)
-			//	wc = (ILaunchConfigurationWorkingCopy)configuration;
-			
-			String serverId = configuration.getAttribute(Server.ATTR_SERVER_ID, "");
-			if (serverId != null && !serverId.equals("")) {
-				server = ServerCore.findServer(serverId);
-				
-				if (server == null) { // server no longer exists				
-					setErrorMessage(Messages.errorInvalidServer);
-					//serverCombo.clearSelection();  // appears to be broken...doesn't work with read only?												
-					serverCombo.setEnabled(false);
-					return;
-				}
-				
-				serverCombo.setText(server.getName());
-				if (server.getServerState() != IServer.STATE_STOPPED)
-					setErrorMessage(Messages.errorServerAlreadyRunning);
-			} else {
-				if (serverCombo.getItemCount() > 0)
-					serverCombo.select(0);
-			}
-			handleServerSelection();
-			
-			// flag should only be set if launch has been attempted on the config
-			if (configuration.getAttribute(READ_ONLY, false))
-				serverCombo.setEnabled(false);
-		} catch (CoreException e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (server != null)
-			configuration.setAttribute(Server.ATTR_SERVER_ID, server.getId());
-		else
-			configuration.setAttribute(Server.ATTR_SERVER_ID, (String)null);
-		wc = configuration;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration) 
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		try {
-			String id = launchConfig.getAttribute(Server.ATTR_SERVER_ID, "");
-			if (id != null && !id.equals("")) {
-				IServer server2 = ServerCore.findServer(id);
-				if (server2 == null)
-					return false;
-				if (server2.getServerState() == IServer.STATE_STOPPED)
-					return true;
-			}
-		} catch (CoreException e) {
-			// ignore
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return ImageResource.getImage(ImageResource.IMG_SERVER);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return Messages.serverLaunchConfigurationTab;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java
deleted file mode 100644
index 6209319..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java
+++ /dev/null
@@ -1,41 +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.ui;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.wst.server.ui.internal.ServerLabelProvider;
-/**
- * Server UI core.
- * <p>
- * This class provides all its functionality through static members.
- * It is not intended to be subclassed or instantiated.
- * </p>
- * @since 1.0
- */
-public final class ServerUICore {
-	/**
-	 * Cannot instantiate ServerUICore - use static methods.
-	 */
-	private ServerUICore() {
-		// can't create
-	}
-
-	/**
-	 * Returns a label provider that can be used for all server
-	 * objects in the UI.
-	 * 
-	 * @return a label provider
-	 */
-	public static ILabelProvider getLabelProvider() {
-		return new ServerLabelProvider();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java
deleted file mode 100644
index 064a0fb..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java
+++ /dev/null
@@ -1,76 +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.ui;
-
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-import org.eclipse.swt.widgets.Shell;
-/**
- * Server UI utility methods.
- * <p>
- * This class provides all its functionality through static members.
- * It is not intended to be subclassed or instantiated.
- * </p>
- * @since 1.0
- */
-public final class ServerUIUtil {
-	/**
-	 * Cannot instantiate ServerUIUtil - use static methods.
-	 */
-	private ServerUIUtil() {
-		// can't create
-	}
-
-	/**
-	 * Open the new runtime wizard. The given typeId and versionId are used to filter
-	 * the set of runtimes displayed.
-	 * 
-	 * @param shell a shell to use when creating the wizard
-	 * @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 a runtime was created, or
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean showNewRuntimeWizard(Shell shell, String typeId, String versionId) {
-		return ServerUIPlugin.showNewRuntimeWizard(shell, typeId, versionId, null);
-	}
-
-	/**
-	 * Open the new runtime wizard. The given typeId, versionId, and runtimeTypeId are
-	 * used to filter the set of runtimes displayed.
-	 * 
-	 * @param shell a shell to use when creating the wizard
-	 * @param typeId a module type id, or null for any module type
-	 * @param versionId a module version, or null for any version
-	 * @param runtimeTypeId a server runtime type, or null for any type
-	 * @return <code>true</code> if a runtime was created, or
-	 *    <code>false</code> otherwise
-	 * @since 2.0
-	 */
-	public static boolean showNewRuntimeWizard(Shell shell, String typeId, String versionId, String runtimeTypeId) {
-		return ServerUIPlugin.showNewRuntimeWizard(shell, typeId, versionId, runtimeTypeId);		
-	}
-
-	/**
-	 * Open the new server wizard.
-	 * 
-	 * @param shell a shell to use when creating the wizard
-	 * @param typeId a module type id, or null for any module type
-	 * @param versionId a module version, or null for any version
-	 * @param serverTypeId a server runtime type, or null for any type
-	 * @return <code>true</code> if a server was created, or
-	 *    <code>false</code> otherwise
-	 * @since 2.0
-	 */
-	public static boolean showNewServerWizard(Shell shell, String typeId, String versionId, String serverTypeId) {
-		return ServerUIPlugin.showNewServerWizard(shell, typeId, versionId, serverTypeId);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java
deleted file mode 100644
index e940092..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/actions/RunOnServerAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.actions;
-
-import java.util.HashMap;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-/**
- * "Run on Server" menu action. Allows the user to select an
- * object, and have automatic server creation, launching, and
- * the appropriate client to appear. A new instance of this
- * action must be created for each object that the user selects.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-public class RunOnServerAction extends Action {
-	protected RunOnServerActionDelegate delegate;
-
-	protected HashMap<String,Object> actionProperties;
-	/**
-	 * Create a new Run on Server action for run mode.
-	 * 
-	 * @param object the object to attempt to run
-	 */
-	public RunOnServerAction(Object object) {
-		this(object, ILaunchManager.RUN_MODE);
-	}
-	
-	/**
-	 * Create a new Run on Server action for run mode.
-	 * 
-	 * @param object the object to attempt to run
-	 */
-	public RunOnServerAction(Object object, HashMap<String,Object> actionProperties) {		
-		this(object, ILaunchManager.RUN_MODE);
-		this.actionProperties = actionProperties;
-		delegate.setActionProperties(actionProperties);
-	}
-
-	/**
-	 * Create a new Run on Server action.
-	 * 
-	 * @param object the object to attempt to run
-	 * @param launchMode a {@link ILaunchManager} launch mode
-	 */
-	public RunOnServerAction(Object object, String launchMode) {
-		super();
-		
-		if (actionProperties == null){
-			actionProperties = new HashMap<String, Object>();
-		}
-		
-		if (ILaunchManager.DEBUG_MODE.equals(launchMode)) {
-			setText(Messages.actionDebugOnServer);
-			setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_DEBUG_ON_SERVER));
-			setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_DEBUG_ON_SERVER));
-			setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_DEBUG_ON_SERVER));
-		} else if (ILaunchManager.PROFILE_MODE.equals(launchMode)) {
-			setText(Messages.actionProfileOnServer);
-			setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_PROFILE_ON_SERVER));
-			setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_PROFILE_ON_SERVER));
-			setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_PROFILE_ON_SERVER));
-		} else {
-			setText(Messages.actionRunOnServer);
-			setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_RUN_ON_SERVER));
-			setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_RUN_ON_SERVER));
-			setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_RUN_ON_SERVER));
-		}
-		
-		delegate = new RunOnServerActionDelegate(actionProperties);
-		delegate.setLaunchMode(launchMode);
-		if (object != null) {
-			StructuredSelection sel = new StructuredSelection(object);
-			delegate.selectionChanged(this, sel);
-		} else
-			delegate.selectionChanged(this, null);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java
deleted file mode 100644
index 114c9d7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.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.ui.editor;
-
-import org.eclipse.ui.IEditorInput;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * An input into a server part or section editor.
- *
- * @since 1.0
- */
-public interface IServerEditorPartInput extends IEditorInput {
-	/**
-	 * Returns the server to be edited.
-	 *
-	 * @return a working copy of the server
-	 */
-	public IServerWorkingCopy getServer();
-
-	/**
-	 * Returns true if the server is read-only.
-	 * 
-	 * @return boolean <code>true</code> if the server is read-only,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean isServerReadOnly();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorOverviewPageModifier.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorOverviewPageModifier.java
deleted file mode 100644
index fe9488a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorOverviewPageModifier.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.editor;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.AbstractUIControl;
-
-/**
- * A modifier class that allows adopter to modify the behaviour of a UI control on the
- * server editor page(s).
- * 
- * ServerEditorOverviewPageModifier
- */
-public abstract class ServerEditorOverviewPageModifier extends AbstractUIControl {
-	protected IServerWorkingCopy serverWc = null;
-
-	
-	/**
-	 * The list of editor sections on the server editors that allow inserting custom GUI.
-	 * UI_POSITION
-	 */
-	public enum UI_LOCATION { OVERVIEW, OTHER }
-
-
-	/**
-	 * Create the customer UI on the specified server editor part, either general or other.
-	 * @param position the position on the server creation wizard page that allows inserting custom GUI.
-	 * @param parent parent composite.
-	 * @param location
-	 */
-	public abstract void createControl(UI_LOCATION location, Composite parent);
-	
-	
-	/**
-	* Set the server working copy to the control to allow extension to store the extension values.
-	* @param curServerWc
-	*/
-	public void setServerWorkingCopy(IServerWorkingCopy curServerWc) {
-		serverWc = curServerWc;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
deleted file mode 100644
index c43804e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.editor;
-
-import java.util.*;
-
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.editor.*;
-/**
- * An abstract server editor which implements the most common methods
- * from IEditorPart.
- * 
- * This class also provides each editor page with an error message which
- * will be displayed on the status bar of the editor.
- * 
- * @since 1.0
- */
-public abstract class ServerEditorPart extends EditorPart {
-	/**
-	 * Property change id for the error message.
-	 */
-	public static final int PROP_ERROR = 5;
-
-	private String errorMessage = null;
-	private Map<String, List<ServerEditorSection>> sectionToInsertionId = null;
-	private List<ServerEditorSection> sections = null;
-	private ServerResourceCommandManager commandManager;
-	private FormToolkit toolkit;
-	private IManagedForm managedForm;
-
-	/**
-	 * The server currently being edited.
-	 */
-	protected IServerWorkingCopy server;
-
-	/**
-	 * <code>true</code> if the server is read-only, and <code>false</code>
-	 * otherwise.
-	 */
-	protected boolean readOnly;
-
-	/**
-	 * Create a new server editor part.
-	 */
-	public ServerEditorPart() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSave(IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSaveAs()
-	 */
-	public void doSaveAs() {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * Set the managed form that this part is using.
-	 * 
-	 * @param managedForm a managed form
-	 * @since 1.1
-	 */
-	protected void setManagedForm(IManagedForm managedForm) {
-		this.managedForm = managedForm;
-	}
-
-	/**
-	 * Returns the managed form that this part is using, or <code>null</code> if no
-	 * managed form has been set.
-	 * 
-	 * @return managedForm the managed form that this part is using, or <code>null</code>
-	 *    if no managed form has been set
-	 * @since 1.1
-	 */
-	protected IManagedForm getManagedForm() {
-		return managedForm;
-	}
-
-	/**
-	 * Set an error message for this page.
-	 * 
-	 * @param error the error message
-	 * @see #getManagedForm() Use forms UI based for errors via {@link org.eclipse.ui.forms.IMessageManager}
-	 *    on the message form instead of this method
-	 */
-	public void setErrorMessage(String error) {
-		if (error == null && errorMessage == null)
-			return;
-		
-		if (error != null && error.equals(errorMessage))
-			return;
-		
-		errorMessage = error;
-		super.firePropertyChange(PROP_ERROR);
-	}
-
-	/**
-	 * Updates the error message shown in the editor.
-	 * 
-	 * @see #getManagedForm() Use forms UI based for errors via {@link org.eclipse.ui.forms.IMessageManager}
-	 *    on the message form instead of this method
-	 */
-	public void updateErrorMessage() {
-		super.firePropertyChange(PROP_ERROR);
-	}
-
-	/**
-	 * Return the error message for this page.
-	 * 
-	 * @return the error message
-	 * @see #getManagedForm() Use forms UI based for errors via {@link org.eclipse.ui.forms.IMessageManager}
-	 *    on the message form instead of this method
-	 */
-	public String getErrorMessage() {
-		if (errorMessage == null) {
-			Iterator iterator = getSections().iterator();
-			while (iterator.hasNext()) {
-				ServerEditorSection section = (ServerEditorSection) iterator.next();
-				String error = section.getErrorMessage();
-				if (error != null)
-					return error;
-			}
-		}
-		return errorMessage;
-	}
-
-	/**
-	 * Returns error or status messages that will be displayed when the
-	 * server resource is saved. If there are any error messages, the
-	 * user will be unable to save the editor.
-	 * 
-	 * @return a set of status
-	 * @see #getManagedForm() Use forms UI based for errors via {@link org.eclipse.ui.forms.IMessageManager}
-	 *    on the message form instead of this method
-	 */
-	public IStatus[] getSaveStatus() {
-		Iterator iterator = getSections().iterator();
-		List<IStatus> list = new ArrayList<IStatus>();
-		while (iterator.hasNext()) {
-			ServerEditorSection section = (ServerEditorSection) iterator.next();
-			IStatus[] status = section.getSaveStatus();
-			if (status != null) {
-				int size = status.length;
-				for (int i = 0; i < size; i++) {
-					if (status[i].getSeverity() != IStatus.OK)
-						list.add(status[i]);
-				}
-			}
-		}
-		
-		int size = list.size();
-		IStatus[] status = new IStatus[size];
-		list.toArray(status);
-		return status;
-	}
-
-	private List getSections() {
-		if (sections == null) {
-			sections = new ArrayList<ServerEditorSection>();
-			sectionToInsertionId = new HashMap<String, List<ServerEditorSection>>();
-			ServerEditor serverEditor = commandManager.getServerEditor();
-			Iterator iterator = ServerEditorCore.getServerEditorPageSectionFactories().iterator();
-			while (iterator.hasNext()) {
-				IServerEditorPageSectionFactory factory = (IServerEditorPageSectionFactory) iterator.next();
-				String insertionId = factory.getInsertionId();
-				
-				IServerEditorPartFactory pageFactory = serverEditor.getPageFactory(this);
-				if (pageFactory.supportsInsertionId(insertionId)) {
-					String serverTypeId = null;
-					if (server != null && server.getServerType() != null)
-						serverTypeId = server.getServerType().getId();
-					if (serverTypeId != null && factory.supportsType(serverTypeId)
-							&& factory.shouldCreateSection(server)) {
-						ServerEditorSection section = factory.createSection();
-						if (section != null) {
-							section.setServerEditorPart(this);
-							sections.add(section);
-							List<ServerEditorSection> list = null;
-							try {
-								list = sectionToInsertionId.get(insertionId);
-							} catch (Exception e) {
-								// ignore
-							}
-							if (list == null)
-								list = new ArrayList<ServerEditorSection>();
-							list.add(section);
-							sectionToInsertionId.put(insertionId, list);
-						}
-					}
-				}
-			}
-		}
-		return sections;
-	}
-
-	private List getSections(String insertionId) {
-		if (insertionId == null)
-			return null;
-		
-		getSections();
-		List<ServerEditorSection> list = new ArrayList<ServerEditorSection>();
-		try {
-			List<ServerEditorSection> sections2 = sectionToInsertionId.get(insertionId);
-			if (sections2 != null) {
-				Iterator<ServerEditorSection> iterator = sections2.iterator();
-				while (iterator.hasNext()) {
-					list.add(iterator.next());
-				}
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-		return list;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		setSite(site);
-		setInput(input);
-		if (input instanceof IServerEditorPartInput) {
-			IServerEditorPartInput sepi = (IServerEditorPartInput) input;
-			server = sepi.getServer();
-			commandManager = ((ServerEditorPartInput) sepi).getServerCommandManager();
-			readOnly = sepi.isServerReadOnly();
-		}
-		
-		Iterator iterator = getSections().iterator();
-		while (iterator.hasNext()) {
-			ServerEditorSection section = (ServerEditorSection) iterator.next();
-			section.init(site, input);
-		}
-	}
-
-	/**
-	 * Executes the given operation and adds it to the operation history
-	 * with the correct context.
-	 * 
-	 * @param operation an operation ready to be executed
-	 */
-	public void execute(IUndoableOperation operation) {
-		commandManager.execute(operation);
-	}
-
-	/**
-	 * Return the server that is being edited.
-	 * 
-	 * @return a server working copy
-	 */
-	public IServerWorkingCopy getServer() {
-		return server;
-	}
-
-	/**
-	 * Inserts editor sections into the given composite.
-	 * 
-	 * @param parent the composite to add the section(s) to
-	 * @param id the section insertion id
-	 */
-	public void insertSections(Composite parent, String id) {
-		if (id == null)
-			return;
-		
-		Iterator iterator = getSections(id).iterator();
-		while (iterator.hasNext()) {
-			ServerEditorSection section = (ServerEditorSection) iterator.next();
-			try {
-				section.createSection(parent);
-			} catch (RuntimeException e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Failed to insert editor section: " + id + "\n" + e.getLocalizedMessage(), e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Dispose of the editor.
-	 */
-	public void dispose() {
-		super.dispose();
-		
-		Iterator iterator = getSections().iterator();
-		while (iterator.hasNext()) {
-			ServerEditorSection section = (ServerEditorSection) iterator.next();
-			section.dispose();
-		}
-		
-		if (toolkit != null) {
-			toolkit.dispose();
-			toolkit = null;
-		}
-		
-		commandManager = null;
-		sectionToInsertionId = null;
-		sections = null;
-	}
-
-	/**
-	 * Get a form toolkit to create widgets. It will be disposed automatically
-	 * when the editor is closed.
-	 * 
-	 * @param display the display
-	 * @return FormToolkit
-	 */
-	protected FormToolkit getFormToolkit(Display display) {
-		if (managedForm != null)
-			return managedForm.getToolkit();
-		
-		if (toolkit == null)
-			toolkit = new FormToolkit(display);
-		return toolkit;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
deleted file mode 100644
index 33f060e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.editor;
-
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.editor.ServerEditorPartInput;
-import org.eclipse.wst.server.ui.internal.editor.ServerResourceCommandManager;
-/**
- * An abstract server editor section.
- * 
- * @since 1.0
- */
-public abstract class ServerEditorSection {
-	private String errorMessage = null;
-
-	private ServerResourceCommandManager commandManager;
-
-	private Composite parentComp;
-	private ServerEditorPart editor;
-
-	/**
-	 * The server currently being edited.
-	 */
-	protected IServerWorkingCopy server;
-
-	/**
-	 * <code>true</code> if the server is read-only, and <code>false</code>
-	 * otherwise.
-	 */
-	protected boolean readOnly;
-
-	/**
-	 * Initialize the section.
-	 * 
-	 * @param site the editor site
-	 * @param input the editor input
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		if (input instanceof IServerEditorPartInput) {
-			IServerEditorPartInput sepi = (IServerEditorPartInput) input;
-			server = sepi.getServer();
-			commandManager = ((ServerEditorPartInput) sepi).getServerCommandManager();
-			readOnly = sepi.isServerReadOnly();
-		}
-	}
-
-	/**
-	 * Executes the given operation and adds it to the operation history
-	 * with the correct context.
-	 * 
-	 * @param operation an operation ready to be executed
-	 */
-	public void execute(IUndoableOperation operation) {
-		commandManager.execute(operation);
-	}
-
-	/**
-	 * Create the section.
-	 * 
-	 * @param parent the parent composite
-	 */
-	public void createSection(Composite parent) {
-		this.parentComp = parent;
-	}
-
-	/**
-	 * Return the shell of the section.
-	 * 
-	 * @return the shell
-	 */
-	public Shell getShell() {
-		return parentComp.getShell();
-	}
-
-	/**
-	 * Return the error message for this section.
-	 * 
-	 * @return the error message
-	 * @see #getManagedForm() Use forms UI based for errors via {@link org.eclipse.ui.forms.IMessageManager}
-	 *    on the message form instead of this method
-	 */
-	public String getErrorMessage() {
-		return errorMessage;
-	}
-
-	/**
-	 * Returns error or status messages that will be displayed when the
-	 * server resource is saved. If there are any error messages, the
-	 * user will be unable to save the editor.
-	 * 
-	 * @return a status object with code <code>IStatus.OK</code> if this
-	 *   server can be saved, otherwise a status object indicating why
-	 *   it can't be
-	 * @see #getManagedForm() Use forms UI based for errors via {@link org.eclipse.ui.forms.IMessageManager}
-	 *    on the message form instead of this method
-	 */
-	public IStatus[] getSaveStatus() {
-		return new IStatus[] { Status.OK_STATUS };
-	}
-
-	/**
-	 * Set the editor part that this section belongs to.
-	 * 
-	 * @param editor the editor
-	 */
-	public void setServerEditorPart(ServerEditorPart editor) {
-		this.editor = editor;
-	}
-
-	/**
-	 * Set an error message for this section.
-	 * 
-	 * @param error an error message
-	 * @see #getManagedForm() Use forms UI based for errors via {@link org.eclipse.ui.forms.IMessageManager}
-	 *    on the message form instead of this method
-	 */
-	public void setErrorMessage(String error) {
-		if (error == null && errorMessage == null)
-			return;
-		
-		if (error != null && error.equals(errorMessage))
-			return;
-		
-		errorMessage = error;
-		if (editor != null)
-			editor.updateErrorMessage();
-	}
-
-	/**
-	 * Get a form toolkit to create widgets. It will be disposed automatically
-	 * when the editor is closed.
-	 * 
-	 * @param display the display
-	 * @return a FormToolkit
-	 */
-	protected FormToolkit getFormToolkit(Display display) {
-		return editor.getFormToolkit(display);
-	}
-
-	/**
-	 * Returns the managed form that the editor is using, or <code>null</code> if no
-	 * managed form has been set.
-	 * 
-	 * @return the managed form that the editor is using, or <code>null</code> if no
-	 *    managed form has been set
-	 * @since 1.1
-	 */
-	protected IManagedForm getManagedForm() {
-		return editor.getManagedForm();
-	}
-
-	/**
-	 * Disposes of the section.
-	 */
-	public void dispose() {
-		// ignore
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.html b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.html
deleted file mode 100644
index b464c18..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.html
+++ /dev/null
@@ -1,22 +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>Provides editor support for the server tools UI.</p>
-<table width="500">
-<tr>
-<td>
-<p>Using extension points, clients can provide pages, sections, and
-actions to be added to the editor for a specific server type. This
-package contains the delegate classes for these extension points, as
-well as the API that they can use to put commands on the shared
-editor command history stack and interact with the editing framework.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.xml b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.xml
deleted file mode 100644
index 024c4a2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.xml
+++ /dev/null
@@ -1,22 +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>Provides editor support for the server tools UI.</abstract>
-
-<p>Using extension points, clients can provide pages, sections, and
-actions to be added to the editor for a specific server type. This
-package contains the delegate classes for these extension points, as
-well as the API that they can use to put commands on the shared
-editor command history stack and interact with the editing framework.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java
deleted file mode 100644
index 7d9f729..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-/**
- * Context help id constants.
- */
-public interface ContextIds {
-	public static final String SELECT_SERVER_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swsi0000";
-	public static final String SELECT_SERVER_EXISTING = ServerUIPlugin.PLUGIN_ID + ".swsi0002";
-	public static final String SELECT_SERVER_EXISTING_TABLE = ServerUIPlugin.PLUGIN_ID + ".swsi0004";
-	public static final String SELECT_SERVER_CREATE = ServerUIPlugin.PLUGIN_ID + ".swsi0010";
-	public static final String SELECT_SERVER_CREATE_TABLE = ServerUIPlugin.PLUGIN_ID + ".swsi0012";
-	public static final String SELECT_SERVER_PREFERENCE = ServerUIPlugin.PLUGIN_ID + ".swsi0014";
-
-	public static final String SELECT_CLIENT_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swsc0000";
-	public static final String SELECT_CLIENT = ServerUIPlugin.PLUGIN_ID + ".swsc0002";
-
-	public static final String NEW_SERVER_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swns0000";
-	public static final String NEW_SERVER_TYPE = ServerUIPlugin.PLUGIN_ID + ".swns0006";
-	
-	public static final String SERVER_PROPERTY_PAGE = ServerUIPlugin.PLUGIN_ID + ".svcp0004";
-	
-	public static final String NEW_RUNTIME_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swnr0000";
-
-	public static final String LAUNCH_CONFIGURATION_SERVER_COMBO = ServerUIPlugin.PLUGIN_ID + ".swsl0000";
-
-	public static final String SELECT_TASK_WIZARD = ServerUIPlugin.PLUGIN_ID + ".sstw0000";
-
-	public static final String MODIFY_MODULES_COMPOSITE = ServerUIPlugin.PLUGIN_ID + ".swmm0000";
-
-	public static final String TERMINATE_SERVER_DIALOG = ServerUIPlugin.PLUGIN_ID + ".sdti0000";
-	public static final String DELETE_SERVER_DIALOG = ServerUIPlugin.PLUGIN_ID + ".svcp0002";
-
-	public static final String PREF_GENERAL = ServerUIPlugin.PLUGIN_ID + ".spge0000";
-	public static final String PREF_GENERAL_PUBLISH_BEFORE_START = ServerUIPlugin.PLUGIN_ID + ".spge0012";
-	public static final String PREF_GENERAL_SHOW_ON_ACTIVITY = ServerUIPlugin.PLUGIN_ID + ".spge0022";
-	public static final String PREF_GENERAL_SAVE_EDITORS = ServerUIPlugin.PLUGIN_ID + ".spge0024";
-	public static final String PREF_GENERAL_LAUNCH_MODE = ServerUIPlugin.PLUGIN_ID + ".spge0030";
-	public static final String PREF_GENERAL_LAUNCH_MODE_DEBUG = ServerUIPlugin.PLUGIN_ID + ".spge0031";
-	public static final String PREF_GENERAL_ENABLE_BREAKPOINTS = ServerUIPlugin.PLUGIN_ID + ".spge0032";
-	public static final String PREF_GENERAL_RESTART = ServerUIPlugin.PLUGIN_ID + ".spge0034";
-
-	public static final String VIEW_SERVERS = ServerUIPlugin.PLUGIN_ID + ".svcp0000";
-
-	public static final String PUBLISH_DETAILS_DIALOG = ServerUIPlugin.PLUGIN_ID + ".sdpd0000";
-	public static final String PUBLISH_DETAILS_DIALOG_STATUS = ServerUIPlugin.PLUGIN_ID + ".sdpd0002";
-	public static final String PUBLISH_DETAILS_DIALOG_DETAILS_BUTTON = ServerUIPlugin.PLUGIN_ID + ".sdpd0004";
-	public static final String PUBLISH_DETAILS_DIALOG_DETAILS = ServerUIPlugin.PLUGIN_ID + ".sdpd0006";
-
-	public static final String PROMPT_IRREVERSIBLE_DIALOG = ServerUIPlugin.PLUGIN_ID + ".sdpi0000";
-
-	public static final String EDITOR_OVERVIEW_PAGE = ServerUIPlugin.PLUGIN_ID + ".seop0000";
-	public static final String EDITOR_SERVER = ServerUIPlugin.PLUGIN_ID + ".seop0002";
-	public static final String EDITOR_CONFIGURATION = ServerUIPlugin.PLUGIN_ID + ".seop0004";
-	public static final String EDITOR_HOSTNAME = ServerUIPlugin.PLUGIN_ID + ".seop0006";
-	public static final String EDITOR_RUNTIME = ServerUIPlugin.PLUGIN_ID + ".seop0008";
-	public static final String EDITOR_AUTOPUBLISH_ENABLE = ServerUIPlugin.PLUGIN_ID + ".seop0012";
-	public static final String EDITOR_AUTOPUBLISH_BUILD = ServerUIPlugin.PLUGIN_ID + ".seop0014";
-	public static final String EDITOR_AUTOPUBLISH_DISABLE = ServerUIPlugin.PLUGIN_ID + ".seop0016";
-	public static final String EDITOR_AUTOPUBLISH_INTERVAL= ServerUIPlugin.PLUGIN_ID + ".seop0018";
-	public static final String EDITOR_PUBLISHTASKS_CONFIGURATION = ServerUIPlugin.PLUGIN_ID + ".seop0020";
-	
-	public static final String EDITOR_TIMEOUT_START = ServerUIPlugin.PLUGIN_ID + ".spge0026";
-	public static final String EDITOR_TIMEOUT_STOP = ServerUIPlugin.PLUGIN_ID + ".spge0027";
-
-	public static final String AUDIO_PREFERENCES = ServerUIPlugin.PLUGIN_ID + ".aupr0000";
-	public static final String AUDIO_PREFERENCES_ENABLE = ServerUIPlugin.PLUGIN_ID + ".aupr0002";
-	public static final String AUDIO_PREFERENCES_VOLUME = ServerUIPlugin.PLUGIN_ID + ".aupr0004";
-	public static final String AUDIO_PREFERENCES_SOUNDS_TABLE = ServerUIPlugin.PLUGIN_ID + ".aupr0006";
-	public static final String AUDIO_PREFERENCES_PLAY = ServerUIPlugin.PLUGIN_ID + ".aupr0008";
-	public static final String AUDIO_PREFERENCES_BROWSE = ServerUIPlugin.PLUGIN_ID + ".aupr0010";
-	public static final String AUDIO_PREFERENCES_RESET = ServerUIPlugin.PLUGIN_ID + ".aupr0012";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java
deleted file mode 100644
index 9efbd0f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.HashMap;
-import java.util.Iterator;
-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.osgi.util.NLS;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorListener;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.internal.ServerMonitorDelegate;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * 
- */
-public class DefaultMonitorDelegate extends ServerMonitorDelegate {
-	protected Map<ServerPort, IMonitor> monitors = new HashMap<ServerPort, IMonitor>();
-	protected IMonitorListener listener;
-
-	private void addListener() {
-		if (listener != null)
-			return;
-		
-		listener = new IMonitorListener() {
-			public void monitorAdded(IMonitor monitor) {
-				// ignore
-			}
-
-			public void monitorChanged(IMonitor monitor) {
-				// ignore
-			}
-
-			public void monitorRemoved(IMonitor monitor) {
-				if (monitor == null)
-					return;
-				
-				Object monKey = null;
-				Iterator iterator = monitors.keySet().iterator();
-				while (iterator.hasNext()) {
-					Object key = iterator.next();
-					Object value = monitors.get(key);
-					if (monitor.equals(value))
-						monKey = key;
-				}
-				if (monKey != null)
-					monitors.remove(monKey);
-				if (monitors.isEmpty()) {
-					MonitorCore.removeMonitorListener(listener);
-					listener = null;
-				}
-			}
-		};
-		MonitorCore.addMonitorListener(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.ServerMonitorDelegate#startMonitoring(org.eclipse.wst.server.core.ServerPort)
-	 */
-	public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException {
-		try {
-			IMonitor monitor = monitors.get(port);
-			int mport = -1;
-			if (monitor == null) {
-				mport = monitorPort;
-				if (mport == -1)
-					mport = SocketUtil.findUnusedPort(5000, 15000);
-				
-				// should search for a monitor first ..
-				IMonitorWorkingCopy wc = MonitorCore.createMonitor();
-				wc.setLocalPort(mport);
-				wc.setRemoteHost(server.getHost());
-				wc.setRemotePort(port.getPort());
-				if ("HTTP".equals(port.getProtocol()))
-					wc.setProtocol("HTTP");
-				monitor = wc.save();
-				addListener();
-			} else
-				mport = monitor.getLocalPort();
-			monitor.start();
-			monitors.put(port, monitor);
-			return mport;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not start monitoring", e);
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartingMonitor, e.getLocalizedMessage()), null));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.ServerMonitorDelegate#stopMonitoring(org.eclipse.wst.server.core.ServerPort)
-	 */
-	public void stopMonitoring(IServer server, ServerPort port) {
-		try {
-			IMonitor monitor = monitors.get(port);
-			if (monitor != null)
-				monitor.stop();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not stop monitoring", e);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java
deleted file mode 100644
index b0868ad..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-/**
- * A OverlayImageDescriptor consists of a main icon and one or more overlays.
- * The overlays are computed according to flags set on creation of the descriptor.
- * @deprecated since 3.2.2
- */
-public class DefaultServerImageDescriptor extends CompositeImageDescriptor {
-	private Image fBaseImage;
-	private Point fSize;
-	private Image overlay;
-	
-	/**
-	 * Create a new OverlayImageDescriptor.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 */
-	public DefaultServerImageDescriptor(Image baseImage) {
-		this(baseImage, ImageResource.getImage(ImageResource.IMG_DEFAULT_SERVER_OVERLAY));
-	}
-
-	/**
-	 * 
-	 * @param baseImage
-	 * @param overlay
-	 */
-	public DefaultServerImageDescriptor(Image baseImage, Image overlay) {
-		setBaseImage(baseImage);
-		this.overlay = overlay;
-	}
-
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data = getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof DefaultServerImageDescriptor))
-			return false;
-			
-		DefaultServerImageDescriptor other = (DefaultServerImageDescriptor) object;
-		return (getBaseImage().equals(other.getBaseImage()));
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg = getBaseImage().getImageData();
-		if (bg == null)
-			bg = DEFAULT_IMAGE_DATA;
-
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		ImageData data = overlay.getImageData();
-		int x = getSize().x - data.width;
-		drawImage(data, x, 0);
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(Image baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java
deleted file mode 100644
index b74ebff..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.wst.server.core.internal.Server;
-/**
- * 
- * @deprecated since 3.2.2
- */
-public class DefaultServerLabelDecorator implements ILabelDecorator {
-	protected Map<Object, Image> map = new HashMap<Object, Image>();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		try {
-			Image img = map.get(element);
-			if (img != null)
-				return img;
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		DefaultServerImageDescriptor dsid = null;
-		if (element instanceof Server) {
-			IStatus status = ((Server) element).getServerStatus();
-			if (status != null) {
-				ISharedImages sharedImages = ServerUIPlugin.getInstance().getWorkbench().getSharedImages();
-				if (status.getSeverity() == IStatus.ERROR)
-					dsid = new DefaultServerImageDescriptor(image, sharedImages.getImage(ISharedImages.IMG_OBJS_ERROR_TSK));
-				else if (status.getSeverity() == IStatus.WARNING)
-					dsid = new DefaultServerImageDescriptor(image, sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK));
-				else if (status.getSeverity() == IStatus.INFO)
-					dsid = new DefaultServerImageDescriptor(image, sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK));
-			}
-		}
-		
-		if (dsid == null)
-			dsid = new DefaultServerImageDescriptor(image);
-		Image image2 = dsid.createImage();
-		map.put(element, image2);
-		return image2;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(java.lang.String, java.lang.Object)
-	 */
-	public String decorateText(String text, Object element) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		try {
-			Iterator iterator = map.values().iterator();
-			while (iterator.hasNext()) {
-				Image image = (Image) iterator.next();
-				image.dispose();
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not dispose images", e);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteRuntimeDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteRuntimeDialog.java
deleted file mode 100644
index c1401e4..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteRuntimeDialog.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-public class DeleteRuntimeDialog extends MessageDialog {
-	protected boolean promptDeleteServers;
-	protected boolean promptRemoveTargets;
-	protected boolean deleteServers;
-	protected boolean removeTargets;
-
-	public DeleteRuntimeDialog(Shell parentShell, boolean promptDeleteServers, boolean promptRemoveTargets) {
-		super(parentShell, Messages.defaultDialogTitle, null, Messages.dialogRuntimeInUse, QUESTION,
-			new String[] { IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL }, 0);
-		this.promptDeleteServers = promptDeleteServers;
-		this.promptRemoveTargets = promptRemoveTargets;
-	}
-
-	protected Control createCustomArea(Composite parent) {
-		if (!promptDeleteServers && !promptRemoveTargets)
-			return null;
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(1, true);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		if (promptDeleteServers) {
-			deleteServers = true;
-			final Button deleteServersButton = new Button(comp, SWT.CHECK);
-			deleteServersButton.setText(Messages.dialogRuntimeDeleteServers);
-			deleteServersButton.setSelection(true);
-			deleteServersButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					deleteServers = deleteServersButton.getSelection();
-				}
-			});
-		}
-		
-		if (promptRemoveTargets) {
-			removeTargets = true;
-			final Button removeTargetsButton = new Button(comp, SWT.CHECK);
-			removeTargetsButton.setText(Messages.dialogRuntimeRemoveTargets);
-			removeTargetsButton.setSelection(true);
-			removeTargetsButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					removeTargets = removeTargetsButton.getSelection();
-				}
-			});
-		}
-		
-		return comp;
-	}
-
-	public boolean isDeleteServers() {
-		return deleteServers;
-	}
-
-	public boolean isRemoveTargets() {
-		return removeTargets;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
deleted file mode 100644
index 648edfc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-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.Job;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServer.IOperationListener;
-/**
- * Dialog that prompts a user to delete server(s) and/or server configuration(s).
- */
-public class DeleteServerDialog extends MessageDialog {
-	protected IServer[] servers;
-	protected IFolder[] configs;
-
-	protected List<IServer> runningServersList;
-	protected boolean runningServerCanStop;
-
-	protected Button checkDeleteConfigs;
-	protected Button checkDeleteRunning;
-	protected Button checkDeleteRunningStop;
-
-	/**
-	 * DeleteServerDialog constructor comment.
-	 * 
-	 * @param parentShell a shell
-	 * @param servers an array of servers
-	 * @param configs an array of server configurations
-	 */
-	public DeleteServerDialog(Shell parentShell, IServer[] servers, IFolder[] configs) {
-		super(parentShell, Messages.deleteServerDialogTitle, null, null, QUESTION,
-				new String[] { IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL }, 0);
-		
-		if (servers == null || configs == null)
-			throw new IllegalArgumentException();
-		
-		this.servers = servers;
-		this.configs = configs;
-		
-		runningServersList = new ArrayList<IServer>();
-		for (int i = 0 ; i < servers.length ; ++i) {
-			if (servers[i].getServerState() != IServer.STATE_STOPPED)
-				runningServersList.add(servers[i]);
-			
-			if (servers[i].canStop().isOK())
-				runningServerCanStop = true;
-		}
-		
-		if (servers.length == 1)
-			message = NLS.bind(Messages.deleteServerDialogMessage, servers[0].getName());
-		else
-			message = NLS.bind(Messages.deleteServerDialogMessageMany, servers.length + "");
-	}
-
-	/**
-	 * 
-	 */
-	protected Control createCustomArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.DELETE_SERVER_DIALOG);
-		
-		if (configs.length > 0) {
-			checkDeleteConfigs = new Button(composite, SWT.CHECK);
-			checkDeleteConfigs.setText(NLS.bind(Messages.deleteServerDialogLooseConfigurations, configs[0].getName()));
-			checkDeleteConfigs.setSelection(true);
-		}
-		
-		// prompt for stopping running servers
-		int size = runningServersList.size();
-		if (size > 0) {
-			if (servers.length > 1) {
-				checkDeleteRunning = new Button(composite, SWT.CHECK);
-				checkDeleteRunning.setText(Messages.deleteServerDialogRunningServer);
-				checkDeleteRunning.setSelection(true);
-			}
-			
-			if (runningServerCanStop) {
-				checkDeleteRunningStop = new Button(composite, SWT.CHECK);
-				checkDeleteRunningStop.setText(Messages.deleteServerDialogRunningServerStop);
-				checkDeleteRunningStop.setSelection(true);
-				GridData data = new GridData();
-				if (checkDeleteRunning != null) {
-					// Only indent the checkbox if the delete running servers checkbox is available.
-					data.horizontalIndent = 15;
-					checkDeleteRunning.addSelectionListener(new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent e) {
-							checkDeleteRunningStop.setEnabled(checkDeleteRunning.getSelection());
-						}
-					});
-				}
-				checkDeleteRunningStop.setLayoutData(data);				
-			}
-		}
-		
-		Dialog.applyDialogFont(composite);
-		
-		return composite;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == OK) {
-			final boolean checked = (checkDeleteConfigs != null && checkDeleteConfigs.getSelection());
-			final boolean deleteRunning = (checkDeleteRunning == null || checkDeleteRunning.getSelection());
-			final boolean deleteRunningStop = (checkDeleteRunningStop != null && checkDeleteRunningStop.getSelection());
-			
-			Thread t = new Thread("Delete servers") {
-				public void run() {
-					if (runningServersList.size() > 0) {
-						// stop servers and/or updates servers' list
-						prepareForDeletion(deleteRunning, deleteRunningStop);
-					}
-					
-					Job job = new Job(Messages.deleteServerTask) {
-						protected IStatus run(IProgressMonitor monitor) {
-							if (servers.length == 0) {
-								// all servers have been deleted from list
-								return Status.OK_STATUS;
-							}
-							try {
-								if (monitor.isCanceled())
-									return Status.CANCEL_STATUS;
-								
-								int size = servers.length;
-								for (int i = 0; i < size; i++)
-									servers[i].delete();
-								
-								if (monitor.isCanceled())
-									return Status.CANCEL_STATUS;
-								
-								if (checked) {
-									size = configs.length;
-									for (int i = 0; i < size; i++)
-										configs[i].delete(true, true, monitor);
-								}
-							} catch (Exception e) {
-								if (Trace.SEVERE) {
-									Trace.trace(Trace.STRING_SEVERE, "Error while deleting resources", e);
-								}
-								return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, e.getMessage(), e); 
-							}
-							
-							return Status.OK_STATUS;
-						}
-					};
-					
-					// set rule for workspace and servers
-					int size = servers.length;
-					ISchedulingRule[] rules = new ISchedulingRule[size+1];
-					for (int i = 0; i < size; i++)
-						rules[i] = servers[i];
-					IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-					rules[size] = ruleFactory.createRule(ResourcesPlugin.getWorkspace().getRoot());
-					job.setRule(MultiRule.combine(rules));
-					job.setPriority(Job.BUILD);
-					
-					job.schedule();
-				}
-			};
-			t.setDaemon(true);
-			t.start();
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	/**
-	 * Updates servers' & configs' lists. If <code>deleteRunning</code> is <code>true</code>
-	 * 	and a server can't be stopped, it isn't removed.
-	 * @param deleteRunning if <code>true</code> running servers will be stopped
-	 * 	before being deleted, if <code>false</code> running servers will be removed
-	 *    from deletion list.
-	 */
-	protected void prepareForDeletion(boolean deleteRunning, boolean stopRunning) {
-		// converts servers & configs to list to facilitate removal
-		List<IServer> serversList = new LinkedList<IServer>(Arrays.asList(servers));
-		List<IFolder> configsList = new LinkedList<IFolder>(Arrays.asList(configs));
-		if (!deleteRunning) {
-			// don't delete servers or configurations
-			int size = runningServersList.size();
-			for (int i = 0; i < size; i++) {
-				IServer server = runningServersList.get(i);
-				serversList.remove(server);
-				if (server.getServerConfiguration() != null)
-					configsList.remove(server.getServerConfiguration());
-			}
-		} else {
-			if (stopRunning) {
-				// stop running servers and wait for them (stop is asynchronous)
-				IServer s;
-				MultiServerStopListener listener = new MultiServerStopListener();
-				int expected = 0;
-				Iterator iter = runningServersList.iterator();
-				while (iter.hasNext()) {
-					s = (IServer) iter.next();
-					if (s.canStop().isOK()) {
-						++expected;
-						s.stop(false, listener);
-					} else {
-						// server can't be stopped, don't delete it
-						serversList.remove(s);
-						configsList.remove(s.getServerConfiguration());
-					}
-				}
-				try {
-					while (expected != listener.getNumberStopped()) {
-						Thread.sleep(200);
-					}
-				} catch (InterruptedException e) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_WARNING, "Interrupted while waiting for servers stop");
-					}
-				}
-			}
-		}
-		servers = new IServer[serversList.size()];
-		serversList.toArray(servers);
-		configs = new IFolder[configsList.size()];
-		configsList.toArray(configs);
-	}
-
-	/**
-	 * Class used to wait all servers stop. Use one instance
-	 * for a group of servers and loop to see if the number stopped
-	 * equals the number of servers waiting to stop.
-	 */
-	class MultiServerStopListener implements IOperationListener {
-		protected int num; 
-
-		public void done(IStatus result) {
-			num++;
-		}
-
-		public int getNumberStopped() {
-			return num;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java
deleted file mode 100644
index 53328a4..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-/**
- * Eclipse utility methods.
- */
-public class EclipseUtil {
-	/**
-	 * EclipseUtil constructor comment.
-	 */
-	private EclipseUtil() {
-		super();
-	}
-	
-	/**
-	 * Creates a new server project with the given name. If path is
-	 * null, it will be created in the default location.
-	 *
-	 * @param name java.lang.String
-	 * @param path org.eclipse.core.resource.IPath
-	 * @param monitor
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	private static IStatus createServerProject(String name, IPath path, IProgressMonitor monitor) {
-		//monitor = ProgressUtil.getMonitorFor(monitor);
-		//monitor.beginTask(ServerPlugin.getResource("%createServerProjectTask"), 3000);
-		
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IProject project = workspace.getRoot().getProject(name);
-			
-			// get a project descriptor
-			IProjectDescription description = workspace.newProjectDescription(name);
-			description.setLocation(path);
-			
-			project.create(description, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			if (monitor.isCanceled())
-				return null;
-			project.open(ProgressUtil.getSubMonitorFor(monitor, 1000));
-			if (monitor.isCanceled())
-				return null;
-			
-			// add the server project nature
-			ServerPlugin.getProjectProperties(project).setServerProject(true, monitor);
-			
-			if (monitor.isCanceled())
-				return null;
-			
-			return Status.OK_STATUS;
-		} catch (CoreException ce) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not create server project named " + name, ce);
-			}
-			return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotCreateServerProjectStatus, ce.getMessage()), ce);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not create server project (2) named " + name, e);
-			}
-			return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, Messages.errorCouldNotCreateServerProject, e);
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/**
-	 * Creates a new server project with the given name. If path is
-	 * null, it will be created in the default location.
-	 *
-	 * @param shell a shell
-	 * @param name a name
-	 * @param path a path
-	 * @param monitor a progress monitor, or null
-	 */
-	public static void createNewServerProject(final Shell shell, String name, IPath path, IProgressMonitor monitor) {
-		final IStatus status = createServerProject(name, path, monitor);
-		if (!status.isOK()) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					Shell shell2 = shell;
-					if (shell == null)
-						shell2 = getShell();
-					openError(shell2, Messages.errorCouldNotCreateServerProject, status);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Returns the image for a project.
-	 *
-	 * @param project org.eclipse.core.resources.IProject
-	 * @return org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getProjectImageDescriptor(IProject project) {
-		if (project == null)
-			return null;
-	
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter) project.getAdapter(IWorkbenchAdapter.class);
-	
-		if (adapter != null)
-			return adapter.getImageDescriptor(project);
-		
-		return null;
-	}
-
-	/**
-	 * Return a shell for the workbench.
-	 *
-	 * @return org.eclipse.swt.widgets.Shell
-	 */
-	public static Shell getShell() {
-		return getStandardDisplay().getActiveShell();
-	}
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 * 
-	 * @return the display
-	 */
-	public static Display getStandardDisplay() {
-		Display display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-
-		return display;		
-	}	
-	
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param message java.lang.String
-	 */
-	public static void openError(final String message) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Shell shell = getShell();
-				MessageDialog.openError(shell, Messages.errorDialogTitle, message);
-			}
-		});
-	}
-
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param message java.lang.String
-	 * @param status IStatus
-	 */
-	public static void openError(final String message, final IStatus status) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Shell shell = getShell();
-				ErrorDialog.openError(shell, Messages.errorDialogTitle, message, status);
-			}
-		});
-	}
-
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param shell the shell
-	 * @param message the message
-	 */
-	public static void openError(Shell shell, String message) {
-		MessageDialog.openError(shell, Messages.errorDialogTitle, message);
-	}
-
-	/**
-	 * Open a dialog window.
-	 *
-	 * @param shell a shell
-	 * @param message a message
-	 * @param status a status
-	 */
-	public static void openError(Shell shell, String message, IStatus status) {
-		ErrorDialog.openError(shell, Messages.errorDialogTitle, message, status);
-	}
-
-	/**
-	 * Do a validateEdit() on the given server.
-	 * 
-	 * @param shell a shell
-	 * @param server a server
-	 * @return true if validate edit worked
-	 */
-	public static boolean validateEdit(Shell shell, IServer server) {
-		IStatus status = ServerUtil.validateEdit(shell, server);
-		return validateEdit(shell, status);
-	}
-
-	protected static boolean validateEdit(Shell shell, IStatus status) {
-		if (status != null && status.getSeverity() == IStatus.ERROR) {
-			// inform user
-			String message = Messages.editorValidateEditFailureMessage;
-			ErrorDialog.openError(shell, Messages.errorDialogTitle, message, status);
-
-			// do not execute command
-			return false;
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/GeneralToolTip.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/GeneralToolTip.java
deleted file mode 100644
index 9f87b40..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/GeneralToolTip.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007,2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.provisional.IServerToolTip;
-
-public class GeneralToolTip implements IServerToolTip {
-	public GeneralToolTip() {
-		// do nothing
-	}
-
-	public void createContent(Composite parent, IServer server) {
-		Text text = new Text(parent,SWT.NONE);
-		text.setBackground(parent.getBackground());
-		text.setEditable(false);
-		String s = "";
-		if (server.getRuntime() != null)
-			s += server.getRuntime().getName() + " - ";
-		s += NLS.bind(Messages.modules, server.getModules().length + "");
-		text.setText(s);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java
deleted file mode 100644
index 330696c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionDelta;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * Utility class to handle image resources.
- */
-public class ImageResource {
-	// the image registry
-	private static ImageRegistry imageRegistry;
-
-	// map of image descriptors since these
-	// will be lost by the image registry
-	private static Map<String, ImageDescriptor> imageDescriptors;
-
-	// base urls for images
-	private static URL ICON_BASE_URL;
-
-	static {
-		try {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = ServerUIPlugin.getInstance().getBundle().getEntry(pathSuffix);
-		} catch (Exception e) {
-			if(Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not set icon base URL", e);
-			}
-		}
-	}
-
-	private static final String URL_CLCL = "clcl16/";
-	private static final String URL_CTOOL = "ctool16/";
-	
-	private static final String URL_ELCL = "elcl16/";
-	private static final String URL_ETOOL = "etool16/";
-	
-	private static final String URL_DLCL = "dlcl16/";
-	private static final String URL_DTOOL = "dtool16/";
-
-	private static final String URL_OBJ = "obj16/";
-	
-	private static final String URL_OVR = "ovr16/";
-
-	private static final String URL_WIZBAN = "wizban/";
-
-	// --- constants for images ---
-
-	// Server State Images
-	public static final String IMG_CLCL_START = "IMG_CLCL_START";
-	public static final String IMG_CLCL_START_DEBUG = "IMG_CLCL_START_DEBUG";
-	public static final String IMG_CLCL_START_PROFILE = "IMG_CLCL_START_PROFILE";
-	public static final String IMG_CLCL_STOP = "IMG_CLCL_STOP";
-	public static final String IMG_CLCL_PUBLISH = "IMG_CLCL_PUBLISH";
-	public static final String IMG_CLCL_DISCONNECT = "IMG_CLCL_DISCONNECT";
-
-	public static final String IMG_ELCL_START = "IMG_ELCL_START";
-	public static final String IMG_ELCL_START_DEBUG = "IMG_ELCL_START_DEBUG";
-	public static final String IMG_ELCL_START_PROFILE = "IMG_ELCL_START_PROFILE";
-	public static final String IMG_ELCL_STOP = "IMG_ELCL_STOP";
-	public static final String IMG_ELCL_PUBLISH = "IMG_ELCL_PUBLISH";
-	public static final String IMG_ELCL_DISCONNECT = "IMG_ELCL_DISCONNECT";
-
-	public static final String IMG_DLCL_START = "IMG_DLCL_START";
-	public static final String IMG_DLCL_START_DEBUG = "IMG_DLCL_START_DEBUG";
-	public static final String IMG_DLCL_START_PROFILE = "IMG_DLCL_START_PROFILE";
-	public static final String IMG_DLCL_STOP = "IMG_DLCL_STOP";
-	public static final String IMG_DLCL_PUBLISH = "IMG_DLCL_PUBLISH";
-	public static final String IMG_DLCL_DISCONNECT = "IMG_DLCL_DISCONNECT";
-
-	// Wizard Banner Images
-	public static final String IMG_WIZBAN_NEW_RUNTIME = "newServerWiz";
-	public static final String IMG_WIZBAN_NEW_SERVER = "newServerWiz";
-	public static final String IMG_WIZBAN_SELECT_SERVER_CLIENT = "wizClient";
-	public static final String IMG_WIZBAN_SELECT_SERVER = "selectServer";
-	public static final String IMG_WIZBAN_IMPORT_SERVER_CONFIGURATION = "importConfigWiz";
-
-	public static final String IMG_SERVER_STATE_STARTED = "stateStarted";
-	public static final String IMG_SERVER_STATE_STARTED_DEBUG = "stateStartedDebug";
-	public static final String IMG_SERVER_STATE_STARTED_PROFILE = "stateStartedProfile";
-	public static final String IMG_SERVER_STATE_STOPPED = "stateStopped";
-	
-	public static final String IMG_STATE_STARTED = "stateStarted2";
-	public static final String IMG_STATE_STOPPED = "stateStopped2";
-	
-	public static final String IMG_SERVER_STATE_STARTING_1 = "stateStarting1";
-	public static final String IMG_SERVER_STATE_STARTING_2 = "stateStarting2";
-	public static final String IMG_SERVER_STATE_STARTING_3 = "stateStarting3";
-	
-	public static final String IMG_SERVER_STATE_STOPPING_1 = "stateStopping1";
-	public static final String IMG_SERVER_STATE_STOPPING_2 = "stateStopping2";
-	public static final String IMG_SERVER_STATE_STOPPING_3 = "stateStopping3";
-	
-	public static final String IMG_SERVER_STATE_STARTED_OVERLAY = "stateStartedOverlay";
-	public static final String IMG_SERVER_STATE_STARTED_DEBUG_OVERLAY = "stateStartedDebugOverlay";
-	public static final String IMG_SERVER_STATE_STARTED_PROFILE_OVERLAY = "stateStartedProfileOverlay";
-	public static final String IMG_SERVER_STATE_STOPPED_OVERLAY = "stateStoppedOverlay";	
-	
-	public static final String IMG_SERVER_STATE_STARTING_1_OVERLAY = "stateStartingOverlay1";
-	public static final String IMG_SERVER_STATE_STARTING_2_OVERLAY = "stateStartingOverlay2";
-	public static final String IMG_SERVER_STATE_STARTING_3_OVERLAY = "stateStartingOverlay3";
-	
-	public static final String IMG_SERVER_STATE_STOPPING_1_OVERLAY = "stateStoppingOverlay1";
-	public static final String IMG_SERVER_STATE_STOPPING_2_OVERLAY = "stateStoppingOverlay2";
-	public static final String IMG_SERVER_STATE_STOPPING_3_OVERLAY = "stateStoppingOverlay3";
-
-	
-	// Server Client Images
-	public static final String IMG_CTOOL_RUN_ON_SERVER = "IMG_CTOOL_CLIENT";
-	public static final String IMG_CTOOL_DEBUG_ON_SERVER = "IMG_CTOOL_CLIENT2";
-	public static final String IMG_CTOOL_PROFILE_ON_SERVER = "IMG_CTOOL_CLIENT3";
-	public static final String IMG_CTOOL_NEW_SERVER = "IMG_CTOOL_NEW_SERVER";
-	public static final String IMG_CTOOL_NEW_SERVER_INSTANCE = "IMG_CTOOL_NEW_SERVER_INSTANCE";
-	public static final String IMG_CTOOL_MODIFY_MODULES = "IMG_CTOOL_MODIFY_MODULES";
-
-	public static final String IMG_ETOOL_RUN_ON_SERVER = "IMG_ETOOL_CLIENT";
-	public static final String IMG_ETOOL_DEBUG_ON_SERVER = "IMG_ETOOL_CLIENT2";
-	public static final String IMG_ETOOL_PROFILE_ON_SERVER = "IMG_ETOOL_CLIENT3";
-	public static final String IMG_ETOOL_MODIFY_MODULES = "IMG_ETOOL_MODIFY_MODULES";
-	public static final String IMG_ETOOL_RESET_DEFAULT = "IMG_ETOOL_RESET_DEFAULT";
-
-	public static final String IMG_DTOOL_RUN_ON_SERVER = "IMG_DTOOL_CLIENT";
-	public static final String IMG_DTOOL_DEBUG_ON_SERVER = "IMG_DTOOL_CLIENT2";
-	public static final String IMG_DTOOL_PROFILE_ON_SERVER = "IMG_DTOOL_CLIENT3";
-	public static final String IMG_DTOOL_MODIFY_MODULES = "IMG_DTOOL_MODIFY_MODULES";
-	public static final String IMG_DTOOL_RESET_DEFAULT = "IMG_DTOOL_RESET_DEFAULT";
-
-	// General Object Images
-	public static final String IMG_SERVER = "server";
-	public static final String IMG_SERVER_CONFIGURATION_NONE = "noConfiguration";
-	public static final String IMG_SERVER_CONFIGURATION_MISSING = "configurationMissing";
-	public static final String IMG_PROJECT_MISSING = "projectMissing";
-	public static final String IMG_REPAIR_CONFIGURATION = "repairConfiguration";
-
-	public static final String IMG_PUBLISH_ENABLED = "publishEnabled";
-	public static final String IMG_PUBLISH_DISABLED = "publishDisabled";
-	
-	public static final String IMG_MONITOR_ON = "monitorOn";
-	public static final String IMG_MONITOR_OFF = "monitorOff";
-	
-	public static final String IMG_DEFAULT_SERVER_OVERLAY = "defaultServerOverlay";
-	
-	// Audio images
-	public static final String IMG_AUDIO_SOUND = "sound";
-	public static final String IMG_AUDIO_CATEGORY = "category";
-
-	/**
-	 * Cannot construct an ImageResource. Use static methods only.
-	 */
-	private ImageResource() {
-		// do nothing
-	}
-	
-	/**
-	 * Dispose of element images that were created.
-	 */
-	protected static void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Return the image with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.swt.graphics.Image
-	 */
-	public static Image getImage(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		Image image = imageRegistry.get(key);
-		if (image == null) {
-			imageRegistry.put(key, ImageDescriptor.getMissingImageDescriptor());
-			image = imageRegistry.get(key);
-		}
-		return image;
-	}
-
-	/**
-	 * Return the image descriptor with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		ImageDescriptor id = imageDescriptors.get(key);
-		if (id != null)
-			return id;
-		
-		return ImageDescriptor.getMissingImageDescriptor();
-	}
-
-	/**
-	 * Initialize the image resources.
-	 */
-	protected static void initializeImageRegistry() {
-		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap<String, ImageDescriptor>();
-
-		// wizard banners
-		registerImage(IMG_WIZBAN_NEW_SERVER, URL_WIZBAN + "new_server_wiz.png");
-		registerImage(IMG_WIZBAN_IMPORT_SERVER_CONFIGURATION, URL_WIZBAN + "import_configuration_wiz.png");
-		registerImage(IMG_WIZBAN_SELECT_SERVER_CLIENT, URL_WIZBAN + "select_client_wiz.png");
-		registerImage(IMG_WIZBAN_SELECT_SERVER, URL_WIZBAN + "select_server_wiz.png");
-
-		// client images
-		registerImage(IMG_ETOOL_RUN_ON_SERVER, URL_ETOOL + "run_on_server.gif");
-		registerImage(IMG_ETOOL_DEBUG_ON_SERVER, URL_ETOOL + "debug_on_server.gif");
-		registerImage(IMG_ETOOL_PROFILE_ON_SERVER, URL_ETOOL + "profile_on_server.gif");
-		registerImage(IMG_ETOOL_MODIFY_MODULES, URL_ETOOL + "wiz_modify_modules.gif");
-		registerImage(IMG_ETOOL_RESET_DEFAULT, URL_ETOOL + "clear.gif");
-
-		registerImage(IMG_CTOOL_RUN_ON_SERVER, URL_CTOOL + "run_on_server.gif");
-		registerImage(IMG_CTOOL_DEBUG_ON_SERVER, URL_CTOOL + "debug_on_server.gif");
-		registerImage(IMG_CTOOL_PROFILE_ON_SERVER, URL_CTOOL + "profile_on_server.gif");
-		registerImage(IMG_CTOOL_NEW_SERVER, URL_CTOOL + "wiz_new_server.gif");
-		registerImage(IMG_CTOOL_NEW_SERVER_INSTANCE, URL_CTOOL + "wiz_new_instance.gif");
-		registerImage(IMG_CTOOL_MODIFY_MODULES, URL_CTOOL + "wiz_modify_modules.gif");
-
-		registerImage(IMG_DTOOL_RUN_ON_SERVER, URL_DTOOL + "run_on_server.gif");
-		registerImage(IMG_DTOOL_DEBUG_ON_SERVER, URL_DTOOL + "debug_on_server.gif");
-		registerImage(IMG_DTOOL_PROFILE_ON_SERVER, URL_DTOOL + "profile_on_server.gif");
-		registerImage(IMG_DTOOL_MODIFY_MODULES, URL_DTOOL + "wiz_modify_modules.gif");
-		registerImage(IMG_DTOOL_RESET_DEFAULT, URL_DTOOL + "clear.gif");
-	
-		// load server state images no overlay, still used in the Run On Server
-		registerImage(IMG_SERVER_STATE_STARTED, URL_OBJ + "server_started.gif");
-		registerImage(IMG_SERVER_STATE_STARTED_DEBUG, URL_OBJ + "server_started_debug.gif");
-		registerImage(IMG_SERVER_STATE_STARTED_PROFILE, URL_OBJ + "server_started_profile.gif");
-		registerImage(IMG_SERVER_STATE_STOPPED, URL_OBJ + "server_stopped.gif");
-		
-		registerImage(IMG_STATE_STARTED, URL_OBJ + "state_started.gif");
-		registerImage(IMG_STATE_STOPPED, URL_OBJ + "state_stopped.gif");
-		
-		registerImage(IMG_SERVER_STATE_STARTING_1, URL_OBJ + "server_starting1.gif");
-		registerImage(IMG_SERVER_STATE_STARTING_2, URL_OBJ + "server_starting2.gif");
-		registerImage(IMG_SERVER_STATE_STARTING_3, URL_OBJ + "server_starting3.gif");
-		
-		registerImage(IMG_SERVER_STATE_STOPPING_1, URL_OBJ + "server_stopping1.gif");
-		registerImage(IMG_SERVER_STATE_STOPPING_2, URL_OBJ + "server_stopping2.gif");
-		registerImage(IMG_SERVER_STATE_STOPPING_3, URL_OBJ + "server_stopping3.gif");
-	
-		// load server state images overlay
-		registerImage(IMG_SERVER_STATE_STARTED_OVERLAY, URL_OVR + "server_started_ovr.gif");
-		registerImage(IMG_SERVER_STATE_STARTED_DEBUG_OVERLAY, URL_OVR + "server_started_debug_ovr.gif");
-		registerImage(IMG_SERVER_STATE_STARTED_PROFILE_OVERLAY, URL_OVR + "server_started_profile_ovr.gif");
-		registerImage(IMG_SERVER_STATE_STOPPED_OVERLAY, URL_OVR + "server_stopped_ovr.gif");
-		
-		registerImage(IMG_SERVER_STATE_STARTING_1_OVERLAY, URL_OVR + "server_starting1_ovr.gif");
-		registerImage(IMG_SERVER_STATE_STARTING_2_OVERLAY, URL_OVR + "server_starting2_ovr.gif");
-		registerImage(IMG_SERVER_STATE_STARTING_3_OVERLAY, URL_OVR + "server_starting3_ovr.gif");
-		
-		registerImage(IMG_SERVER_STATE_STOPPING_1_OVERLAY, URL_OVR + "server_stopping1_ovr.gif");
-		registerImage(IMG_SERVER_STATE_STOPPING_2_OVERLAY, URL_OVR + "server_stopping2_ovr.gif");
-		registerImage(IMG_SERVER_STATE_STOPPING_3_OVERLAY, URL_OVR + "server_stopping3_ovr.gif");
-
-		// load action images
-		registerImage(IMG_ELCL_PUBLISH, URL_ELCL + "launch_publish.gif");
-		registerImage(IMG_ELCL_START, URL_ELCL + "launch_run.gif");
-		registerImage(IMG_ELCL_START_DEBUG, URL_ELCL + "launch_debug.gif");
-		registerImage(IMG_ELCL_START_PROFILE, URL_ELCL + "launch_profile.gif");
-		registerImage(IMG_ELCL_STOP, URL_ELCL + "launch_stop.gif");
-		registerImage(IMG_ELCL_DISCONNECT, URL_ELCL + "launch_disconnect.gif");
-	
-		registerImage(IMG_CLCL_PUBLISH, URL_CLCL + "launch_publish.gif");
-		registerImage(IMG_CLCL_START, URL_CLCL + "launch_run.gif");
-		registerImage(IMG_CLCL_START_DEBUG, URL_CLCL + "launch_debug.gif");
-		registerImage(IMG_CLCL_START_PROFILE, URL_CLCL + "launch_profile.gif");
-		registerImage(IMG_CLCL_STOP, URL_CLCL + "launch_stop.gif");
-		registerImage(IMG_CLCL_DISCONNECT, URL_CLCL + "launch_disconnect.gif");
-	
-		registerImage(IMG_DLCL_PUBLISH, URL_DLCL + "launch_publish.gif");
-		registerImage(IMG_DLCL_START, URL_DLCL + "launch_run.gif");
-		registerImage(IMG_DLCL_START_DEBUG, URL_DLCL + "launch_debug.gif");
-		registerImage(IMG_DLCL_START_PROFILE, URL_DLCL + "launch_profile.gif");
-		registerImage(IMG_DLCL_STOP, URL_DLCL + "launch_stop.gif");
-		registerImage(IMG_DLCL_DISCONNECT, URL_DLCL + "launch_disconnect.gif");
-	
-		// load general object images
-		registerImage(IMG_SERVER, URL_OBJ + "server.gif");
-		registerImage(IMG_SERVER_CONFIGURATION_NONE, URL_OBJ + "configuration_none.gif");
-		registerImage(IMG_SERVER_CONFIGURATION_MISSING, URL_OBJ + "configuration_missing.gif");
-		registerImage(IMG_PROJECT_MISSING, URL_OBJ + "project_missing.gif");
-		registerImage(IMG_REPAIR_CONFIGURATION, URL_OBJ + "repair_config.gif");
-	
-		registerImage(IMG_PUBLISH_ENABLED, URL_OBJ + "publish_enabled.gif");
-		registerImage(IMG_PUBLISH_DISABLED, URL_OBJ + "publish_disabled.gif");
-		
-		registerImage(IMG_MONITOR_ON, URL_OBJ + "monitorOn.gif");
-		registerImage(IMG_MONITOR_OFF, URL_OBJ + "monitorOff.gif");
-		
-		registerImage(IMG_DEFAULT_SERVER_OVERLAY, URL_OVR + "default_server_ovr.gif");
-		
-		// audio images
-		registerImage(IMG_AUDIO_SOUND, URL_OBJ + "audio_sound.gif");
-		registerImage(IMG_AUDIO_CATEGORY, URL_OBJ + "audio_category.gif");
-		
-		loadServerImages();
-		
-		PlatformUI.getWorkbench().getProgressService().registerIconForFamily(
-				getImageDescriptor(IMG_SERVER), ServerUtil.SERVER_JOB_FAMILY);
-	}
-
-	/**
-	 * Register an image with the registry.
-	 *
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private static void registerImage(String key, String partialURL) {
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			imageRegistry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error registering image " + key + " from " + partialURL, e);
-			}
-		}
-	}
-
-	/**
-	 * Load the server images.
-	 */
-	private static void loadServerImages() {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .serverImages extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		loadServerImages(registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_SERVER_IMAGES));
-		ServerUIPlugin.addRegistryListener();
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .serverImages extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the server images.
-	 */
-	private static void loadServerImages(IConfigurationElement[] cf) {
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			try {
-				String name = cf[i].getDeclaringExtension().getContributor().getName();
-				String iconPath = cf[i].getAttribute("icon");
-				ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(name, iconPath);
-				if (imageDescriptor == null && iconPath != null && iconPath.length() > 0)
-					imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-				
-				if (imageDescriptor != null) {
-					String[] typeIds = ServerUIPlugin.tokenize(cf[i].getAttribute("typeIds"), ",");
-					int size2 = typeIds.length;
-					for (int j = 0; j < size2; j++) {
-						imageRegistry.put(typeIds[j], imageDescriptor);		
-						imageDescriptors.put(typeIds[j], imageDescriptor);
-					}
-				}
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded serverImage: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "  Could not load serverImage: " + cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-	}
-
-	protected static void handleServerImageDelta(IExtensionDelta delta) {
-		if (imageRegistry == null) // not loaded yet
-			return;
-		
-		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
-		
-		if (delta.getKind() == IExtensionDelta.ADDED)
-			loadServerImages(cf);
-		else {
-			int size = cf.length;
-			for (int i = 0; i < size; i++) {
-				String typeId = cf[i].getAttribute("typeIds");
-				imageRegistry.remove(typeId);
-				imageDescriptors.remove(typeId);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/InitializeJob.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/InitializeJob.java
deleted file mode 100644
index de1be52..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/InitializeJob.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-/**
- * Job to initialize the server UI.
- */
-public class InitializeJob extends Job {
-	/**
-	 * Create the job.
-	 */
-	public InitializeJob() {
-		super(Messages.jobInitializing);
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.jobs.Job#run(IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				servers[i].addServerListener(ServerUIPlugin.serverListener);
-				servers[i].addPublishListener(ServerUIPlugin.publishListener);
-			}
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchClientJob.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchClientJob.java
deleted file mode 100644
index d312641..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchClientJob.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-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.swt.widgets.Display;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.*;
-/**
- * 
- */
-public class LaunchClientJob extends ChainedJob {
-	protected IModule[] module;
-	protected IClient client;
-	protected ILaunchableAdapter launchableAdapter;
-	protected String launchMode;
-	protected IModuleArtifact moduleArtifact;
-
-	public LaunchClientJob(IServer server, IModule[] module, String launchMode, IModuleArtifact moduleArtifact, ILaunchableAdapter launchableAdapter, IClient client) {
-		super(Messages.launchingClientTask, server);
-		this.module = module;
-		this.launchMode = launchMode;
-		this.moduleArtifact = moduleArtifact;
-		this.launchableAdapter = launchableAdapter;
-		this.client = client;
-		setRule(server);
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		if (Trace.FINER) {
-			Trace.trace(Trace.STRING_FINER, "LaunchClient job");
-		}
-
-		// wait for up to 5 minutes
-		final Server server = (Server) getServer();
-		int state = server.getModuleState(module);
-		int count = ServerPreferences.getInstance().getModuleStartTimeout();
-		while (state == IServer.STATE_STARTING && count > 0) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			
-			try {
-				Thread.sleep(2000);
-			} catch (Exception e) {
-				// ignore
-			}
-			count -= 2000;
-			state = server.getModuleState(module);
-		}
-		
-		if (Trace.FINER) {
-			Trace.trace(Trace.STRING_FINER, "LaunchClient job 2 " + state);
-		}
-		
-		if (monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-		
-		if (state == IServer.STATE_STARTING)
-			return Status.OK_STATUS;
-		
-		if (Trace.FINER) {
-			Trace.trace(Trace.STRING_FINER, "LaunchClient job 3");
-		}
-
-		// job return status
-		final IStatus[] resultingStatus = new IStatus[] { Status.OK_STATUS };
-
-		// acquire the launchable object.
-		final Object[] launchable = new Object[1];
-		try {
-			launchable[0] = launchableAdapter.getLaunchable(server, moduleArtifact);
-		}
-		catch (CoreException ce) {
-			resultingStatus[0] = ce.getStatus();
-			EclipseUtil.openError(null, resultingStatus[0]);
-		}
-		if (monitor.isCanceled()) {
-			return Status.CANCEL_STATUS;
-		}
-		// display client on UI thread if launchable exists.
-		if (launchable[0] != null) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					if (Trace.FINEST) {
-						Trace.trace(Trace.STRING_FINEST, "Attempting to load client: " + client.getId());
-					}
-					try {
-						resultingStatus[0] = client.launch(server, launchable[0], launchMode, server.getLaunch());
-						if (resultingStatus[0] != null && resultingStatus[0].getSeverity() == IStatus.ERROR)
-							EclipseUtil.openError(null, resultingStatus[0]);
-					}
-					catch (Exception e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Server client failed", e);
-						}
-					}
-				}
-			});
-		}
-		if (Trace.FINER) {
-			Trace.trace(Trace.STRING_FINER, "LaunchClient job 4");
-		}
-		return resultingStatus[0];
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchingPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchingPreferencePage.java
deleted file mode 100644
index 98e57bb..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchingPreferencePage.java
+++ /dev/null
@@ -1,379 +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.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.wst.server.core.internal.ServerPreferences;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-/**
- * The preference page that holds server launching properties.
- */
-public class LaunchingPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	protected ServerPreferences preferences;
-	protected ServerUIPreferences uiPreferences;
-
-	protected Button publishBeforeStart;
-
-	protected byte saveEditors;
-	protected Button[] saveButtons;
-	protected int launchMode;
-	protected Button[] launchModeButtons;
-	protected int launchMode2;
-	protected Button[] launchMode2Buttons;
-	protected int breakpointEnablement;
-	protected Button[] breakpointButtons;
-	protected int restartEnablement;
-	protected Button[] restartButtons;
-
-	/**
-	 * ServerPreferencesPage constructor comment.
-	 */
-	public LaunchingPreferencePage() {
-		super();
-		
-		preferences = ServerPreferences.getInstance();
-		uiPreferences = ServerUIPlugin.getPreferences();
-	}
-
-	/**
-	 * Create the preference options.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(parent, ContextIds.PREF_GENERAL);
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 3;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		
-		publishBeforeStart = new Button(composite, SWT.CHECK);
-		publishBeforeStart.setText(Messages.prefAutoPublish);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		publishBeforeStart.setLayoutData(data);
-		publishBeforeStart.setSelection(preferences.isAutoPublishing());
-		whs.setHelp(publishBeforeStart, ContextIds.PREF_GENERAL_PUBLISH_BEFORE_START);
-		
-		Label label = new Label(composite, SWT.NONE);
-		data = new GridData();
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-		
-		createSaveEditorGroup(composite);
-		
-		createLaunchModeGroup(composite);
-		
-		createLaunchMode2Group(composite);
-		
-		createBreakpointsGroup(composite);
-		
-		createRestartGroup(composite);
-		
-		setSaveEditorStatus(uiPreferences.getSaveEditors());
-		setLaunchModeStatus(uiPreferences.getLaunchMode());
-		setLaunchMode2Status(uiPreferences.getLaunchMode2());
-		setBreakpointsStatus(uiPreferences.getEnableBreakpoints());
-		setRestartStatus(uiPreferences.getRestart());
-		
-		Dialog.applyDialogFont(composite);
-		
-		return composite;
-	}
-
-	protected void createSaveEditorGroup(Composite composite) {
-		Group group = new Group(composite, SWT.NONE);
-		group.setText(Messages.prefSaveEditors);
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		group.setLayoutData(data);
-		
-		String[] messages = new String[] {
-			Messages.prefSaveEditorsAlways, Messages.prefSaveEditorsNever,
-			Messages.prefSaveEditorsPrompt
-		};
-		
-		final byte[] options = new byte[] {
-			ServerUIPreferences.SAVE_EDITORS_ALWAYS,
-			ServerUIPreferences.SAVE_EDITORS_NEVER,
-			ServerUIPreferences.SAVE_EDITORS_PROMPT
-		};
-		
-		Button[] buttons = new Button[3];
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		for (int i = 0; i < 3; i++) {
-			buttons[i] = new Button(group, SWT.RADIO);
-			buttons[i].setText(messages[i]);
-			final int b = i;
-			buttons[i].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					saveEditors = options[b];
-				}
-			});
-			whs.setHelp(buttons[i], ContextIds.PREF_GENERAL_SAVE_EDITORS);
-		}
-		saveButtons = buttons;
-	}
-
-	protected void setSaveEditorStatus(byte status) {
-		saveEditors = status;
-		saveButtons[0].setSelection(saveEditors == ServerUIPreferences.SAVE_EDITORS_ALWAYS);
-		saveButtons[1].setSelection(saveEditors == ServerUIPreferences.SAVE_EDITORS_NEVER);
-		saveButtons[2].setSelection(saveEditors == ServerUIPreferences.SAVE_EDITORS_PROMPT);
-	}
-
-	protected void createLaunchModeGroup(Composite composite) {
-		Group group = new Group(composite, SWT.NONE);
-		group.setText(Messages.prefLaunchMode);
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		group.setLayoutData(data);
-		
-		String[] messages = new String[] {
-			Messages.prefLaunchModeRestart, Messages.prefLaunchModeContinue,
-			Messages.prefLaunchModePrompt
-		};
-		
-		final byte[] options = new byte[] {
-			ServerUIPreferences.LAUNCH_MODE_RESTART,
-			ServerUIPreferences.LAUNCH_MODE_CONTINUE,
-			ServerUIPreferences.LAUNCH_MODE_PROMPT
-		};
-		
-		Button[] buttons = new Button[3];
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		for (int i = 0; i < 3; i++) {
-			buttons[i] = new Button(group, SWT.RADIO);
-			buttons[i].setText(messages[i]);
-			final int b = i;
-			buttons[i].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					launchMode = options[b];
-				}
-			});
-			whs.setHelp(buttons[i], ContextIds.PREF_GENERAL_LAUNCH_MODE);
-		}
-		launchModeButtons = buttons;
-	}
-
-	protected void setLaunchModeStatus(int mode) {
-		launchMode = mode;
-		launchModeButtons[0].setSelection(launchMode == ServerUIPreferences.LAUNCH_MODE_RESTART);
-		launchModeButtons[1].setSelection(launchMode == ServerUIPreferences.LAUNCH_MODE_CONTINUE);
-		launchModeButtons[2].setSelection(launchMode == ServerUIPreferences.LAUNCH_MODE_PROMPT); 
-	}
-
-	protected void createLaunchMode2Group(Composite composite) {
-		Group group = new Group(composite, SWT.NONE);
-		group.setText(Messages.prefLaunchMode2);
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 4;
-		group.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		group.setLayoutData(data);
-		
-		String[] messages = new String[] {
-			Messages.prefLaunchMode2Restart, Messages.prefLaunchMode2Breakpoints,
-			Messages.prefLaunchMode2Continue, Messages.prefLaunchMode2Prompt
-		};
-		
-		final byte[] options = new byte[] {
-			ServerUIPreferences.LAUNCH_MODE2_RESTART,
-			ServerUIPreferences.LAUNCH_MODE2_DISABLE_BREAKPOINTS,
-			ServerUIPreferences.LAUNCH_MODE2_CONTINUE,
-			ServerUIPreferences.LAUNCH_MODE2_PROMPT
-		};
-		
-		Button[] buttons = new Button[4];
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		for (int i = 0; i < 4; i++) {
-			buttons[i] = new Button(group, SWT.RADIO);
-			buttons[i].setText(messages[i]);
-			final int b = i;
-			buttons[i].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					launchMode2 = options[b];
-				}
-			});
-			whs.setHelp(buttons[i], ContextIds.PREF_GENERAL_LAUNCH_MODE_DEBUG);
-		}
-		launchMode2Buttons = buttons;
-	}
-
-	protected void setLaunchMode2Status(int mode) {
-		launchMode2 = mode;
-		launchMode2Buttons[0].setSelection(launchMode2 == ServerUIPreferences.LAUNCH_MODE2_RESTART);
-		launchMode2Buttons[1].setSelection(launchMode2 == ServerUIPreferences.LAUNCH_MODE2_DISABLE_BREAKPOINTS);
-		launchMode2Buttons[2].setSelection(launchMode2 == ServerUIPreferences.LAUNCH_MODE2_CONTINUE);
-		launchMode2Buttons[3].setSelection(launchMode2 == ServerUIPreferences.LAUNCH_MODE2_PROMPT);
-	}
-
-	protected void createBreakpointsGroup(Composite composite) {
-		Group group = new Group(composite, SWT.NONE);
-		group.setText(Messages.prefBreakpoints);
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		group.setLayoutData(data);
-		
-		String[] messages = new String[] {
-			Messages.prefBreakpointsAlways, Messages.prefBreakpointsNever,
-			Messages.prefBreakpointsPrompt
-		};
-		
-		final byte[] options = new byte[] {
-			ServerUIPreferences.ENABLE_BREAKPOINTS_ALWAYS,
-			ServerUIPreferences.ENABLE_BREAKPOINTS_NEVER,
-			ServerUIPreferences.ENABLE_BREAKPOINTS_PROMPT
-		};
-		
-		Button[] buttons = new Button[3];
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		for (int i = 0; i < 3; i++) {
-			buttons[i] = new Button(group, SWT.RADIO);
-			buttons[i].setText(messages[i]);
-			final int b = i;
-			buttons[i].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					breakpointEnablement = options[b];
-				}
-			});
-			whs.setHelp(buttons[i], ContextIds.PREF_GENERAL_ENABLE_BREAKPOINTS);
-		}
-		breakpointButtons = buttons;
-	}
-
-	protected void setBreakpointsStatus(int mode) {
-		breakpointEnablement = mode;
-		breakpointButtons[0].setSelection(breakpointEnablement == ServerUIPreferences.ENABLE_BREAKPOINTS_ALWAYS);
-		breakpointButtons[1].setSelection(breakpointEnablement == ServerUIPreferences.ENABLE_BREAKPOINTS_NEVER);
-		breakpointButtons[2].setSelection(breakpointEnablement == ServerUIPreferences.ENABLE_BREAKPOINTS_PROMPT); 
-	}
-
-	protected void createRestartGroup(Composite composite) {
-		Group group = new Group(composite, SWT.NONE);
-		group.setText(Messages.prefRestart);
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		group.setLayoutData(data);
-		
-		String[] messages = new String[] {
-			Messages.prefRestartAlways, Messages.prefRestartNever, Messages.prefRestartPrompt
-		};
-		
-		final byte[] options = new byte[] {
-			ServerUIPreferences.RESTART_ALWAYS,
-			ServerUIPreferences.RESTART_NEVER,
-			ServerUIPreferences.RESTART_PROMPT
-		};
-		
-		Button[] buttons = new Button[3];
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		for (int i = 0; i < 3; i++) {
-			buttons[i] = new Button(group, SWT.RADIO);
-			buttons[i].setText(messages[i]);
-			final int b = i;
-			buttons[i].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					restartEnablement = options[b];
-				}
-			});
-			whs.setHelp(buttons[i], ContextIds.PREF_GENERAL_RESTART);
-		}
-		restartButtons = buttons;
-	}
-
-	protected void setRestartStatus(int mode) {
-		restartEnablement = mode;
-		restartButtons[0].setSelection(restartEnablement == ServerUIPreferences.RESTART_ALWAYS);
-		restartButtons[1].setSelection(restartEnablement == ServerUIPreferences.RESTART_NEVER);
-		restartButtons[2].setSelection(restartEnablement == ServerUIPreferences.RESTART_PROMPT); 
-	}
-
-	/**
-	 * Initializes this preference page using the passed workbench.
-	 *
-	 * @param workbench the current workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 */
-	protected void performDefaults() {
-		publishBeforeStart.setSelection(preferences.isDefaultAutoPublishing());
-		
-		setSaveEditorStatus(uiPreferences.getDefaultSaveEditors());
-		setLaunchModeStatus(uiPreferences.getDefaultLaunchMode());
-		setLaunchMode2Status(uiPreferences.getDefaultLaunchMode2());
-		setBreakpointsStatus(uiPreferences.getDefaultEnableBreakpoints());
-		setRestartStatus(uiPreferences.getDefaultRestart());
-		
-		super.performDefaults();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		preferences.setAutoPublishing(publishBeforeStart.getSelection());
-		uiPreferences.setSaveEditors(saveEditors);
-		uiPreferences.setLaunchMode(launchMode);
-		uiPreferences.setLaunchMode2(launchMode2);
-		uiPreferences.setEnableBreakpoints(breakpointEnablement);
-		uiPreferences.setRestart(restartEnablement);
-		
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/MarkerResolutionGenerator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/MarkerResolutionGenerator.java
deleted file mode 100644
index f45a073..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/MarkerResolutionGenerator.java
+++ /dev/null
@@ -1,25 +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.ui.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator2;
-
-public class MarkerResolutionGenerator implements IMarkerResolutionGenerator2 {
-	public boolean hasResolutions(IMarker marker) {
-		return true;
-	}
-
-	public IMarkerResolution[] getResolutions(IMarker marker) {
-		return new IMarkerResolution[] { new RuntimeMarkerResolution() };
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
deleted file mode 100644
index f29fe0f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String dialogMonitorDescription;
-	public static String dialogMonitorAddDescription;
-	public static String errorVersionLevel;
-	public static String loadingTask;
-	public static String createServerProjectDialogMessage;
-	public static String defaultServerProjectName;
-	public static String terminateServerDialogMessage;
-	public static String actionMonitorPort;
-	public static String deleteServerDialogTitle;
-	public static String deleteServerDialogMessage;
-	public static String deleteServerDialogMessageMany;
-	public static String deleteServerDialogLooseConfigurations;
-	public static String deleteServerDialogRunningServer;
-	public static String deleteServerDialogRunningServerStop;
-	public static String deleteServerTask;
-	public static String errorCouldNotCreateServerProjectStatus;
-	public static String savingTask;
-	public static String editorSaveErrorDialog;
-	public static String editorSaveErrorMessage;
-	public static String editorReadOnlyFiles;
-	public static String errorEditor;
-	public static String editorUndoDisabled;
-	public static String editorUndoEnabled;
-	public static String editorRedoDisabled;
-	public static String editorRedoEnabled;
-	public static String editorResourceDeleteTitle;
-	public static String editorResourceDeleteServerMessage;
-	public static String editorResourceDeleteSave;
-	public static String resourceDirtyDialogMessage;
-	public static String wizSelectClientTitle;
-	public static String wizSelectClientDescription;
-	public static String resourceDirtyDialogTitle;
-	public static String resourceDirtyDialogContinue;
-	public static String wizNewRuntimeWizardTitle;
-	public static String serverLaunchDescription;
-	public static String serverLaunchServer;
-	public static String serverLaunchHost;
-	public static String serverLaunchRuntime;
-	public static String errorNoServerSelected;
-	public static String errorServerAlreadyRunning;
-	public static String errorInvalidServer;
-	public static String serverLaunchConfigurationTab;
-	public static String runOnServerLaunchConfigName;
-	public static String wizSelectClientMessage;
-	public static String errorCouldNotCreateServerProject;
-	public static String errorDialogTitle;
-	public static String editorValidateEditFailureMessage;
-	public static String prefProjectNotModule;
-	public static String prefProject;
-	public static String prefProjectDefaultServer;
-	public static String prefProjectNotConfigured;
-	public static String prefProjectNoServer;
-	public static String propServerInfoName;
-	public static String propServerInfoType;
-	public static String propServerInfoVendor;
-	public static String toolTipEnableFocus;
-	public static String toolTipDisableFocus;
-	public static String errorCouldNotSavePreference;
-	public static String preferenceRuntimesDescription;
-	public static String add;
-	public static String edit;
-	public static String remove;
-	public static String search;
-	public static String dialogRuntimeSearchMessage;
-	public static String dialogRuntimeSearchTitle;
-	public static String dialogRuntimeSearchProgress;
-	public static String infoNoRuntimesFound;
-	public static String wizEditRuntimeWizardTitle;
-	public static String preferenceRuntimesTable;
-	public static String dialogRuntimeInUse;
-	public static String dialogRuntimeDeleteServers;
-	public static String dialogRuntimeRemoveTargets;
-	public static String defaultDialogTitle;
-	public static String preferenceRuntimesTitleLong;
-	public static String prefAutoPublish;
-	public static String prefLaunchMode;
-	public static String prefLaunchModeRestart;
-	public static String prefLaunchModeContinue;
-	public static String prefLaunchModePrompt;
-	public static String prefLaunchMode2;
-	public static String prefLaunchMode2Restart;
-	public static String prefLaunchMode2Continue;
-	public static String prefLaunchMode2Breakpoints;
-	public static String prefLaunchMode2Prompt;
-	public static String prefBreakpoints;
-	public static String prefBreakpointsAlways;
-	public static String prefBreakpointsNever;
-	public static String prefBreakpointsPrompt;
-	public static String prefRestart;
-	public static String prefRestartAlways;
-	public static String prefRestartNever;
-	public static String prefRestartPrompt;
-	public static String prefShowOnActivity;
-	public static String prefSaveEditors;
-	public static String prefSaveEditorsAlways;
-	public static String prefSaveEditorsNever;
-	public static String prefSaveEditorsPrompt;
-	public static String actionNew;
-	public static String actionNewServer;
-	public static String actionProperties;
-	public static String actionOpen;
-	public static String actionShowIn;
-	public static String actionCopy;
-	public static String actionPaste;
-	public static String actionDebugToolTip;
-	public static String actionDebug;
-	public static String actionDebugRestart;
-	public static String actionDebugRestartToolTip;
-	public static String actionStartToolTip;
-	public static String actionStart;
-	public static String actionProfileToolTip;
-	public static String actionProfile;
-	public static String actionProfileRestart;
-	public static String actionProfileRestartToolTip;
-	public static String actionRestartToolTip;
-	public static String actionRestart;
-	public static String actionPublishToolTip;
-	public static String actionPublish;
-	public static String actionPublishCleanToolTip;
-	public static String actionPublishClean;
-	public static String actionRename;
-	public static String actionDelete;
-	public static String actionRemove;
-	public static String dialogRemoveModuleConfirm;
-	public static String terminateServerDialogTitle;
-	public static String actionDebugOnServer;
-	public static String actionProfileOnServer;
-	public static String actionRunOnServer;
-	public static String processName;
-	public static String actionStopModule;
-	public static String actionStartModule;
-	public static String actionRestartModule;
-	public static String actionSwitchServerLocation;
-	public static String switchServerLocation;
-	public static String switchServerLocationMetadata;
-	public static String dialogAddRemoveModulesNone;
-	public static String actionSetNewServer;
-	public static String errorNoArtifact;
-	public static String errorNoModules;
-	public static String errorLaunchConfig;
-	public static String dialogModeWarningRun;
-	public static String dialogModeWarningDebug;
-	public static String dialogModeWarningProfile;
-	public static String dialogModeWarningRestart;
-	public static String dialogModeWarningBreakpoints;
-	public static String dialogModeWarningContinue;
-	public static String dialogBreakpoints;
-	public static String dialogBreakpointsReenable;
-	public static String dialogBreakpointsContinue;
-	public static String dialogRemember;
-	public static String dialogRestart;
-	public static String dialogRestartRestart;
-	public static String dialogRestartContinue;
-	public static String dialogPublishClean;
-	public static String errorNoServer;
-	public static String errorRootModule;
-	public static String hostname;
-	public static String wizModuleTitle;
-	public static String wizModuleDescription;
-	public static String wizModuleMessage;
-	public static String wizModuleAvailableList;
-	public static String wizModuleDeployedList;
-	public static String wizModuleAdd;
-	public static String wizModuleRemove;
-	public static String wizModuleAddAll;
-	public static String wizModuleRemoveAll;
-	public static String wizModuleRequiredModule;
-	public static String wizModuleRequiredModules;
-	public static String wizModulePublishImmediately;
-	public static String wizTaskTitle;
-	public static String wizTaskDescription;
-	public static String wizErrorInvalidFolder;
-	public static String wizErrorClosedProject;
-	public static String createServerProjectDialogTitle;
-	public static String wizNewServerTitle;
-	public static String wizNewServerDescription;
-	public static String wizNewServerRunOnServerDescription;
-	public static String wizNewServerSelect;
-	public static String wizNewServerManual;
-	public static String wizCheckRemoteSupport;
-	public static String wizEmptyHostName;
-	public static String wizSelectServerPreferred;
-	public static String wizNewServerExisting;
-	public static String wizNewServerRuntime;
-	public static String wizNewServerRuntimeCreate;
-	public static String wizErrorServerCreationError;
-	public static String wizRunOnServerTitle;
-	public static String wizDebugOnServerTitle;
-	public static String wizProfileOnServerTitle;
-	public static String wizModuleArtifactsDescription;
-	public static String wizModuleArtifactsAvailableList;
-	public static String wizModuleArtifactsNoSelectionError;
-	public static String wizNewRuntimeTitle;
-	public static String wizNewRuntimeDescription;
-	public static String wizNewRuntimeCreateServer;
-	public static String performingTasks;
-	public static String wizModuleWizardTitle;
-	public static String wizNewServerWizardTitle;
-	public static String wizSelectClientWizardTitle;
-	public static String wizTaskWizardTitle;
-	public static String dialogMonitorTitle;
-	public static String dialogMonitorMonitorPort;
-	public static String dialogMonitorColumnStatus;
-	public static String dialogMonitorColumnType;
-	public static String dialogMonitorColumnPort;
-	public static String dialogMonitorColumnMonitorPort;
-	public static String dialogMonitorColumnContentType;
-	public static String dialogMonitorContentType;
-	public static String dialogMonitorContentTypeAll;
-	public static String dialogMonitorContentTypeWeb;
-	public static String dialogMonitorContentTypeWebServices;
-	public static String dialogMonitorNone;
-	public static String start;
-	public static String stop;
-	public static String started;
-	public static String stopped;
-	public static String columnName;
-	public static String columnType;
-	public static String runtimeTypeCompTree;
-	public static String configureRuntimes;
-	public static String addRuntime;
-	public static String wizNewServerSelectExisting;
-	public static String elementUnknownName;
-	public static String serverTypeCompLabel;
-	public static String serverName;
-	public static String serverNameDefault;
-	public static String viewServers;
-	public static String viewNoModules;
-	public static String viewServer;
-	public static String viewStatus;
-	public static String viewState;
-	public static String actionStopToolTip;
-	public static String actionStop;
-	public static String actionModifyModulesToolTip;
-	public static String actionModifyModules;
-	public static String actionMonitor;
-	public static String viewInitializing;
-	public static String viewSyncOkay;
-	public static String viewSyncRestart;
-	public static String viewSyncPublish;
-	public static String viewSyncRestartPublish;
-	public static String viewSyncPublishing;
-	public static String viewSyncOkay2;
-	public static String viewSyncRestart2;
-	public static String viewSyncPublish2;
-	public static String viewSyncRestartPublish2;
-	public static String viewSyncPublishing2;
-	public static String editorServerEditor;
-	public static String editorPromptIrreversible;
-	public static String editorRenameFiles;
-	public static String errorEditorCantSave;
-	public static String errorDuplicateName;
-	public static String editorReadOnly;
-	public static String editorWritable;
-	public static String editorResourceModifiedTitle;
-	public static String editorReadOnlyMessage;
-	public static String editorServerModifiedMessage;
-	public static String editorResourceWarnTitle;
-	public static String editorResourceWarnMessage;
-	public static String serverEditorOverviewPageTitle;
-	public static String serverEditorOverviewGeneralSection;
-	public static String serverEditorOverviewGeneralDescription;
-	public static String serverEditorOverviewServerName;
-	public static String serverEditorOverviewServerHostname;
-	public static String serverEditorOverviewRuntime;
-	public static String serverEditorOverviewRuntimeEdit;
-	public static String serverEditorOverviewServerConfigurationPath;
-	public static String serverEditorOverviewServerConfigurationBrowse;
-	public static String serverEditorOverviewServerConfigurationBrowseMessage;
-	public static String serverEditorOverviewPublishSection;
-	public static String serverEditorOverviewPublishDescription;
-	public static String serverEditorOverviewAutoPublishDisable;
-	public static String serverEditorOverviewAutoPublishEnabledResource;
-	public static String serverEditorOverviewAutoPublishEnabledBuild;
-	public static String serverEditorOverviewAutoPublishEnabledInterval;
-	public static String serverEditorOverviewPublishCommand;
-	public static String serverEditorOverviewTimeoutSection;
-	public static String serverEditorOverviewTimeoutDescription;	
-	public static String serverEditorOverviewTimeoutCommand;	
-	public static String serverEditorOverviewPublishers;
-	public static String serverEditorOverviewStartTimeout;	
-	public static String serverEditorOverviewStopTimeout;
-	public static String serverEditorOverviewServerHostnameCommand;
-	public static String serverEditorOverviewServerNameCommand;
-	public static String serverEditorOverviewRuntimeCommand;
-	public static String serverEditorOverviewOpenLaunchConfiguration;
-	public static String errorMissingConfiguration;
-	public static String errorConfigurationNotAccessible;
-	public static String viewStatusStarting4;
-	public static String viewStatusStarted2;
-	public static String viewStatusStopping4;
-	public static String viewStatusStopped2;
-	public static String viewStatusStarting;
-	public static String viewStatusStarting1;
-	public static String viewStatusStarting2;
-	public static String viewStatusStarting3;
-	public static String viewStatusStopping;
-	public static String viewStatusStopping1;
-	public static String viewStatusStopping2;
-	public static String viewStatusStopping3;
-	public static String viewStatusStartedDebug;
-	public static String viewStatusStartedProfile;
-	public static String viewStatusStarted;
-	public static String viewStatusStopped;
-	public static String actionStopToolTip2;
-	public static String actionStop2;
-	public static String launchingClientTask;
-	public static String wizNewInstallableServerTitle;
-	public static String wizNewInstallableServerDescription;
-	public static String wizNewInstallableServerMessage;
-	public static String wizNewInstallableServerConfirm;
-	public static String wizNewInstallableServerJob;
-	public static String wizNewInstallableServerRestart;
-	public static String wizNewInstallableServerSiteError;
-	public static String installableServerCompTree;
-	public static String installableServerLink;
-	public static String installableServerLocal;
-	public static String installableServerSearching;
-	public static String wizLicenseTitle;
-	public static String wizLicenseDescription;
-	public static String wizLicenseAccept;
-	public static String wizLicenseDecline;
-	public static String wizLicenseNone;
-	public static String jobInitializing;
-	public static String jobInitializingServersView;
-	public static String jobRestarting;
-	public static String clientDefaultName;
-	public static String clientDefaultDescription;
-	public static String moduleDecoratorProject;
-	public static String minutes;
-	public static String modules;
-
-	public static String errorStartingMonitor;
-	public static String audioPrefSelectFile;
-	public static String audioPrefEnable;
-	public static String audioPrefVolume;
-	public static String audioPrefSounds;
-	public static String audioPrefSound;
-	public static String audioPrefFile;
-	public static String audioPrefPlay;
-	public static String audioPrefBrowse;
-	public static String audioPrefReset;
-	public static String audioUnknown;
-	public static String audioNone;
-	public static String audioDefault;
-
-	public static String internalWebBrowserName;
-
-	public static String ServersView2_noServers;
-
-	static {
-		NLS.initializeMessages(ServerUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
deleted file mode 100644
index d4148fe..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
+++ /dev/null
@@ -1,513 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# --------------- Wizards ---------------
-# (If the first two lines in a group do not start with "wiz", it is because
-# those lines are displayed in the workbench "New" wizard. The rest of the
-# text is displayed in each actual wizard)
-
-# New Server (and Configuration) Wizard
-wizNewServerWizardTitle=New Server
-wizNewServerTitle=Define a New Server
-wizNewServerDescription=Choose the type of server to create
-wizNewServerRunOnServerDescription=Select which server to use
-wizNewServerRuntime=Server &runtime environment:
-wizNewServerRuntimeCreate=Create a new runtime environment
-wizCheckRemoteSupport=The currently selected server type does not support remote hosts
-wizEmptyHostName=Server's host name must be set.
-
-wizNewServerSelect=How do you want to select the server?
-wizNewServerExisting=Choose an e&xisting server
-wizNewServerManual=&Manually define a new server
-wizNewServerSelectExisting=Select the server that you want to use:
-
-# Select Server wizard
-wizRunOnServerTitle=Run On Server
-wizDebugOnServerTitle=Debug On Server
-wizProfileOnServerTitle=Profile On Server
-wizSelectServerPreferred=Always use this server when running this &project
-
-# Select Server Client Wizard
-wizSelectClientWizardTitle=Select a Server Client
-wizSelectClientTitle=Select a server client
-wizSelectClientDescription=Select a client to use with this server.
-wizSelectClientMessage=Multiple clients can run on the current selection. Select a client from the list below:
-
-# Select ModuleArtifact Wizard
-wizModuleArtifactsDescription=Specify how to start the selected resource.
-wizModuleArtifactsAvailableList=Available launchers:
-wizModuleArtifactsNoSelectionError=You must select a launcher.
-
-# Task Wizard
-wizTaskWizardTitle=Select Tasks
-wizTaskTitle=Select Tasks
-wizTaskDescription=Select the tasks to perform on the server.
-
-# New Runtime Wizard
-wizNewRuntimeWizardTitle=New Server Runtime Environment
-wizNewRuntimeTitle=New Server Runtime Environment
-wizNewRuntimeDescription=Define a new server runtime environment
-wizNewRuntimeCreateServer=&Create a new local server
-wizEditRuntimeWizardTitle=Edit Server Runtime Environment
-
-# New Server Adapter Wizard
-wizNewInstallableServerTitle=Install New Server Adapter
-wizNewInstallableServerDescription=Download and install support for a new server
-wizNewInstallableServerMessage=The following server adapters have been found on remote update manager sites. Select a server adapter to download and install.
-wizNewInstallableServerConfirm=Support for {0} will now be downloaded and installed. You will be prompted to restart once the installation is complete.
-wizNewInstallableServerJob=Installing {0}
-wizNewInstallableServerRestart=Installation complete. The new server will not be available until after the workbench is restarted. Do you want to restart now?
-wizNewInstallableServerSiteError=Could not connect to {0}
-
-# License wizard
-wizLicenseTitle=Feature License
-wizLicenseDescription=This license must be accepted before proceeding with the installation.
-wizLicenseAccept=I &accept the terms of the license agreement
-wizLicenseDecline=I &do not accept the terms of the license agreement
-wizLicenseNone=Feature does not contain a license.
-
-# Add/Remove Modules
-wizModuleWizardTitle=Add and Remove...
-wizModuleTitle=Add and Remove
-wizModuleDescription=Modify the resources that are configured on the server
-wizModuleMessage=Move resources to the right to configure them on the server
-wizModuleAvailableList=&Available:
-wizModuleDeployedList=&Configured:
-wizModuleAdd=A&dd >
-wizModuleAddAll=Add A&ll >>
-wizModuleRemove=< &Remove
-wizModuleRemoveAll=<< Re&move All
-wizModuleRequiredModule={0} is required and cannot be removed from the server
-wizModuleRequiredModules=One of the required modules ({0}) must be added to the server
-wizModulePublishImmediately=If server is started, publish changes &immediately
-
-# Wizard info and error messages
-wizErrorInvalidFolder=The folder must be a server project or a folder within a server project
-wizErrorClosedProject=The folder must not be in a closed project
-wizErrorServerCreationError=Cannot create a server using the selected type
-
-
-# --------------- Views ---------------
-
-# --- Server Configuration view ---
-viewServers=Servers
-
-viewNoModules=Nothing deployed
-
-# Actions
-actionDelete=Delete
-actionRemove=Remove
-actionOpen=Open
-actionShowIn=Show In
-actionCopy=Copy
-actionPaste=Paste
-actionMonitor=Monitorin&g
-actionMonitorPort=Monitor port {0} ({1})
-actionProperties=Properties
-actionNew=Ne&w
-actionNewServer=Server
-
-# --- Servers view ---
-viewInitializing=Initializing...
-
-# Column titles
-viewServer=Server
-viewStatus=Status
-viewState=State
-
-# Actions
-actionStart=&Start
-actionStartToolTip=Start the server
-actionDebug=&Debug
-actionDebugToolTip=Start the server in debug mode
-actionDebugRestart=Restart in Debug
-actionDebugRestartToolTip=Restart the server in debug mode
-actionProfile=Pro&file
-actionProfileToolTip=Start the server in profiling mode
-actionProfileRestart=Restart in Profile
-actionProfileRestartToolTip=Restart the server in profiling mode
-actionStop=S&top
-actionStopToolTip=Stop the server
-actionRestart=&Restart
-actionRestartToolTip=Restart the server
-actionPublish=Publish
-actionPublishToolTip=Publish to the server
-actionPublishClean=&Clean...
-actionPublishCleanToolTip=Clean resources on the server
-actionModifyModules=&Add and Remove...
-actionModifyModulesToolTip=Add and Remove resources to the server
-actionRestartModule=&Restart
-actionStartModule=&Start
-actionStopModule=S&top
-actionSwitchServerLocation=Switch Location
-switchServerLocation=Location:
-switchServerLocationMetadata=[workspace metadata]
-actionRename=Re&name
-
-# Status column text
-viewStatusStarted=Started
-viewStatusStartedDebug=Debugging
-viewStatusStartedProfile=Profiling
-viewStatusStopped=Stopped
-
-viewStatusStarting=Starting
-viewStatusStarting1=Starting.
-viewStatusStarting2=Starting..
-viewStatusStarting3=Starting...
-
-viewStatusStopping=Stopping
-viewStatusStopping1=Stopping.
-viewStatusStopping2=Stopping..
-viewStatusStopping3=Stopping...
-
-# Server State text
-viewSyncOkay=Synchronized
-viewSyncRestart=Restart
-viewSyncPublish=Republish
-viewSyncRestartPublish=Restart & republish
-viewSyncPublishing=Publishing...
-
-# --- set 2 ---
-# Actions
-actionStop2=Disconnect
-actionStopToolTip2=Disconnect from the server
-
-# Status column text
-viewStatusStarting4=Connecting
-viewStatusStarted2=Connected
-viewStatusStopping4=Disconnecting
-viewStatusStopped2=Disconnected
-
-# Server State text
-viewSyncOkay2=Synchronized
-viewSyncRestart2=Reconnect
-viewSyncPublish2=Republish
-viewSyncRestartPublish2=Reconnect and republish
-viewSyncPublishing2=Publishing...
-
-
-# --------------- Action Sets (toolbar icon groups) ---------------
-
-# Servers action set
-actionSetNewServer=Create Server
-
-# Run on Server actions
-actionRunOnServer=Run on Server...
-actionDebugOnServer=Debug on Server...
-actionProfileOnServer=Profile on Server...
-processName=Run on Server
-
-
-# --------------- Preferences ---------------
-
-# Names of the preference pages
-preferenceRuntimesTitleLong=Server Runtime Environments
-
-# Server preferences
-prefAutoPublish=Automatically publish w&hen starting servers
-prefShowOnActivity=Show &Servers view when server state changes
-
-prefSaveEditors=Save dirty editors before starting the server
-prefSaveEditorsAlways=A&lways
-prefSaveEditorsNever=&Never
-prefSaveEditorsPrompt=&Prompt
-
-prefLaunchMode=When switching to a different server mode
-prefLaunchModeRestart=Re&start
-prefLaunchModeContinue=&Continue
-prefLaunchModePrompt=P&rompt
-
-prefLaunchMode2=When switching the server out of debug mode
-prefLaunchMode2Restart=Rest&art
-prefLaunchMode2Breakpoints=Disable &breakpoints
-prefLaunchMode2Continue=Contin&ue
-prefLaunchMode2Prompt=Pr&ompt
-
-prefBreakpoints=When switching the server into debug mode, re-enable breakpoints
-prefBreakpointsAlways=Al&ways
-prefBreakpointsNever=N&ever
-prefBreakpointsPrompt=Pro&mpt
-
-prefRestart=When required, restart the server
-prefRestartAlways=Alwa&ys
-prefRestartNever=Ne&ver
-prefRestartPrompt=Promp&t
-
-# Project properties preferences
-prefProject=Project:
-prefProjectDefaultServer=Always use the &following server when running this project:
-prefProjectNotModule=This project cannot be used with servers.
-prefProjectNotConfigured=This project is not associated with any servers.
-prefProjectNoServer=<None>
-
-propServerInfoName=Name:
-propServerInfoType=Type:
-propServerInfoVendor=Vendor:
-
-# Tooltip
-toolTipEnableFocus=Press 'F6' for Focus.
-toolTipDisableFocus=Press 'ESC' to Hide.
-
-# Runtime Environments
-preferenceRuntimesDescription=Add, remove, or edit server runtime environments.
-preferenceRuntimesTable=Server runtime e&nvironments:
-
-
-# --------------- Tasks (progress monitors) ---------------
-
-# General tasks
-savingTask=Saving {0}.
-loadingTask=Loading {0}.
-performingTasks=Performing tasks.
-launchingClientTask=Launching client
-jobInitializing=Initializing Server Tools
-jobRestarting=Restarting {0}
-jobInitializingServersView=Initializing Servers view
-
-# --------------- Dialogs ---------------
-
-# Delete Server dialog
-deleteServerDialogTitle=Delete Server
-deleteServerDialogMessage=Are you sure you want to delete {0}?
-deleteServerDialogMessageMany=Are you sure you want to delete the {0} servers?
-deleteServerDialogLooseConfigurations=Delete unused server configuration(s)
-deleteServerDialogRunningServer=Delete running server(s)
-deleteServerDialogRunningServerStop=Stop server(s) before deleting
-deleteServerTask=Deleting server(s)...
-
-# Create Server Project dialog
-createServerProjectDialogTitle=Create Server Project
-createServerProjectDialogMessage=Do you want to create a new server project with the name {0}?
-
-# Terminate Server dialog
-terminateServerDialogTitle=Terminate Server
-terminateServerDialogMessage=Server {0} is not responding. Do you want to terminate this server? Click OK to terminate the server or click Cancel to continue waiting.
-
-# Server resource dirty dialog
-resourceDirtyDialogTitle=Server Resource Dirty
-resourceDirtyDialogMessage=The server resource {0} has unsaved changes. Do you want to continue?
-resourceDirtyDialogContinue=Continue
-
-# General dialogs
-defaultDialogTitle=Server
-dialogRemember=&Remember my decision
-
-# restart warning dialog
-dialogModeWarningRun=The server is not in run mode. Select from one of the following options:
-dialogModeWarningDebug=The server is not running in debug mode. Select from one of the following options:
-dialogModeWarningProfile=The server is not running in profiling mode. Select from one of the following options:
-dialogModeWarningRestart=&Switch mode (will restart if necessary)
-dialogModeWarningBreakpoints=Disable &breakpoints and continue
-dialogModeWarningContinue=&Continue in the current mode
-
-dialogBreakpoints=The server is running in debug mode but breakpoints have been disabled. Select from one of the following options:
-dialogBreakpointsReenable=Re-&enable breakpoints
-dialogBreakpointsContinue=&Continue without debugging
-
-dialogRestart=The server may need be restarted. Do you want to restart the server?
-dialogRestartRestart=Re&start server
-dialogRestartContinue=&Continue without restarting
-
-# Monitor dialog
-dialogMonitorTitle=Monitoring Ports
-dialogMonitorDescription=The following ports are being monitored on server {0}:
-dialogMonitorAddDescription=The server {0} has the following ports that can be monitored:
-dialogMonitorColumnPort=Server Port
-dialogMonitorColumnType=Type
-dialogMonitorColumnMonitorPort=Monitor Port
-dialogMonitorColumnContentType=Content Type
-dialogMonitorColumnStatus=Status
-dialogMonitorMonitorPort=Monitor port:
-dialogMonitorContentType=Content type:
-dialogMonitorContentTypeAll=All
-dialogMonitorContentTypeWeb=Web
-dialogMonitorContentTypeWebServices=WebServices
-dialogMonitorNone=<none>
-
-dialogPublishClean=Clean will discard all publish state and republish from scratch. Are you sure you want to clean all published resources?
-
-start=Start
-stop=Stop
-started=Started
-stopped=Stopped
-
-# Confirm runtime removal
-dialogRuntimeInUse=The runtime environment is currently being used and deleting it will cause compilation or run time problems. Delete the runtime environment anyway?
-dialogRuntimeDeleteServers=Delete all affected servers?
-dialogRuntimeRemoveTargets=Remove this runtime environment from targeted projects?
-
-# runtime locator search dialog
-dialogRuntimeSearchTitle=Search For Runtime Environments
-dialogRuntimeSearchMessage=Select the directory in which to search for server runtime environments:
-dialogRuntimeSearchProgress=Searching for server runtime environments...
-
-# Can't add remove
-dialogAddRemoveModulesNone=There are no resources that can be added or removed from the server.
-
-dialogRemoveModuleConfirm=Are you sure you want to remove the resource from the server?
-
-# --------------- Misc UI ---------------
-
-# runtime composite
-runtimeTypeCompTree=Select the type of &runtime environment:
-serverTypeCompLabel=Select the &server type:
-serverName=Server na&me:
-serverNameDefault=Rese&t default
-configureRuntimes=&Configure runtime environments...
-addRuntime=&Add...
-
-# installable server composite
-installableServerCompTree=Select the &server support to install:
-installableServerLink=Download additional server adapters
-installableServerLocal=Examining local configuration
-installableServerSearching=Searching {0}
-
-# misc composites
-hostname=Server's &host name:
-
-# Server launch configuration tab
-serverLaunchDescription=This launch configuration can be used to launch the server specified below. To access further options for configuring the server, open the server's editor from the Servers view.
-serverLaunchConfigurationTab=Server
-serverLaunchServer=Server:
-serverLaunchRuntime=Runtime Environment:
-serverLaunchHost=Host name:
-runOnServerLaunchConfigName={0}
-
-# Error Messages
-errorDialogTitle=Server Error
-errorServerAlreadyRunning=Server already running
-errorNoServerSelected=No server selected
-errorInvalidServer=The server is invalid or missing
-errorCouldNotCreateServerProject=Could not create server project
-errorCouldNotCreateServerProjectStatus=Could not create server project: {0}
-errorNoArtifact=The selection did not contain any resources that can run on a server.
-errorLaunchConfig=This launch configuration is invalid and may be out of sync with the workspace
-errorNoModules=The selection is not within a valid module.
-errorNoServer=The selection cannot be run on any server.
-errorCouldNotSavePreference=Could not save server preference information.
-errorEditorCantSave=The server cannot be saved for the following reasons:
-errorEditor=Could not open editor because {0} is not a valid server. Use Open With to open this file with a different editor.
-errorVersionLevel=The server does not support version {1} of the {0} specification.
-errorMissingConfiguration=The server configuration is missing or invalid
-errorConfigurationNotAccessible=The server configuration is not accessible. The {0} project is closed.
-errorRootModule=Could not find a valid parent module to add to the server.
-errorDuplicateName=The name is already in use. Specify a different name.
-
-# Info messages
-infoNoRuntimesFound=No new server runtime environments were found.
-
-# Default server creation names
-# {0} will be replaced by a number if the given name is already being used
-defaultServerProjectName=Servers{0}
-
-# Used when a name can't be found
-elementUnknownName=<unknown>
-
-columnName=Name
-columnType=Type
-
-add=&Add...
-edit=&Edit...
-remove=&Remove
-search=&Search...
-
-clientDefaultName=Do nothing
-clientDefaultDescription=Launch the module on the server but do not bring up a client application.
-
-# Module decorator
-moduleDecoratorProject={0} ({1})
-
-# Used for displaying time (so far only used in tooltip)
-minutes={0} minutes 
-modules={0} modules
-
-# --------------- Editor support ---------------
-
-serverEditorOverviewPageTitle=Overview
-serverEditorOverviewGeneralSection=General Information
-serverEditorOverviewGeneralDescription=Specify the host name and other common settings.
-serverEditorOverviewServerName=Server name:
-serverEditorOverviewServerNameCommand=set server name
-serverEditorOverviewServerConfigurationPath=Configuration path:
-serverEditorOverviewServerConfigurationBrowse=Browse...
-serverEditorOverviewServerConfigurationBrowseMessage=Specify the location of the server configuration.
-serverEditorOverviewServerHostname=Host name:
-serverEditorOverviewServerHostnameCommand=set host name
-serverEditorOverviewRuntime=Runtime Environment:
-serverEditorOverviewRuntimeEdit=Edit
-serverEditorOverviewRuntimeCommand=set runtime environment
-
-serverEditorOverviewPublishSection=Publishing
-serverEditorOverviewPublishDescription=Modify settings for publishing.
-serverEditorOverviewAutoPublishDisable=Never publish automatically
-serverEditorOverviewAutoPublishEnabledResource=Automatically publish when resources change
-serverEditorOverviewAutoPublishEnabledBuild=Automatically publish after a build event
-serverEditorOverviewAutoPublishEnabledInterval=Publishing interval (in seconds):
-serverEditorOverviewPublishCommand=modify publish settings
-serverEditorOverviewPublishers=Select publishing actions:
-serverEditorOverviewTimeoutSection=Timeouts
-serverEditorOverviewTimeoutDescription=Specify the time limit to complete server operations.
-serverEditorOverviewStartTimeout=Start (in seconds):
-serverEditorOverviewStopTimeout=Stop (in seconds):
-serverEditorOverviewTimeoutCommand=modify timeout settings
-serverEditorOverviewOpenLaunchConfiguration=Open launch configuration
-
-# Menu items. {0} will be replaced by one of the xxxEditorActionXxx fields
-# from below. @Ctrl+Z is the menu mnemonic
-editorUndoEnabled=Undo {0}@Ctrl+Z
-editorUndoDisabled=Undo@Ctrl+Z
-editorRedoEnabled=Redo {0}@Ctrl+Y
-editorRedoDisabled=Redo@Ctrl+Y
-
-editorSaveErrorDialog=Save Problems
-editorSaveErrorMessage=Error while saving. {0}
-
-editorReadOnly=Read Only
-editorWritable=Writable
-editorReadOnlyFiles=Read Only files: {0}
-
-editorServerEditor=Server Editor
-editorPromptIrreversible=This operation cannot be undone. Do you want to proceed?
-editorRenameFiles=The server has been renamed. Do you want to rename the corresponding files to match?
-
-# message if a dirty resource is deleted
-editorResourceDeleteTitle=Server Deleted
-editorResourceDeleteServerMessage=The server {0} has been deleted from the file system. Do you want to save your changes or close the editor without saving?
-editorResourceDeleteSave=Save
-
-editorResourceModifiedTitle=File Changed
-editorServerModifiedMessage=The server has been changed on the file system. Do you want to load the changes?
-
-editorValidateEditFailureMessage=The server cannot be edited.
-editorReadOnlyMessage=File(s) being edited have become read-only. The editor will become read-only and changes will be lost.
-
-editorResourceWarnTitle=Server Modification Warning
-editorResourceWarnMessage=The server you are modifying is read-only. All changes will be lost because the server cannot be saved.
-
-
-audioPrefSelectFile=Select Audio File
-audioPrefEnable=&Enable sounds
-audioPrefVolume=&Volume:
-audioPrefSounds=&Sounds:
-audioPrefSound=Sound
-audioPrefFile=Audio File
-audioPrefPlay=&Play
-audioPrefBrowse=&Browse...
-audioPrefReset=&Reset
-
-audioUnknown=(unknown)
-audioDefault=(default)
-audioNone=(none)
-
-errorStartingMonitor=Could not start the server monitor: {0}
-
-internalWebBrowserName=Internal Web Browser
-ServersView2_noServers=No servers available. Define a new server from the <a>new server wizard</a>...
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java
deleted file mode 100644
index 5b12d9d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-import org.eclipse.wst.server.ui.internal.viewers.BaseLabelProvider;
-
-public class ModuleLabelDecorator extends BaseLabelProvider implements ILabelDecorator {
-	public ModuleLabelDecorator() {
-		super(false);
-	}
-
-	public Image decorateImage(Image image, Object element) {
-		try {
-			IModule module = null;
-			
-			if (element instanceof IModule) {
-				module = (IModule) element;
-			} else if (element instanceof ModuleServer) {
-				IModule[] modules = ((ModuleServer) element).module;
-				module = modules[modules.length - 1];
-			}
-			if (module == null)
-				return null;
-			
-			IProject project = module.getProject();
-			
-			if (project == null)
-				return null;
-			
-			return PlatformUI.getWorkbench().getDecoratorManager().decorateImage(image, project);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public String decorateText(String text, Object element) {
-		try {
-			IModule module = null;
-			
-			if (element instanceof IModule) {
-				module = (IModule) element;
-			} else if (element instanceof ModuleServer) {
-				IModule[] modules = ((ModuleServer) element).module;
-				module = modules[modules.length - 1];
-			}
-			if (module == null)
-				return null;
-			
-			IProject project = module.getProject();
-			
-			if (project == null)
-				return null;
-			
-			if (!project.getName().equals(text))
-				text = NLS.bind(Messages.moduleDecoratorProject, new String[] {text, project.getName()});
-			return PlatformUI.getWorkbench().getDecoratorManager().decorateText(text, project);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java
deleted file mode 100644
index a131fa7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-import org.eclipse.wst.server.ui.internal.viewers.BaseLabelProvider;
-
-public class ModuleLabelDecorator2 extends BaseLabelProvider implements ILightweightLabelDecorator {
-	public ModuleLabelDecorator2() {
-		super(false);
-	}
-
-	public void decorate(Object element, IDecoration decoration) {
-		try {
-			IModule module = null;
-			
-			if (element instanceof IServer) {
-				decoration.addSuffix(" *");
-				return;
-			}
-			
-			if (element instanceof IModule) {
-				module = (IModule) element;
-			} else if (element instanceof ModuleServer) {
-				IModule[] modules = ((ModuleServer) element).module;
-				module = modules[modules.length - 1];
-			}
-			if (module == null)
-				return;
-			
-			IProject project = module.getProject();
-			if (project == null)
-				return;
-			
-			String text = module.getName();
-			
-			if (!project.getName().equals(text))
-				decoration.addSuffix(" (" + project.getName() + ")");
-				//text = NLS.bind(Messages.moduleDecoratorProject, new String[] {text, project.getName()});
-			//return PlatformUI.getWorkbench().getDecoratorManager().decorateText(text, project);
-		} catch (Exception e) {
-			return;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java
deleted file mode 100644
index fa265e0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-/**
- * A OverlayImageDescriptor consists of a main icon and one or more overlays.
- * The overlays are computed according to flags set on creation of the descriptor.
- */
-public class OverlayImageDescriptor extends CompositeImageDescriptor {
-	// flag to render the error overlay
-	public final static int ERROR = 0x001;
-
-	private Image fBaseImage;
-	private int fFlags;
-	private Point fSize;
-	
-	/**
-	 * Create a new OverlayImageDescriptor.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 */
-	public OverlayImageDescriptor(Image baseImage, int flags) {
-		setBaseImage(baseImage);
-		setFlags(flags);
-	}
-
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data = getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof OverlayImageDescriptor))
-			return false;
-			
-		OverlayImageDescriptor other = (OverlayImageDescriptor) object;
-		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode() | getFlags();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg = getBaseImage().getImageData();
-		if (bg == null)
-			bg = DEFAULT_IMAGE_DATA;
-
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		int flags = getFlags();
-		ImageData data = null;
-		if ((flags & ERROR) != 0) {
-			data = DebugUITools.getImage(IDebugUIConstants.IMG_OVR_ERROR).getImageData();
-			int x = getSize().x - data.width;
-			drawImage(data, x, 0);
-		}
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(Image baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected int getFlags() {
-		return fFlags;
-	}
-
-	protected void setFlags(int flags) {
-		fFlags = flags;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProgressUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProgressUtil.java
deleted file mode 100644
index c5a3e8d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/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.ui.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, or null
-	 * @param ticks a 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.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
deleted file mode 100644
index b947f0a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.ServerUICore;
-/**
- * PropertyPage for IProjects. It shows the server preference for the project.
- */
-public class ProjectPropertyPage extends PropertyPage {
-	protected IProject project;
-	protected IModule module;
-	protected IServer server;
-
-	protected Table table;
-	protected int count;
-	protected IServer defaultServer;
-
-	/**
-	 * ProjectPropertyPage constructor comment.
-	 */
-	public ProjectPropertyPage() {
-		super();
-	}
-
-	/**
-	 * Create the body of the page.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		try {
-			IAdaptable element = getElement();
-			project = (IProject) element.getAdapter(IProject.class);
-			//if (element instanceof IProject)
-			//	project = (IProject) element;
-			
-			Composite composite = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.marginHeight = 0;
-			layout.marginWidth = 0;
-			layout.numColumns = 2;
-			layout.verticalSpacing = 5;
-			composite.setLayout(layout);
-			composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-			
-			/*Label label = new Label(composite, SWT.WRAP);
-			label.setText(Messages.prefProjectDescription);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			data.widthHint = 200;
-			label.setLayoutData(data);*/
-			
-			module = ServerUtil.getModule(project);
-			if (module == null) {
-				Label label = new Label(composite, SWT.NONE);
-				label.setText(Messages.prefProjectNotModule);
-				GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-				data.horizontalSpan = 2;
-				data.verticalIndent = 5;
-				label.setLayoutData(data);
-			} else {
-				IModuleType mt = module.getModuleType();
-				if (mt != null) {
-					Label label = new Label(composite, SWT.NONE);
-					label.setText(Messages.prefProject);
-					GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-					data.verticalIndent = 5;
-					label.setLayoutData(data);
-					
-					Label moduleKind = new Label(composite, SWT.NONE);
-					data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-					data.verticalIndent = 5;
-					moduleKind.setLayoutData(data);
-					moduleKind.setText(module.getName() + " (" + mt.getName() + ")");
-				}
-				
-				defaultServer = ServerCore.getDefaultServer(module);
-				
-				final IServer[] servers = getServersBySupportedModule(module);
-				if (servers == null || servers.length == 0) {
-					Label label = new Label(composite, SWT.WRAP);
-					label.setText(Messages.prefProjectNotConfigured);
-					GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-					data.horizontalSpan = 2;
-					data.verticalIndent = 5;
-					label.setLayoutData(data);
-				} else {
-					Label label = new Label(composite, SWT.NONE);
-					label.setText(Messages.prefProjectDefaultServer);
-					GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-					data.horizontalSpan = 2;
-					data.verticalIndent = 5;
-					label.setLayoutData(data);
-					
-					table = new Table(composite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL);
-					data = new GridData(GridData.FILL_HORIZONTAL);
-					data.horizontalSpan = 2;
-					data.horizontalIndent = 15;
-					data.heightHint = 90;
-					table.setLayoutData(data);
-					
-					// add none option
-					TableItem item = new TableItem(table, SWT.NONE);
-					item.setText(Messages.prefProjectNoServer);
-					//item.setImage();
-					
-					int size2 = servers.length;
-					count = 0;
-					ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-					for (int j = 0; j < size2; j++) {
-						item = new TableItem(table, SWT.NONE);
-						item.setText(labelProvider.getText(servers[j]));
-						item.setImage(labelProvider.getImage(servers[j]));
-						item.setData(servers[j]);
-						if (servers[j].equals(defaultServer))
-							count = j + 1;
-					}
-					labelProvider.dispose();
-					
-					table.setSelection(count);
-					
-					table.addSelectionListener(new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent event) {
-							int index = table.getSelectionIndex();
-							if (index == 0)
-								server = null;
-							else if (index > 0)
-								server = servers[index-1];
-						}
-					});
-				}
-			}
-			
-			Dialog.applyDialogFont(composite);
-			
-			return composite;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error creating project property page", e);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * Returns a list of all servers that this module is configured on.
-	 *
-	 * @param module a module
-	 * @return an array of servers
-	 */
-	protected static IServer[] getServersBySupportedModule(IModule module) {
-		if (module == null)
-			return new IServer[0];
-		
-		// do it the slow way - go through all servers and
-		// see if this module is configured in it
-		List<IServer> list = new ArrayList<IServer>();
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (servers[i].getServerType() != null &&
-					servers[i].getServerType().getRuntimeType() != null &&
-					ServerUtil.isSupportedModule(servers[i].getServerType().getRuntimeType().getModuleTypes(), module.getModuleType()))
-					list.add(servers[i]);
-			}
-		}
-		
-		return list.toArray(new IServer[list.size()]);
-	}
-
-	protected void performDefaults() {
-		if (table != null) {
-			table.select(count);
-			server = defaultServer;
-		}
-		
-		super.performDefaults();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		if (module != null) {
-			try {
-				ServerCore.setDefaultServer(module, server, null);
-			} catch (CoreException e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Error setting preferred server", e);
-				}
-				EclipseUtil.openError(Messages.errorCouldNotSavePreference, e.getStatus());
-				return false;
-			}
-		}
-		return super.performOk();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeMarkerResolution.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeMarkerResolution.java
deleted file mode 100644
index 99252ad..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeMarkerResolution.java
+++ /dev/null
@@ -1,43 +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.ui.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMarkerResolution2;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-
-public class RuntimeMarkerResolution implements IMarkerResolution2 {
-	public String getDescription() {
-		return Messages.wizNewRuntimeDescription;
-	}
-
-	public Image getImage() {
-		return ImageResource.getImage(ImageResource.IMG_SERVER);
-	}
-
-	public String getLabel() {
-		return Messages.wizNewServerRuntimeCreate;
-	}
-
-	public void run(IMarker marker) {
-		showPreferencePage();
-	}
-
-	protected boolean showPreferencePage() {
-		String id = "org.eclipse.wst.server.ui.preferencePage";
-		String id2 = "org.eclipse.wst.server.ui.runtime.preferencePage";
-		final PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, id2, new String[] { id, id2 }, null);
-		return (dialog.open() == Window.OK);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
deleted file mode 100644
index 16b86f3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.IRuntimeLocator;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.facets.FacetUtil;
-import org.eclipse.wst.server.ui.internal.viewers.RuntimeComposite;
-import org.eclipse.wst.server.ui.internal.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * The preference page that holds server runtimes.
- */
-public class RuntimePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IRuntimeLifecycleListener {
-	protected Button edit;
-	protected Button remove;
-	protected Label pathLabel;
-	RuntimeComposite runtimeComp;
-	/**
-	 * RuntimePreferencesPage constructor comment.
-	 */
-	public RuntimePreferencePage() {
-		super();
-		noDefaultAndApplyButton();
-		ServerCore.addRuntimeLifecycleListener(this);
-	}
-	
-	/**
-	 * Create the preference options.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, ContextIds.PREF_GENERAL);
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		label.setText(Messages.preferenceRuntimesDescription);
-		
-		label = new Label(composite, SWT.WRAP);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		data.verticalIndent = 5;
-		label.setLayoutData(data);
-		label.setText(Messages.preferenceRuntimesTable);
-		
-		runtimeComp = new RuntimeComposite(composite, SWT.NONE, new RuntimeComposite.RuntimeSelectionListener() {
-			public void runtimeSelected(IRuntime runtime) {
-				if (runtime == null) {
-					edit.setEnabled(false);
-					remove.setEnabled(false);
-					pathLabel.setText("");
-				} else {
-					IStatus status = runtime.validate(new NullProgressMonitor());
-					if (status != null && status.getSeverity() == IStatus.ERROR) {
-						Color c = pathLabel.getDisplay().getSystemColor(SWT.COLOR_RED);
-						pathLabel.setForeground(c);
-						pathLabel.setText(status.getMessage());
-					} else if (runtime.getLocation() != null) {
-						pathLabel.setForeground(edit.getForeground());
-						pathLabel.setText(runtime.getLocation() + "");
-					} else
-						pathLabel.setText("");
-					
-					if (runtime.isReadOnly()) {
-						edit.setEnabled(false);
-						remove.setEnabled(false);
-					} else {
-						if (runtime.getRuntimeType() != null)
-							edit.setEnabled(ServerUIPlugin.hasWizardFragment(runtime.getRuntimeType().getId()));
-						else
-							edit.setEnabled(false);
-						remove.setEnabled(true);
-					}
-				}
-			}
-		});
-		runtimeComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-		
-		Composite buttonComp = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-		
-		Button add = SWTUtil.createButton(buttonComp, Messages.add);
-		final RuntimeComposite runtimeComp2 = runtimeComp;
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (showWizard(null) == Window.CANCEL)
-					return;
-				runtimeComp2.refresh();
-			}
-		});
-		
-		edit = SWTUtil.createButton(buttonComp, Messages.edit);
-		edit.setEnabled(false);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IRuntime runtime = runtimeComp2.getSelectedRuntime();
-				if (runtime != null) {
-					IRuntimeWorkingCopy runtimeWorkingCopy = runtime.createWorkingCopy();
-					if (showWizard(runtimeWorkingCopy) != Window.CANCEL) {
-						try {
-							runtimeComp2.refresh(runtime);
-						} catch (Exception ex) {
-							// ignore
-						}
-					}
-				}
-			}
-		});
-		
-		remove = SWTUtil.createButton(buttonComp, Messages.remove);
-		remove.setEnabled(false);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IRuntime runtime = runtimeComp.getSelectedRuntime();
-				if (removeRuntime(runtime))
-					runtimeComp2.remove(runtime);
-			}
-		});
-		
-		Button search = SWTUtil.createButton(buttonComp, Messages.search);
-		data = (GridData) search.getLayoutData();
-		data.verticalIndent = 9;
-		search.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					// select a target directory for the search
-					DirectoryDialog directoryDialog = new DirectoryDialog(getShell());
-					directoryDialog.setMessage(Messages.dialogRuntimeSearchMessage);
-					directoryDialog.setText(Messages.dialogRuntimeSearchTitle);
-
-					String pathStr = directoryDialog.open();
-					if (pathStr == null)
-						return;
-					
-					final IPath path = new Path(pathStr);
-					
-					final ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell());
-					dialog.setBlockOnOpen(false);
-					dialog.setCancelable(true);
-					dialog.open();
-					final IProgressMonitor monitor = dialog.getProgressMonitor();
-					final IRuntimeLocator[] locators = ServerPlugin.getRuntimeLocators();
-					monitor.beginTask(Messages.dialogRuntimeSearchProgress, 100 * locators.length + 10);
-					final List<IRuntimeWorkingCopy> list = new ArrayList<IRuntimeWorkingCopy>();
-					
-					final IRuntimeLocator.IRuntimeSearchListener listener = new IRuntimeLocator.IRuntimeSearchListener() {
-						public void runtimeFound(final IRuntimeWorkingCopy runtime) {
-							dialog.getShell().getDisplay().syncExec(new Runnable() {
-								public void run() {
-									monitor.subTask(runtime.getName());
-								}
-							});
-							list.add(runtime);
-						}
-					};
-					
-					IRunnableWithProgress runnable = new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor2) {
-							int size = locators.length;
-							for (int i = 0; i < size; i++) {
-								if (!monitor2.isCanceled())
-									try {
-										locators[i].searchForRuntimes(path, listener, monitor2);
-									} catch (CoreException ce) {
-										if (Trace.WARNING) {
-											Trace.trace(Trace.STRING_WARNING,
-													"Error locating runtimes: " + locators[i].getId(), ce);
-										}
-									}
-							}
-							if (Trace.INFO) {
-								Trace.trace(Trace.STRING_INFO, "Done search");
-							}
-						}
-					};
-					dialog.run(true, true, runnable);
-					
-					if (Trace.FINER) {
-						Trace.trace(Trace.STRING_FINER, "Found runtimes: " + list.size());
-					}
-					
-					if (!monitor.isCanceled()) {
-						if (list.isEmpty()) {
-							EclipseUtil.openError(getShell(), Messages.infoNoRuntimesFound);
-							return;
-						}
-						monitor.worked(5);
-						if (Trace.FINER) {
-							Trace.trace(Trace.STRING_FINER, "Removing duplicates");
-						}
-						List<IRuntime> good = new ArrayList<IRuntime>();
-						Iterator iterator2 = list.iterator();
-						while (iterator2.hasNext()) {
-							boolean dup = false;
-							IRuntime wc = (IRuntime) iterator2.next();
-							
-							IRuntime[] runtimes = ServerCore.getRuntimes();
-							if (runtimes != null) {
-								int size = runtimes.length;
-								for (int i = 0; i < size; i++) {
-									if (runtimes[i].getLocation() != null && runtimes[i].getLocation().equals(wc.getLocation()))
-										dup = true;
-								}
-							}
-							if (!dup)
-								good.add(wc);
-						}
-						monitor.worked(5);
-						
-						if (Trace.FINER) {
-							Trace.trace(Trace.STRING_FINER, "Adding runtimes: " + good.size());
-						}
-						Iterator iterator = good.iterator();
-						while (iterator.hasNext()) {
-							IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) iterator.next();
-							wc.save(false, monitor);
-						}
-						monitor.done();
-					}
-					dialog.close();
-				} catch (Exception ex) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error finding runtimes", ex);
-					}
-				}
-				runtimeComp.refresh();
-			}
-		});
-		
-		pathLabel = new Label(parent, SWT.NONE);
-		pathLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-	
-	protected boolean removeRuntime(IRuntime runtime) {
-		if (runtime == null)
-			return false;
-
-		// check for use
-		IServer[] servers = ServerCore.getServers();
-		List<IServer> list = new ArrayList<IServer>();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (runtime.equals(servers[i].getRuntime()))
-					list.add(servers[i]);
-			}
-		}
-		
-		boolean inUse = false;
-		try {
-			inUse = FacetUtil.isRuntimeTargeted(runtime);
-		} catch (Throwable t) {
-			// ignore - facet framework not found
-		}
-		
-		if (!list.isEmpty() || inUse) {
-			DeleteRuntimeDialog dialog = new DeleteRuntimeDialog(getShell(), !list.isEmpty(), inUse);
-			if (dialog.open() != 0)
-				return false;
-			
-			if (dialog.isDeleteServers()) {
-				Iterator iter = list.iterator();
-				while (iter.hasNext()) {
-					try {
-						IServer server = (IServer) iter.next();
-						server.delete();
-					} catch (Exception e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Error deleting server", e);
-						}
-					}
-				}
-			}
-			if (dialog.isRemoveTargets()) {
-				try {
-					FacetUtil.removeTargets(runtime, new NullProgressMonitor());
-				} catch (Throwable t) {
-					// ignore - facet framework not found
-				}
-			}
-		}
-		
-		try {
-			runtime.delete();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error deleting runtime", e);
-			}
-		}
-		return true;
-	}
-	
-	protected int showWizard(final IRuntimeWorkingCopy runtimeWorkingCopy) {
-		String title = null;
-		WizardFragment fragment = null;
-		TaskModel taskModel = new TaskModel();
-		if (runtimeWorkingCopy == null) {
-			title = Messages.wizNewRuntimeWizardTitle;
-			fragment = new WizardFragment() {
-				protected void createChildFragments(List<WizardFragment> list) {
-					list.add(new NewRuntimeWizardFragment());
-					list.add(WizardTaskUtil.SaveRuntimeFragment);
-				}
-			};
-		} else {
-			title = Messages.wizEditRuntimeWizardTitle;
-			final WizardFragment fragment2 = ServerUIPlugin.getWizardFragment(runtimeWorkingCopy.getRuntimeType().getId());
-			if (fragment2 == null) {
-				edit.setEnabled(false);
-				return Window.CANCEL;
-			}
-			taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
-			fragment = new WizardFragment() {
-				protected void createChildFragments(List<WizardFragment> list) {
-					list.add(fragment2);
-					list.add(WizardTaskUtil.SaveRuntimeFragment);
-				}
-			};
-		}
-		TaskWizard wizard = new TaskWizard(title, fragment, taskModel);
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		return dialog.open();
-	}
-
-	protected IRuntime getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return (IRuntime) sel.getFirstElement();
-	}
-
-	/**
-	 * Initializes this preference page using the passed workbench.
-	 *
-	 * @param workbench the current workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/** 
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() { 
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible)
-			setTitle(Messages.preferenceRuntimesTitleLong);
-	}
-	
-	@Override
-	public void dispose() {
-		ServerCore.removeRuntimeLifecycleListener(this);
-		super.dispose();
-	}
-
-	public void runtimeChanged(final IRuntime runtime) {
-		final RuntimeComposite runtimeComp2 = this.runtimeComp;
-		Display.getDefault().asyncExec(new Runnable(){
-			public void run(){
-				runtimeComp2.refresh(runtime);
-			}
-		});
-	}
-
-	public void runtimeAdded(final IRuntime runtime) {
-		final RuntimeComposite runtimeComp2 = this.runtimeComp;
-		Display.getDefault().asyncExec(new Runnable(){
-			public void run(){
-				runtimeComp2.add(runtime);
-			}
-		});
-	}
-	public void runtimeRemoved(final IRuntime runtime) {
-		final RuntimeComposite runtimeComp2 = this.runtimeComp;
-		Display.getDefault().asyncExec(new Runnable(){
-			public void run(){
-				runtimeComp2.remove(runtime);
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java
deleted file mode 100644
index 87749cd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,112 +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.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Spinner;
-/**
- * SWT Utility class.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp the component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	/**
-	 * Convert DLUs to pixels.
-	 * 
-	 * @param comp a component
-	 * @param x pixels
-	 * @return dlus
-	 */
-	public static int convertHorizontalDLUsToPixels(Composite comp, int x) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertHorizontalDLUsToPixels(fontMetrics, x);
-	}
-
-	/**
-	 * Convert DLUs to pixels.
-	 * 
-	 * @param comp a component
-	 * @param y pixels
-	 * @return dlus
-	 */
-	public static int convertVerticalDLUsToPixels(Composite comp, int y) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertVerticalDLUsToPixels(fontMetrics, y);
-	}
-
-	/**
-	 * Set the tooltip of a spinner that represents a time in seconds.
-	 * 
-	 * @param spinner
-	 */
-	public static void setSpinnerTooltip(Spinner spinner) {		
-		int seconds = spinner.getSelection();
-		String tooltipText;
-		if (seconds <= 60)
-			tooltipText = null;
-		else if ((seconds % 60) == 0) { // the seconds are exact minutes
-			int minutes = seconds / 60;
-			tooltipText = NLS.bind(Messages.minutes, minutes + "");
-		} else {
-			int minutes = seconds / 60;
-			int modSec = (seconds % 60);
-			String secondsText = (modSec < 10) ? "0" + modSec : Integer.toString(modSec); 
-			tooltipText = NLS.bind(Messages.minutes, minutes + ":" + secondsText);
-		}
-		spinner.setToolTipText(tooltipText);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SaveEditorPrompter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SaveEditorPrompter.java
deleted file mode 100644
index ccd204a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SaveEditorPrompter.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-public class SaveEditorPrompter extends
-		org.eclipse.wst.server.core.internal.SaveEditorPrompter { 
-	
-	private String cachedSaveBeforeLaunch;
-	
-	@Override
-	public void saveAllEditors() {
-		IWorkbench w = PlatformUI.getWorkbench();
-		String saveBeforeLaunch = DebugUITools.getPreferenceStore().getString(org.eclipse.debug.internal.ui.IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
-		if (saveBeforeLaunch.equalsIgnoreCase(org.eclipse.jface.dialogs.MessageDialogWithToggle.ALWAYS)){
-			Display d =PlatformUI.getWorkbench().getDisplay();
-			d.asyncExec(new SaveAllEditorsRunnable(w,false));
-		}
-		else if (saveBeforeLaunch.equalsIgnoreCase(org.eclipse.jface.dialogs.MessageDialogWithToggle.PROMPT)){
-			Display d =PlatformUI.getWorkbench().getDisplay();
-			d.asyncExec(new SaveAllEditorsRunnable(w,true));
-		}
-	}
-	
-	private class SaveAllEditorsRunnable implements Runnable{
-		IWorkbench w;
-		boolean confirm;
-		public SaveAllEditorsRunnable(IWorkbench w, boolean confirm){
-			this.w = w;
-			this.confirm = confirm;
-		}
-		
-		public void run() {
-			w.saveAllEditors(confirm);
-		}
-	}
-		
-	/**
-	 * Sets <code>org.eclipse.debug.internal.ui.IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</code> to 
-	 * the given value. The given value should be one of the following:
-	 * <ul>
-	 * <li><code>org.eclipse.jface.dialogs.MessageDialogWithToggle.ALWAYS</code></li>
-	 * <li><code>org.eclipse.jface.dialogs.MessageDialogWithToggle.NEVER</code></li>
-	 * <li><code>org.eclipse.jface.dialogs.MessageDialogWithToggle.PROMPT</code></li>
-	 * </ul>  
-	 * @see org.eclipse.jface.dialogs.MessageDialogWithToggle
-	 */
-	public String setDebugSaveBeforeLaunching(String newValue){
-		IPreferenceStore debugPrefs = DebugUITools.getPreferenceStore();
-		String oldValue = debugPrefs.getString(org.eclipse.debug.internal.ui.IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
-		debugPrefs.setValue(org.eclipse.debug.internal.ui.IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, newValue);
-		return oldValue; 
-	}
-	
-	public void setDebugNeverSave(){
-		cachedSaveBeforeLaunch = setDebugSaveBeforeLaunching(org.eclipse.jface.dialogs.MessageDialogWithToggle.NEVER);
-	}
-	
-	public void setDebugOriginalValue(){
-		if (cachedSaveBeforeLaunch == null){
-			cachedSaveBeforeLaunch = org.eclipse.jface.dialogs.MessageDialogWithToggle.PROMPT;
-		}
-		setDebugSaveBeforeLaunching(cachedSaveBeforeLaunch);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java
deleted file mode 100644
index 875a17d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.wst.server.ui.ServerUICore;
-/**
- * Adapter factory to adapt servers to IActionFilter.
- */
-public class ServerAdapterFactory implements IAdapterFactory {
-	IActionFilter actionFilter = new IActionFilter() {
-		public boolean testAttribute(Object target, String name, String value) {
-			return ServerPropertyTester.checkProperty(target, name, value);
-		}
-	};
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType == IActionFilter.class)
-			return actionFilter;
-		
-		if (adapterType == IWorkbenchAdapter.class)
-			return ServerUICore.getLabelProvider();
-			
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IActionFilter.class };
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
deleted file mode 100644
index e295e81..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-/**
- * A label provider for all server related objects.
- */
-public class ServerLabelProvider implements ILabelProvider, IColorProvider, IWorkbenchAdapter {
-	private ILabelDecorator decorator;
-	protected transient List<ILabelProviderListener> listeners;
-	protected ILabelProviderListener providerListener;
-
-	public ServerLabelProvider() {
-		decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
-		providerListener = new ILabelProviderListener() {
-			public void labelProviderChanged(LabelProviderChangedEvent event) {
-				fireListener(event);
-			}
-		};
-		decorator.addListener(providerListener);
-	}
-
-	public void addListener(ILabelProviderListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		
-		if (listeners == null)
-			listeners = new ArrayList<ILabelProviderListener>();
-		listeners.add(listener);
-	}
-
-	public void removeListener(ILabelProviderListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		
-		if (listeners != null)
-			listeners.remove(listener);
-	}
-
-	protected void fireListener(LabelProviderChangedEvent event) {
-		if (listeners == null || listeners.isEmpty())
-			return;
-		
-		int size = listeners.size();
-		ILabelProviderListener[] srl = new ILabelProviderListener[size];
-		listeners.toArray(srl);
-		
-		for (int i = 0; i < size; i++) {
-			try {
-				srl[i].labelProviderChanged(event);
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "  Error firing label change event to " + srl[i], e);
-				}
-			}
-		}
-	}
-
-	protected Image getModuleImage(String typeId) {
-		if (typeId == null)
-			return null;
-
-		Image image = ImageResource.getImage(typeId);
-		int ind = typeId.indexOf(".");
-		while (image == null && ind >= 0) {
-			typeId = typeId.substring(0, ind);
-			image = ImageResource.getImage(typeId);
-		}
-		return image;
-	}
-
-	protected ImageDescriptor getModuleImageDescriptor(String typeId) {
-		if (typeId == null)
-			return null;
-		
-		ImageDescriptor image = ImageResource.getImageDescriptor(typeId);
-		int ind = typeId.indexOf(".");
-		while (image == null && ind >= 0) {
-			typeId = typeId.substring(0, ind);
-			image = ImageResource.getImageDescriptor(typeId);
-		}
-		return image;
-	}
-
-	/*
-	 * @see ILabelProvider#getImage(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object element) {
-		try {
-			if (element instanceof IRuntimeType) {
-				IRuntimeType runtimeType = (IRuntimeType) element;
-				return ImageResource.getImageDescriptor(runtimeType.getId());
-			} else if (element instanceof IRuntime) {
-				IRuntime runtime = (IRuntime) element;
-				return ImageResource.getImageDescriptor(runtime.getRuntimeType().getId());
-			} else if (element instanceof IServerType) {
-				IServerType serverType = (IServerType) element;
-				return ImageResource.getImageDescriptor(serverType.getId());
-			} else if (element instanceof IServer) {
-				IServer server = (IServer) element;
-				return ImageResource.getImageDescriptor(server.getServerType().getId());
-			} else if (element instanceof IModule) {
-				IModule module = (IModule) element;
-				IModuleType mt = module.getModuleType();
-				return getModuleImageDescriptor(mt.getId());
-			} else if (element instanceof IModule[]) {
-				IModule[] modules = (IModule[]) element;
-				IModule module = modules[modules.length - 1];
-				IModuleType mt = module.getModuleType();
-				return getModuleImageDescriptor(mt.getId());
-			} else if (element instanceof IWorkbenchAdapter) {
-				return ((IWorkbenchAdapter) element).getImageDescriptor(null);
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not get image descriptor", e);
-			}
-		}
-		return null;
-	}
-
-	private Image decorate(Image image, Object obj) {
-		Image dec = decorator.decorateImage(image, obj);
-		if (dec != null)
-			return dec;
-		return image;
-	}
-
-	private String decorate(String text, Object obj) {
-		String dec = decorator.decorateText(text, obj);
-		if (dec != null)
-			return dec;
-		return text;
-	}
-
-	/*
-	 * @see ILabelProvider#getImage(Object)
-	 */
-	public Image getImage(Object element) {
-		try {
-			if (element instanceof IRuntimeType) {
-				IRuntimeType runtimeType = (IRuntimeType) element;
-				return decorate(ImageResource.getImage(runtimeType.getId()), runtimeType);
-			} else if (element instanceof IRuntime) {
-				IRuntime runtime = (IRuntime) element;
-				return decorate(ImageResource.getImage(runtime.getRuntimeType().getId()), runtime);
-			} else if (element instanceof IServerType) {
-				IServerType serverType = (IServerType) element;
-				return decorate(ImageResource.getImage(serverType.getId()), serverType);
-			} else if (element instanceof IServer) {
-				IServer server = (IServer) element;
-				if (server.getServerType() == null)
-					return null;
-				
-				return decorate(ImageResource.getImage(server.getServerType().getId()), server);
-			} else if (element instanceof IModule) {
-				IModule module = (IModule) element;
-				IModuleType mt = module.getModuleType();
-				if (mt == null)
-					return null;
-				
-				return decorate(getModuleImage(mt.getId()), module);
-			} else if (element instanceof IModule[]) {
-				IModule[] modules = (IModule[]) element;
-				IModule module = modules[modules.length - 1];
-				IModuleType mt = module.getModuleType();
-				if (mt == null)
-					return null;
-				
-				return decorate(getModuleImage(mt.getId()), modules);
-			} else if (element instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) element;
-				IModule module = ms.module[ms.module.length - 1];
-				IModuleType mt = module.getModuleType();
-				if (mt == null)
-					return null;
-				
-				return decorate(getModuleImage(mt.getId()), ms);
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not get image descriptor", e);
-			}
-		}
-		return null;
-	}
-
-	protected String getString(String s) {
-		if (s == null)
-			return "";
-		
-		return s;
-	}
-
-	/*
-	 * @see ILabelProvider#getText(Object)
-	 */
-	public String getText(Object element) {
-		if (element == null)
-			return "";
-		
-		if (element instanceof IRuntime) {
-			IRuntime runtime = (IRuntime) element;
-			return decorate(getString((runtime).getName()), runtime);
-		} else if (element instanceof IServer) {
-			IServer server = (IServer) element;
-			return decorate(getString((server).getName()), server);
-		} else if (element instanceof IRuntimeType) {
-			IRuntimeType rt = (IRuntimeType) element;
-			return decorate(rt.getName(), rt);
-		} else if (element instanceof IServerType) {
-			IServerType st = (IServerType) element;
-			return decorate(st.getName(), st);
-		} else if (element instanceof IClient) {
-			IClient client = (IClient) element;
-			return decorate(client.getName(), client);
-		} else if (element instanceof IModule) {
-			IModule module = (IModule) element;
-			return decorate(module.getName(), module);
-		} else if (element instanceof IModule[]) {
-			IModule[] modules = (IModule[]) element;
-			IModule module = modules[modules.length - 1];
-			return decorate(module.getName(), modules);
-		} else if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer) element;
-			IModule module = ms.module[ms.module.length - 1];
-			return decorate(module.getName(), ms);
-		} else if (element instanceof IWorkbenchAdapter) {
-			return ((IWorkbenchAdapter) element).getLabel(null);
-		}
-		
-		return "";
-	}
-
-	/*
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		decorator.removeListener(providerListener);
-	}
-
-	public Color getBackground(Object element) {		
-		return null;
-	}
-
-	public Color getForeground(Object element) {
-		if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer)element;
-			
-			IModule module = ms.module[0];
-			if (module.isExternal()) {
-				Color c = Display.getCurrent().getSystemColor(SWT.COLOR_GRAY);
-				return c;
-			}
-		}
-		return null;
-	}
-
-	public Object[] getChildren(Object o) { 
-		return null;
-	}
-
-	public String getLabel(Object o) {
-		return getText(o);
-	}
-
-	public Object getParent(Object o) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java
deleted file mode 100644
index bd0504d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java
+++ /dev/null
@@ -1,134 +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.ui.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.ILaunchShortcut2;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-/**
- * 
- */
-public class ServerLaunchShortcut implements ILaunchShortcut2 {
-	/* (non-Javadoc)
-	 * @see ILaunchShortcut#launch(ISelection, String)
-	 */
-	public void launch(ISelection selection, final String mode) {
-		RunOnServerActionDelegate ros = new RunOnServerActionDelegate();
-		ros.setLaunchMode(mode);
-		IAction action = new Action() {
-			// dummy action
-		};
-		ros.selectionChanged(action, selection);
-		ros.run(action);
-	}
-
-	/* (non-Javadoc)
-	 * @see ILaunchShortcut#launch(IEditorPart, String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		if (editor == null)
-			return;
-		
-		// check if the editor input itself can be run. Otherwise, check if
-		// the editor has a file input that can be run
-		IEditorInput input = editor.getEditorInput();
-		
-		if (ServerPlugin.hasModuleArtifact(input)) {
-			launch(new StructuredSelection(input), mode);
-		} else if (input instanceof IFileEditorInput) {
-			IFileEditorInput fei = (IFileEditorInput) input;
-			IFile file = fei.getFile();
-			if (ServerPlugin.hasModuleArtifact(file))
-				launch(new StructuredSelection(file), mode);
-		}
-	}
-
-	/**
-	 * Given the specified <code>ISelection</code> this method returns an array of 
-	 * <code>ILaunchConfiguration</code>s that apply to the current selection, 
-	 * i.e. all of the launch configurations that could be used to launch the given 
-	 * selection.
-	 * @param selection the current selection
-	 * @return an array of <code>ILaunchConfiguration</code>s that could be 
-	 * used to launch the given selection, or an empty array, never <code>null</code>
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(ISelection selection) {
-		return new ILaunchConfiguration[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see ILaunchShortcut2#getLaunchConfigurations(IEditorPart)
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(IEditorPart editor) {
-		if (editor == null)
-			return new ILaunchConfiguration[0];
-		
-		// check if the editor input itself can be run. Otherwise, check if
-		// the editor has a file input that can be run
-		IEditorInput input = editor.getEditorInput();
-		
-		if (ServerPlugin.hasModuleArtifact(input)) {
-			return getLaunchConfigurations(new StructuredSelection(input));
-		} else if (input instanceof IFileEditorInput) {
-			IFileEditorInput fei = (IFileEditorInput) input;
-			IFile file = fei.getFile();
-			if (ServerPlugin.hasModuleArtifact(file))
-				return getLaunchConfigurations(new StructuredSelection(file));
-		}
-		return new ILaunchConfiguration[0];
-	}
-
-	/**
-	 * Given the specified <code>ISelection</code> this method returns an
-	 * <code>IResource</code> that directly maps to the current selection.
-	 * This mapping is then leveraged by the context launching framework
-	 * to try and launch the resource. 
-	 * @param selection the current selection
-	 * @return an <code>IResource</code> that would be used during context
-	 * sensitive launching or <code>null</code> if one is not to be provided or does not exist.
-	 */
-	public IResource getLaunchableResource(ISelection selection) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see ILaunchShortcut2#getLaunchableResource(IEditorPart)
-	 */
-	public IResource getLaunchableResource(IEditorPart editor) {
-		if (editor == null)
-			return null;
-		
-		// check if the editor input itself can be run. Otherwise, check if
-		// the editor has a file input that can be run
-		IEditorInput input = editor.getEditorInput();
-		
-		if (ServerPlugin.hasModuleArtifact(input)) {
-			return getLaunchableResource(new StructuredSelection(input));
-		} else if (input instanceof IFileEditorInput) {
-			IFileEditorInput fei = (IFileEditorInput) input;
-			IFile file = fei.getFile();
-			if (ServerPlugin.hasModuleArtifact(file))
-				return getLaunchableResource(new StructuredSelection(file));
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java
deleted file mode 100644
index dc23338..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.internal.ServerPreferences;
-/**
- * The preference page that holds server properties.
- */
-public class ServerPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	protected ServerPreferences preferences;
-	protected ServerUIPreferences uiPreferences;
-
-	protected Button showOnActivity;
-
-	/**
-	 * ServerPreferencesPage constructor comment.
-	 */
-	public ServerPreferencePage() {
-		super();
-	
-		preferences = ServerPreferences.getInstance();
-		uiPreferences = ServerUIPlugin.getPreferences();
-	}
-	
-	/**
-	 * Create the preference options.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(parent, ContextIds.PREF_GENERAL);
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 3;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		
-		showOnActivity = new Button(composite, SWT.CHECK);
-		showOnActivity.setText(Messages.prefShowOnActivity);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		showOnActivity.setLayoutData(data);
-		showOnActivity.setSelection(uiPreferences.getShowOnActivity());
-		whs.setHelp(showOnActivity, ContextIds.PREF_GENERAL_SHOW_ON_ACTIVITY);
-		
-		Dialog.applyDialogFont(composite);
-		
-		return composite;
-	}
-
-	/**
-	 * Initializes this preference page using the passed workbench.
-	 *
-	 * @param workbench the current workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 */
-	protected void performDefaults() {
-		showOnActivity.setSelection(uiPreferences.getDefaultShowOnActivity());
-		
-		super.performDefaults();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		uiPreferences.setShowOnActivity(showOnActivity.getSelection());
-		
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyPage.java
deleted file mode 100644
index 9aeb954..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyPage.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.internal.Server;
-/**
- * PropertyPage for servers.
- */
-public class ServerPropertyPage extends PropertyPage {
-	protected IServer server;
-
-	protected IServer defaultServer;
-
-	/**
-	 * ServerPropertyPage constructor comment.
-	 */
-	public ServerPropertyPage() {
-		super();
-	}
-
-	/**
-	 * Create the body of the page.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		try {
-			IAdaptable element = getElement();
-			server = (IServer) element.getAdapter(IServer.class);
-			
-			Composite composite = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.marginHeight = 0;
-			layout.marginWidth = 0;
-			layout.numColumns = 3;
-			composite.setLayout(layout);
-			composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-			
-			IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-			whs.setHelp(composite, ContextIds.SERVER_PROPERTY_PAGE);			
-			
-			// name
-			Label label = new Label(composite, SWT.NONE);
-			label.setText(Messages.propServerInfoName);
-			
-			label = new Label(composite, SWT.NONE);
-			label.setText(server.getName());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			label.setLayoutData(data);
-			
-			// type
-			label = new Label(composite, SWT.NONE);
-			label.setText(Messages.propServerInfoType);
-			
-			IServerType serverType = server.getServerType();
-			label = new Label(composite, SWT.NONE);
-			if (serverType != null)
-				label.setText(serverType.getName());
-			else
-				label.setText(Messages.elementUnknownName);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			label.setLayoutData(data);
-			
-			// vendor
-			label = new Label(composite, SWT.NONE);
-			label.setText(Messages.propServerInfoVendor);
-			
-			IRuntimeType runtimeType = null;
-			if (serverType != null)
-				runtimeType = serverType.getRuntimeType();
-			label = new Label(composite, SWT.NONE);
-			if (runtimeType != null)
-				label.setText(runtimeType.getVendor());
-			else
-				label.setText(Messages.elementUnknownName);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			label.setLayoutData(data);
-			
-			// location
-			label = new Label(composite, SWT.NONE);
-			label.setText(Messages.switchServerLocation);
-			label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
-			
-			final Label serverLocation = new Label(composite, SWT.NONE);
-			final Server svr = (Server) server;
-			if (svr.getFile() != null)
-				serverLocation.setText(svr.getFile().getFullPath().toPortableString());
-			else
-				serverLocation.setText(Messages.switchServerLocationMetadata);
-			
-			serverLocation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-			
-			Button switchLocation = new Button(composite, SWT.PUSH);
-			switchLocation.setText(Messages.actionSwitchServerLocation);
-			switchLocation.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-			switchLocation.setEnabled(!server.isReadOnly());
-			switchLocation.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						Server.switchLocation(svr, null);
-					} catch (CoreException ce) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Error switching server location", ce);
-						}
-					}
-					if (svr.getFile() != null)
-						serverLocation.setText(svr.getFile().getFullPath().toPortableString());
-					else
-						serverLocation.setText(Messages.switchServerLocationMetadata);
-				}
-			});
-			
-			Dialog.applyDialogFont(composite);
-			
-			return composite;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error creating property page", e);
-			}
-			return null;
-		}
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		return super.performOk();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java
deleted file mode 100644
index e3853d0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java
+++ /dev/null
@@ -1,147 +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.ui.internal;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.ui.IFileEditorInput;
-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.internal.ServerPlugin;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-/**
- * 
- */
-public class ServerPropertyTester extends PropertyTester {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-	 */
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		if (expectedValue instanceof String)
-			return checkProperty(receiver, property, (String) expectedValue);
-		if (expectedValue != null)
-			return checkProperty(receiver, property, expectedValue.toString());
-		
-		return checkProperty(receiver, property, null);
-	}
-
-	protected static boolean checkProperty(Object target, String property, String value) {
-		if ("isRunnable".equals(property)) {
-			// check if project has a module associated with it
-			if (target instanceof IProject) {
-				IModule m = ServerUtil.getModule((IProject) target);
-				if (m == null)
-					return false;
-			}
-			
-			// check for runnable object
-			boolean b = ServerPlugin.hasModuleArtifact(target);
-			if (b)
-				return true;
-			
-			/*if (!(receiver instanceof IEditorPart))
-				return false;
-			
-			//	 check if the editor input itself can be run. Otherwise, check if
-			// the editor has a file input that can be run
-			IEditorPart editor = (IEditorPart) receiver;
-			IEditorInput input = editor.getEditorInput();
-			
-			b = ServerPlugin.hasModuleArtifact(input);
-			if (b)
-				return true;*/
-			
-			if (target instanceof IFileEditorInput) {
-				IFileEditorInput fei = (IFileEditorInput) target;
-				IFile file = fei.getFile();
-				b = ServerPlugin.hasModuleArtifact(file);
-				if (b)
-					return true;
-			}
-			return false;
-		} else if ("serverType".equals(property)) {
-			IServer server = null;
-			if (target instanceof IServer) {
-				server = (IServer) target;
-			} else if (target instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) target;
-				server = ms.server;
-			}
-			if (server == null || server.getServerType() == null)
-				return false;
-			
-			String[] typeIds = ServerPlugin.tokenize(value, ",");
-			return matches(server.getServerType().getId(), typeIds);
-		} else if ("moduleType".equals(property)) {
-			IModule[] module = null;
-			if (target instanceof IModule[]) {
-				module = (IModule[]) target;
-			} else if (target instanceof IModule) {
-				module = new IModule[] {(IModule) target};
-			} else if (target instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) target;
-				module = ms.module;
-			}
-			if (module == null)
-				return false;
-			if (module.length == 0)
-				return false;
-			
-			String[] values = ServerPlugin.tokenize(value, ",");
-			IModule m = module[module.length - 1];
-			return matches(m.getModuleType().getId(), values);
-		} else if ("moduleVersion".equals(property)) {
-			IModule[] module = null;
-			if (target instanceof IModule[]) {
-				module = (IModule[]) target;
-			} else if (target instanceof IModule) {
-				module = new IModule[] {(IModule) target};
-			} else if (target instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) target;
-				module = ms.module;
-			}
-			if (module == null)
-				return false;
-			if (module.length == 0)
-				return false;
-			
-			String[] values = ServerPlugin.tokenize(value, ",");
-			IModule m = module[module.length - 1];
-			return matches(m.getModuleType().getVersion(), values);
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns true if the given type (given by the id) can use this action.
-	 *
-	 * @return boolean
-	 */
-	protected static boolean matches(String id, String[] typeIds) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		if (typeIds == null)
-			return false;
-		
-		int size = typeIds.length;
-		for (int i = 0; i < size; i++) {
-			if (typeIds[i].endsWith("*")) {
-				if (id.length() >= typeIds[i].length() && id.startsWith(typeIds[i].substring(0, typeIds[i].length() - 1)))
-					return true;
-			} else if (id.equals(typeIds[i]))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java
deleted file mode 100644
index 0e5024d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.internal.text.html.HTML2TextReader;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.IServerModule;
-import org.eclipse.wst.server.ui.internal.provisional.IServerToolTip;
-
-public class ServerToolTip extends ToolTip {	
-	protected Hashtable<String,ArrayList<IServerToolTip>> toolTipProviders = new Hashtable<String,ArrayList<IServerToolTip>>();	
-	protected static Shell CURRENT_TOOLTIP;
-	protected Label hintLabel;
-	protected Tree tree;
-	protected int x;
-	protected int y;
-
-	public ServerToolTip(final Tree tree) {
-		super(tree);
-		
-		this.tree = tree;
-		
-		tree.addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent e) {
-				x = e.x;
-				y = e.y;
-			}
-		});
-		
-		tree.addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent  e) {
-				if (e == null)
-					return;
-				
-				if (e.keyCode == SWT.ESC) {
-					if (CURRENT_TOOLTIP != null) {
-						CURRENT_TOOLTIP.dispose();
-						CURRENT_TOOLTIP = null;
-					}
-					activate();
-				}
-				if (e.keyCode == SWT.F6) {
-					if (CURRENT_TOOLTIP == null) {
-						deactivate();
-						hide();
-						createFocusedTooltip(tree);
-					}
-				}
-			}
-			public void keyReleased(KeyEvent e){
-				// nothing to do 
-			}
-		});
-		
-		loadExtensions();
-	}
-	
-	public void createFocusedTooltip(final Control control) {
-		final Shell stickyTooltip = new Shell(control.getShell(), SWT.ON_TOP | SWT.TOOL
-				| SWT.NO_FOCUS);
-		stickyTooltip.setLayout(new FillLayout());
-		stickyTooltip.setBackground(stickyTooltip.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		
-		control.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				Event event = new Event();
-				event.x = x;
-				event.y = y;
-				event.widget = tree;
-				
-				createToolTipContentArea(event, stickyTooltip);
-				stickyTooltip.pack();
-				
-				stickyTooltip.setLocation(stickyTooltip.getDisplay().getCursorLocation());				
-				hintLabel.setText(Messages.toolTipDisableFocus);
-				stickyTooltip.setVisible(true);
-//				Eventually we want to add a listener that checks if
-//              the mouseDown event is occurring outside of the bounds of the tooltip
-//              if it is, then hide the tooltip
-//				addListener(stickyTooltip);
-			}
-		});
-		CURRENT_TOOLTIP = stickyTooltip;
-	}
-
-//  read the createFocusedTooltip method for information on why this is commented out
-//
-//	private void addListener(Control control){
-//		control.addMouseListener(new StickyTipMouseListener());
-//		if (control instanceof Composite){
-//			Control[] childrens = ((Composite)control).getChildren();
-//			for (Control child :childrens){
-//				addListener(child);
-//			}
-//		}
-//		
-//	}
-	
-	
-	@Override
-	protected Object getToolTipArea(Event event) {
-		Object o = tree.getItem(new Point(event.x,event.y));
-		return o;
-	}
-
-	protected final boolean shouldCreateToolTip(Event event) {
-		if (tree.getItem(new Point(event.x, event.y)) == null)
-			return false;
-		return super.shouldCreateToolTip(event);
-	}
-
-	protected Composite createToolTipContentArea(Event event, Composite parent) {
-		Object o = tree.getItem(new Point(event.x, event.y));
-		if (o == null)
-			return null;
-		
-		IServer server = null;
-		IServerModule module = null;
-		if (o instanceof TreeItem) {
-			Object obj = ((TreeItem)o).getData();
-			if (obj instanceof IServer)
-				server = (IServer) obj;
-			if (obj instanceof IServerModule)
-				module = (IServerModule) obj;
-		}
-		
-		FillLayout layout = (FillLayout)parent.getLayout();
-		layout.type = SWT.VERTICAL;
-		parent.setLayout(layout);
-		parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		
-		// set the default text for the tooltip
-		StyledText sText = new StyledText(parent, SWT.NONE);
-		sText.setEditable(false);
-		sText.setBackground(parent.getBackground());
-		
-		if (module != null) {
-			IModule[] modules = module.getModule();
-			IModule m = modules[modules.length - 1];
-			sText.setText("<b>" + m.getName() + "</b>");
-			//sText.setText("<b>" + m.getName() + "</b></p>" + m.getModuleType().getName());
-			
-			StyledText sText2 = new StyledText(parent, SWT.NONE);
-			sText2.setEditable(false);
-			sText2.setBackground(parent.getBackground());
-			sText2.setText(m.getModuleType().getName());
-		}
-		
-		if (server != null) {
-			sText.setText("<b>" + server.getName() + "</b>");
-			
-			// add adopters content
-			if (server.getServerType() != null) {
-				ArrayList<IServerToolTip> listOfProviders = toolTipProviders.get(server.getServerType().getId());
-				
-				if (listOfProviders != null) {
-					for (IServerToolTip tipProvider : listOfProviders) {
-						tipProvider.createContent(parent,server);
-					}
-				}
-			}
-		}
-		
-		// add the F3 text
-		hintLabel = new Label(parent,SWT.BORDER);
-		hintLabel.setAlignment(SWT.RIGHT);
-		hintLabel.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		hintLabel.setText(Messages.toolTipEnableFocus);
-		hintLabel.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
-		
-		final Font font;
-		Display display = parent.getDisplay();
-		FontData[] fd = parent.getFont().getFontData();
-		int size2 = fd.length;
-		for (int i = 0; i < size2; i++)
-			fd[i].setHeight(7);
-		font = new Font(display, fd);
-		parent.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				font.dispose();
-			}
-		});
-		hintLabel.setFont(font);
-		
-		parseText(sText.getText(),sText);
-		
-		return parent;
-	}
-
-	protected void parseText(String htmlText,StyledText sText) {	
-		TextPresentation presentation = new TextPresentation();
-		HTML2TextReader reader = new HTML2TextReader(new StringReader(htmlText), presentation);
-		String text;
-		
-		try {
-			text = reader.getString();
-		} catch (IOException e) {
-			text= ""; //$NON-NLS-1$
-		}
-		
-		sText.setText(text);		
-		Iterator iter = presentation.getAllStyleRangeIterator();
-		while (iter.hasNext()) {
-			StyleRange sr = (StyleRange)iter.next();
-			sText.setStyleRange(sr);
-		}
-	}
-
-	private void loadExtensions() {
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "->- Loading serverToolTip extension point ->-");
-		}
-		
-		// search for extension points 
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] extensions = reg.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID + ".serverToolTip");
-		
-		IServerType[] serverTypes = ServerCore.getServerTypes();
-		
-		for (int i=0; i < extensions.length; i++){			
-			IConfigurationElement exElement = extensions[i];
-			
-			try {
-				// sort the extensions based on serverType
-				String exServerType = exElement.getAttribute("serverTypes");
-				
-				for (IServerType serverType : serverTypes) {
-					if ("*".equals(exServerType) || serverType.getId().matches(exServerType)) {
-						IServerToolTip exTooltip = (IServerToolTip) exElement.createExecutableExtension("class");
-						ArrayList<IServerToolTip> listOfProviders = new ArrayList<IServerToolTip>(); 
-						if (toolTipProviders.containsKey(serverType.getId()))
-							listOfProviders = toolTipProviders.get(serverType.getId());
-						
-						listOfProviders.add(exTooltip);
-						toolTipProviders.put(serverType.getId(), listOfProviders);
-						if (Trace.EXTENSION_POINT) {
-							Trace.trace(Trace.STRING_EXTENSION_POINT,
-									"  Loaded serverToolTip: " + exElement.getAttribute("id") + " for server type: "
-											+ serverType.getId());
-						}
-					}
-				}
-			} catch (CoreException e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Tooltip failed to load" + exElement.toString(), e);
-				}
-			}
-		}
-		if (Trace.EXTENSION_POINT) {
-			Trace.trace(Trace.STRING_EXTENSION_POINT, "-<- Done loading serverToolTip extension point -<-");
-		}
-	}
-
-//  read the createFocusedTooltip method for information on why this is commented out
-//
-//	protected class StickyTipMouseListener implements MouseListener{
-//
-//		public void mouseDoubleClick(MouseEvent e) {
-//			// Auto-generated method stub
-//			
-//		}
-//
-//		public void mouseDown(MouseEvent e) {
-//			//System.out.println("mouseDown");
-//			if (CURRENT_TOOLTIP.getBounds().contains(new Point(e.x,e.y)) == true){
-//				CURRENT_TOOLTIP.setVisible(false);
-//				CURRENT_TOOLTIP.dispose();
-//				activate();
-//				CURRENT_TOOLTIP.removeMouseListener(this);
-//			}
-//		}
-//
-//		public void mouseUp(MouseEvent e) {
-//			// Auto-generated method stub
-//		}
-//	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
deleted file mode 100644
index 6326ce3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
+++ /dev/null
@@ -1,1143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.*;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-import org.eclipse.wst.server.core.util.PublishAdapter;
-import org.eclipse.wst.server.ui.editor.ServerEditorOverviewPageModifier;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-import org.eclipse.wst.server.ui.internal.editor.IServerEditorInput;
-import org.eclipse.wst.server.ui.internal.editor.ServerEditorCore;
-import org.eclipse.wst.server.ui.internal.editor.ServerEditorInput;
-import org.eclipse.wst.server.ui.internal.provisional.AbstractServerLabelProvider;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-import org.eclipse.wst.server.ui.internal.viewers.InitialSelectionProvider;
-import org.eclipse.wst.server.ui.internal.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.*;
-import org.eclipse.wst.server.ui.wizard.ServerCreationWizardPageExtension;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.osgi.framework.BundleContext;
-
-/**
- * The server UI plugin class.
- */
-public class ServerUIPlugin extends AbstractUIPlugin {
-	protected static final String VIEW_ID = "org.eclipse.wst.server.ui.ServersView";
-
-	// server UI plugin id
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.ui";
-
-	protected static final String EXTENSION_SERVER_IMAGES = "serverImages";
-	private static final String EXTENSION_WIZARD_FRAGMENTS = "wizardFragments";
-	public static final String EXTENSION_EDITOR_PAGES = "editorPages";
-	public static final String EXTENSION_EDITOR_PAGE_SECTIONS = "editorPageSections";
-
-	//public static final byte START = 0;
-	public static final byte STOP = 1;
-	//public static final byte RESTART = 2;
-
-	public static class DefaultLaunchableAdapter extends LaunchableAdapterDelegate {
-		public static final String ID = "org.eclipse.wst.server.ui.launchable.adapter.default";
-		public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) {
-			return "launchable";
-		}
-	}
-
-	// singleton instance of this class
-	private static ServerUIPlugin singleton;
-
-	protected Map imageDescriptors = new HashMap();
-
-	// cached copy of all runtime wizards
-	private static Map<String, WizardFragmentData> wizardFragments;
-	
-	// Cached copy of all server wizard UI modifier
-	private static List<ServerCreationWizardPageExtension> serverCreationWizardPageExtensions;
-	
-	// Cached copy of all server editor UI modifiers
-	private static List<ServerEditorOverviewPageModifier> serverEditorOverviewPageModifier;
-	
-	// Cached copy of server state label provider
-	private static HashMap<String,AbstractServerLabelProvider> serverLabelProviders;
-	// Create a default server state label provider
-	private static AbstractServerLabelProvider defaultServerLabelProvider = new AbstractServerLabelProvider();
-	
-	// cached initial selection provider
-	private static InitialSelectionProvider selectionProvider;
-
-	private static IRegistryChangeListener registryListener;
-
-	protected static class RegistryChangeListener implements IRegistryChangeListener {
-		public void registryChanged(IRegistryChangeEvent event) {
-			IExtensionDelta[] deltas = event.getExtensionDeltas(ServerUIPlugin.PLUGIN_ID, EXTENSION_WIZARD_FRAGMENTS);
-			if (deltas != null) {
-				for (int i = 0; i < deltas.length; i++) {
-					handleWizardFragmentDelta(deltas[i]);
-				}
-			}
-			
-			deltas = event.getExtensionDeltas(ServerUIPlugin.PLUGIN_ID, EXTENSION_SERVER_IMAGES);
-			if (deltas != null) {
-				for (int i = 0; i < deltas.length; i++) {
-					ImageResource.handleServerImageDelta(deltas[i]);
-				}
-			}
-			
-			deltas = event.getExtensionDeltas(ServerUIPlugin.PLUGIN_ID, EXTENSION_EDITOR_PAGES);
-			if (deltas != null) {
-				for (int i = 0; i < deltas.length; i++) {
-					ServerEditorCore.handleEditorPageFactoriesDelta(deltas[i]);
-				}
-			}
-			
-			deltas = event.getExtensionDeltas(ServerUIPlugin.PLUGIN_ID, EXTENSION_EDITOR_PAGE_SECTIONS);
-			if (deltas != null) {
-				for (int i = 0; i < deltas.length; i++) {
-					ServerEditorCore.handleEditorPageSectionFactoriesDelta(deltas[i]);
-				}
-			}
-		}
-	}
-
-	static class WizardFragmentData {
-		String id;
-		IConfigurationElement ce;
-		WizardFragment fragment;
-		
-		public WizardFragmentData(String id, IConfigurationElement ce) {
-			this.id = id;
-			this.ce = ce;
-		}
-	}
-
-	protected static List<IServer> terminationWatches = new ArrayList<IServer>();
-
-	protected IServerLifecycleListener serverLifecycleListener = new IServerLifecycleListener() {
-		public void serverAdded(IServer server) {
-			server.addServerListener(serverListener);
-			((Server) server).addPublishListener(publishListener);
-		}
-
-		public void serverChanged(IServer server) {
-			// ignore
-		}
-
-		public void serverRemoved(IServer server) {
-			server.removeServerListener(serverListener);
-			((Server) server).removePublishListener(publishListener);
-		}
-	};
-
-	protected static IServerListener serverListener = new IServerListener() {
-		public void serverChanged(ServerEvent event) {
-			int eventKind = event.getKind();
-			// if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-			if ((eventKind & ServerEvent.STATE_CHANGE) != 0) {
-				showServersView(true);
-			} else if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) {
-				showServersView(false);
-			}
-		}
-	};
-
-	protected static IPublishListener publishListener = new PublishAdapter() {
-		public void publishStarted(IServer server) {
-			showServersView(false);
-		}
-
-		public void publishFinished(IServer server, IStatus status) {
-			showServersView(false);
-		}
-	};
-
-	/**
-	 * Create the ServerUIPlugin.
-	 */
-	public ServerUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.server.ui.internal.plugin.ServerUIPlugin
-	 */
-	public static ServerUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-	
-	/**
-	 * Return the UI preferences.
-	 * 
-	 * @return ServerUIPreferences
-	 */
-	public static ServerUIPreferences getPreferences() {
-		return ServerUIPreferences.getInstance();
-	}
-
-	/**
-	 * @see Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "----->----- Server UI plugin start ----->-----");
-		}
-		super.start(context);
-		
-		ServerCore.addServerLifecycleListener(serverLifecycleListener);
-
-		// preload the server state label providers for faster UI response
-		loadServerLabelProvider();
-		
-		InitializeJob job = new InitializeJob();
-		job.schedule();
-
-		// register the debug options listener
-		final Hashtable<String, String> props = new Hashtable<String, String>(4);
-		props.put(DebugOptions.LISTENER_SYMBOLICNAME, ServerUIPlugin.PLUGIN_ID);
-		context.registerService(DebugOptionsListener.class.getName(), new Trace(), props);
-	}
-
-	/**
-	 * @see Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-----<----- Server UI plugin stop -----<-----");
-		}
-		super.stop(context);
-		
-		if (registryListener != null) {
-			IExtensionRegistry registry = Platform.getExtensionRegistry();
-			registry.removeRegistryChangeListener(registryListener);
-		}
-		
-		ImageResource.dispose();
-		
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				servers[i].removeServerListener(serverListener);
-				((Server) servers[i]).removePublishListener(publishListener);
-			}
-		}
-		
-		ServerCore.removeServerLifecycleListener(serverLifecycleListener);
-	}
-
-	/**
-	 * Adds a watch to this server. If it hasn't stopped in a
-	 * reasonable amount of time, the user will be prompted to
-	 * terminate the server.
-	 *
-	 * @param shell a shell
-	 * @param server a server
-	 * @param mode a debug mode
-	 */
-	public static void addTerminationWatch(final Shell shell, final IServer server, final int mode) {
-		if (terminationWatches.contains(server))
-			return;
-		
-		terminationWatches.add(server);
-		
-		class TerminateThread extends Thread {
-			public boolean alive = true;
-			public IServerListener listener;
-
-			public TerminateThread() {
-				super("Server Termination Thread");
-			}
-
-			public void run() {
-				while (alive) {
-					int delay = server.getStartTimeout() * 1000;
-					if (mode == 1)
-						delay = server.getStopTimeout() * 1000;
-					else if (mode == 2)
-						delay += server.getStopTimeout() * 1000;
-					
-					if (delay < 0)
-						return;
-					
-					try {
-						Thread.sleep(delay);
-					} catch (InterruptedException e) {
-						// ignore
-					}
-					
-					if (server.getServerState() == IServer.STATE_STOPPED)
-						alive = false;
-	
-					if (alive) {
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								TerminationDialog dialog = new TerminationDialog(shell, server.getName());
-								dialog.open();
-								if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-									// only try calling terminate once. Also, make sure that it didn't stop while
-									// the dialog was open
-									if (server.getServerState() != IServer.STATE_STOPPED)
-										server.stop(true);
-									alive = false;
-								}
-							}
-						});
-					}
-					if (!alive) {
-						if (listener != null)
-							server.removeServerListener(listener);
-						terminationWatches.remove(server);
-					}
-				}
-			}
-		}
-	
-		final TerminateThread t = new TerminateThread();
-		t.setDaemon(true);
-		t.setPriority(Thread.NORM_PRIORITY - 2);
-	
-		// add listener to stop the thread if/when the server stops
-		IServerListener listener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				int eventKind = event.getKind();
-				IServer server2 = event.getServer();
-				if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-					if (server2.getServerState() == IServer.STATE_STOPPED)
-						t.alive = false;
-				}
-			}
-		};
-		t.listener = listener;
-		server.addServerListener(listener);
-	
-		t.start();
-	}
-	
-	/**
-	 * 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 ServerCore#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;
-	}
-	
-	/**
-	 * 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
-	 */
-	public static IRuntime[] getRuntimes(IRuntimeType runtimeType) {
-		List<IRuntime> list = new ArrayList<IRuntime>();
-		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;
-	}
-
-	/**
-	 * Open the given server with the server editor.
-	 *
-	 * @param server
-	 */
-	public static void editServer(IServer server) {
-		if (server == null)
-			return;
-		
-		editServer(server.getId());
-	}
-
-	/**
-	 * Open the given server id with the server editor.
-	 *
-	 * @param serverId
-	 */
-	protected static void editServer(String serverId) {
-		if (serverId == null)
-			return;
-		
-		IWorkbenchWindow workbenchWindow = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-		
-		try {
-			IServerEditorInput input = new ServerEditorInput(serverId);
-			page.openEditor(input, IServerEditorInput.EDITOR_ID);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error opening server editor", e);
-			}
-		}
-	}
-
-	/**
-	 * Use the preference to prompt the user to save dirty editors, if applicable.
-	 * 
-	 * @return boolean  - Returns false if the user cancelled the operation
-	 */
-	public static boolean saveEditors() {
-		byte b = ServerUIPlugin.getPreferences().getSaveEditors();
-		if (b == ServerUIPreferences.SAVE_EDITORS_NEVER)
-			return true;
-		return ServerUIPlugin.getInstance().getWorkbench().saveAllEditors(b == ServerUIPreferences.SAVE_EDITORS_PROMPT);			
-	}
-
-	/**
-	 * Prompts the user if the server is dirty. Returns true if the server was
-	 * not dirty or if the user decided to continue anyway. Returns false if
-	 * the server is dirty and the user chose to cancel the operation.
-	 *
-	 * @param shell a shell
-	 * @param server a server
-	 * @return boolean
-	 */
-	public static boolean promptIfDirty(Shell shell, IServer server) {
-		if (server == null)
-			return false;
-		
-		if (!(server instanceof IServerWorkingCopy))
-			return true;
-
-		String title = Messages.resourceDirtyDialogTitle;
-		
-		IServerWorkingCopy wc = (IServerWorkingCopy) server;
-		if (wc.isDirty()) {
-			String message = NLS.bind(Messages.resourceDirtyDialogMessage, server.getName());
-			String[] labels = new String[] {Messages.resourceDirtyDialogContinue, IDialogConstants.CANCEL_LABEL};
-			MessageDialog dialog = new MessageDialog(shell, title, null, message, MessageDialog.INFORMATION, labels, 0);
-	
-			if (dialog.open() != 0)
-				return false;
-		}
-	
-		return true;
-	}
-
-	/**
-	 * Show the Servers view. The Servers is never given focus.
-	 * 
-	 * @param bringToFront <code>true</code> to make the Servers view push to the top
-	 *    of the z-order, and <code>false</code> to just highlight it
-	 */
-	protected static void showServersView(final boolean bringToFront) {
-		if (!getPreferences().getShowOnActivity())
-			return;
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					IWorkbench workbench = ServerUIPlugin.getInstance().getWorkbench();
-					IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-					if (workbenchWindow == null) {
-						if (Trace.FINER) {
-							Trace.trace(Trace.STRING_FINER, "No active workbench window");
-						}
-						return;
-					}
-					
-					IWorkbenchPage page = workbenchWindow.getActivePage();
-					
-					IViewPart view2 = page.findView(VIEW_ID);
-					
-					if (view2 != null) {
-						if (bringToFront)
-							page.bringToTop(view2);
-						else {
-							IWorkbenchSiteProgressService wsps = (IWorkbenchSiteProgressService)
-								view2.getSite().getAdapter(IWorkbenchSiteProgressService.class);
-							wsps.warnOfContentChange();
-						}
-					}
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error opening Servers view", e);
-					}
-				}
-			}
-		});
-	}
-
-	/**
-	 * Returns true if the given server is already started in the given
-	 * mode, or could be (re)started in the start mode.
-	 * 
-	 * @param server
-	 * @param launchMode
-	 * @return boolean
-	 */
-	public static boolean isCompatibleWithLaunchMode(IServer server, String launchMode) {
-		if (server == null || launchMode == null)
-			return false;
-		
-		int state = server.getServerState();
-		if (state == IServer.STATE_STARTED && launchMode.equals(server.getMode()))
-			return true;
-		
-		if (server.getServerType() != null && server.getServerType().supportsLaunchMode(launchMode))
-			return true;
-		return false;
-	}
-
-	/**
-	 * Open the new runtime wizard.
-	 * 
-	 * @param shell a shell
-	 * @param type a module type id
-	 * @param version a module version id
-	 * @param runtimeTypeId a runtime type id
-	 * @return true if a new runtime was created
-	 */
-	public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version, final String runtimeTypeId) {
-		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
-				list.add(new NewRuntimeWizardFragment(type, version, runtimeTypeId));
-				list.add(WizardTaskUtil.SaveRuntimeFragment);
-			}
-		};
-		TaskWizard wizard = new TaskWizard(Messages.wizNewRuntimeWizardTitle, fragment);
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		return (dialog.open() == IDialogConstants.OK_ID);
-	}
-
-	/**
-	 * Open the new runtime wizard.
-	 * 
-	 * @param shell a shell
-	 * @param runtimeTypeId a runtime type id
-	 * @return true if a new runtime was created
-	 */
-	public static boolean showNewRuntimeWizard(Shell shell, final String runtimeTypeId) {
-		IRuntimeType runtimeType = null;
-		if (runtimeTypeId != null)
-			runtimeType = ServerCore.findRuntimeType(runtimeTypeId);
-		if (runtimeType != null) {
-			try {
-				final IRuntimeWorkingCopy runtime = runtimeType.createRuntime(null, null);
-				TaskModel taskModel = new TaskModel();
-				taskModel.putObject(TaskModel.TASK_RUNTIME, runtime);
-				
-				WizardFragment fragment = new WizardFragment() {
-					protected void createChildFragments(List<WizardFragment> list) {
-						list.add(getWizardFragment(runtimeTypeId));
-						list.add(WizardTaskUtil.SaveRuntimeFragment);
-					}
-				};
-				TaskWizard wizard = new TaskWizard(Messages.wizNewRuntimeWizardTitle, fragment, taskModel);
-				wizard.setForcePreviousAndNextButtons(true);
-				WizardDialog dialog = new WizardDialog(shell, wizard);
-				return (dialog.open() == IDialogConstants.OK_ID);
-			} catch (Exception e) {
-				return false;
-			}
-		}
-		return showNewRuntimeWizard(shell, null, null, runtimeTypeId);
-	}
-
-	/**
-	 * Open the new server wizard.
-	 * 
-	 * @param shell a shell
-	 * @param typeId a module type id, or null for any module type
-	 * @param versionId a module version, or null for any version
-	 * @param serverTypeId a server runtime type, or null for any type
-	 * @return <code>true</code> if a server was created, or
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean showNewServerWizard(Shell shell, final String typeId, final String versionId, final String serverTypeId) {
-		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
-				list.add(new NewServerWizardFragment(new ModuleType(typeId, versionId), serverTypeId));
-				
-				list.add(WizardTaskUtil.TempSaveRuntimeFragment);
-				list.add(WizardTaskUtil.TempSaveServerFragment);
-				
-				list.add(new ModifyModulesWizardFragment());
-				list.add(new TasksWizardFragment());
-				
-				list.add(WizardTaskUtil.SaveRuntimeFragment);
-				list.add(WizardTaskUtil.SaveServerFragment);
-				list.add(WizardTaskUtil.SaveHostnameFragment);
-			}
-		};
-		
-		TaskWizard wizard = new TaskWizard(Messages.wizNewServerWizardTitle, fragment);
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		return (dialog.open() == IDialogConstants.OK_ID);
-	}
-
-	/**
-	 * Returns true if the given id has possible wizard fragments, and
-	 * false otherwise.
-	 *
-	 * @param typeId the server or runtime type id
-	 * @return true if the given id has possible wizard fragments, and
-	 *    false otherwise
-	 */
-	public static boolean hasWizardFragment(String typeId) {
-		if (typeId == null)
-			return false;
-		
-		if (wizardFragments == null)
-			loadWizardFragments();
-		
-		Iterator iterator = wizardFragments.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			if (typeId.equals(key))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the wizard fragment with the given id.
-	 *
-	 * @param typeId the server or runtime type id
-	 * @return a wizard fragment, or <code>null</code> if none could be found
-	 */
-	public static WizardFragment getWizardFragment(String typeId) {
-		if (typeId == null)
-			return null;
-		
-		if (wizardFragments == null)
-			loadWizardFragments();
-		
-		Iterator iterator = wizardFragments.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			if (typeId.equals(key)) {
-				WizardFragmentData data = wizardFragments.get(key);
-				return getWizardFragment(data);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Load the wizard fragments.
-	 */
-	private static synchronized void loadWizardFragments() {
-		if (wizardFragments != null)
-			return;
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .wizardFragments extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, EXTENSION_WIZARD_FRAGMENTS);
-		
-		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(cf.length);
-		loadWizardFragments(cf, map);
-		addRegistryListener();
-		wizardFragments = map;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .wizardFragments extension point -<-");
-		}
-	}
-
-	/**
-	 * Load wizard fragments.
-	 */
-	private static synchronized void loadWizardFragments(IConfigurationElement[] cf, Map<String, WizardFragmentData> map) {
-		for (int i = 0; i < cf.length; i++) {
-			try {
-				String id = cf[i].getAttribute("typeIds");
-				String[] ids = tokenize(id, ",");
-				int size = ids.length;
-				for (int j = 0; j < size; j++)
-					map.put(ids[j], new WizardFragmentData(id, cf[i]));
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded wizardFragment: " + id);
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "  Could not load wizardFragment: " + cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns the initial selection provider.
-	 *
-	 * @return an initial selection provider, or <code>null</code> if none could be found
-	 */
-	public static InitialSelectionProvider getInitialSelectionProvider() {
-		if (selectionProvider == null)
-			loadInitialSelectionProvider();
-		
-		return selectionProvider;
-	}
-
- 	/**
-	 * Returns the server label provider. There is always a server label provider for a server type
-	 *
-	 * @return the server label provider, if one is provider by the adopter otherwise it returns a default one
-	 */
-	public static AbstractServerLabelProvider getServerLabelProvider(String serverTypeId) {
-		if (serverLabelProviders == null)
-			loadServerLabelProvider();
-		
-		AbstractServerLabelProvider serverLabelProvider = serverLabelProviders.get(serverTypeId);
-		
-		// If there isn't one defined by an adopter, then bound the defaultServerLabelProvider to the list
-		if (serverLabelProvider == null){
-			serverLabelProvider = defaultServerLabelProvider;
-			serverLabelProviders.put(serverTypeId, serverLabelProvider);
-		}
-		
-		return serverLabelProvider; 
-	}
-
-	/**
-	 * Returns the list of server creation wizard modifier.
-	 *
-	 * @return the list of server creation wizard modifier, or an empty list if none could be found
-	 */
-	public static List<ServerCreationWizardPageExtension> getServerCreationWizardPageExtensions() {
-		if (serverCreationWizardPageExtensions == null)
-			loadServerCreationWizardPageExtensions();
-
-		return serverCreationWizardPageExtensions;
-	}
-
- 	/**
-	 * Returns the list of server editor modifiers.
-	 *
-	 * @return the list of server editor modifiers, or an empty list if none could be found
-	 */
-	public static List<ServerEditorOverviewPageModifier> getServerEditorOverviewPageModifiers() {
-		if (serverEditorOverviewPageModifier == null)
-			loadServerEditorOverviewPageModifiers();
-		return serverEditorOverviewPageModifier;
-	}
-
-	/**
-	 * Load the Server creation wizard page modifiers.
-	 */
-	private static synchronized void loadServerCreationWizardPageExtensions() {
-		if (serverCreationWizardPageExtensions != null)
-			return;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .serverCreationWizardPageExtension extension point ->-");
-		}
-		serverCreationWizardPageExtensions = new ArrayList<ServerCreationWizardPageExtension>();
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "serverCreationWizardPageExtension");
-		
-		for (IConfigurationElement curConfigElement: cf) {
-			try {
-				// Create the class here already since the usage of the server wizard page will need to use all the extensions
-				// in all the calls.  Therefore, there is no need for lazy loading here.
-				ServerCreationWizardPageExtension curExtension = (ServerCreationWizardPageExtension)curConfigElement.createExecutableExtension("class");
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG,
-							"  Loaded .serverCreationWizardPageExtension: " + cf[0].getAttribute("id")
-									+ ", loaded class=" + curExtension);
-				}
-				if (curExtension != null)
-					serverCreationWizardPageExtensions.add(curExtension);
-
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Could not load .serverCreationWizardPageExtension: " + cf[0].getAttribute("id"), t);
-				}
-			}
-		}
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .serverCreationWizardPageExtension extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the Server editor page modifiers.
-	 */
-	private static synchronized void loadServerEditorOverviewPageModifiers() {
-		if (serverEditorOverviewPageModifier != null)
-			return;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .serverEditorOverviewPageModifier extension point ->-");
-		}
-		serverEditorOverviewPageModifier = new ArrayList<ServerEditorOverviewPageModifier>();
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "serverEditorOverviewPageModifier");
-		
-		for (IConfigurationElement curConfigElement: cf) {
-			try {
-				ServerEditorOverviewPageModifier curExtension = (ServerEditorOverviewPageModifier)curConfigElement.createExecutableExtension("class");
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG,
-							"  Loaded .serverEditorOverviewPageModifier: " + cf[0].getAttribute("id")
-									+ ", loaded class=" + curExtension);
-				}
-				if (curExtension != null)
-					serverEditorOverviewPageModifier.add(curExtension);
-
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Could not load .serverEditorOverviewPageModifier: " + cf[0].getAttribute("id"), t);
-				}
-			}
-		}
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .serverEditorOverviewPageModifier extension point -<-");
-		}
-	}
-	
-	/**
-	 * Load the Server Label Providers. If there is two implemented for a ServerType the adopters ServerLabelProviders
-	 * will be ignored an a default will be returned
-	 */
-	private static synchronized void loadServerLabelProvider() {
-		if (serverLabelProviders != null)
-			return;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .serverLabelProvider extension point ->-");
-		}
-		serverLabelProviders = new HashMap<String,AbstractServerLabelProvider>();
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "serverLabelProvider");
-		
-		for (IConfigurationElement curConfigElement: cf) {
-			// load the extension in a safe enviroment. If there are NPEs or missconfigurations they will be caught by try/catch
-			String[] exServerTypes = ServerPlugin.tokenize(curConfigElement.getAttribute("serverTypes"), ",");
-			for (String exServerType : exServerTypes) {
-				try {
-					if (serverLabelProviders.containsKey(exServerType)){
-						if (Trace.WARNING) {
-							Trace.trace(Trace.STRING_WARNING, "More that one .serverLabelProvider found - ignoring");
-						}
-						serverLabelProviders.put(exServerType, defaultServerLabelProvider);
-					}
-					else{
-						AbstractServerLabelProvider exClass = (AbstractServerLabelProvider)curConfigElement.createExecutableExtension("class");
-						if (Trace.CONFIG) {
-							Trace.trace(Trace.STRING_CONFIG,
-									"  Loaded .serverLabelProvider: " + curConfigElement.getAttribute("id")
-											+ ", loaded class=" + exClass);
-						}
-						serverLabelProviders.put(exServerType, exClass); 
-					}
-				} catch (Throwable t) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE,
-								"  Could not load .serverLabelProvider: " + curConfigElement.getAttribute("id"), t);
-					}
-				}
-			}
-		}		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .serverLabelProvider extension point -<-");
-		}
-	}	
-	
-	/**
-	 * Load the initial selection provider.
-	 */
-	private static synchronized void loadInitialSelectionProvider() {
-		if (selectionProvider != null)
-			return;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .initialSelectionProvider extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "initialSelectionProvider");
-		
-		if (cf.length == 1) {
-			try {
-				selectionProvider = (InitialSelectionProvider) cf[0].createExecutableExtension("class");
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded initialSelectionProvider: " + cf[0].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"  Could not load initialSelectionProvider: " + cf[0].getAttribute("id"), t);
-				}
-			}
-		} else if (cf.length > 1)
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "More that one initial selection provider found - ignoring");
-			}
-		else if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "No initial selection provider found");
-		}
-		
-		if (selectionProvider == null)
-			selectionProvider = new InitialSelectionProvider();
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .initialSelectionProvider extension point -<-");
-		}
-	}
-
-	protected static WizardFragment getWizardFragment(WizardFragmentData fragment) {
-		if (fragment == null)
-			return null;
-		
-		if (fragment.fragment == null) {
-			try {
-				long time = System.currentTimeMillis();
-				fragment.fragment = (WizardFragment) fragment.ce.createExecutableExtension("class");
-				if (Trace.PERFORMANCE) {
-					Trace.trace(Trace.STRING_PERFORMANCE,
-							"ServerUIPlugin.getWizardFragment(): <" + (System.currentTimeMillis() - time) + "> "
-									+ fragment.ce.getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE,
-							"Could not create wizardFragment: " + fragment.ce.getAttribute("id"), t);
-				}
-			}
-		}
-		return fragment.fragment;
-	}
-
-	public static void runOnServer(Object object, String launchMode) {
-		RunOnServerActionDelegate delegate = new RunOnServerActionDelegate();
-		Action action = new Action() {
-			// dummy action
-		};
-		if (object != null) {
-			StructuredSelection sel = new StructuredSelection(object);
-			delegate.selectionChanged(action, sel);
-		} else
-			delegate.selectionChanged(action, null);
-
-		delegate.run(action);
-	}
-
-	public static synchronized void addRegistryListener() {
-		if (registryListener != null)
-			return;
-		
-		registryListener = new RegistryChangeListener();
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		registry.addRegistryChangeListener(registryListener, ServerUIPlugin.PLUGIN_ID);
-	}
-
-	protected static void handleWizardFragmentDelta(IExtensionDelta delta) {
-		if (wizardFragments == null) // not loaded yet
-			return;
-		
-		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
-		
-		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(wizardFragments);
-		if (delta.getKind() == IExtensionDelta.ADDED) {
-			loadWizardFragments(cf, map);
-		} else {
-			/*int size = wizardFragments.size();
-			WizardFragment[] wf = new WizardFragment[size];
-			wizardFragments.toArray(wf);
-			int size2 = cf.length;
-			
-			for (int i = 0; i < size; i++) {
-				for (int j = 0; j < size2; j++) {
-					if (wf[i].getId().equals(cf[j].getAttribute("id"))) {
-						wf[i].dispose();
-						wizardFragments.remove(wf[i]);
-					}
-				}
-			}*/
-		}
-		wizardFragments = map;
-	}
-
-	/**
-	 * Utility method to tokenize a string into an array.
-	 * 
-	 * @param str a string to be parsed
-	 * @param delim the delimiters
-	 * @return an array containing the tokenized string
-	 */
-	public static String[] tokenize(String str, String delim) {
-		if (str == null)
-			return new String[0];
-		
-		List<String> list = new ArrayList<String>();
-		
-		StringTokenizer st = new StringTokenizer(str, delim);
-		while (st.hasMoreTokens()) {
-			String s = st.nextToken();
-			if (s != null && s.length() > 0)
-				list.add(s.trim());
-		}
-		
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	/**
-	 * Returns the launchable clients for the given server and launchable
-	 * object.
-	 * 
-	 * @param server org.eclipse.wst.server.core.IServer
-	 * @param launchable
-	 * @param launchMode String
-	 * @return an array of clients
-	 */
-	public static IClient[] getClients(IServer server, Object launchable, String launchMode) {
-		if (server == null || launchable == null)
-			return new IClient[0];
-		
-		ArrayList<IClient> list = new ArrayList<IClient>(5);
-		IClient[] clients = ServerPlugin.getClients();
-		if (clients != null) {
-			int size = clients.length;
-			for (int i = 0; i < size; i++) {
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "client= " + clients[i]);
-				}
-				if (clients[i].supports(server, launchable, launchMode))
-					list.add(clients[i]);
-			}
-		}
-		
-		IClient[] clients2 = new IClient[list.size()];
-		list.toArray(clients2);
-		return clients2;
-	}
-
-	public static Object[] getLaunchableAdapter(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
-		ILaunchableAdapter[] adapters = ServerPlugin.getLaunchableAdapters();
-		if (adapters != null) {
-			int size2 = adapters.length;
-			IStatus lastStatus = null;
-			for (int j = 0; j < size2; j++) {
-				ILaunchableAdapter adapter = adapters[j];
-				try {
-					Object launchable2 = adapter.getLaunchable(server, moduleArtifact);
-					if (Trace.FINEST) {
-						Trace.trace(Trace.STRING_FINEST, "adapter= " + adapter + ", launchable= " + launchable2);
-					}
-					if (launchable2 != null)
-						return new Object[] { adapter, launchable2 };
-				} catch (CoreException ce) {
-					lastStatus = ce.getStatus();
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error in launchable adapter", e);
-					}
-				}
-			}
-			if (lastStatus != null)
-				throw new CoreException(lastStatus);
-		}
-		
-		// backup
-		ILaunchableAdapter launchableAdapter = ServerPlugin.findLaunchableAdapter(DefaultLaunchableAdapter.ID);
-		Object launchable = launchableAdapter.getLaunchable(server, moduleArtifact);
-		return new Object[] { launchableAdapter, launchable };
-	}
-
-	public static Object[] adaptLabelChangeObjects(Object[] obj) {
-		if (obj == null)
-			return obj;
-		
-		List<Object> list = new ArrayList<Object>();
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			if (obj[i] instanceof IModule) {
-				list.add(obj[i]);
-			} else if (obj[i] instanceof IServer) {
-				list.add(obj[i]);
-			} else if (obj[i] instanceof ModuleServer) {
-				list.add(obj[i]);
-			} else if (obj[i] instanceof IProject) {
-				IProject proj = (IProject) obj[i];
-				IModule[] m = ServerUtil.getModules(proj);
-				int size2 = m.length;
-				for (int j = 0; j < size2; j++)
-					list.add(m[j]);
-			}
-		}
-		
-		Object[] o = new Object[list.size()];
-		list.toArray(o);
-		return o;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java
deleted file mode 100644
index 8f28696..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.Preferences;
-/**
- * Helper class that stores preference information for server tools UI.
- */
-public class ServerUIPreferences {
-	private static final String PREF_IMPORT_LOCATION = "import-location";
-	private static final String PREF_SAVE_EDITORS = "save-editors";
-	private static final String PREF_HOST_NAMES = "host-names";
-	private static final String PREF_SHOW_ON_ACTIVITY = "show-on-activity";
-	private static final String PREF_LAUNCH_MODE = "launch-mode";
-	private static final String PREF_LAUNCH_MODE2 = "launch-mode2";
-	private static final String PREF_ENABLE_BREAKPOINTS = "enable-breakpoints";
-	private static final String PREF_RESTART = "restart";
-	private static final String PREF_CREATE_SERVER_WITH_RUNTIME = "create-server";
-	private static final String PREF_PUBLISH_ON_ADD_REMOVE = "publish-on-add-remove";
-
-	public static final byte SAVE_EDITORS_ALWAYS = 2;
-	public static final byte SAVE_EDITORS_NEVER = 0;
-	public static final byte SAVE_EDITORS_PROMPT = 1;
-
-	public static final byte LAUNCH_MODE_PROMPT = 0;
-	public static final byte LAUNCH_MODE_CONTINUE = 1;
-	public static final byte LAUNCH_MODE_RESTART = 2;
-
-	public static final byte LAUNCH_MODE2_PROMPT = 0;
-	public static final byte LAUNCH_MODE2_CONTINUE = 1;
-	public static final byte LAUNCH_MODE2_RESTART = 2;
-	public static final byte LAUNCH_MODE2_DISABLE_BREAKPOINTS = 3;
-
-	public static final byte ENABLE_BREAKPOINTS_PROMPT = 0;
-	public static final byte ENABLE_BREAKPOINTS_ALWAYS = 1;
-	public static final byte ENABLE_BREAKPOINTS_NEVER = 2;
-
-	public static final byte RESTART_PROMPT = 0;
-	public static final byte RESTART_ALWAYS = 1;
-	public static final byte RESTART_NEVER = 2;
-
-	private static final int MAX_HOSTNAMES = 10;
-
-	private Preferences preferences;
-
-	private static ServerUIPreferences instance;
-
-	/**
-	 * ServerUIPreference constructor comment.
-	 */
-	private ServerUIPreferences() {
-		super();
-		preferences = ServerUIPlugin.getInstance().getPluginPreferences();
-		setDefaults();
-	}
-
-	public static ServerUIPreferences getInstance() {
-		if (instance == null)
-			instance = new ServerUIPreferences();
-		return instance;
-	}
-
-	private void setDefaults() {
-		preferences.setDefault(PREF_LAUNCH_MODE, getDefaultLaunchMode());
-		preferences.setDefault(PREF_LAUNCH_MODE2, getDefaultLaunchMode2());
-		preferences.setDefault(PREF_ENABLE_BREAKPOINTS, getDefaultEnableBreakpoints());
-		preferences.setDefault(PREF_RESTART, getDefaultRestart());
-		preferences.setDefault(PREF_SAVE_EDITORS, getDefaultSaveEditors());
-		preferences.setDefault(PREF_HOST_NAMES, "localhost");
-		preferences.setDefault(PREF_SHOW_ON_ACTIVITY, true);
-		preferences.setDefault(PREF_CREATE_SERVER_WITH_RUNTIME, false);
-		preferences.setDefault(PREF_PUBLISH_ON_ADD_REMOVE, true);
-	}
-
-	/**
-	 * Returns the default value of whether the user should be prompted
-	 * when the launch mode of the server doesn't match.
-	 *
-	 * @return byte
-	 */
-	public byte getDefaultLaunchMode() {
-		return LAUNCH_MODE_PROMPT;
-	}
-
-	/**
-	 * Returns whether the user should be prompted when the launch mode
-	 * of the server doesn't match.
-	 * 
-	 * @return int
-	 */
-	public int getLaunchMode() {
-		return preferences.getInt(PREF_LAUNCH_MODE);
-	}
-
-	/**
-	 * Sets whether the user should be prompted when the launch mode
-	 * of the server doesn't match.
-	 *
-	 * @param b a launch mode constant
-	 */
-	public void setLaunchMode(int b) {
-		preferences.setValue(PREF_LAUNCH_MODE, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the default value of whether the user should be prompted
-	 * when the launch mode of the server doesn't match.
-	 *
-	 * @return byte
-	 */
-	public byte getDefaultLaunchMode2() {
-		return LAUNCH_MODE2_PROMPT;
-	}
-
-	/**
-	 * Returns whether the user should be prompted when the launch mode
-	 * of the server doesn't match.
-	 * 
-	 * @return int
-	 */
-	public int getLaunchMode2() {
-		return preferences.getInt(PREF_LAUNCH_MODE2);
-	}
-
-	/**
-	 * Sets whether the user should be prompted when the launch mode
-	 * of the server doesn't match.
-	 *
-	 * @param b a launch mode constant
-	 */
-	public void setLaunchMode2(int b) {
-		preferences.setValue(PREF_LAUNCH_MODE2, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the default value of whether the user should be prompted
-	 * when the breakpoint enablement doesn't match the server state.
-	 *
-	 * @return int
-	 */
-	public byte getDefaultEnableBreakpoints() {
-		return ENABLE_BREAKPOINTS_PROMPT;
-	}
-
-	/**
-	 * Returns whether the user should be prompted when the breakpoint
-	 * enablement doesn't match the server state.
-	 * 
-	 * @return int
-	 */
-	public int getEnableBreakpoints() {
-		return preferences.getInt(PREF_ENABLE_BREAKPOINTS);
-	}
-
-	/**
-	 * Sets whether the user should be prompted when the breakpoint
-	 * enablement doesn't match the server state.
-	 *
-	 * @param b a breakpoint enablement constant
-	 */
-	public void setEnableBreakpoints(int b) {
-		preferences.setValue(PREF_ENABLE_BREAKPOINTS, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the default value of whether the user should be prompted
-	 * when the server requires restarting.
-	 *
-	 * @return int
-	 */
-	public byte getDefaultRestart() {
-		return RESTART_PROMPT;
-	}
-
-	/**
-	 * Returns whether the user should be prompted when the server requires
-	 * restarting.
-	 * 
-	 * @return int
-	 */
-	public int getRestart() {
-		return preferences.getInt(PREF_RESTART);
-	}
-
-	/**
-	 * Sets whether the user should be prompted when the server requires restarting.
-	 *
-	 * @param b a breakpoint enablement constant
-	 */
-	public void setRestart(int b) {
-		preferences.setValue(PREF_RESTART, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the import location.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getImportLocation() {
-		return preferences.getString(PREF_IMPORT_LOCATION);
-	}
-
-	/**
-	 * Sets the import location.
-	 *
-	 * @param s the import location
-	 */
-	public void setImportLocation(String s) {
-		preferences.setValue(PREF_IMPORT_LOCATION, s);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the default setting for saving editors before launching.
-	 * 
-	 * @return byte
-	 */
-	public byte getDefaultSaveEditors() {
-		return SAVE_EDITORS_PROMPT;
-	}
-
-	/**
-	 * Returns the setting for saving editors before launching.
-	 * 
-	 * @return byte
-	 */
-	public byte getSaveEditors() {
-		return (byte) preferences.getInt(PREF_SAVE_EDITORS);
-	}
-
-	/**
-	 * Sets the value for saving editors before launching.
-	 * 
-	 * @param b
-	 */
-	public void setSaveEditors(byte b) {
-		preferences.setValue(PREF_SAVE_EDITORS, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the default setting for opening the servers view on activity.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getDefaultShowOnActivity() {
-		return true;
-	}
-
-	/**
-	 * Returns the setting for opening the servers view on activity.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getShowOnActivity() {
-		return preferences.getBoolean(PREF_SHOW_ON_ACTIVITY);
-	}
-
-	/**
-	 * Sets the value for opening the servers view on activity.
-	 * 
-	 * @param b
-	 */
-	public void setShowOnActivity(boolean b) {
-		preferences.setValue(PREF_SHOW_ON_ACTIVITY, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Return the list of most recently used hostnames.
-	 * 
-	 * @return the hostnames
-	 */
-	public List<String> getHostnames() {
-		String s = preferences.getString(PREF_HOST_NAMES);
-		StringTokenizer st = new StringTokenizer(s, "|*|");
-		List<String> list = new ArrayList<String>();
-		while (st.hasMoreTokens()) {
-			list.add(st.nextToken());
-		}
-		return list;
-	}
-
-	/**
-	 * Add a new hostname to the most recently used list.
-	 *  
-	 * @param hostname
-	 */
-	public void addHostname(String hostname) {
-		if ("localhost".equals(hostname))
-			return;
-		
-		List<String> list = getHostnames();
-		
-		// remove duplicates
-		if (list.contains(hostname))
-			list.remove(hostname);
-		
-		// always add second (leave localhost first)
-		list.add(1, hostname);
-		
-		// remove least used hostname
-		if (list.size() > MAX_HOSTNAMES)
-			list.remove(list.size() - 1);
-		
-		StringBuffer sb = new StringBuffer();
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			String s = (String) iterator.next();
-			sb.append(s);
-			sb.append("|*|");
-		}
-		preferences.setValue(PREF_HOST_NAMES, sb.toString());
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the setting for whether a server should be created with runtimes
-	 * when possible.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getCreateServerWithRuntime() {
-		return preferences.getBoolean(PREF_CREATE_SERVER_WITH_RUNTIME);
-	}
-
-	/**
-	 * Sets the value for whether a server should be created with runtimes
-	 * when possible.
-	 * 
-	 * @param b
-	 */
-	public void setCreateServerWithRuntime(boolean b) {
-		preferences.setValue(PREF_CREATE_SERVER_WITH_RUNTIME, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns the setting for publishing when modules are added or removed.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getPublishOnAddRemoveModule() {
-		return preferences.getBoolean(PREF_PUBLISH_ON_ADD_REMOVE);
-	}
-
-	/**
-	 * Sets the value for publishing when modules are added or removed.
-	 * 
-	 * @param b
-	 */
-	public void setPublishOnAddRemoveModule(boolean b) {
-		preferences.setValue(PREF_PUBLISH_ON_ADD_REMOVE, b);
-		ServerUIPlugin.getInstance().savePluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Startup.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Startup.java
deleted file mode 100644
index 0cf1af2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Startup.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.IStartup;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.util.PublishAdapter;
-import org.eclipse.wst.server.ui.internal.audio.Audio;
-/**
- *
- */
-public class Startup implements IStartup {
-	/**
-	 * @see org.eclipse.wst.server.core.internal.IStartup#startup()
-	 */
-	public void startup() {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Audio startup");
-		}
-
-		final IPublishListener publishListener = new PublishAdapter() {
-			public void publishFinished(IServer server, IStatus status) {
-				Audio.playSound("org.eclipse.wst.server.sound.publishFinished");
-			}
-		};
-		
-		final IServerListener serverListener = 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)
-						Audio.playSound("org.eclipse.wst.server.sound.serverStart");
-					else if (state == IServer.STATE_STOPPED)
-						Audio.playSound("org.eclipse.wst.server.sound.serverStop");
-				}
-			}
-		};
-
-		IServerLifecycleListener listener = new IServerLifecycleListener() {
-			public void serverAdded(IServer server) {
-				server.addServerListener(serverListener);
-				((Server) server).addPublishListener(publishListener);
-			}
-			
-			public void serverChanged(IServer server) {
-				// do nothing
-			}
-
-			public void serverRemoved(IServer server) {
-				server.removeServerListener(serverListener);
-				((Server) server).removePublishListener(publishListener);
-			}
-		};
-		ServerCore.addServerLifecycleListener(listener);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java
deleted file mode 100644
index a14eb77..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-/**
- * Dialog that prompts a user to see if a server should
- * be terminated.
- */
-public class TerminationDialog extends Dialog {
-	protected String serverName;
-
-	/**
-	 * TerminationDialog constructor comment.
-	 * 
-	 * @param parentShell a shell
-	 * @param serverName a server name
-	 */
-	public TerminationDialog(Shell parentShell, String serverName) {
-		super(parentShell);
-		this.serverName = serverName;
-		setBlockOnOpen(true);
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.terminateServerDialogTitle);
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 *
-	 * @param parent the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-	
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(NLS.bind(Messages.terminateServerDialogMessage, new String[] {serverName}));
-		GridData data = new GridData();
-		data.widthHint = 400;
-		label.setLayoutData(data);
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Timer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Timer.java
deleted file mode 100644
index f6b1024..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Timer.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-/**
- * Manages a single timer that will run and notify an ActionListener when the
- * timer expires. The dispose() method should be called before the timer object
- * is taken down in order to safely bring down the executor and any associated threads.
- */
-public class Timer {
-
-	private ExecutorService executor = Executors.newSingleThreadExecutor();
-	private TimerRunnable timerRunnable = new TimerRunnable();
-	protected ActionListener listener = null;
-	private long delay;
-
-	public Timer(long delay, ActionListener curListener) {
-		super();
-		this.delay = delay;
-		listener = curListener;
-	}
-
-	/**
-	 * Runs the timer if it is stopped or updates the stop time directly
-	 * to effectively restart the timer.
-	 * only one command should be executed at a time. 
-	 */
-	public void runTimer(){
-		timerRunnable.setStopTime(System.currentTimeMillis() + delay);
-
-		if(!timerRunnable.isRunning() && !timerRunnable.isScheduled()){
-			timerRunnable.setIsScheduled(true);
-			executor.execute(timerRunnable);
-		}
-	}
-
-	/**
-	 * Cancels the timer and then kills the executor which brings down the thread.
-	 */
-	public void dispose(){
-		if(timerRunnable.isRunning()) {
-			timerRunnable.setIsCancelled(true);
-		}
-		killExecutor();
-	}
-
-	public void killExecutor(){
-		executor.shutdown();
-	}
-
-	public boolean isRunning(){
-		return timerRunnable.isRunning();
-	}
-
-	public boolean isScheduled(){
-		return timerRunnable.isScheduled();
-	}
-
-	/**
-	 * This is the Runnable that is called by the executor each time we want to
-	 * run the timer.
-	 */
-	class TimerRunnable implements Runnable {
-
-		private boolean isScheduled = false;
-		private boolean isRunning = false;
-		private boolean isCancelled = false;
-		private long stopTime = 0;
-		// default is 50 ms
-		private long waitTime = 50;
-
-		public void run() {
-			isRunning = true;
-			isScheduled = false;
-			try {
-				while (stopTime - System.currentTimeMillis() > 0 && isRunning && !isCancelled) {
-					try {
-						synchronized (this) {
-							wait(waitTime);
-						}
-						if (Thread.interrupted())
-							throw new InterruptedException();
-					} catch (InterruptedException e) {
-						// Do nothing
-					}
-				}
-				if (!isCancelled) {
-					if (listener != null) {
-						listener.actionPerformed(new ActionEvent(Timer.this, 0, "", System.currentTimeMillis(), 0));
-					}
-				} else {
-					setIsCancelled(false);
-				}
-			} finally {
-				isRunning = false;
-			}
-		}
-
-		public synchronized boolean isRunning() {
-			return isRunning;
-		}
-
-		public synchronized void setRunning(boolean setting) {
-			isRunning = setting;
-		}
-
-		public synchronized long getStopTime() {
-			return stopTime;
-		}
-
-		public synchronized void setStopTime(long time) {
-			stopTime = time;
-		}
-
-		public synchronized long getWaitTime() {
-			return waitTime;
-		}
-
-		public synchronized void setIsCancelled(boolean cancelled) {
-			isCancelled = cancelled;
-		}
-
-		public boolean isScheduled() {
-			return isScheduled;
-		}
-
-		public void setIsScheduled(boolean isScheduled) {
-			this.isScheduled = isScheduled;
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java
deleted file mode 100644
index 2a4f5e8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptionsListener;
-
-/**
- * Helper class to route trace output.
- */
-public class Trace implements DebugOptionsListener {
-
-	public static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS"); //$NON-NLS-1$
-
-	public static Set<String> logged = new HashSet<String>();
-
-	// tracing enablement flags
-	public static boolean CONFIG = false;
-	public static boolean INFO = false;
-	public static boolean WARNING = false;
-	public static boolean SEVERE = false;
-	public static boolean FINEST = false;
-	public static boolean FINER = false;
-	public static boolean PERFORMANCE = false;
-	public static boolean EXTENSION_POINT = false;
-
-	// tracing levels. One most exist for each debug option
-	public final static String STRING_CONFIG = "/config"; //$NON-NLS-1$
-	public final static String STRING_INFO = "/info"; //$NON-NLS-1$
-	public final static String STRING_WARNING = "/warning"; //$NON-NLS-1$
-	public final static String STRING_SEVERE = "/severe"; //$NON-NLS-1$
-	public final static String STRING_FINEST = "/finest"; //$NON-NLS-1$
-	public final static String STRING_FINER = "/finer"; //$NON-NLS-1$
-	public final static String STRING_EXTENSION_POINT = "/extension_point"; //$NON-NLS-1$
-	public final static String STRING_PERFORMANCE = "/performance"; //$NON-NLS-1$
-	
-	/**
-	 * Trace constructor. This should never be explicitly called by clients and is used to register this class with the
-	 * {@link DebugOptions} service.
-	 */
-	public Trace() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.osgi.service.debug.DebugOptionsListener#optionsChanged(org.eclipse.osgi.service.debug.DebugOptions)
-	 */
-	public void optionsChanged(DebugOptions options) {
-		Trace.CONFIG = options.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_CONFIG, false);
-		Trace.INFO = options.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_INFO, false);
-		Trace.WARNING = options.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_WARNING, false);
-		Trace.SEVERE = options.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_SEVERE, false);
-		Trace.FINER = options.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_FINER, false);
-		Trace.FINEST = options.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_FINEST, false);
-		Trace.EXTENSION_POINT = options
-				.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_EXTENSION_POINT, false);
-		Trace.PERFORMANCE = options.getBooleanOption(ServerUIPlugin.PLUGIN_ID + Trace.STRING_PERFORMANCE, false);
-	}
-
-	/**
-	 * Trace the given message.
-	 * 
-	 * @param level
-	 *            The tracing level.
-	 * @param s
-	 *            The message to trace
-	 */
-	public static void trace(final String level, final String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level
-	 *            The tracing level.
-	 * @param s
-	 *            The message to trace
-	 * @param t
-	 *            A {@link Throwable} to trace
-	 */
-	public static void trace(final String level, final String s, final Throwable t) {
-		if (s == null) {
-			return;
-		}
-		if (Trace.STRING_SEVERE.equals(level)) {
-			if (!logged.contains(s)) {
-				ServerUIPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, s, t));
-				logged.add(s);
-			}
-		}
-		if (ServerUIPlugin.getInstance().isDebugging()) {
-			StringBuffer sb = new StringBuffer(ServerUIPlugin.PLUGIN_ID);
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(level);
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(sdf.format(new Date()));
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(s);
-			System.out.println(sb.toString());
-			if (t != null) {
-				t.printStackTrace();
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/WebLaunchableClient.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/WebLaunchableClient.java
deleted file mode 100644
index 3bb05a7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/WebLaunchableClient.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.ClientDelegate;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-/**
- *
- */
-public class WebLaunchableClient extends ClientDelegate {
-	/*
-	 * @see ClientDelegate#supports(ILaunchable)
-	 */
-	public boolean supports(IServer server, Object launchable, String launchMode) {
-		return (launchable instanceof HttpLaunchable);
-	}
-
-	/*
-	 * @see ClientDelegate#launch(ILaunchable)
-	 */
-	public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch) {
-		HttpLaunchable http = (HttpLaunchable) launchable;
-		try {
-			IWorkbenchBrowserSupport browserSupport = ServerUIPlugin.getInstance().getWorkbench().getBrowserSupport();
-			IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR, null, null, null);
-			browser.openURL(http.getURL());
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error opening browser", e);
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java
deleted file mode 100644
index 4bde13a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java
+++ /dev/null
@@ -1,88 +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.ui.internal.actions;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate;
-/**
- * 
- */
-public abstract class AbstractServerActionDelegate implements IActionDelegate {
-	protected List<IServer> servers;
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 *
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	public abstract boolean accept(IServer server);
-
-	/**
-	 * Perform action on this server.
-	 * 
-	 * @param shell a shell
-	 * @param server a server
-	 */
-	public abstract void perform(Shell shell, IServer server);
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		Shell shell = EclipseUtil.getShell();
-		Iterator iterator = servers.iterator();
-		Object obj = iterator.next();
-		if (obj instanceof IServer) {
-			IServer server = (IServer) obj;
-			if (accept(server))
-				perform(shell, server);
-			selectionChanged(action, new StructuredSelection(servers));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		servers = new ArrayList<IServer>();
-		if (selection.isEmpty() || !(selection instanceof StructuredSelection)) {
-			action.setEnabled(false);
-			return;
-		}
-		
-		boolean enabled = false;
-		Iterator iterator = ((StructuredSelection) selection).iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServer) {
-				IServer server = (IServer) obj;
-				if (accept(server)) {
-					servers.add(server);
-					enabled = true;
-				}
-			} else {
-				action.setEnabled(false);
-				return;
-			}
-		}
-		action.setEnabled(enabled);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/BreakpointDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/BreakpointDialog.java
deleted file mode 100644
index 1285833..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/BreakpointDialog.java
+++ /dev/null
@@ -1,50 +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.ui.internal.actions;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Custom message dialog that is used when the server is not in the correct launch mode.
- */
-public class BreakpointDialog extends MessageDialog {
-	protected boolean remember;
-
-	public BreakpointDialog(Shell parentShell) {
-		super(parentShell, Messages.wizDebugOnServerTitle, null,
-			Messages.dialogBreakpoints, MessageDialog.WARNING,
-			new String[] {IDialogConstants.OK_LABEL, IDialogConstants.PROCEED_LABEL,
-			IDialogConstants.CANCEL_LABEL}, 0);
-	}
-
-	protected Control createCustomArea(Composite parent) {
-		final Button rememberB = new Button(parent, SWT.CHECK);
-		rememberB.setText(Messages.dialogRemember);
-		rememberB.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				remember = rememberB.getSelection();
-			}
-		});
-		return rememberB;
-	}
-
-	public boolean isRemember() {
-		return remember;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java
deleted file mode 100644
index a1ee767..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.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.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.ui.PlatformUI;
-/**
- * An abstract action that opens up a workbench wizard when run.
- */
-abstract class LaunchWizardAction extends Action {
-	/**
-	 * LaunchWizardAction
-	 */
-	public LaunchWizardAction() {
-		super();
-	}
-
-	/**
-	 * Return the workbench wizard that should be opened.
-	 *
-	 * @return the wizard to open
-	 */
-	protected abstract IWorkbenchWizard getWizard();
-
-	/*
-	 * @see IAction.run()
-	 */
-	public void run() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-		ISelection selection = workbenchWindow.getSelectionService().getSelection();
-	
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-	
-		IWorkbenchWizard wizard = getWizard();
-		wizard.init(workbench, selectionToPass);
-		WizardDialog dialog = new WizardDialog(workbench.getActiveWorkbenchWindow().getShell(), wizard);
-		dialog.open();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java
deleted file mode 100644
index 136235a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.wizard.WizardDialog;
-
-import org.eclipse.wst.server.ui.internal.wizard.NewServerWizard;
-/**
- * Action to create a new server.
- */
-public class NewServerAction extends NewWizardAction {
-	protected String[] ids;
-	protected String[] values;
-
-	/**
-	 * Create a new NewServerAction.
-	 */
-	public NewServerAction() {
-		super();
-	}
-
-	/**
-	 * Create a new NewServerAction with some initial task model
-	 * properties.
-	 * 
-	 * @param ids
-	 * @param values
-	 */
-	public NewServerAction(String[] ids, String[] values) {
-		super();
-		this.ids = ids;
-		this.values = values;
-	}
-
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action) {
-		NewServerWizard wizard = null;
-		if (ids == null)
-			wizard = new NewServerWizard();
-		else
-			wizard = new NewServerWizard(ids, values);
-		wizard.init(workbench, selection);
-		WizardDialog dialog = new WizardDialog(workbench.getActiveWorkbenchWindow().getShell(), wizard);
-		dialog.open();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java
deleted file mode 100644
index 0c1a2f6..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.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.ui.internal.actions;
-
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.wizard.NewServerWizard;
-/**
- * An action to invoke the new server and server configuration wizard.
- */
-public class NewServerWizardAction extends LaunchWizardAction {
-	protected String[] ids;
-	protected String[] values;
-
-	/**
-	 * New server action.
-	 */
-	public NewServerWizardAction() {
-		super();
-	
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_NEW_SERVER));
-		setText(Messages.actionSetNewServer);
-	}
-	
-	/**
-	 * New server action.
-	 * 
-	 * @param ids ids to pass into the action
-	 * @param values values to pass into the action
-	 */
-	public NewServerWizardAction(String[] ids, String[] values) {
-		this();
-		this.ids = ids;
-		this.values = values;
-	}
-
-	/**
-	 * Return the wizard that should be opened.
-	 *
-	 * @return org.eclipse.ui.IWorkbenchWizard
-	 */
-	protected IWorkbenchWizard getWizard() {
-		return new NewServerWizard(ids, values);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java
deleted file mode 100644
index afcf36f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-/**
- * Action to create a new server element through a wizard.
- */
-public abstract class NewWizardAction implements IWorkbenchWindowActionDelegate {
-	protected IWorkbench workbench;
-	protected IStructuredSelection selection;
-
-	/**
-	 * NewWizardAction constructor comment.
-	 */
-	public NewWizardAction() {
-		super();
-	}
-
-	/**
-	 * Disposes this action delegate.  The implementor should unhook any references
-	 * to itself so that garbage collection can occur.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this action delegate with the workbench window it will work in.
-	 *
-	 * @param window the window that provides the context for this delegate
-	 */
-	public void init(IWorkbenchWindow window) {
-		workbench = window.getWorkbench();
-	}
-
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the
-	 * action or to modify other presentation properties.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of the action
-	 * @param sel the current selection in the workbench
-	 */
-	public void selectionChanged(IAction action, ISelection sel) {
-		if (sel instanceof IStructuredSelection)
-			selection = (IStructuredSelection) sel;
-		else
-			selection = null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/OptionsMessageDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/OptionsMessageDialog.java
deleted file mode 100644
index 2de77e3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/OptionsMessageDialog.java
+++ /dev/null
@@ -1,104 +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.ui.internal.actions;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Custom message dialog that displays a set of options.
- * Return value is the option
- */
-public class OptionsMessageDialog extends MessageDialog {
-	protected int radio;
-	protected boolean remember;
-	protected String[] options;
-
-	public OptionsMessageDialog(Shell parentShell, String title, String dialogMessage, String[] options) {
-		super(parentShell, title, null, dialogMessage, MessageDialog.QUESTION,
-			new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0);
-		this.options = options;
-		if (options == null)
-			throw new IllegalArgumentException("Must have at least one option");
-	}
-
-	protected Control createDialogArea(Composite parent) {
-      // create message area
-      createMessageArea(parent);
-      // create the top level composite for the dialog area
-      /*Composite composite = new Composite(parent, SWT.NONE);
-      GridLayout layout = new GridLayout();
-      layout.marginHeight = 0;
-      layout.marginWidth = 0;
-      composite.setLayout(layout);
-      GridData data = new GridData(GridData.FILL_BOTH);
-      data.horizontalSpan = 2;
-      composite.setLayoutData(data);*/
-      createCustomArea(parent);
-      return parent;
-  }
-
-	protected Control createCustomArea(Composite parent) {
-		int size = options.length;
-		for (int i = 0; i < size; i++) {
-			new Label(parent, SWT.NONE);
-			
-			Button radioB = new Button(parent, SWT.RADIO);
-			radioB.setText(options[i]);
-			final int x = i;
-			radioB.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					radio = x;
-				}
-			});
-			if (i == 0) {
-				radioB.setSelection(true);
-				radio = 0;
-			}
-		}
-		
-		new Label(parent, SWT.NONE);
-		new Label(parent, SWT.NONE);
-		
-		final Button rememberB = new Button(parent, SWT.CHECK);
-		rememberB.setText(Messages.dialogRemember);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		rememberB.setLayoutData(data);
-		rememberB.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				remember = rememberB.getSelection();
-			}
-		});
-		return rememberB;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == 0)
-			setReturnCode(radio);
-		else
-			setReturnCode(9);
-		close();
-	}
-
-	public boolean isRemember() {
-		return remember;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java
deleted file mode 100644
index d516a92..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * "Run on Server" menu action. Allows the user to select an
- * object, and have automatic server creation, launching, and
- * the appropriate client to appear. A new instance of this
- * action must be created for each object that the user selects.
- */
-public class RunOnServerAction extends Action {
-	protected RunOnServerActionDelegate delegate;
-
-	protected HashMap<String,Object> map;
-	/**
-	 * Run on server action.
-	 * 
-	 * @param object the object to attempt to debug
-	 */
-	public RunOnServerAction(Object object) {
-		super(Messages.actionRunOnServer);
-	
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_RUN_ON_SERVER));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_RUN_ON_SERVER));
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_RUN_ON_SERVER));
-	
-		delegate = new RunOnServerActionDelegate();
-		if (object != null) {
-			StructuredSelection sel = new StructuredSelection(object);
-			delegate.selectionChanged(this, sel);
-		} else
-			delegate.selectionChanged(this, null);
-	}
-	
-	public RunOnServerAction(Object object, HashMap<String,Object> map){		
-		this(object);
-		delegate.setMap(map);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
deleted file mode 100644
index f757449..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
+++ /dev/null
@@ -1,921 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
-
-import java.util.*;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.core.internal.ILaunchableAdapter;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.viewers.ModuleArtifactComposite;
-import org.eclipse.wst.server.ui.internal.wizard.RunOnServerWizard;
-/**
- * Support for starting/stopping server and clients for resources running on a server.
- */
-public class RunOnServerActionDelegate implements IWorkbenchWindowActionDelegate {
-	protected static final String[] launchModes = {
-		ILaunchManager.RUN_MODE, ILaunchManager.DEBUG_MODE, ILaunchManager.PROFILE_MODE };
-
-	public static String ROS_CLIENT = "ros_client";
-	public static String ROS_LAUNCHABLE = "ros_launchable";
-	
-	protected Object selection;
-
-	protected IWorkbenchWindow window;
-
-	protected static Object globalSelection;
-
-	protected static Map<String, Boolean> globalLaunchMode;
-	protected String launchMode = ILaunchManager.RUN_MODE;
-
-	protected boolean tasksAndClientShown;
-	
-	protected HashMap<String, Object> wiz_properties; 
-
-	protected ILaunchableAdapter launchableAdapter;
-	protected IClient client;
-
-	/**
-	 * RunOnServerActionDelegate constructor comment.
-	 */
-	public RunOnServerActionDelegate() {
-		super();
-	}
-	
-	/**
-	 * RunOnServerActionDelegate constructor comment.
-	 */
-	public RunOnServerActionDelegate(HashMap<String, Object>properties) {
-		this.wiz_properties = properties;
-	}
-	
-	public void setActionProperties(HashMap<String,Object>properties){
-		this.wiz_properties = properties;
-	}
-
-	/**
-	 * Disposes this action delegate.  The implementor should unhook any references
-	 * to itself so that garbage collection can occur.
-	 */
-	public void dispose() {
-		window = null;
-	}
-
-	/**
-	 * Initializes this action delegate with the workbench window it will work in.
-	 *
-	 * @param newWindow the window that provides the context for this delegate
-	 */
-	public void init(IWorkbenchWindow newWindow) {
-		window = newWindow;
-	}
-
-	public IServer getServer(IModule module, IModuleArtifact moduleArtifact, IProgressMonitor monitor) throws CoreException {
-		IServer server = ServerCore.getDefaultServer(module);
-		
-		// ignore preference if the server doesn't support this mode.
-		if (server != null && !ServerUIPlugin.isCompatibleWithLaunchMode(server, launchMode))
-			server = null;
-		
-		if (server != null && !ServerUtil.containsModule(server, module, monitor)) {
-			IServerWorkingCopy wc = server.createWorkingCopy();
-			try {
-				ServerUtil.modifyModules(wc, new IModule[] { module }, new IModule[0], monitor);
-				wc.save(false, monitor);
-			} catch (CoreException ce) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Could not add module to server", ce);
-				}
-				server = null;
-			}
-		}
-		
-		Shell shell;
-		if (window != null)
-			shell = window.getShell();
-		else
-			shell = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		
-		if (server == null) {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Launching wizard");
-			}
-			RunOnServerWizard wizard = new RunOnServerWizard(module, launchMode, moduleArtifact, wiz_properties);
-
-			WizardDialog dialog = new WizardDialog(shell, wizard);
-			if (dialog.open() == Window.CANCEL) {
-				if (monitor != null)
-					monitor.setCanceled(true);
-				return null;
-			}
-			
-			try {
-				Job.getJobManager().join("org.eclipse.wst.server.ui.family", null);
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "Error waiting for job", e);
-				}
-			}
-			server = wizard.getServer();
-			boolean preferred = wizard.isPreferredServer();
-			tasksAndClientShown = true;
-			if (client == null || launchableAdapter == null){
-				client = wizard.getSelectedClient();
-				launchableAdapter = wizard.getLaunchableAdapter();
-			}
-			
-			// set preferred server if requested
-			if (server != null && preferred) {
-				try {
-					ServerCore.setDefaultServer(module, server, monitor);
-				} catch (CoreException ce) {
-					String message = Messages.errorCouldNotSavePreference;
-					ErrorDialog.openError(shell, Messages.errorDialogTitle, message, ce.getStatus());
-				}
-			}
-		}
-		
-		try {
-			Job.getJobManager().join("org.eclipse.wst.server.ui.family", new NullProgressMonitor());
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error waiting for job", e);
-			}
-		}
-		
-		return server;
-	}
-
-	/**
-	 * Run the resource on a server.
-	 */
-	protected void run() {
-		final IModuleArtifact[] moduleArtifacts = ServerPlugin.getModuleArtifacts(selection);
-		if (moduleArtifacts == null || moduleArtifacts.length == 0 || moduleArtifacts[0] == null) {
-			EclipseUtil.openError(Messages.errorNoArtifact);
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "No module artifact found");
-			}
-			return;
-		}
-		
-		Shell shell2 = null;
-		if (window != null)
-			shell2 = window.getShell();
-		else {
-			try {
-				shell2 = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-			} catch (Exception e) {
-				// ignore
-			}
-			if (shell2 == null)
-				shell2 = Display.getDefault().getActiveShell();
-		}
-		final Shell shell = shell2;
-		final IAdaptable info = new IAdaptable() {
-			public Object getAdapter(Class adapter) {
-				if (Shell.class.equals(adapter))
-					return shell;
-				return null;
-			}
-		};
-		
-		// If there is more than 1 moduleArtifact, get a valid ModuleArtifact that we can use for launching
-		// TODO The ModuleArtifactComposite should be part of the RunOnServerWizard
-		final IModuleArtifact moduleArtifact;
-		if (moduleArtifacts.length > 1) {
-			ModuleArtifactComposite artifactComposite = new ModuleArtifactComposite(shell, moduleArtifacts, launchMode);
-			if (artifactComposite.open() == Window.CANCEL)
-				return;
-			
-			moduleArtifact = artifactComposite.getSelection();
-		} else
-			moduleArtifact = moduleArtifacts[0];
-		
-		if (moduleArtifact.getModule() == null) { // 149425
-			EclipseUtil.openError(Messages.errorNoModules);
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Module artifact not contained in a module");
-			}
-			return;
-		}
-		final IModule module = moduleArtifact.getModule();
-		
-		// check for servers with the given start mode
-		IServer[] servers = ServerCore.getServers();
-		boolean found = false;
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size && !found; i++) {
-				if (ServerUIPlugin.isCompatibleWithLaunchMode(servers[i], launchMode)) {
-					try {
-						IModule[] parents = servers[i].getRootModules(module, null);
-						if (parents != null && parents.length > 0)
-							found = true;
-					} catch (Exception e) {
-						// ignore
-					}
-				}
-			}
-		}
-		
-		if (!found) {
-			// no existing server supports the project and start mode!
-			// check if there might be another one that can be created
-			IServerType[] serverTypes = ServerCore.getServerTypes();
-			if (serverTypes != null) {
-				int size = serverTypes.length;
-				for (int i = 0; i < size && !found; i++) {
-					IServerType type = serverTypes[i];
-					IModuleType[] moduleTypes = type.getRuntimeType().getModuleTypes();
-					if (type.supportsLaunchMode(launchMode) && ServerUtil.isSupportedModule(moduleTypes, module.getModuleType())) {
-						found = true;
-					}
-				}
-			}
-			if (!found) {
-				EclipseUtil.openError(Messages.errorNoServer);
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "No server for start mode");
-				}
-				return;
-			}
-		}
-		
-		if (!ServerUIPlugin.saveEditors())
-			return;
-
-		tasksAndClientShown = false;
-		IServer server2 = null;
-		// initialize its value using the predefined value if one has been given
-		client = (IClient)getOverwriteValue(ROS_CLIENT);
-		launchableAdapter = (ILaunchableAdapter) getOverwriteValue(ROS_LAUNCHABLE);
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, 
-					"Client and launchableAdapter after setting predefined values: launchableAdapter="
-					+ launchableAdapter + " client=" + client);
-		}		
-		
-		try {
-			IProgressMonitor monitor = new NullProgressMonitor();
-			server2 = getServer(module, moduleArtifact, monitor);
-			if (monitor.isCanceled())
-				return;
-			
-			if (server2 != null) {
-				IFolder folder = server2.getServerConfiguration();
-				if (folder != null && folder.getProject() != null && !folder.getProject().isOpen())
-					folder.getProject().open(monitor);
-			}
-		} catch (CoreException ce) {
-			EclipseUtil.openError(shell, ce.getLocalizedMessage());
-			return;
-		}
-		final IServer server = server2;
-		//if (monitor.isCanceled())
-		//	return;
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Server: " + server);
-		}
-		
-		if (server == null) {
-			EclipseUtil.openError(Messages.errorNoServer);
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "No server found");
-			}
-			return;
-		}
-		
-		if (!ServerUIPlugin.promptIfDirty(shell, server))
-			return;
-		
-		// We need to check if the client and launchable were pre-populated
-		if (!tasksAndClientShown) {
-			RunOnServerWizard wizard = new RunOnServerWizard(server, launchMode, moduleArtifact, wiz_properties);
-			if (wizard.shouldAppear()) {
-				WizardDialog dialog = new WizardDialog(shell, wizard);
-				if (dialog.open() == Window.CANCEL)
-					return;
-			} else
-				wizard.performFinish();
-
-			// Do not overwrite the client or launchableAdapter value, as it may
-			// have been set by getOverwriteValue, which will add predefined values 
-			// if provided. There is no guarantee that getting the values (client and 
-			// launchableAadapter) from the wizard will be valid, since the values from
-			// the wizard are used only if the client and launchableAdapter are null
-			if (client == null){
-				client = wizard.getSelectedClient();
-			}
-			if (launchableAdapter == null){
-				launchableAdapter = wizard.getLaunchableAdapter();
-			}
-		}
-		
-		// if there is no client, use a dummy
-		if (client == null) {		
-			client = new IClient() {
-				public String getDescription() {
-					return Messages.clientDefaultDescription;
-				}
-
-				public String getId() {
-					return "org.eclipse.wst.server.ui.client.default";
-				}
-
-				public String getName() {
-					return Messages.clientDefaultName;
-				}
-
-				public IStatus launch(IServer server3, Object launchable2, String launchMode3, ILaunch launch) {
-					return Status.OK_STATUS;
-				}
-
-				public boolean supports(IServer server3, Object launchable2, String launchMode3) {
-					return true;
-				}
-			};
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, 
-					"Prior to creating launch client jobs: launchableAdapter="+ launchableAdapter + " client=" + client);
-		}
-		
-		if (moduleArtifact instanceof ModuleArtifactDelegate) {
-			boolean canLoad = false;
-			try {
-				Class c = Class.forName(moduleArtifact.getClass().getName());
-				if (c.newInstance() != null)
-					canLoad = true;
-			} catch (Throwable t) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING,
-							"Could not load module artifact delegate class, switching to backup");
-				}
-			}
-			if (canLoad) {
-				try {
-					IProgressMonitor monitor = new NullProgressMonitor();
-					ILaunchConfiguration config = getLaunchConfiguration(server, (ModuleArtifactDelegate) moduleArtifact, launchableAdapter, client, monitor);
-					config.launch(launchMode, monitor);
-				} catch (CoreException ce) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Could not launch Run on Server", ce);
-					}
-				}
-				return;
-			}
-		}
-		
-		Thread thread = new Thread("Run on Server") {
-			public void run() {
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "Ready to launch");
-				}
-				
-				// start server if it's not already started
-				// and cue the client to start
-				IModule[] modules = new IModule[] { module }; // TODO: get parent hierarchy correct
-				int state = server.getServerState();
-				if (state == IServer.STATE_STARTING) {
-					LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client);
-					clientJob.schedule();
-				} else if (state == IServer.STATE_STARTED) {
-					boolean restart = false;
-					String mode = server.getMode();
-					IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-					boolean disabledBreakpoints = false;
-					
-					if (server.getServerRestartState()) {
-						int result = openRestartDialog(shell);
-						if (result == 0) {
-							launchMode = mode;
-							restart = true;
-						} else if (result == 9) // cancel
-							return;
-					}
-					if (!restart) {
-						if (!ILaunchManager.RUN_MODE.equals(mode) && ILaunchManager.RUN_MODE.equals(launchMode)) {
-							boolean breakpointsOption = false;
-							if (breakpointManager.isEnabled() && ILaunchManager.DEBUG_MODE.equals(mode))
-								breakpointsOption = true;
-							int result = openOptionsDialog(shell, Messages.wizRunOnServerTitle, Messages.dialogModeWarningRun, breakpointsOption);
-							if (result == 0)
-								restart = true;
-							else if (result == 1) {
-								breakpointManager.setEnabled(false);
-								disabledBreakpoints = true;
-								launchMode = mode;
-							} else if (result == 2)
-								launchMode = mode;
-							else // result == 9 // cancel
-								return;
-						} else if (!ILaunchManager.DEBUG_MODE.equals(mode) && ILaunchManager.DEBUG_MODE.equals(launchMode)) {
-							int result = openOptionsDialog(shell, Messages.wizDebugOnServerTitle, Messages.dialogModeWarningDebug, false);
-							if (result == 0)
-								restart = true;
-							else if (result == 1)
-								launchMode = mode;
-							else // result == 9 // cancel
-								return;
-						} else if (!ILaunchManager.PROFILE_MODE.equals(mode) && ILaunchManager.PROFILE_MODE.equals(launchMode)) {
-							boolean breakpointsOption = false;
-							if (breakpointManager.isEnabled() && ILaunchManager.DEBUG_MODE.equals(mode))
-								breakpointsOption = true;
-							int result = openOptionsDialog(shell, Messages.wizProfileOnServerTitle, Messages.dialogModeWarningProfile, breakpointsOption);
-							if (result == 0)
-								restart = true;
-							else if (result == 1) {
-								breakpointManager.setEnabled(false);
-								disabledBreakpoints = true;
-								launchMode = mode;
-							} else if (result == 2)
-								launchMode = mode;
-							else // result == 9 // cancel
-								return;
-						}
-						
-						if (ILaunchManager.DEBUG_MODE.equals(launchMode)) {
-							if (!breakpointManager.isEnabled() && !disabledBreakpoints) {
-								int result = openBreakpointDialog(shell);
-								if (result == 0)
-									breakpointManager.setEnabled(true);
-								else if (result == 1) {
-									// ignore
-								} else // result == 2
-									return;
-							}
-						}
-					}
-					
-					final LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client);
-					if (restart) {
-						final IServer server3 = server;
-						server.restart(launchMode, new IServer.IOperationListener() {
-							public void done(IStatus result) {
-								// Only publish if the server requires publish before launching the client.
-								if (server3.shouldPublish()) {
-									server3.publish(IServer.PUBLISH_INCREMENTAL, null, info, new IServer.IOperationListener() {
-										public void done(IStatus result2) {
-											if (result2.isOK())
-												clientJob.schedule();
-										}
-									});
-								} else {
-									clientJob.schedule();
-								}
-							}
-						});
-					} else {
-						// Only publish if the server requires publish before launching the client.
-						if (server.shouldPublish()) {
-							server.publish(IServer.PUBLISH_INCREMENTAL, null, info, new IServer.IOperationListener() {
-								public void done(IStatus result) {
-									if (result.isOK())
-										clientJob.schedule();
-								}
-							});
-						} else {
-							clientJob.schedule();
-						}
-					}
-				} else if (state != IServer.STATE_STOPPING) {
-					final LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client);
-					
-					server.start(launchMode, new IServer.IOperationListener() {
-						public void done(IStatus result) {
-							if (result.isOK())
-								clientJob.schedule();
-						}
-					});
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	}
-
-	protected void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy config, IServer server, ModuleArtifactDelegate moduleArtifact, ILaunchableAdapter launchableAdapter, IClient client) {
-		String launchName = NLS.bind(Messages.runOnServerLaunchConfigName, moduleArtifact.getName());
-		launchName = getValidLaunchConfigurationName(launchName);
-		if (!launchName.equals(config.getName())) {
-			ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-			launchName = launchManager.generateUniqueLaunchConfigurationNameFrom(launchName);
-			config.rename(launchName);
-		}
-		
-		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_SERVER_ID, server.getId());
-		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_MODULE_ARTIFACT, moduleArtifact.serialize());
-		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_MODULE_ARTIFACT_CLASS, moduleArtifact.getClass().getName());
-		if (launchableAdapter != null)
-			config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_LAUNCHABLE_ADAPTER_ID, launchableAdapter.getId());
-		else
-			config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_LAUNCHABLE_ADAPTER_ID, (String)null);
-		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_CLIENT_ID, client.getId());
-		
-		try {
-			IProject project = moduleArtifact.getModule().getProject();
-			config.setMappedResources(new IResource[] { project });
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not associate launch with a project", e);
-			}
-		}
-	}
-
-	protected ILaunchConfiguration getLaunchConfiguration(IServer server, ModuleArtifactDelegate moduleArtifact, ILaunchableAdapter launchableAdapter2, IClient client2, IProgressMonitor monitor) throws CoreException {
-		String serverId = server.getId();
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType launchConfigType = launchManager.getLaunchConfigurationType("org.eclipse.wst.server.ui.launchConfigurationType");
-		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++) {
-				List list = launchConfigs[i].getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List)null);
-				if (list == null || list.isEmpty()) {
-					try {
-						String serverId2 = launchConfigs[i].getAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_SERVER_ID, (String) null);
-						if (serverId.equals(serverId2)) {
-							final ILaunchConfigurationWorkingCopy wc = launchConfigs[i].getWorkingCopy();
-							setupLaunchConfiguration(wc, server, moduleArtifact, launchableAdapter2, client2);
-							if (wc.isDirty()) {
-								try {
-									return wc.doSave();
-								} catch (CoreException ce) {
-									if (Trace.SEVERE) {
-										Trace.trace(Trace.STRING_SEVERE, "Error configuring launch", ce);
-									}
-								}
-							}
-							return launchConfigs[i];
-						}
-					} catch (CoreException e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Error configuring launch", e);
-						}
-					}
-				}
-			}
-		}
-		
-		// create a new launch configuration
-		String launchName = NLS.bind(Messages.runOnServerLaunchConfigName, moduleArtifact.getName());
-		launchName = getValidLaunchConfigurationName(launchName);
-		launchName = launchManager.generateUniqueLaunchConfigurationNameFrom(launchName); 
-		ILaunchConfigurationWorkingCopy wc = launchConfigType.newInstance(null, launchName);
-		wc.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_SERVER_ID, serverId);
-		setupLaunchConfiguration(wc, server, moduleArtifact, launchableAdapter2, client2);
-		return wc.doSave();
-	}
-
-	protected static final char[] INVALID_CHARS = new char[] {'/','\\', ':', '*', '?', '"', '<', '>', '|', '\0', '@', '&'};
-	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;
-	}
-
-	/**
-	 * Open an options dialog.
-	 * 
-	 * @param shell
-	 * @param title
-	 * @param message
-	 * @param breakpointsOption
-	 * @return a dialog return constant
-	 */
-	protected static int openOptionsDialog(final Shell shell, final String title, final String message, final boolean breakpointsOption) {
-		if (breakpointsOption) {
-			int current = ServerUIPlugin.getPreferences().getLaunchMode2();
-			if (current == ServerUIPreferences.LAUNCH_MODE2_RESTART)
-				return 0;
-			else if (current == ServerUIPreferences.LAUNCH_MODE2_DISABLE_BREAKPOINTS)
-				return 1;
-			else if (current == ServerUIPreferences.LAUNCH_MODE2_CONTINUE)
-				return 2;
-		} else {
-			int current = ServerUIPlugin.getPreferences().getLaunchMode();
-			if (current == ServerUIPreferences.LAUNCH_MODE_RESTART)
-				return 0;
-			else if (current == ServerUIPreferences.LAUNCH_MODE_CONTINUE)
-				return 1;
-		}
-		final int[] i = new int[1];
-		shell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				OptionsMessageDialog dialog = null;
-				String[] items = null;
-				if (breakpointsOption) {
-					items = new String[] {
-						Messages.dialogModeWarningRestart,
-						Messages.dialogModeWarningBreakpoints,
-						Messages.dialogModeWarningContinue
-					};
-				} else {
-					items = new String[] {
-						Messages.dialogModeWarningRestart,
-						Messages.dialogModeWarningContinue
-					};
-				}
-				
-				dialog = new OptionsMessageDialog(shell, title, message, items);
-				i[0] = dialog.open();
-				
-				if (dialog.isRemember()) {
-					if (breakpointsOption) {
-						if (i[0] == 0)
-							ServerUIPlugin.getPreferences().setLaunchMode2(ServerUIPreferences.LAUNCH_MODE2_RESTART);
-						else if (i[0] == 1)
-							ServerUIPlugin.getPreferences().setLaunchMode2(ServerUIPreferences.LAUNCH_MODE2_DISABLE_BREAKPOINTS);
-						else if (i[0] == 2)
-							ServerUIPlugin.getPreferences().setLaunchMode2(ServerUIPreferences.LAUNCH_MODE2_CONTINUE);
-					} else {
-						if (i[0] == 0)
-							ServerUIPlugin.getPreferences().setLaunchMode(ServerUIPreferences.LAUNCH_MODE_RESTART);
-						else if (i[0] == 1)
-							ServerUIPlugin.getPreferences().setLaunchMode(ServerUIPreferences.LAUNCH_MODE_CONTINUE);
-					}
-				}
-			}
-		});
-		return i[0];
-	}
-
-	/**
-	 * Open an options dialog.
-	 * 
-	 * @param shell
-	 * @return a dialog return constant
-	 */
-	protected static int openBreakpointDialog(final Shell shell) {
-		int current = ServerUIPlugin.getPreferences().getEnableBreakpoints();
-		if (current == ServerUIPreferences.ENABLE_BREAKPOINTS_ALWAYS)
-			return 0;
-		else if (current == ServerUIPreferences.ENABLE_BREAKPOINTS_NEVER)
-			return 1;
-		
-		final int[] i = new int[1];
-		shell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				OptionsMessageDialog dialog = new OptionsMessageDialog(shell,
-						Messages.wizDebugOnServerTitle, Messages.dialogBreakpoints, new String[] {
-						Messages.dialogBreakpointsReenable, Messages.dialogModeWarningContinue});
-				i[0] = dialog.open();
-				if (dialog.isRemember()) {
-					if (i[0] == 0)
-						ServerUIPlugin.getPreferences().setEnableBreakpoints(ServerUIPreferences.ENABLE_BREAKPOINTS_ALWAYS);
-					else if (i[0] == 1)
-						ServerUIPlugin.getPreferences().setEnableBreakpoints(ServerUIPreferences.ENABLE_BREAKPOINTS_NEVER);
-				}
-			}
-		});
-		return i[0];
-	}
-
-	/**
-	 * Open a restart options dialog.
-	 * 
-	 * @param shell
-	 * @return a dialog return constant
-	 */
-	protected static int openRestartDialog(final Shell shell) {
-		int current = ServerUIPlugin.getPreferences().getRestart();
-		if (current == ServerUIPreferences.RESTART_ALWAYS)
-			return 0;
-		else if (current == ServerUIPreferences.RESTART_NEVER)
-			return 1;
-		
-		final int[] i = new int[1];
-		shell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				OptionsMessageDialog dialog = new OptionsMessageDialog(shell,
-						Messages.defaultDialogTitle, Messages.dialogRestart, new String[] {
-						Messages.dialogRestartRestart, Messages.dialogRestartContinue});
-				i[0] = dialog.open();
-				if (dialog.isRemember()) {
-					if (i[0] == 0)
-						ServerUIPlugin.getPreferences().setRestart(ServerUIPreferences.RESTART_ALWAYS);
-					else if (i[0] == 1)
-						ServerUIPlugin.getPreferences().setRestart(ServerUIPreferences.RESTART_NEVER);
-				}
-			}
-		});
-		return i[0];
-	}
-
-	/**
-	 * The delegating action has been performed. Implement
-	 * this method to do the actual work.
-	 *
-	 * @param action action proxy that handles the presentation
-	 * portion of the plugin action
-	 */
-	public void run(IAction action) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Running on Server...");
-		}
-		try {
-			run();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Run on Server Error", e);
-			}
-		}
-	}
-
-	protected boolean isEnabled() {
-		try {
-			Boolean b = globalLaunchMode.get(getLaunchMode());
-			return b.booleanValue();
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the start mode that the server should use.
-	 */
-	protected String getLaunchMode() {
-		return launchMode;
-	}
-
-	/**
-	 * Set the launch mode.
-	 * 
-	 * @param launchMode a {@link ILaunchManager} launch mode
-	 */
-	public void setLaunchMode(String launchMode) {
-		this.launchMode = launchMode;
-	}
-
-	/**
-	 * Determine which clients can act on the current selection.
-	 *
-	 * @param action action proxy that handles presentation
-	 *    portion of the plugin action
-	 * @param sel current selection in the desktop
-	 */
-	public void selectionChanged(IAction action, ISelection sel) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "> selectionChanged");
-		}
-		selection = null;
-		long time = System.currentTimeMillis();
-		if (sel == null || sel.isEmpty() || !(sel instanceof IStructuredSelection)) {
-			action.setEnabled(false);
-			globalSelection = null;
-			return;
-		}
-		
-		IStructuredSelection select = (IStructuredSelection) sel;
-		Iterator iterator = select.iterator();
-		if (iterator.hasNext())
-			selection = iterator.next();
-		if (iterator.hasNext()) { // more than one selection (should never happen)
-			action.setEnabled(false);
-			selection = null;
-			globalSelection = null;
-			return;
-		}
-		
-		if (selection != globalSelection) {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Selection: " + selection);
-			}
-			if (selection != null)
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "Selection type: " + selection.getClass().getName());
-				}
-			globalSelection = selection;
-			globalLaunchMode = new HashMap<String, Boolean>();
-			if (!ServerPlugin.hasModuleArtifact(globalSelection)) {
-				action.setEnabled(false);
-				return;
-			}
-			
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "checking for module artifact");
-			}
-			// TODO - multiple module artifacts
-			IModuleArtifact[] moduleArtifacts = ServerPlugin.getModuleArtifacts(globalSelection);
-			IModuleArtifact moduleArtifact = null;
-			if (moduleArtifacts != null && moduleArtifacts.length > 0)
-				moduleArtifact = moduleArtifacts[0];
-			
-			IModule module = null;
-			if (moduleArtifact != null)
-				module = moduleArtifact.getModule();
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "moduleArtifact= " + moduleArtifact + ", module= " + module);
-			}
-			if (module != null)
-				findGlobalLaunchModes(module);
-			else {
-				globalLaunchMode.put(ILaunchManager.RUN_MODE, new Boolean(true));
-				globalLaunchMode.put(ILaunchManager.DEBUG_MODE, new Boolean(true));
-				globalLaunchMode.put(ILaunchManager.PROFILE_MODE, new Boolean(true));
-			}
-		}
-		
-		action.setEnabled(isEnabled());
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "< selectionChanged " + (System.currentTimeMillis() - time));
-		}
-	}
-
-	/**
-	 * Determines whether there is a server factory available for the given module
-	 * and the various start modes.
-	 */
-	protected void findGlobalLaunchModes(IModule module) {
-		IServerType[] serverTypes = ServerCore.getServerTypes();
-		if (serverTypes != null) {
-			int size = serverTypes.length;
-			for (int i = 0; i < size; i++) {
-				IServerType type = serverTypes[i];
-				if (isValidServerType(type, module)) {
-					for (byte b = 0; b < launchModes.length; b++) {
-						if (type.supportsLaunchMode(launchModes[b])) {
-							globalLaunchMode.put(launchModes[b], new Boolean(true));
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns true if the given server type can launch the module. 
-	 */
-	protected boolean isValidServerType(IServerType type, IModule module) {
-		try {
-			IRuntimeType runtimeType = type.getRuntimeType();
-			ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), module.getModuleType());
-		} catch (Exception e) {
-			return false;
-		}
-		return true;
-	}
-	
-	protected void setMap(HashMap<String,Object> map){
-		this.wiz_properties = map;
-	}
-	
-	/**
-	 * Returns the value from the hashmap provided in the constructor of this class
-	 *  
-	 * @param key  
-	 * @param obj the type of object to be returned
-	 * @return
-	 */
-	protected Object getOverwriteValue(String key){
-		if (wiz_properties != null){ 
-			Object o = wiz_properties.get(key);
-			return o;	
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerLaunchConfigurationDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerLaunchConfigurationDelegate.java
deleted file mode 100644
index 76f8228..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-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.IBreakpointManager;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.LaunchConfigurationDelegate;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.core.internal.ILaunchableAdapter;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.ServerType;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.LaunchClientJob;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-public class RunOnServerLaunchConfigurationDelegate extends LaunchConfigurationDelegate {
-	public static final String ATTR_SERVER_ID = "server-id";
-	public static final String ATTR_MODULE_ARTIFACT = "module-artifact";
-	public static final String ATTR_MODULE_ARTIFACT_CLASS = "module-artifact-class";
-
-	public static final String ATTR_LAUNCHABLE_ADAPTER_ID = "launchable-adapter-id";
-	public static final String ATTR_CLIENT_ID = "client-id";
-
-	protected boolean saveBeforeLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		// ignore
-		return true;
-	}
-
-	public void launch(ILaunchConfiguration configuration, String launchMode, final ILaunch launch2,
-			IProgressMonitor monitor) throws CoreException {
-		
-		String serverId = configuration.getAttribute(ATTR_SERVER_ID, (String)null);
-		String moduleArt = configuration.getAttribute(ATTR_MODULE_ARTIFACT, (String)null);
-		String moduleArtifactClass = configuration.getAttribute(ATTR_MODULE_ARTIFACT_CLASS, (String)null);
-		String laId = configuration.getAttribute(ATTR_LAUNCHABLE_ADAPTER_ID, (String)null);
-		String clientId = configuration.getAttribute(ATTR_CLIENT_ID, (String)null);
-		
-		IServer server = ServerCore.findServer(serverId);
-		IModule module = null;
-		ModuleArtifactDelegate moduleArtifact = null;
-		ILaunchableAdapter launchableAdapter = null;
-		if (laId != null)
-			launchableAdapter = ServerPlugin.findLaunchableAdapter(laId);
-		IClient client = ServerPlugin.findClient(clientId);
-		
-		try {
-			Class c = Class.forName(moduleArtifactClass);
-			moduleArtifact = (ModuleArtifactDelegate) c.newInstance();
-			moduleArtifact.deserialize(moduleArt);
-			module = moduleArtifact.getModule();
-		} catch (Throwable t) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not load module artifact delegate class");
-			}
-		}
-		
-		if (moduleArtifact == null)
-			throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, Messages.errorLaunchConfig));
-		
-		if (module == null)
-			throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, Messages.errorLaunchConfig));
-		
-		if (server == null)
-			throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, Messages.errorInvalidServer));
-		
-		if (launchableAdapter == null)
-			throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, Messages.errorLaunchConfig));
-		
-		final Shell[] shell2 = new Shell[1];
-		Display.getDefault().syncExec(new Runnable() {
-			public void run() {
-				shell2[0] = EclipseUtil.getShell();
-			}
-		});
-		final Shell shell = shell2[0];
-		final IAdaptable info = new IAdaptable() {
-			public Object getAdapter(Class adapter) {
-				if (Shell.class.equals(adapter))
-					return shell;
-				return null;
-			}
-		};
-		
-		if (client == null) {
-			// if there is no client, use a dummy
-			client = new IClient() {
-				public String getDescription() {
-					return Messages.clientDefaultDescription;
-				}
-
-				public String getId() {
-					return "org.eclipse.wst.server.ui.client.default";
-				}
-
-				public String getName() {
-					return Messages.clientDefaultName;
-				}
-
-				public IStatus launch(IServer server3, Object launchable2, String launchMode3, ILaunch launch) {
-					return Status.OK_STATUS;
-				}
-
-				public boolean supports(IServer server3, Object launchable2, String launchMode3) {
-					return true;
-				}
-			};
-		}
-		
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Ready to launch");
-		}
-		launch2.addProcess(new RunOnServerProcess(launch2));
-		
-		// start server if it's not already started
-		// and cue the client to start
-		IModule[] modules = new IModule[] { module }; // TODO: get parent hierarchy correct
-		int state = server.getServerState();
-		if (state == IServer.STATE_STARTING) {
-			LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client);
-			clientJob.schedule();
-		} else if (state == IServer.STATE_STARTED) {
-			boolean restart = false;
-			String mode = server.getMode();
-			IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-			boolean disabledBreakpoints = false;
-			
-			if (server.getServerRestartState()) { // TODO - restart state might not be set until after publish
-				int result = RunOnServerActionDelegate.openRestartDialog(shell);
-				if (result == 0) {
-					launchMode = mode;
-					restart = true;
-				} else if (result == 9) { // cancel
-					launch2.terminate();
-					return;
-				}
-			}
-			if (!restart) {
-				if (!ILaunchManager.RUN_MODE.equals(mode) && ILaunchManager.RUN_MODE.equals(launchMode)) {
-					boolean breakpointsOption = false;
-					if (breakpointManager.isEnabled() && ILaunchManager.DEBUG_MODE.equals(mode))
-						breakpointsOption = true;
-					int result = RunOnServerActionDelegate.openOptionsDialog(shell, Messages.wizRunOnServerTitle, Messages.dialogModeWarningRun, breakpointsOption);
-					if (result == 0)
-						restart = true;
-					else if (result == 1) {
-						breakpointManager.setEnabled(false);
-						disabledBreakpoints = true;
-						launchMode = mode;
-					} else if (result == 2)
-						launchMode = mode;
-					else { // result == 9 // cancel
-						launch2.terminate();
-						return;
-					}
-				} else if (!ILaunchManager.DEBUG_MODE.equals(mode) && ILaunchManager.DEBUG_MODE.equals(launchMode)) {
-					int result = RunOnServerActionDelegate.openOptionsDialog(shell, Messages.wizDebugOnServerTitle, Messages.dialogModeWarningDebug, false);
-					if (result == 0)
-						restart = true;
-					else if (result == 1)
-						launchMode = mode;
-					else { // result == 9 // cancel
-						launch2.terminate();
-						return;
-					}
-				} else if (!ILaunchManager.PROFILE_MODE.equals(mode) && ILaunchManager.PROFILE_MODE.equals(launchMode)) {
-					boolean breakpointsOption = false;
-					if (breakpointManager.isEnabled() && ILaunchManager.DEBUG_MODE.equals(mode))
-						breakpointsOption = true;
-					int result = RunOnServerActionDelegate.openOptionsDialog(shell, Messages.wizProfileOnServerTitle, Messages.dialogModeWarningProfile, breakpointsOption);
-					if (result == 0)
-						restart = true;
-					else if (result == 1) {
-						breakpointManager.setEnabled(false);
-						disabledBreakpoints = true;
-						launchMode = mode;
-					} else if (result == 2)
-						launchMode = mode;
-					else {// result == 9 // cancel
-						launch2.terminate();
-						return;
-					}
-				}
-				
-				if (ILaunchManager.DEBUG_MODE.equals(launchMode)) {
-					if (!breakpointManager.isEnabled() && !disabledBreakpoints) {
-						int result = RunOnServerActionDelegate.openBreakpointDialog(shell);
-						if (result == 0)
-							breakpointManager.setEnabled(true);
-						else if (result == 1) {
-							// ignore
-						} else { // result == 2
-							launch2.terminate();
-							return;
-						}
-					}
-				}
-			}
-			
-			final LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client);
-			if (restart) {
-				final String launchMode2 = launchMode;
-				final IServer server2 = server;
-				// If the server requires publish before starting and before launching the client, publish
-				// before the restart (see bug# 288008)
-				final boolean startBeforePublish = ((ServerType)server2.getServerType()).startBeforePublish();
-				if (server2.shouldPublish() && !startBeforePublish ) {
-					server2.publish(IServer.PUBLISH_INCREMENTAL, null, info,null);
-				}
-
-				server2.restart(launchMode2, new IServer.IOperationListener() {
-					public void done(IStatus result2) {
-						if (result2.isOK()) {
-							// If the server requires publish but the serverDefinition says to publish after start,
-							// publish after the restart
-							if (server2.shouldPublish() && startBeforePublish) {
-								server2.publish(IServer.PUBLISH_INCREMENTAL, null, info, new IServer.IOperationListener() {
-									public void done(IStatus result3) {
-										if (result3.isOK()) {
-											clientJob.schedule();
-										}
-									}
-								});
-							} else
-								clientJob.schedule();
-						}
-					}
-				});
-			} else {
-				// Only publish if the server requires publish before launching the client.
-				if (server.shouldPublish()) {
-					server.publish(IServer.PUBLISH_INCREMENTAL, null, info, new IServer.IOperationListener() {
-						public void done(IStatus result) {
-							if (result.isOK())
-								clientJob.schedule();
-						}
-					});
-				} else {
-					clientJob.schedule();
-				}
-			}
-		} else if (state != IServer.STATE_STOPPING) {
-			final LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client);
-			
-			server.start(launchMode, new IServer.IOperationListener() {
-				public void done(IStatus result) {
-					if (result.isOK())
-						clientJob.schedule();
-				}
-			});
-		}
-		launch2.terminate();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerProcess.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerProcess.java
deleted file mode 100644
index fc76ce1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerProcess.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.actions;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Dummy IProcess so that a Run on Server launch can be terminated.
- */
-public class RunOnServerProcess implements IProcess {
-	protected ILaunch launch;
-	protected boolean isTerminated;
-
-	public RunOnServerProcess(ILaunch launch) {
-		this.launch = launch;
-	}
-
-	public String getAttribute(String arg0) {
-		return null;
-	}
-
-	public int getExitValue() throws DebugException {
-		return 0;
-	}
-
-	public String getLabel() {
-		return Messages.processName;
-	}
-
-	public ILaunch getLaunch() {
-		return launch;
-	}
-
-	public IStreamsProxy getStreamsProxy() {
-		return null;
-	}
-
-	public void setAttribute(String arg0, String arg1) {
-		// ignore
-	}
-
-	public Object getAdapter(Class arg0) {
-		return null;
-	}
-
-	public boolean canTerminate() {
-		return true;
-	}
-
-	public boolean isTerminated() {
-		return isTerminated;
-	}
-
-	public void terminate() throws DebugException {
-		isTerminated = true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Audio.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Audio.java
deleted file mode 100644
index 24f7717..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Audio.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.audio;
-
-/**
- * Audio is the main interface to the audio plugin.<p>
- *
- * Adding a new sound to your plugin is as easy as ABC:
- * <ul>
- * <li>A: Add the following requires to your plugin.xml:<br>
- *   <pre>&lt;import plugin="org.eclipse.wst.server.util"&gt;</pre></li>
- *
- * <li>B: Define a new sound extension point in your plugin.xml:<br>
- *   <pre>&lt;extension point="org.eclipse.wst.server.util.sound"&gt;
- *     &lt;category id="org.eclipse.myPlugin"
- *       name="My Plugin Name"/&gt;
- *     &lt;sound id="org.eclipse.myPlugin.mySound"
- *       category="org.eclipse.myPlugin"
- *       name="Something Happened"
- *       location="sounds/mySound.wav"/&gt;
- *     &lt;sound id="org.eclipse.myPlugin.myOtherSounds"
- *       category="org.eclipse.myPlugin"
- *       name="Another Event Happened"/&gt;
- *   &lt;/extension&gt;</pre><br>
- *   (the location is optional. If it is not specified, the sound
- *    will not play until the user specifies an audio file)</li>
- *
- * <li>C: Call the sounds when the appropriate events occur within
- *   your plugin:<br>
- *   <pre>org.eclipse.wst.audio.Audio.playSound("org.eclipse.myPlugin.mySound");</pre></li>
- * </ul>
- */
-public class Audio {
-	/**
-	 * AudioCore constructor comment.
-	 */
-	private Audio() {
-		super();
-	}
-
-	/**
-	 * Plays the sound with the given id.
-	 *
-	 * @param id java.lang.String
-	 */
-	public static void playSound(String id) {
-		AudioCore.getInstance().playSound(id);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java
deleted file mode 100644
index 42d137b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java
+++ /dev/null
@@ -1,725 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.audio;
-
-import java.util.*;
-import java.io.*;
-import java.net.URL;
-import javax.sound.sampled.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Main audio plugin class.
- */
-public class AudioCore {
-	protected static AudioCore instance;
-
-	public static final String PREF_SOUND_ENABLED = "soundEnabled";
-	public static final String PREF_VOLUME = "volume";
-
-	public static final String SOUNDS_FILE = "sounds.xml";
-	public static final String DISABLED_FILE = "disabled-sounds.xml";
-
-	// Categories - map of String id to String names
-	private Map<String, String> categories;
-
-	// Sounds - map of String id to Sound
-	private Map<String, Sound> sounds;
-
-	// specific sounds or categories that have been disabled, by id
-	private List<String> disabledSounds;
-	private List<String> disabledCategories;
-
-	// SoundMap - map of String id to an IPath
-	private Map<String, IPath> userSoundMap;
-
-	/**
-	 * AudioCore constructor comment.
-	 */
-	private AudioCore() {
-		super();
-	
-		loadExtensionPoints();
-	
-		loadSoundMap();
-		loadDisabledLists();
-		
-		
-	}
-
-	/**
-	 * Return the categories
-	 *
-	 * @return java.util.Map
-	 */
-	protected Map<String, String> getCategories() {
-		return categories;
-	}
-
-	/**
-	 * Returns the audio clip.
-	 *
-	 * @param url java.net.URL
-	 * @return javax.sound.sampled.Clip
-	 */
-	protected static Clip getClip(URL url) {
-		try {
-			AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url);
-	
-			AudioFormat format = audioInputStream.getFormat();
-	
-			/**
-			 * we can't yet open the device for ALAW/ULAW playback,
-			 * convert ALAW/ULAW to PCM
-			 */
-			if ((format.getEncoding() == AudioFormat.Encoding.ULAW) ||
-				(format.getEncoding() == AudioFormat.Encoding.ALAW)) {
-				AudioFormat tmp = new AudioFormat(
-					AudioFormat.Encoding.PCM_SIGNED, 
-					format.getSampleRate(),
-					format.getSampleSizeInBits() * 2,
-					format.getChannels(),
-					format.getFrameSize() * 2,
-					format.getFrameRate(), true);
-				audioInputStream = AudioSystem.getAudioInputStream(tmp, audioInputStream);
-				format = tmp;
-			}
-			DataLine.Info info = new DataLine.Info(
-				Clip.class, audioInputStream.getFormat(), 
-				((int) audioInputStream.getFrameLength() *
-				format.getFrameSize()));
-		
-			Clip clip = (Clip) AudioSystem.getLine(info);
-			clip.open(audioInputStream);
-			return clip;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not get clip: " + url, e);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns true if audio is currently available on this system.
-	 *
-	 * @return boolean
-	 */
-	protected static boolean isAudioSupported() {
-		try {
-			boolean sound = false;
-			Mixer.Info[] info2 = AudioSystem.getMixerInfo();
-			if (info2 != null) {
-				int size = info2.length;
-				for (int i = 0; i < size; i++) {
-					//Trace.trace(" " + info2[i]);
-					Mixer mixer = AudioSystem.getMixer(info2[i]);
-					if (mixer != null) {
-						//Trace.trace("   Mixer:" + mixer);
-						//Trace.trace("   " + mixer.getLineInfo());
-						try {
-							Line.Info info = mixer.getLineInfo();
-							Line line = mixer.getLine(info);
-							//Trace.trace("   Line:" + line);
-							if (line != null && line.toString().indexOf("Output") >= 0)
-								sound = true;
-						} catch (Exception e) {
-							// ignore
-						}
-					}
-				}
-			}
-			return sound;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not verify audio status", e);
-			}
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns true if sound is enabled.
-	 *
-	 * @return boolean
-	 */
-	public boolean getDefaultSoundsEnabled() {
-		return getPreferenceStore().getDefaultBoolean(PREF_SOUND_ENABLED);
-	}
-
-	/**
-	 * Returns the default volume.
-	 *
-	 * @return int
-	 */
-	public int getDefaultVolume() {
-		return getPreferenceStore().getDefaultInt(PREF_VOLUME);
-	}
-
-	/**
-	 * Returns the singleton instance.
-	 *
-	 * @return org.eclipse.audio.internal.AudioCore
-	 */
-	public static AudioCore getInstance() {
-		if (instance == null)
-			instance = new AudioCore();
-		return instance;
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.jface.preference.IPreferenceStore
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return ServerUIPlugin.getInstance().getPreferenceStore();
-	}
-
-	/**
-	 * Returns the sound with the given id.
-	 *
-	 * @param id java.lang.String
-	 * @return org.eclipse.audio.Sound
-	 */
-	protected Sound getSound(String id) {
-		try {
-			return sounds.get(id);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Return the sounds.
-	 *
-	 * @return java.util.Map
-	 */
-	protected Map<String, Sound> getSounds() {
-		return sounds;
-	}
-
-	/**
-	 * Returns the full user sound map.
-	 *
-	 * @return java.util.Map
-	 */
-	protected Map<String, IPath> getUserSoundMap() {
-		if (userSoundMap == null)
-			loadSoundMap();
-		return userSoundMap;
-	}
-
-	/**
-	 * Return the current URL for this sound.
-	 *
-	 * @param id java.lang.String
-	 * @return java.net.URL
-	 */
-	protected IPath getUserSoundPath(String id) {
-		try {
-			if (userSoundMap == null)
-				loadSoundMap();
-	
-			IPath path = userSoundMap.get(id);
-			if (path != null)
-				return path;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not get sound URL: " + id, e);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the preferred volume.
-	 *
-	 * @return int
-	 */
-	public int getVolume() {
-		return getPreferenceStore().getInt(PREF_VOLUME);
-	}
-
-	/**
-	 * Initialize the default preferences.
-	 *
-	 * @param store org.eclipse.jface.preference.IPreferenceStore
-	 */
-	public static void initializeDefaultPreferences(IPreferenceStore store) {
-		store.setDefault(PREF_VOLUME, 18);
-	}
-
-	/**
-	 * Returns true if the given category is enabled.
-	 *
-	 * @param id java.lang.String
-	 * @return boolean
-	 */
-	public boolean isCategoryEnabled(String id) {
-		if (id == null)
-			return false;
-	
-		if (disabledCategories == null)
-			loadDisabledLists();
-	
-		return (!disabledCategories.contains(id));
-	}
-
-	/**
-	 * Returns true if sound is enabled.
-	 *
-	 * @return boolean
-	 */
-	public boolean isSoundEnabled() {
-		return getPreferenceStore().getBoolean(PREF_SOUND_ENABLED);
-	}
-
-	/**
-	 * Returns true if the given sound is enabled.
-	 *
-	 * @param id java.lang.String
-	 * @return boolean
-	 */
-	public boolean isSoundEnabled(String id) {
-		if (id == null)
-			return false;
-	
-		if (disabledSounds == null)
-			loadDisabledLists();
-	
-		return (!disabledSounds.contains(id));
-	}
-
-	/**
-	 * Saves the disabled sound list.
-	 */
-	private void loadDisabledLists() {
-		String filename = ServerUIPlugin.getInstance().getStateLocation().append(DISABLED_FILE).toOSString();
-	
-		FileInputStream in = null;
-		disabledCategories = new ArrayList<String>();
-		disabledSounds = new ArrayList<String>();
-		try {
-			in = new FileInputStream(filename);
-			IMemento memento = XMLMemento.loadMemento(in);
-	
-			IMemento cat = memento.getChild("categories");
-			IMemento[] children = cat.getChildren("category");
-	
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					IMemento child = children[i];
-					String id = child.getString("id");
-	
-					disabledCategories.add(id);
-				} catch (Exception ex) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error reading URL map ", ex);
-					}
-				}
-			}
-	
-			IMemento sound = memento.getChild("sounds");
-			children = sound.getChildren("sound");
-	
-			size = children.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					IMemento child = children[i];
-					String id = child.getString("id");
-	
-					disabledSounds.add(id);
-				} catch (Exception ex) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error reading URL map ", ex);
-					}
-				}
-			}
-		} catch (Exception e) {
-			//AudioPlugin.log(new Status(IStatus.WARNING, AudioPlugin.PLUGIN_ID, 0, "Could not load disabled sound information", e));
-		} finally {
-			if (in != null) {
-				try {
-					in.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * Load extension point.
-	 */
-	private void loadExtensionPoints() {
-		// load extension points
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "audio");
-	
-		int size = cf.length;
-		categories = new HashMap<String, String>();
-		sounds = new HashMap<String, Sound>();
-	
-		for (int i = 0; i < size; i++) {
-			try {
-				String elementName = cf[i].getName();
-				String id = cf[i].getAttribute("id");
-				String name = cf[i].getAttribute("name");
-				if ("category".equals(elementName)) {
-					categories.put(id, name);
-				} else if ("sound".equals(elementName)) {
-					String category = cf[i].getAttribute("category");
-					String location = cf[i].getAttribute("location");
-	
-					URL realURL = null;
-					if (location != null && location.length() > 0) {
-						String pluginId = cf[i].getDeclaringExtension().getContributor().getName();
-						URL url = FileLocator.find(Platform.getBundle(pluginId), new Path(location), null);
-						realURL = FileLocator.resolve(url);
-					}
-	
-					Sound sound = new Sound(id, category, name, realURL);
-					sounds.put(id, sound);
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Could not load audio: " + cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Saves the disabled sound list.
-	 */
-	private void loadSoundMap() {
-		String filename = ServerUIPlugin.getInstance().getStateLocation().append(SOUNDS_FILE).toOSString();
-	
-		InputStream in = null;
-		userSoundMap = new HashMap<String, IPath>();
-		try {
-			in = new FileInputStream(filename);
-			IMemento memento = XMLMemento.loadMemento(in);
-	
-			IMemento[] children = memento.getChildren("map");
-	
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				try {
-					IMemento child = children[i];
-					String id = child.getString("id");
-					String pathStr = child.getString("path");
-					IPath path = new Path(pathStr);
-	
-					userSoundMap.put(id, path);
-				} catch (Exception ex) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error reading URL map ", ex);
-					}
-				}
-			}
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			if (in != null) {
-				try {
-					in.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * Play the sound with the given id. (provided that
-	 * the user has enabled the sound)
-	 *
-	 * @param id java.lang.String
-	 */
-	public void playSound(String id) {
-		if (!isSoundEnabled())
-			return;
-	
-		if (!isSoundEnabled(id))
-			return;
-	
-		try {
-			Sound sound = sounds.get(id);
-			String category = sound.getCategory();
-			if (category != null && categories.containsKey(category)) {
-				if (!isCategoryEnabled(category))
-					return;
-			}
-	
-			URL url = sound.getLocation();
-			IPath path = getUserSoundPath(id);
-			if (path != null)
-				url = path.toFile().toURL();
-	
-			playSound(url, getVolume());
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error playing audio: " + id, e);
-			}
-		}
-	}
-
-	/**
-	 * Plays the sound at the given url.
-	 *
-	 * @param url java.net.URL
-	 */
-	protected static void playSound(URL url, final int volume) {
-		try {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "playSound");
-			}
-			if (url == null || volume <= 0)
-				return;
-	
-			final Clip clip = getClip(url);
-			if (clip == null)
-				return;
-				
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "playing");
-			}
-	
-			Thread t = new Thread("Sound Thread") {
-				public void run() {
-					// set gain
-					FloatControl gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
-					double value = volume / 20.0;
-					float dB = (float) (Math.log(value==0.0?0.0001:value)/Math.log(10.0)*20.0);
-					gainControl.setValue(dB);
-	
-					if (Trace.FINEST) {
-						Trace.trace(Trace.STRING_FINEST, "start");
-					}
-					clip.start();
-					try {
-						sleep(99);
-					} catch (Exception e) {
-						// ignore
-					}
-	
-					while (clip.isActive()) {
-						try {
-							sleep(99);
-						} catch (Exception e) {
-							break;
-						}
-					}
-					clip.stop();
-					clip.close();
-					if (Trace.FINEST) {
-						Trace.trace(Trace.STRING_FINEST, "stop");
-					}
-				}
-			};
-			t.setDaemon(true);
-			t.start();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error playing audio: " + url, e);
-			}
-		}
-	}
-
-	/**
-	 * Saves the disabled sounds and categories list.
-	 */
-	private void saveDisabledLists() {
-		String filename = ServerUIPlugin.getInstance().getStateLocation().append(DISABLED_FILE).toOSString();
-	
-		FileOutputStream fout = null;
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("disabled");
-	
-			IMemento cat = memento.createChild("categories");
-			Iterator iterator = disabledCategories.iterator();
-			while (iterator.hasNext()) {
-				IMemento child = cat.createChild("category");
-				String id = (String) iterator.next();
-				child.putString("id", id);
-			}
-	
-			IMemento sound = memento.createChild("sounds");
-			iterator = disabledSounds.iterator();
-			while (iterator.hasNext()) {
-				IMemento child = sound.createChild("sound");
-				String id = (String) iterator.next();
-				child.putString("id", id);
-			}
-	
-			fout = new FileOutputStream(filename);
-			memento.save(fout);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not save disabled information", e);
-			}
-		} finally {
-			if (fout != null) {
-				try {
-					fout.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * Saves the disabled sound list.
-	 */
-	private void saveSoundMap() {
-		String filename = ServerUIPlugin.getInstance().getStateLocation().append(SOUNDS_FILE).toOSString();
-	
-		FileOutputStream fout = null;
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("sound-map");
-	
-			Iterator iterator = userSoundMap.keySet().iterator();
-			while (iterator.hasNext()) {
-				IMemento child = memento.createChild("map");
-				String id = (String) iterator.next();
-				child.putString("id", id);
-				IPath path = userSoundMap.get(id);
-				child.putString("path", path.toString());
-			}
-	
-			fout = new FileOutputStream(filename);
-			memento.save(fout);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not save URL map information", e);
-			}
-		} finally {
-			if (fout != null) {
-				try {
-					fout.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * Enable or disable a specific category.
-	 *
-	 * @param id java.lang.String
-	 * @param b boolean
-	 */
-	public void setCategoryEnabled(String id, boolean b) {
-		if (id == null)
-			return;
-	
-		if (disabledCategories == null)
-			loadDisabledLists();
-	
-		if (b) {
-			if (disabledCategories.contains(id)) {
-				disabledCategories.remove(id);
-				saveDisabledLists();
-			}
-		} else {
-			if (!disabledCategories.contains(id)) {
-				disabledCategories.add(id);
-				saveDisabledLists();
-			}
-		}
-	}
-
-	/**
-	 * Enable or disable a specific sound.
-	 *
-	 * @param id java.lang.String
-	 * @param b boolean
-	 */
-	public void setSoundEnabled(String id, boolean b) {
-		if (id == null)
-			return;
-	
-		if (disabledSounds == null)
-			loadDisabledLists();
-	
-		if (b) {
-			if (disabledSounds.contains(id)) {
-				disabledSounds.remove(id);
-				saveDisabledLists();
-			}
-		} else {
-			if (!disabledSounds.contains(id)) {
-				disabledSounds.add(id);
-				saveDisabledLists();
-			}
-		}
-	}
-
-	/**
-	 * Sets whether sound is enabled.
-	 *
-	 * @param enabled
-	 */
-	public void setSoundsEnabled(boolean enabled) {
-		getPreferenceStore().setValue(PREF_SOUND_ENABLED, enabled);
-	}
-
-	/**
-	 * Sets the current URL for this sound.
-	 *
-	 * @param id java.lang.String
-	 * @param path IPath
-	 */
-	protected void setSoundURL(String id, IPath path) {
-		if (id == null || path == null)
-			return;
-	
-		try {
-			if (userSoundMap == null)
-				loadSoundMap();
-	
-			userSoundMap.put(id, path);
-			saveSoundMap();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not get sound URL: " + id, e);
-			}
-		}
-	}
-
-	/**
-	 * Sets the full user sound map.
-	 *
-	 * @param map the sound map
-	 */
-	protected void setUserSoundMap(Map<String, IPath> map) {
-		if (map != null) {
-			userSoundMap = map;
-			saveSoundMap();
-		}
-	}
-
-	/**
-	 * Sets the volume.
-	 *
-	 * @param volume the volume
-	 */
-	public void setVolume(int volume) {
-		getPreferenceStore().setValue(PREF_VOLUME, volume);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java
deleted file mode 100644
index 3f4442a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.audio;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Audio preference page.
- */
-public class AudioPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	protected Button enableButton;
-	protected Spinner volume;
-
-	protected Map<String, IPath> userSoundMap;
-
-	protected CategoryTableViewer viewer;
-	
-	boolean soundAvailable = true;
-
-	/**
-	 * AudioPreferencePage constructor comment.
-	 */
-	public AudioPreferencePage() {
-		super();
-	
-		loadUserMapInfo();
-	}
-	
-	protected IPath chooseAudioFile() {
-		FileDialog dialog = new FileDialog(getShell(), SWT.SINGLE);
-		dialog.setText(Messages.audioPrefSelectFile);
-		dialog.setFilterExtensions(new String[] {"*.au;*.wav"});
-		dialog.setFilterPath(null);
-		dialog.open();
-	
-		String[] filenames = dialog.getFileNames();
-		if (filenames != null && filenames.length > 0) {
-			String filterPath = dialog.getFilterPath();
-			return new Path(filterPath + java.io.File.separator + filenames[0]);
-		}
-		return null;
-	}
-
-	/**
-	 * Creates and returns the SWT control for the customized body 
-	 * of this preference page under the given parent composite.
-	 * <p>
-	 * This framework method must be implemented by concrete
-	 * subclasses.
-	 * </p>
-	 *
-	 * @param parent the parent composite
-	 * @return the new control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(parent, ContextIds.AUDIO_PREFERENCES);
-	
-		final AudioCore core = AudioCore.getInstance();
-	
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-	
-		enableButton = new Button(composite, SWT.CHECK);
-		enableButton.setText(Messages.audioPrefEnable);
-		enableButton.setSelection(AudioCore.getInstance().isSoundEnabled());
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		enableButton.setLayoutData(data);
-		whs.setHelp(enableButton, ContextIds.AUDIO_PREFERENCES_ENABLE);
-		
-		final Label volumeLabel = new Label(composite, SWT.NONE);
-		volumeLabel.setText(Messages.audioPrefVolume);
-		data = new GridData();
-		data.horizontalIndent = 20;
-		volumeLabel.setLayoutData(data);
-		volumeLabel.setEnabled(enableButton.getSelection());
-		
-		volume = new Spinner(composite, SWT.BORDER);
-		volume.setMinimum(0);
-		volume.setMaximum(20);
-		volume.setSelection(AudioCore.getInstance().getVolume());
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		data.widthHint = 60;
-		volume.setLayoutData(data);
-		volume.setEnabled(enableButton.getSelection());
-		whs.setHelp(volume, ContextIds.AUDIO_PREFERENCES_VOLUME);
-		
-		enableButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				volumeLabel.setEnabled(enableButton.getSelection());
-				volume.setEnabled(enableButton.getSelection());
-			}
-		});
-		
-		Label label = new Label(composite, SWT.NONE);
-		data = new GridData();
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.audioPrefSounds);
-		data = new GridData();
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-		
-		final Table table = new Table(composite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.CHECK);
-		data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		table.setLayoutData(data);
-		whs.setHelp(table, ContextIds.AUDIO_PREFERENCES_SOUNDS_TABLE);
-		
-		viewer = new CategoryTableViewer(table);
-		
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		
-		tableLayout.addColumnData(new ColumnPixelData(23, false));
-		TableColumn col = new TableColumn(table, SWT.CENTER, 0);
-		col.setResizable(false);
-		
-		tableLayout.addColumnData(new ColumnWeightData(11, 110, true));
-		col = new TableColumn(table, SWT.NONE, 1);
-		col.setText(Messages.audioPrefSound);
-		col.setResizable(true);
-		
-		tableLayout.addColumnData(new ColumnWeightData(15, 150, true));
-		col = new TableColumn(table, SWT.NONE, 2);
-		col.setText(Messages.audioPrefFile);
-		col.setResizable(true);
-		
-		viewer.setContentProvider(new AudioTableContentProvider());
-		viewer.setLabelProvider(new AudioTableLabelProvider(this));
-		viewer.setInput("root");
-		
-		setCheckState(viewer);
-		
-		viewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				boolean checked = event.getChecked();
-				Object obj = event.getElement();
-				
-				if (obj instanceof String) {
-					String id = (String) obj;
-					core.setCategoryEnabled(id, checked);
-					//viewer.refresh();
-					Iterator iterator = AudioTableContentProvider.getSoundsByCategory(id).iterator();
-					while (iterator.hasNext()) {
-						Sound s = (Sound) iterator.next();
-						viewer.setChecked(s, checked);
-						core.setSoundEnabled(s.getId(), checked);
-					}
-				} else {
-					Sound sound = (Sound) obj;
-					core.setSoundEnabled(sound.getId(), checked);
-				}
-			}
-		});
-		
-		Composite right = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		right.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL);
-		right.setLayoutData(data);
-	
-		// play button and table selection listener
-		final Button playButton = SWTUtil.createButton(right, Messages.audioPrefPlay);
-		playButton.setEnabled(false);
-		whs.setHelp(playButton, ContextIds.AUDIO_PREFERENCES_PLAY);
-	
-		final Button browseButton = SWTUtil.createButton(right, Messages.audioPrefBrowse);
-		browseButton.setEnabled(false);
-		whs.setHelp(browseButton, ContextIds.AUDIO_PREFERENCES_BROWSE);
-	
-		final Button resetButton = SWTUtil.createButton(right, Messages.audioPrefReset);
-		resetButton.setEnabled(false);
-		whs.setHelp(resetButton, ContextIds.AUDIO_PREFERENCES_RESET);
-		
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				try {
-					IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-					Object obj = sel.getFirstElement();
-					if (obj instanceof Sound) {
-						Sound sound = (Sound) obj;
-						URL url = getSoundURL(sound.getId());
-						if (url != null && soundAvailable)
-							playButton.setEnabled(true);
-						else
-							playButton.setEnabled(false);
-						browseButton.setEnabled(true);
-						
-						if (getUserSoundPath(sound.getId()) != null)
-							resetButton.setEnabled(true);
-						else
-							resetButton.setEnabled(false);
-					} else {
-						playButton.setEnabled(false);
-						browseButton.setEnabled(false);
-						resetButton.setEnabled(false);
-					}
-				} catch (Exception ex) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error in table selection", ex);
-					}
-				}
-			}
-		});
-	
-		soundAvailable = AudioCore.isAudioSupported();
-		if (soundAvailable) {
-			playButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						int sel = table.getSelectionIndex();
-						Sound sound = (Sound) table.getItem(sel).getData();
-						AudioCore.playSound(getSoundURL(sound.getId()), volume.getSelection());
-					} catch (Exception ex) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Error in table selection", ex);
-						}
-					}
-				}
-			});
-		} else
-			playButton.setEnabled(false);
-		
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					IPath path = chooseAudioFile();
-					if (path != null) {
-						int sel = table.getSelectionIndex();
-						Sound sound = (Sound) table.getItem(sel).getData();
-						setUserSoundPath(sound.getId(), path);
-						viewer.refresh(sound);
-						playButton.setEnabled(true);
-					}
-				} catch (Exception ex) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error browsing", ex);
-					}
-				}
-			}
-		});
-		
-		resetButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					int sel = table.getSelectionIndex();
-					Sound sound = (Sound) table.getItem(sel).getData();
-					removeUserSoundPath(sound.getId());
-					viewer.refresh(sound);
-					//playButton.setEnabled(true);
-				} catch (Exception ex) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Error reseting sound", ex);
-					}
-				}
-			}
-		});
-		
-		Dialog.applyDialogFont(composite);
-		
-		return composite;
-	}
-
-	protected void setCheckState(CheckboxTableViewer viewer) {
-		AudioCore core = AudioCore.getInstance();
-		
-		Map<String, String> categories = core.getCategories();
-		
-		// first, find all the categories and sort
-		List<String> cats = new ArrayList<String>();
-		Iterator iterator = categories.keySet().iterator();
-		while (iterator.hasNext())
-			cats.add((String)iterator.next());
-		
-		// list them, ignoring empty ones
-		iterator = categories.keySet().iterator();
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			List l = AudioTableContentProvider.getSoundsByCategory(id);
-			if (!l.isEmpty()) {
-				if (core.isCategoryEnabled(id))
-					viewer.setChecked(id, true);
-				
-				int size = l.size();
-				for (int i = 0; i < size; i++) {
-					Sound s = (Sound) l.get(i);
-					if (core.isSoundEnabled(s.getId()))
-						viewer.setChecked(s, true);
-				}
-			}
-		}
-		
-		// finally, list the "misc" sounds
-		List l = AudioTableContentProvider.getSoundsByCategory(null);
-		if (!l.isEmpty()) {
-			int size = l.size();
-			for (int i = 0; i < size; i++) {
-				Sound s = (Sound) l.get(i);
-				if (core.isSoundEnabled(s.getId()))
-					viewer.setChecked(s, true);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.core.runtime.IPath
-	 * @param id java.lang.String
-	 */
-	protected URL getSoundURL(String id) {
-		try {
-			IPath path = userSoundMap.get(id);
-			if (path != null)
-				return path.toFile().toURL();
-		} catch (Exception e) {
-			// ignore
-		}
-	
-		return AudioCore.getInstance().getSound(id).getLocation();
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.core.runtime.IPath
-	 * @param id java.lang.String
-	 */
-	protected IPath getUserSoundPath(String id) {
-		try {
-			IPath path = userSoundMap.get(id);
-			if (path != null)
-				return path;
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	/**
-	 * Initializes this preference page for the given workbench.
-	 * <p>
-	 * This method is called automatically as the preference page is being created
-	 * and initialized. Clients must not call this method.
-	 * </p>
-	 *
-	 * @param workbench the workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/**
-	 * 
-	 */
-	protected void loadUserMapInfo() {
-		// create a copy of the user sound map
-		Map<String, IPath> map = AudioCore.getInstance().getUserSoundMap();
-		userSoundMap = new HashMap<String, IPath>(map.size());
-		
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			IPath path = map.get(id);
-			userSoundMap.put(id, path);
-		}
-	}
-
-	/**
-	 * @see PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		AudioCore core = AudioCore.getInstance();
-		
-		enableButton.setSelection(core.getDefaultSoundsEnabled());
-		volume.setSelection(core.getDefaultVolume());
-	
-		userSoundMap = new HashMap<String, IPath>();
-		viewer.refresh();
-	
-		super.performDefaults();
-	}
-
-	/** 
-	 * @see PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		AudioCore core = AudioCore.getInstance();
-		core.setSoundsEnabled(enableButton.getSelection());
-		core.setVolume(volume.getSelection());
-	
-		core.setUserSoundMap(userSoundMap);
-		viewer.refresh();
-	
-		return super.performOk();
-	}
-
-	/**
-	 * 
-	 */
-	protected void removeUserSoundPath(String id) {
-		if (userSoundMap.containsKey(id))
-			userSoundMap.remove(id);
-	}
-
-	/**
-	 * 
-	 */
-	protected void saveUserMapInfo() {
-		// create a copy of the user sound map
-		Map map = AudioCore.getInstance().getUserSoundMap();
-		userSoundMap = new HashMap<String, IPath>(map.size());
-	
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			IPath path = (IPath) map.get(id);
-			userSoundMap.put(id, path);
-		}
-	}
-
-	/**
-	 * 
-	 * @param path org.eclipse.core.runtime.IPath
-	 */
-	protected void setUserSoundPath(String id, IPath path) {
-		userSoundMap.put(id, path);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java
deleted file mode 100644
index ceea15c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.audio;
-
-import java.util.*;
-import org.eclipse.wst.server.ui.internal.viewers.BaseContentProvider;
-/**
- * Audio table content provider.
- */
-class AudioTableContentProvider extends BaseContentProvider {
-	protected static final String MISC_CATEGORY = "miscCategory";
-
-	/**
-	 * AudioTableContentProvider constructor comment.
-	 */
-	public AudioTableContentProvider() {
-		super();
-	}
-
-	/**
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 * These elements can be presented as rows in a table, items in a list, etc.
-	 * The result is not modified by the viewer.
-	 *
-	 * @param inputElement the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public Object[] getElements(Object inputElement) {
-		AudioCore core = AudioCore.getInstance();
-	
-		Map<String, String> categories = core.getCategories();
-		Map<String, Sound> sounds = core.getSounds();
-	
-		List<Object> list = new ArrayList<Object>(sounds.size());
-	
-		// first, find all the categories and sort
-		List<String> cats = new ArrayList<String>();
-		Iterator iterator = categories.keySet().iterator();
-		while (iterator.hasNext())
-			cats.add((String) iterator.next());
-		sortCategories(cats);
-		
-		// list them, ignoring empty ones
-		iterator = categories.keySet().iterator();
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			List<Sound> l = getSoundsByCategory(id);
-			if (!l.isEmpty()) {
-				list.add(id);
-				sortSounds(l);
-	
-				int size = l.size();
-				for (int i = 0; i < size; i++)
-					list.add(l.get(i));
-			}
-		}
-	
-		// finally, list the "misc" sounds
-		List<Sound> l = getSoundsByCategory(null);
-		if (!l.isEmpty()) {
-			list.add(MISC_CATEGORY);
-			sortSounds(l);
-	
-			int size = l.size();
-			for (int i = 0; i < size; i++)
-				list.add(l.get(i));
-		}
-	
-		return list.toArray();
-	}
-
-	/**
-	 * Returns the sounds from the given category. Use null
-	 * to return all miscelleneous sounds with no category or
-	 * an invalid category.
-	 *
-	 * @return java.util.List
-	 * @param category java.lang.String
-	 */
-	protected static List<Sound> getSoundsByCategory(String category) {
-		AudioCore core = AudioCore.getInstance();
-	
-		Map<String, Sound> sounds = core.getSounds();
-		Map<String, String> categories = core.getCategories();
-		List<Sound> list = new ArrayList<Sound>();
-	
-		Iterator iterator = sounds.keySet().iterator();
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			Sound sound = sounds.get(id);
-			if (category != null && category.equals(sound.getCategory()))
-				list.add(sound);
-			else if (category == null && (sound.getCategory() == null || !categories.containsKey(sound.getCategory())))
-				list.add(sound);
-		}
-		return list;
-	}
-
-	/**
-	 * Sorts a list of categories, in place.
-	 *
-	 * @param list java.util.List
-	 */
-	protected void sortCategories(List<String> list) {
-		int size = list.size();
-		if (size < 2)
-			return;
-		
-		Map<String, String> categories = AudioCore.getInstance().getCategories();
-		
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i+1; j < size; j++) {
-				String a = list.get(i);
-				String aa = categories.get(a);
-				String b = list.get(j);
-				String bb = categories.get(b);
-				if (aa.compareTo(bb) > 0) {
-					list.set(i, b);
-					list.set(j, a);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Sorts a list of sounds, in place.
-	 *
-	 * @param sounds java.util.List
-	 */
-	protected void sortSounds(List<Sound> sounds) {
-		int size = sounds.size();
-		if (size < 2)
-			return;
-	
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i+1; j < size; j++) {
-				Sound a = sounds.get(i);
-				Sound b = sounds.get(j);
-				if (a.getName().compareTo(b.getName()) > 0) {
-					sounds.set(i, b);
-					sounds.set(j, a);
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableLabelProvider.java
deleted file mode 100644
index 26dd8c5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableLabelProvider.java
+++ /dev/null
@@ -1,156 +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.ui.internal.audio;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.core.runtime.*;
-import java.net.URL;
-import java.util.Map;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-/**
- * Audio table label provider.
- */
-class AudioTableLabelProvider implements ITableLabelProvider {
-	protected AudioPreferencePage page;
-
-	/**
-	 * AudioTableLabelProvider constructor comment.
-	 * 
-	 * @param page the preference page
-	 */
-	public AudioTableLabelProvider(AudioPreferencePage page) {
-		super();
-		this.page = page;
-	}
-
-	/**
-	 * Adds a listener to this label provider. 
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * Label provider listeners are informed about state changes 
-	 * that affect the rendering of the viewer that uses this label provider.
-	 * </p>
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	/**
-	 * Disposes of this label provider.  When a label provider is
-	 * attached to a viewer, the viewer will automatically call
-	 * this method when the viewer is being closed.  When label providers
-	 * are used outside of the context of a viewer, it is the client's
-	 * responsibility to ensure that this method is called when the
-	 * provider is no longer needed.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		/*AudioCore core = AudioCore.getInstance();
-	
-		if (columnIndex == 0) {
-			if (element instanceof String) {
-				if (element != AudioTableContentProvider.MISC_CATEGORY) {
-					if (core.isCategoryEnabled((String) element))
-						return ImageResource.getImage(ImageResource.IMG_AUDIO_ENABLED);
-					return ImageResource.getImage(ImageResource.IMG_AUDIO_DISABLED);
-				}
-				return null;
-			}
-			Sound sound = (Sound) element;
-			if (!core.isCategoryEnabled(sound.getCategory()))
-				return ImageResource.getImage(ImageResource.IMG_AUDIO_UNAVAILABLE);
-			if (core.isSoundEnabled(sound.getId()))
-				return ImageResource.getImage(ImageResource.IMG_AUDIO_ENABLED);
-			return ImageResource.getImage(ImageResource.IMG_AUDIO_DISABLED);
-		} else*/
-		if (columnIndex == 1) {
-			if (element instanceof String)
-				return ImageResource.getImage(ImageResource.IMG_AUDIO_CATEGORY);
-			return ImageResource.getImage(ImageResource.IMG_AUDIO_SOUND);
-		}
-		return null;
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (columnIndex == 0)
-			return "";
-		
-		if (element instanceof String) {
-			String categoryId = (String) element;
-			if (columnIndex == 1) {
-				if (categoryId.equals(AudioTableContentProvider.MISC_CATEGORY))
-					return ""; //(Miscellaneous)";
-				Map categories = AudioCore.getInstance().getCategories();
-				return (String) categories.get(categoryId);
-			}
-			return "";
-		}
-		Sound sound = (Sound) element;
-		
-		if (columnIndex == 1) {
-			String s = sound.getName();
-			if (s != null)
-				return s;
-			return Messages.audioUnknown;
-		} else if (columnIndex == 2) {
-			IPath path = page.getUserSoundPath(sound.getId());
-			if (path != null)
-				return path.lastSegment();
-			
-			URL url = page.getSoundURL(sound.getId());
-			if (url == null)
-				return Messages.audioNone;
-			return Messages.audioDefault;
-		}
-		return "";
-	}
-
-	/**
-	 * Returns whether the label would be affected 
-	 * by a change to the given property of the given element.
-	 * This can be used to optimize a non-structural viewer update.
-	 * If the property mentioned in the update does not affect the label,
-	 * then the viewer need not update the label.
-	 *
-	 * @param element the element
-	 * @param property the property
-	 * @return <code>true</code> if the label would be affected,
-	 *    and <code>false</code> if it would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * Removes a listener to this label provider.
-	 * Has no affect if an identical listener is not registered.
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/CategoryTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/CategoryTableViewer.java
deleted file mode 100644
index 85c7dd7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/CategoryTableViewer.java
+++ /dev/null
@@ -1,53 +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.ui.internal.audio;
-
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-/**
- *
- */
-public class CategoryTableViewer extends CheckboxTableViewer {
-	protected Color color;
-
-	public CategoryTableViewer(Table table) {
-		super(table);
-		createColor(table);
-	}
-
-	protected void createColor(Control c) {
-		color = new Color(c.getDisplay(), 255, 255, 225);
-		c.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				color.dispose();
-			}
-		});
-	}
-
-	public void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-		if (color == null)
-			return;
-		if (widget instanceof TableItem) {
-			TableItem item = (TableItem) widget;
-			if (element instanceof String) {
-				item.setBackground(color);
-			} else
-				item.setBackground(null);
-		}
-		super.doUpdateItem(widget, element, fullMap);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/IMemento.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/IMemento.java
deleted file mode 100644
index 6f149f5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/IMemento.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.audio;
-/**
- * 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 {
-	/**
-	 * 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);
-
-	/**
-	 * 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 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);
-
-	/**
-	 * 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.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Sound.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Sound.java
deleted file mode 100644
index de29438..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Sound.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.audio;
-
-import java.net.URL;
-/**
- * A single sound.
- */
-class Sound {
-	protected String id;
-	protected String name;
-	public URL location;
-	protected String category;
-
-	/**
-	 * Sound constructor comment.
-	 */
-	public Sound() {
-		super();
-	}
-
-	/**
-	 * Sound constructor comment.
-	 * 
-	 * @param id an id
-	 * @param category a category
-	 * @param name a name
-	 * @param loc location
-	 */
-	public Sound(String id, String category, String name, URL loc) {
-		super();
-	
-		this.id = id;
-		this.category = category;
-		this.name = name;
-		this.location = loc;
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.audio.Category
-	 */
-	public String getCategory() {
-		return category;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * 
-	 * @return java.net.URL
-	 */
-	public URL getLocation() {
-		return location;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * 
-	 * @param newCategory org.eclipse.audio.Category
-	 */
-	public void setCategory(String newCategory) {
-		category = newCategory;
-	}
-
-	/**
-	 * 
-	 * @param newId java.lang.String
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	/**
-	 * 
-	 * @param newLocation java.net.URL
-	 */
-	public void setLocation(URL newLocation) {
-		location = newLocation;
-	}
-
-	/**
-	 * 
-	 * @param newName java.lang.String
-	 */
-	public void setName(String newName) {
-		name = newName;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java
deleted file mode 100644
index 890cbaa..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java
+++ /dev/null
@@ -1,219 +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.ui.internal.audio;
-
-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 persistence 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);
-	}
-
-	/**
-	 * Create a Document from a Reader and answer a root memento for reading 
-	 * a document.
-	 */
-	protected static XMLMemento createReadRoot(Reader reader) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(reader));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param type a type
-	 * @return a memento
-	 */
-	protected 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.
-		List<Element> list = new ArrayList<Element>(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, list.get(x));
-		}
-		return results;
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param in java.io.InputStream
-	 * @return org.eclipse.ui.IMemento
-	 */
-	public static IMemento loadMemento(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(in);
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * @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"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-			transformer.transform(source, result);            
-		}
-		catch (TransformerConfigurationException e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-		catch (TransformerException e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/CNFManagedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/CNFManagedUIDecorator.java
deleted file mode 100644
index 73ce2ff..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/CNFManagedUIDecorator.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008,2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.provisional.UIDecorator;
-
-public class CNFManagedUIDecorator extends UIDecorator {
-	private static final String[] serverStateUnmanaged = new String[] {
-		"",
-		Messages.viewStatusStarting4,
-		Messages.viewStatusStarted2,
-		Messages.viewStatusStopping4,
-		Messages.viewStatusStopped2};
-	
-	private static Image[] startingImages;
-	private static ImageDescriptor[] startingImagesDescriptor;	
-	private static Image[] stoppingImages;
-	private static ImageDescriptor[] stoppingImagesDescriptor;
-	
-	private static Image[] startingImagesOverlay;	
-	private static Image[] stoppingImagesOverlay;
-
-	
-	/**
-	 * Initialize the variables for this class
-	 */
-	public void init(){
-		loadImages();
-	}
-	
-	/**
-	 * Load the Server starting images. 
-	 * NOTE: This is done so that we don't initialize the images when a label is being requested
-	 */
-	public void loadImages(){
-		if (startingImages == null){
-			startingImages = new Image[] {
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1),
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_2),
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_3)
-			};
-			
-			startingImagesDescriptor = new ImageDescriptor[] {
-				ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STARTING_1),
-				ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STARTING_2),
-				ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STARTING_3)
-			};
-			
-			stoppingImages = new Image[] {
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1),
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2),
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2)
-			};
-			
-			stoppingImagesDescriptor = new ImageDescriptor[] {
-				ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STOPPING_1),
-				ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STOPPING_2),
-				ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STOPPING_3)
-			};
-					
-			// overlay icons
-			startingImagesOverlay = new Image[] {
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1_OVERLAY),
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_2_OVERLAY),
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_3_OVERLAY)
-				};			
-				
-			stoppingImagesOverlay = new Image[] {
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1_OVERLAY),
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2_OVERLAY),
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2_OVERLAY)
-				};
-		}
-	}
-
-	/**
-	 * @see UIDecorator#getStateLabel(int, String, int)
-	 */
-	public String getStateLabel(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return "";
-		else if (state == IServer.STATE_STARTING)
-			return Messages.viewStatusStarting;
-		else if (state == IServer.STATE_STOPPING)
-			return Messages.viewStatusStopping;
-		else if (state == IServer.STATE_STARTED) {
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return Messages.viewStatusStartedDebug;
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return Messages.viewStatusStartedProfile;
-			else
-				return Messages.viewStatusStarted;
-		} else if (state == IServer.STATE_STOPPED)
-			return Messages.viewStatusStopped;
-		
-		return serverStateUnmanaged[state];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.provisional.UIDecorator#getStateImage(int, java.lang.String, int)
-	 */
-	public Image getStateImage(int state, String mode, int count) {
-		// Only initialize the images when an image is required
-		init();
-		
-		if (state == IServer.STATE_UNKNOWN)
-			return null;
-		else if (state == IServer.STATE_STARTING)
-			return startingImages[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingImages[count];
-		else if (state == IServer.STATE_STOPPED)
-			return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED);
-		else { //if (state == IServer.STATE_STARTED) {
-			//String mode = server.getMode();
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG);
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE);
-			else
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.provisional.UIDecorator#getStateImage(int, java.lang.String, int)
-	 */
-	public Image getStateImageOverlay(int state, String mode, int count) {
-		// Only initialize the images when an image is required
-		init();
-		
-		if (state == IServer.STATE_UNKNOWN)
-			return null;
-		else if (state == IServer.STATE_STARTING)
-			return startingImagesOverlay[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingImagesOverlay[count];
-		else if (state == IServer.STATE_STOPPED)
-			return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED_OVERLAY);
-		else { //if (state == IServer.STATE_STARTED) {
-			//String mode = server.getMode();
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG_OVERLAY);
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE_OVERLAY);
-			else
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_OVERLAY);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.provisional.UIDecorator#getStateImageDescriptor(int, java.lang.String, int)
-	 */
-	public ImageDescriptor getStateImageDescriptor(int state, String mode, int count) {
-		// Only initialize the images when an image is required
-		if (state == IServer.STATE_UNKNOWN)
-			return null;
-		else if (state == IServer.STATE_STARTING)
-			return startingImagesDescriptor[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingImagesDescriptor[count];
-		else if (state == IServer.STATE_STOPPED)
-			return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STOPPED);
-		else { //if (state == IServer.STATE_STARTED) {
-			//String mode = server.getMode();
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG);
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE);
-			else
-				return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER_STATE_STARTED);
-		}
-	}
-	
-	public String getModuleName() {
-		return "module";
-	}
-	
-	public boolean canRestart() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/CompositeServerImageDescriptor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/CompositeServerImageDescriptor.java
deleted file mode 100644
index e7bcfc0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/CompositeServerImageDescriptor.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Trace;
-
-/**
- * A CompositeServerImageDescriptor consists of a main icon and one overlay. The overlay will be
- *  created at the bottom right of the base image
- * 
- */
-
-public class CompositeServerImageDescriptor extends CompositeImageDescriptor {
-	private Image fBaseImage;
-	private Point fSize;
-	private Image overlay;
-	
-	/**
-	 * Create a new CompositeServerImageDescriptor with the base icon being the ServerType image 
-	 * provided by the adopter
-	 * 
-	 * @param baseImage
-	 * @param overlay
-	 */
-	public CompositeServerImageDescriptor(final IServer server, Image overlay) {
-		setBaseImage(ImageResource.getImage(server.getServerType().getId()));
-		if (overlay == null){
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Invalid overlay icon");
-			}
-		}
-		this.overlay = overlay;
-	}
-	
-	/**
-	 * Create a new CompositeServerImageDescriptor with the base icon being the ServerType image 
-	 * provided by the adopter
-	 * 
-	 * @param baseImage
-	 * @param overlay
-	 */
-	public CompositeServerImageDescriptor(final Image baseImage, Image overlay) {
-		setBaseImage(baseImage);
-		if (overlay == null){
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Invalid overlay icon");
-			}
-		}
-		this.overlay = overlay;
-	}
-	
-
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data = getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof CompositeServerImageDescriptor))
-			return false;
-			
-		CompositeServerImageDescriptor other = (CompositeServerImageDescriptor) object;
-		return (getBaseImage().equals(other.getBaseImage()));
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg = getBaseImage().getImageData();
-		if (bg == null)
-			bg = DEFAULT_IMAGE_DATA;
-
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	protected void drawOverlays() {
-		if (overlay == null){
-			return;
-		}
-		
-		ImageData data = overlay.getImageData();
-		int x = getSize().x - data.width;
-		int y = getSize().y - data.height;
-		drawImage(data, x, y);
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(Image baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerActionProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerActionProvider.java
deleted file mode 100644
index f19ee36..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerActionProvider.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Base Code
- *     Red Hat - Refactor for CNF
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.bindings.TriggerSequence;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.keys.IBindingService;
-import org.eclipse.ui.navigator.*;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.actions.NewServerWizardAction;
-import org.eclipse.wst.server.ui.internal.view.servers.*;
-
-public class ServerActionProvider extends CommonActionProvider {
-	public static final String NEW_MENU_ID = "org.eclipse.wst.server.ui.internal.cnf.newMenuId";
-	public static final String SHOW_IN_MENU_ID = "org.eclipse.ui.navigate.showInQuickMenu";
-	public static final String TOP_SECTION_START_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.topSectionStart";
-	public static final String TOP_SECTION_END_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.topSectionEnd";
-	public static final String EDIT_SECTION_START_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnfeditSectionStart";
-	public static final String EDIT_SECTION_END_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.editSectionEnd";
-	public static final String CONTROL_SERVER_SECTION_START_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.controlServerSectionStart";
-	public static final String CONTROL_SERVER_SECTION_END_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.controlServerSectionEnd";
-	public static final String SERVER_ETC_SECTION_START_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.serverEtcSectionStart";
-	public static final String SERVER_ETC_SECTION_END_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.serverEtcSectionEnd";
-	public static final String CONTROL_MODULE_SECTION_START_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.controlModuleSectionStart";
-	public static final String CONTROL_MODULE_SECTION_END_SEPARATOR = "org.eclipse.wst.server.ui.internal.cnf.controlModuleSectionEnd";
-	
-	private ICommonActionExtensionSite actionSite;
-	private Clipboard clipboard;
-	public ServerActionProvider() {
-		super();
-	}
-	
-	public void init(ICommonActionExtensionSite aSite) {
-		super.init(aSite);
-		this.actionSite = aSite;
-		ICommonViewerSite site = aSite.getViewSite();
-		if( site instanceof ICommonViewerWorkbenchSite ) {
-			StructuredViewer v = aSite.getStructuredViewer();
-			if( v instanceof CommonViewer ) {
-				CommonViewer cv = (CommonViewer)v;
-				ICommonViewerWorkbenchSite wsSite = (ICommonViewerWorkbenchSite)site;
-				addListeners(cv);
-				makeServerActions(cv, wsSite.getSelectionProvider());
-			}
-		}
-	}
-
-
-	// actions on a server
-	protected Action[] actions;
-	protected Action actionModifyModules;
-	protected Action openAction, showInConsoleAction, showInDebugAction, propertiesAction, monitorPropertiesAction;
-	protected Action copyAction, pasteAction, globalDeleteAction, renameAction;
-	protected Action noneAction = new Action(Messages.dialogMonitorNone) {
-		// dummy action
-	};
-
-	private void addListeners(CommonViewer tableViewer) {
-		tableViewer.addOpenListener(new IOpenListener() {
-			public void open(OpenEvent event) {
-				try {
-					IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-					Object data = sel.getFirstElement();
-					if (!(data instanceof IServer))
-						return;
-					IServer server = (IServer) data;
-					ServerUIPlugin.editServer(server);
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Could not open server", e);
-					}
-				}
-			}
-		});
-	}
-	
-	private void makeServerActions(CommonViewer tableViewer, ISelectionProvider provider) {
-		clipboard = new Clipboard(tableViewer.getTree().getDisplay());
-		Shell shell = tableViewer.getTree().getShell();
-		
-		actions = new Action[6];
-		// create the start actions
-		actions[0] = new StartAction(shell, provider, ILaunchManager.DEBUG_MODE);
-		actions[1] = new StartAction(shell, provider, ILaunchManager.RUN_MODE);
-		actions[2] = new StartAction(shell, provider, ILaunchManager.PROFILE_MODE);
-		
-		// create the stop action
-		actions[3] = new StopAction(shell, provider);
-		
-		// create the publish actions
-		actions[4] = new PublishAction(shell, provider);
-		actions[5] = new PublishCleanAction(shell, provider);
-		
-		// create the open action
-		openAction = new OpenAction(provider);
-
-		// create copy, paste, and delete actions
-		pasteAction = new PasteAction(shell, provider, clipboard);
-		copyAction = new CopyAction(provider, clipboard, pasteAction);
-		globalDeleteAction = new GlobalDeleteAction(shell, provider);
-		renameAction = new RenameAction(shell, tableViewer, provider);
-		
-		// create the other actions
-		actionModifyModules = new ModuleSloshAction(shell, provider);
-		showInConsoleAction = new ShowInConsoleAction(provider);
-		showInDebugAction = new ShowInDebugAction(provider);
-		
-		// create the properties action
-		propertiesAction = new PropertiesAction(shell, provider);
-		monitorPropertiesAction = new PropertiesAction(shell, "org.eclipse.wst.server.ui.properties.monitor", provider);
-	}
-
-	public void fillActionBars(IActionBars actionBars) {
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.debug", actions[0]);
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.run", actions[1]);
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.stop", actions[3]);
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.publish", actions[4]);
-		actionBars.setGlobalActionHandler("org.eclipse.ui.navigator.Open", openAction);
-		actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), propertiesAction);
-		actionBars.updateActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
-		actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction);
-		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), globalDeleteAction);
-		actionBars.setGlobalActionHandler(ActionFactory.RENAME.getId(), renameAction);
-		
-		IContributionManager cm = actionBars.getToolBarManager();
-	    IContributionItem[] cis = cm.getItems();
-	    List<IAction> existingActions = new ArrayList<IAction>();
-	    for (IContributionItem ci : cis) {
-	        if (ci instanceof ActionContributionItem) {
-	            ActionContributionItem aci = (ActionContributionItem) ci;
-	            existingActions.add(aci.getAction());
-	        }
-	    }
-
-	    for (int i = 0; i < actions.length - 1; i++)
-	        if (!existingActions.contains(actions[i]))
-	            cm.add(actions[i]);
-
-	}
-	
-	public void fillContextMenu(IMenuManager menu) {
-		// This is a temp workaround to clean up the default group that are provided by CNF		
-		menu.removeAll();
-		
-		ICommonViewerSite site = actionSite.getViewSite();
-		IStructuredSelection selection = null;
-		Shell shell = actionSite.getViewSite().getShell();
-		if( site instanceof ICommonViewerWorkbenchSite ) {
-			ICommonViewerWorkbenchSite wsSite = (ICommonViewerWorkbenchSite)site;
-			selection = (IStructuredSelection) wsSite.getSelectionProvider().getSelection();
-		}
-
-		IServer server = null;
-		IModule[] module = null;
-		if (selection != null && !selection.isEmpty()) {
-			Iterator iterator = selection.iterator();
-			Object obj = iterator.next();
-			if (obj instanceof IServer)
-				server = (IServer) obj;
-			if (obj instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) obj;
-				server = ms.server;
-				module = ms.module;
-			}
-			if (iterator.hasNext()) {
-				server = null;
-				module = null;
-			}
-		}
-
-		menu.add(invisibleSeparator(TOP_SECTION_START_SEPARATOR));
-		addTopSection(menu, server, module);
-		menu.add(invisibleSeparator(TOP_SECTION_END_SEPARATOR));
-		menu.add(new Separator());
-
-		if (server != null && module == null) {
-			menu.add(invisibleSeparator(EDIT_SECTION_START_SEPARATOR));
-			menu.add(copyAction);
-			menu.add(pasteAction);
-			menu.add(globalDeleteAction);
-			menu.add(renameAction);
-			menu.add(invisibleSeparator(EDIT_SECTION_END_SEPARATOR));
-
-			menu.add(new Separator());
-			
-			menu.add(invisibleSeparator(CONTROL_SERVER_SECTION_START_SEPARATOR));
-			for (int i = 0; i < actions.length; i++)
-				menu.add(actions[i]);
-			menu.add(invisibleSeparator(CONTROL_SERVER_SECTION_END_SEPARATOR));
-			
-			menu.add(new Separator());
-			
-			menu.add(invisibleSeparator(SERVER_ETC_SECTION_START_SEPARATOR));
-			menu.add(actionModifyModules);
-			addMonitor(server, menu, shell);
-			menu.add(invisibleSeparator(SERVER_ETC_SECTION_END_SEPARATOR));
-			menu.add(new Separator());
-			
-		} else if (server != null && module != null) {
-			
-			menu.add(invisibleSeparator(CONTROL_MODULE_SECTION_START_SEPARATOR));
-			menu.add(new StartModuleAction(server, module));
-			menu.add(new StopModuleAction(server, module));			
-			menu.add(new RestartModuleAction(server, module));
-			if(module.length == 1) {
-				menu.add(new RemoveModuleAction(shell, server, module[0]));
-			}
-			menu.add(invisibleSeparator(CONTROL_MODULE_SECTION_END_SEPARATOR));
-		}
-	
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS+"-end"));
-		menu.add(propertiesAction);
-	}
-
-	protected void addTopSection(IMenuManager menu, IServer server, IModule[] module) {
-		MenuManager newMenu = new MenuManager(Messages.actionNew, NEW_MENU_ID);
-		IAction newServerAction = new NewServerWizardAction();
-		newServerAction.setText(Messages.actionNewServer);
-		newMenu.add(newServerAction);
-		menu.add(newMenu);
-		
-		// open action
-		if (server != null && module == null) {
-			menu.add(openAction);
-			
-			String text = Messages.actionShowIn;
-			final IWorkbench workbench = PlatformUI.getWorkbench();
-			final IBindingService bindingService = (IBindingService) workbench
-					.getAdapter(IBindingService.class);
-			final TriggerSequence[] activeBindings = bindingService
-					.getActiveBindingsFor(SHOW_IN_MENU_ID);
-			if (activeBindings.length > 0) {
-				text += "\t" + activeBindings[0].format();
-			}
-			
-			MenuManager showInMenu = new MenuManager(text, SHOW_IN_MENU_ID);
-			showInMenu.add(showInConsoleAction);
-			showInMenu.add(showInDebugAction);
-			menu.add(showInMenu);
-		}
-	}
-	
-	protected void addMonitor(IServer server, IMenuManager menu, Shell shell) {
-
-		if (server.getServerType() != null) {
-			final MenuManager menuManager = new MenuManager(Messages.actionMonitor);
-			
-			final IServer server2 = server;
-			final Shell shell2 = shell;
-			menuManager.addMenuListener(new IMenuListener() {
-				public void menuAboutToShow(IMenuManager manager) {
-					menuManager.removeAll();
-					if (server2.getAdapter(ServerDelegate.class) != null) {
-						ServerPort[] ports = server2.getServerPorts(null);
-						if (ports != null) {
-							int size = ports.length;
-							for (int i = 0; i < size; i++) {
-								if (!ports[i].isAdvanced())
-									menuManager.add(new MonitorServerPortAction(shell2, server2, ports[i]));
-							}
-						}
-					}
-					
-					if (menuManager.isEmpty())
-						menuManager.add(noneAction);
-					
-					menuManager.add(new Separator());
-					menuManager.add(monitorPropertiesAction);
-				}
-			});
-			
-			// add an initial menu item so that the menu appears correctly
-			noneAction.setEnabled(false);
-			menuManager.add(noneAction);
-			menu.add(menuManager);
-		}
-	}
-	
-	
-	private Separator invisibleSeparator(String s) {
-		Separator sep = new Separator(s);
-		sep.setVisible(false);
-		return sep;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerContentProvider.java
deleted file mode 100644
index 9405ba0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerContentProvider.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008,2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import java.util.*;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-import org.eclipse.wst.server.ui.internal.viewers.BaseContentProvider;
-
-public class ServerContentProvider extends BaseContentProvider implements ITreeContentProvider{
-	// TODO Angel Says: Need to review if this is needed
-	public static Object INITIALIZING = new Object();
-
-	 // @deprecated @see org.eclipse.wst.server.ui.internal.cnf.ServersView2.publishing
-	protected static Set<String> publishing = ServersView2.publishing;
-		
-	public Object[] getElements(Object element) {
-		List<IServer> list = new ArrayList<IServer>();
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (!((Server)servers[i]).isPrivate())
-					list.add(servers[i]);
-			}
-		}
-		return list.toArray();
-	}
-
-	public Object[] getChildren(Object element) {
-		if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer) element;
-			try {
-				IModule[] children = ms.server.getChildModules(ms.module, null);
-				int size = children.length;
-				ModuleServer[] ms2 = new ModuleServer[size];
-				for (int i = 0; i < size; i++) {
-					int size2 = ms.module.length;
-					IModule[] module = new IModule[size2 + 1];
-					System.arraycopy(ms.module, 0, module, 0, size2);
-					module[size2] = children[i];
-					ms2[i] = new ModuleServer(ms.server, module);
-				}
-				return ms2;
-			} catch (Exception e) {
-				return null;
-			}
-		}
-		
-		IServer server = (IServer) element;
-		IModule[] modules = server.getModules(); 
-		int size = modules.length;
-		ModuleServer[] ms = new ModuleServer[size];
-		for (int i = 0; i < size; i++) {
-			ms[i] = new ModuleServer(server, new IModule[] { modules[i] });
-		}
-		return ms;
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer) element;
-			return ms.server;
-		}
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {
-		if (element instanceof ModuleServer) {
-			// Check if the module server has child modules.
-			ModuleServer curModuleServer = (ModuleServer)element;
-			IServer curServer = curModuleServer.server;
-			IModule[] curModule = curModuleServer.module;
-			if (curServer != null &&  curModule != null) {
-				IModule[] curChildModule = curServer.getChildModules(curModule, null);
-				if (curChildModule != null && curChildModule.length > 0)
-					return true;
-				return false;
-			}
-			return false;
-		}
-		if( element instanceof IServer ) {
-			return ((IServer) element).getModules().length > 0;
-		}
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerDecorator.java
deleted file mode 100644
index 86edac5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerDecorator.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008,2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
- package org.eclipse.wst.server.ui.internal.cnf;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.provisional.AbstractServerLabelProvider;
-import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-
-public class ServerDecorator extends LabelProvider implements ILightweightLabelDecorator {
-
-	public static final String[] syncState = new String[] {
-		Messages.viewSyncOkay,
-		Messages.viewSyncRestart,
-		Messages.viewSyncPublish,
-		Messages.viewSyncRestartPublish,
-		Messages.viewSyncPublishing};
-
-	public static final String[] syncStateUnmanaged = new String[] {
-		Messages.viewSyncOkay2,
-		Messages.viewSyncRestart2,
-		Messages.viewSyncPublish2,
-		Messages.viewSyncRestartPublish2,
-		Messages.viewSyncPublishing2};
-
-	public static final String[] modulePublishState = new String[] {
-		"",
-		Messages.viewSyncOkay,
-		Messages.viewSyncPublish,
-		Messages.viewSyncPublish};
-
-	private static ServerDecorator instance;
-	
-	public static ServerDecorator getDefault() {
-		return instance;
-	}
-
-	private static int count = 0;
-	
-	public static void animate() {
-		count = (count + 1)%3;
-	}
-	
-	public static int getCount() {
-		return count;
-	}
-	
-	public ServerDecorator() {
-		instance = this;
-	}
-
-	public void decorate(Object element, IDecoration decoration) {
-		if( element instanceof IServer ) {
-			IServer server = (IServer)element;
-			String state = getServerStateLabel(server );
-			String status = getServerStatusLabel(server );
-			
-			decoration.addSuffix(combine(state, status));
-		} else if( element instanceof ModuleServer ) {
-			ModuleServer module = (ModuleServer)element;
-			String state = getModuleStateText(module);
-			String status = getModuleStatusText(module);
-			
-			decoration.addSuffix(combine(state, status));
-		}
-	}
-	
-	public void redecorate(IServer server) {
-		fireLabelProviderChanged(new LabelProviderChangedEvent(this));
-	}
-	
-	/*
-	 * Utility methods
-	 */
-	public static Image getServerImage(IServer server) {
-		return server == null ? null : 
-			server.getServerType() == null ? null : 
-				ImageResource.getImage(server.getServerType().getId());
-	}
-	
-	/**
-	 * Find the ServerLabelProvider for this server type and provide a label. If none are found
-	 * a default server label provider will be provided
-	 * 
-	 * @param server
-	 * @return
-	 */
-	public static String getServerStateLabel(IServer server) {
-		if (server == null || server.getServerType() == null)
-			return null;
-				
-		String stateLabel;
-		
-		AbstractServerLabelProvider labelProvider= ServerUIPlugin.getServerLabelProvider(server.getServerType().getId());
-		stateLabel =  labelProvider.getServerStateLabel(server);
-		
-		return stateLabel;
-	}
-
-	public static String getStateLabel(IServerType serverType, int state, String mode) {
-		return serverType == null ? null : 
-			UIDecoratorManager.getCNFUIDecorator().getStateLabel(state, mode, count);
-	}
-	
-	public static String getServerStatusLabel(IServer server) {
-		IStatus status = ((Server) server).getServerStatus();
-		if (status != null)
-			return status.getMessage();
-		
-		if (server.getServerType() == null)
-			return "";
-
-		if (server.getServerState() == IServer.STATE_UNKNOWN)
-			return "";
-		
-		String serverId = server.getId();
-		if (ServersView2.publishing.contains(serverId))
-			return ServerDecorator.syncState[4];
-		
-		// republish
-		int i = 0;
-		if (server.shouldPublish()) {
-			if (((Server)server).isPublishUnknown())
-				return "";
-			i += 2;
-		}
-		
-		if (server.shouldRestart())
-			i = 1;
-		
-		return syncState[i];
-	}
-
-	public static Image getServerStateImage(IServer server) {
-		return server == null ? null : 
-			getStateImage(server.getServerType(), server.getServerState(), server.getMode());
-	}
-	
-	public static Image getStateImage(IServerType serverType, int state, String mode) {
-		return serverType == null ? null : 
-			UIDecoratorManager.getCNFUIDecorator().getStateImage(state, mode, getCount());
-	}
-	
-	public static Image getServerStateImageOverlay(IServer server) {
-		return server == null ? null : 
-			getStateImageOverlay(server.getServerType(), server.getServerState(), server.getMode());
-	}
-	
-	public static Image getStateImageOverlay(IServerType serverType, int state, String mode) {
-		return serverType == null ? null : 
-			UIDecoratorManager.getCNFUIDecorator().getStateImageOverlay(state, mode, getCount());
-	}
-
-	
-	public static String getModuleText(ModuleServer ms ) { 
-		if (ms == null || ms.module == null)
-			return "";
-		int size = ms.module.length;
-		return ms.module[size - 1].getName();
-	}
-	
-	public static Image getModuleImage(ModuleServer ms) {
-		if( ms != null ) {
-			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-			Image image = labelProvider.getImage(ms.module[ms.module.length - 1]);
-			labelProvider.dispose();
-			return image;
-		} 
-		return null;
-	}
-	
-	public static String getModuleStateText(ModuleServer ms) {
-		if (ms == null || ms.module == null) 
-			return null;
-		
-		Server curServer = (Server) ms.getServer();
-		if (curServer == null || curServer.getServerType() == null) 
-			return null;
-		
-		// For module state, we always use run mode since the state of the module will only be showing
-		// Started state even for debug and profile mode.
-		return getStateLabel(curServer.getServerType(), curServer.getModuleState(ms.module), ILaunchManager.RUN_MODE);
-	}
-	
-	public static String getModuleStatusText(ModuleServer ms) {
-		if( ms != null && ms.server != null && ms.module != null ) {
-			IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
-			if (status != null)
-				return status.getMessage();
-			
-			return modulePublishState[ms.server.getModulePublishState(ms.module)];
-		}
-		return "";
-	}
-	
-	public static Image getModuleStatusImage(ModuleServer ms) {
-		IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
-		if (status != null) {
-			ISharedImages sharedImages = ServerUIPlugin.getInstance().getWorkbench().getSharedImages();
-			if (status.getSeverity() == IStatus.ERROR)
-				return sharedImages.getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
-			else if (status.getSeverity() == IStatus.WARNING)
-				return sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK);
-			else if (status.getSeverity() == IStatus.INFO)
-				return sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-		}
-		return null;
-	}
-	
-	protected String combine(String state, String status) {
-		if(isEmpty(state) && isEmpty(status))
-			return "";
-		if( isEmpty(state))
-			return "  [" + status + "]";
-		if( isEmpty(status))
-			return "  [" + state + "]";
-		return "  [" + state + ", " + status + "]";
-	}
-	
-	protected boolean isEmpty(String s) {
-		return (s == null || "".equals(s));
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerDecoratorsHandler.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerDecoratorsHandler.java
deleted file mode 100644
index d5b2d2b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerDecoratorsHandler.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IDecoratorManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.navigator.CommonViewer;
-
-/**
- * 
- * The purpose of this class is proportionate a way to register those UI Decorators that 
- * needs to be updated after a Server has been modified. Basically this handler is a list
- * of IDs of UI Decorators. 
- * 
- * @author israelgd@mx1.ibm.com
- */
-public class ServerDecoratorsHandler {
-	
-	final static String NAVIGATOR_DECORATOR_ID = "org.eclipse.wst.server.ui.navigatorDecorator";
-	
-	protected static ArrayList <String> UIDecoratorsIDs = new ArrayList<String>();
-	
-	static {
-		UIDecoratorsIDs.add(NAVIGATOR_DECORATOR_ID);
-	}
-	protected static IDecoratorManager decoratorManager = null;
-	
-	protected static IDecoratorManager getDecoratorManager(){
-		if (decoratorManager == null){
-			decoratorManager = PlatformUI.getWorkbench().getDecoratorManager();
-		}
-		return decoratorManager;
-	}
-	/**
-	 * Used to refresh the Server Decorators previously added and set selection after that. 
-	 * Triggers the decoration event of each Decorator.
-	 * */
-	public static void refresh(final CommonViewer tableViewer) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {		
-				IDecoratorManager dm = PlatformUI.getWorkbench().getDecoratorManager();
-				ArrayList<String> UIDecoratorsIDsClone = (ArrayList<String>)UIDecoratorsIDs.clone();
-				for (String decoratorId: UIDecoratorsIDsClone) {
-					dm.update(decoratorId);
-				}
-				if (tableViewer != null){
-					tableViewer.setSelection(tableViewer.getSelection());
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Used to refresh the Server Decorators previously added.
-	 * @param server
-	 * */
-	public static void refresh() {
-		refresh(null);
-	}
-	
-	/**
-	 * Remove a UI Decorator from the Decorator Handler.
-	 * @param decoratorID
-	 */
-	public static void removeUIDecoratorsID(String decoratorID) {
-		synchronized (UIDecoratorsIDs) {
-			UIDecoratorsIDs.remove(decoratorID);
-		}
-	}
-
-	/**
-	 * Adds a new UI Decorator from the Decorator Handler.
-	 * @param decoratorID
-	 */
-	public static void addUIDecoratorsIDs(String decoratorID) {
-		synchronized (UIDecoratorsIDs) {
-			if(!UIDecoratorsIDs.contains(decoratorID)){
-				UIDecoratorsIDs.add(decoratorID);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerLabelProvider.java
deleted file mode 100644
index 5a355c8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServerLabelProvider.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008,2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-import org.eclipse.wst.server.ui.internal.viewers.BaseCellLabelProvider;
-/**
- * Server table label provider.
- */
-public class ServerLabelProvider extends BaseCellLabelProvider{
-	
-	/**
-	 * ServerTableLabelProvider constructor comment.
-	 */
-	public ServerLabelProvider() {
-		super();
-		this.providerImageCache = new HashMap<String, Image>();
-		//TODO: Angel says: Look at bug# 258184
-	}
-
-	public String getText(Object element) {
-		if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer) element;
-			if (ms.module == null)
-				return "";
-			int size = ms.module.length;
-			String name = ms.module[size - 1].getName();
-			return name;
-		}
-		
-		if( element instanceof IServer ) {
-			IServer server = (IServer) element;
-			return notNull(server.getName());
-		} 
-		
-		if( element == ServerContentProvider.INITIALIZING)
-			return Messages.viewInitializing;
-
-		if (element instanceof IWorkspaceRoot){
-			return Platform.getResourceString(ServerUIPlugin.getInstance().getBundle(), "%viewServers");
-		}
-		
-		return "";
-	}
-
-	@Override
-	public void dispose() {
-
-		super.dispose();
-		if (this.providerImageCache != null) {
-			final Iterator<Image> providerImageCacheIterator = this.providerImageCache.values().iterator();
-			while (providerImageCacheIterator.hasNext()) {
-				providerImageCacheIterator.next().dispose();
-			}
-			this.providerImageCache.clear();
-		}
-	}
-
-	public Image getImage(Object element) {
-		
-		Image image = null;
-		
-		if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer) element;
-			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-			image = labelProvider.getImage(ms.module[ms.module.length - 1]);
-			labelProvider.dispose();
-		} else if( element instanceof IServer ) {
-			IServer server = (IServer) element;
-			if (server.getServerType() != null) {				
-				// Ideally we won't be doing the overlay of the state here, but rather in a decorator so that 
-				// users can turn it off and on. This works for now until we have more time to work and reorganize
-				// the code
-				Image serverTypeImg = ImageResource.getImage(server.getServerType().getId());
-				Image serverStatusImg = ServerDecorator.getServerStateImageOverlay(server);
-
-				// Images returned via the CompositeServerImageDescriptor#createImage() need to be cached since this API
-				// will always create a new Image and it is impossible to know when to dispose them except when the
-				// label provider is disposed.
-				final String key = this.getCacheKey(server, serverTypeImg, serverStatusImg);
-				image = this.providerImageCache.get(key);
-				if(image == null) {
-					CompositeServerImageDescriptor dsid = new CompositeServerImageDescriptor(serverTypeImg,serverStatusImg);
-					image = dsid.createImage();
-					this.providerImageCache.put(key, image);
-				}
-			}
-		}
-		return image;
-	}
-
-	private final String getCacheKey(final IServer server, final Image serverTypeImg, final Image serverStatusImg) {
-
-		StringBuffer key = new StringBuffer();
-		if(server != null) {
-			key.append(server.getName());
-		}
-		if(serverTypeImg != null) {
-			key.append(serverTypeImg.toString());
-		}
-		if(serverStatusImg != null) {
-			key.append(serverStatusImg.toString());
-		}
-		return key.toString();
-	}
-
-	protected String notNull(String s) {
-		if (s == null)
-			return "";
-		return s;
-	}
-
-	public boolean isLabelProperty(Object element, String property) {
-		if (element instanceof IServer){
-			if (property.equalsIgnoreCase("ICON")){
-				return true;
-			}
-		}
-		return true;
-	}
-
-	@Override
-	public Image getColumnImage(Object element, int index) {
-		// TODO Left blank since the CNF doesn't support this 
-		return null;
-	}
-
-	@Override
-	public String getColumnText(Object element, int index) {
-		// TODO Left blank since the CNF doesn't support this
-		return null;
-	}	
-
-	private final Map<String, Image> providerImageCache;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServersView2.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServersView2.java
deleted file mode 100644
index fcf5337..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServersView2.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008,2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.contexts.IContextService;
-import org.eclipse.ui.forms.widgets.Form;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.navigator.*;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.UpdateServerJob;
-import org.eclipse.wst.server.core.util.PublishAdapter;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerToolTip;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.NewServerWizard;
-/**
- * A view of servers, their modules, and status.
- */
-public class ServersView2 extends CommonNavigator {
-	private static final String SERVERS_VIEW_CONTEXT = "org.eclipse.ui.serverViewScope";
-	
-	protected CommonViewer tableViewer;
-	private Control mainPage;
-	private Control noServersPage;
-	PageBook book;
-	
-	protected IServerLifecycleListener serverResourceListener;
-	protected IPublishListener publishListener;
-	protected IServerListener serverListener;
-		
-	// servers that are currently publishing and starting
-	protected static Set<String> publishing = new HashSet<String>(4);
-	protected static Set<String> starting = new HashSet<String>(4);
-	protected boolean animationActive = false;
-	protected boolean stopAnimation = false;
-
-	/**
-	 * ServersView constructor comment.
-	 */
-	public ServersView2() {
-		super();
-	}
-
-	@Override
-	public void createPartControl(Composite parent) {
-		// Add PageBook as parent composite
-		FormToolkit toolkit = new FormToolkit(parent.getDisplay());
-		book = new PageBook(parent, SWT.NONE);
-		super.createPartControl(book);
-		// Main page for the Servers tableViewer
-		mainPage = getCommonViewer().getControl();
-		// Page prompting to define a new server
-		noServersPage = createDefaultPage(toolkit); 
-		book.showPage(mainPage);
-
-		IContextService contextSupport = (IContextService)getSite().getService(IContextService.class);
-		contextSupport.activateContext(SERVERS_VIEW_CONTEXT);
-		deferInitialization();
-	}
-
-	/**
-	 * Creates a page displayed when there are no servers defined.
-	 * 
-	 * @param kit
-	 * @return Control
-	 */
-	private Control createDefaultPage(FormToolkit kit){
-		Form form = kit.createForm(book);
-		Composite body = form.getBody();
-    GridLayout layout = new GridLayout(2, false);
-    body.setLayout(layout);
-    
-		Link hlink = new Link(body, SWT.NONE);
-		hlink.setText(Messages.ServersView2_noServers); 
-		hlink.setBackground(book.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		GridData gd = new GridData(SWT.LEFT, SWT.FILL, true, false);
-		hlink.setLayoutData(gd);
-		hlink.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				NewServerWizard wizard = new NewServerWizard();
-				WizardDialog wd = new WizardDialog(book.getShell(), wizard);
-				if( wd.open() == Window.OK){
-					toggleDefultPage();
-				}
-			}
-		});
-		
-
-		// Create the context menu for the default page
-		final CommonViewer commonViewer = this.getCommonViewer();
-		if (commonViewer != null){
-			ICommonViewerSite commonViewerSite = CommonViewerSiteFactory
-					.createCommonViewerSite(this.getViewSite());
-			
-			if (commonViewerSite != null){
-				// Note: actionService cannot be null
-				final NavigatorActionService actionService = new NavigatorActionService(commonViewerSite,
-						commonViewer, commonViewer.getNavigatorContentService());
-				
-				MenuManager menuManager = new MenuManager("#PopupMenu");
-				menuManager.addMenuListener(new IMenuListener() {
-					public void menuAboutToShow(IMenuManager mgr) {
-						ISelection selection = commonViewer.getSelection();
-						actionService.setContext(new ActionContext(selection));
-						actionService.fillContextMenu(mgr);
-					}
-				});
-				Menu menu = menuManager.createContextMenu(body);
-
-				// It is necessary to set the menu in two places:
-				// 1. The white space in the server view
-				// 2. The text and link in the server view. If this menu is not set, if the
-				// user right clicks on the text or uses shortcut keys to open the context menu,
-				// the context menu will not come up
-				body.setMenu(menu);	
-				hlink.setMenu(menu);
-			}
-			else {
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "The commonViewerSite is null");
-				}
-			}
-		}
-		else {
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "The commonViewer is null");
-			}
-		}
-		
-		return form;
-	}
-	
-	/**
-	 * Switch between the servers and default/empty page. 
-	 * 
-	 */
-	void toggleDefultPage(){
-		if(tableViewer.getTree().getItemCount() < 1){
-			book.showPage(noServersPage);
-		} else{
-			book.showPage(mainPage);
-		}
-	}
-
-	private void deferInitialization() {
-		// TODO Angel Says: Need to do a final check on this line below. I don't think there is anything else
-		// that we need from to port from the old Servers View
-		//initializeActions(getCommonViewer());
-		
-		Job job = new Job(Messages.jobInitializingServersView) {
-			public IStatus run(IProgressMonitor monitor) {
-				IServer[] servers = ServerCore.getServers();
-				int size = servers.length;
-				for (int i = 0; i < size; i++) {
-					((Server)servers[i]).getAllModules().iterator();
-				}
-				deferredInitialize();
-				return Status.OK_STATUS;
-			}
-		};
-		
-		job.setSystem(true);
-		job.setPriority(Job.SHORT);
-		job.schedule();
-	}
-	
-	protected void deferredInitialize() {
-		addListener();
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					tableViewer = getCommonViewer();
-					getSite().setSelectionProvider(tableViewer);
-					
-					// init the tooltip
-					ServerToolTip toolTip = new ServerToolTip(tableViewer.getTree());
-					toolTip.setShift(new Point(10, 3));
-					toolTip.setPopupDelay(400); // in ms
-					toolTip.setHideOnMouseDown(true);
-					toolTip.activate();
-					
-				} catch (Exception e) {
-					// ignore - view has already been closed
-				}
-			}
-		});
-		
-		UpdateServerJob job = new UpdateServerJob(ServerCore.getServers());
-		job.addJobChangeListener(new JobChangeAdapter() {
-			@Override
-			public void done(IJobChangeEvent event) {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						try {
-							if (tableViewer.getTree().getItemCount() > 0) {
-								Object obj = tableViewer.getTree().getItem(0).getData();
-								tableViewer.setSelection(new StructuredSelection(obj));
-							} else{
-								toggleDefultPage();
-							}
-						}
-						catch (Exception e){
-							if (Trace.WARNING) {
-								Trace.trace(Trace.STRING_WARNING, "Failed to update the server view.", e);
-							}
-						}
-					}
-				});
-			}
-		});
-		job.schedule();
-	}
-	
-	protected void handlePublishChange(IServer server, boolean isPublishing) {
-		String serverId = server.getId();
-		if (isPublishing)
-			publishing.add(serverId);
-		else
-			publishing.remove(serverId);
-	
-		refreshServerState(server);
-	}
-	
-	/**
-	 * @deprecated
-	 * @param server
-	 */
-	protected void refreshServer(final IServer server){
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Refreshing UI for server=" + server);
-		}
-		ServerDecoratorsHandler.refresh(tableViewer);
-	}
-	
-	protected void refreshServerContent(final IServer server){
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Refreshing Content for server=" + server);
-		}
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if(!tableViewer.getTree().isDisposed())
-					tableViewer.refresh(server, true);
-			}
-		});
-	}
-	
-	protected void refreshServerState(final IServer server){
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Refreshing UI for server=" + server);
-		}
-		ServerDecoratorsHandler.refresh(tableViewer);
-	}
-	
-	protected void addListener(){
-		// To enable the UI updating of servers and its childrens  
-		serverResourceListener = new IServerLifecycleListener() {
-			public void serverAdded(IServer server) {
-				addServer(server);
-				server.addServerListener(serverListener);
-				((Server) server).addPublishListener(publishListener);
-			}
-			public void serverChanged(IServer server) {
-				refreshServerContent(server);
-			}
-			public void serverRemoved(IServer server) {
-				removeServer(server);
-				server.removeServerListener(serverListener);
-				((Server) server).removePublishListener(publishListener);
-			}
-		};
-		ServerCore.addServerLifecycleListener(serverResourceListener);
-		
-		// To enable the refresh of the State decorator
-		publishListener = new PublishAdapter() {
-			public void publishStarted(IServer server) {
-				handlePublishChange(server, true);
-			}
-			
-			public void publishFinished(IServer server, IStatus status) {
-				handlePublishChange(server, false);
-			}
-		};
-		
-		serverListener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				if (event == null)
-					return;
-								
-				int eventKind = event.getKind();
-				IServer server = event.getServer();
-				if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) {
-					// server change event
-					if ((eventKind & ServerEvent.STATE_CHANGE) != 0) {
-						int state = event.getState();
-						String id = server.getId();
-						if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-							boolean startThread = false;
-							synchronized (starting) {
-								if (!starting.contains(id)) {
-									if (starting.isEmpty())
-										startThread = true;
-									starting.add(id);
-								}
-							}
-							if (startThread)
-								startThread();
-						} else {
-							boolean stopThread = false;
-							synchronized (starting) {
-								if (starting.contains(id)) {
-									starting.remove(id);
-									if (starting.isEmpty())
-										stopThread = true;
-								}
-							}
-							if (stopThread)
-								stopThread();
-						}
-						refreshServerState(server);
-						refreshServerContent(server);
-					}
-					else if ((eventKind & ServerEvent.PUBLISH_STATE_CHANGE) != 0 || (eventKind & ServerEvent.STATUS_CHANGE) != 0) {
-						refreshServerState(server);
-					}
-				} else if ((eventKind & ServerEvent.MODULE_CHANGE) != 0) {
-					// module change event
-					if ((eventKind & ServerEvent.STATE_CHANGE) != 0 || (eventKind & ServerEvent.PUBLISH_STATE_CHANGE) != 0 ||
-							(eventKind & ServerEvent.STATUS_CHANGE) != 0) {
-						refreshServerContent(server);
-					}
-				}
-				// TODO Angel Says: I don't think we need this
-				//refreshServer(server);
-			}
-		};
-		
-		// add listeners to servers
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				servers[i].addServerListener(serverListener);
-				((Server) servers[i]).addPublishListener(publishListener);
-			}
-		}
-	}
-	
-	protected void addServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				tableViewer.add(tableViewer.getInput(), server);
-				toggleDefultPage();
-			}
-		});
-	}
-
-	protected void removeServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				tableViewer.remove(server);
-				toggleDefultPage();
-			}
-		});
-	}
-	
-	@Override
-	public void dispose() {
-		ServerCore.removeServerLifecycleListener(serverResourceListener);
-
-		// remove listeners from servers
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				servers[i].removeServerListener(serverListener);
-				((Server) servers[i]).removePublishListener(publishListener);
-			}
-		}
-		super.dispose();
-	}
-	
-	/**
-	 * Start the animation thread
-	 */
-	protected void startThread() {
-		if (animationActive)
-			return;
-		
-		stopAnimation = false;
-		
-		final Display display = tableViewer == null ? Display.getDefault() : tableViewer.getControl().getDisplay();
-		final int SLEEP = 200;
-		final Runnable[] animator = new Runnable[1];
-		animator[0] = new Runnable() {
-			public void run() {
-				if (!stopAnimation) {
-					try {
-						int size = 0;
-						String[] servers;
-						synchronized (starting) {
-							size = starting.size();
-							servers = new String[size];
-							starting.toArray(servers);
-							
-						}
-						
-						for (int i = 0; i < size; i++) {
-							IServer server = ServerCore.findServer(servers[i]);
-							if (server != null ) {
-								ServerDecorator.animate();
-								tableViewer.update(server, new String[]{"ICON"});
-							}
-						}
-					} catch (Exception e) {
-						if (Trace.FINEST) {
-							Trace.trace(Trace.STRING_FINEST, "Error in Servers view animation", e);
-						}
-					}
-					display.timerExec(SLEEP, animator[0]);
-				}
-			}
-		};
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				display.timerExec(SLEEP, animator[0]);
-			}
-		});
-	}
-
-	protected void stopThread() {
-		stopAnimation = true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServersViewDropAdapterAssistant.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServersViewDropAdapterAssistant.java
deleted file mode 100644
index 1a8d55e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/cnf/ServersViewDropAdapterAssistant.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 2009, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Base Code
- *     Red Hat - Refactor for CNF
- */
-
-package org.eclipse.wst.server.ui.internal.cnf;
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.navigator.CommonDropAdapter;
-import org.eclipse.ui.navigator.CommonDropAdapterAssistant;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-import org.eclipse.wst.server.ui.internal.view.servers.PublishAction;
-
-public class ServersViewDropAdapterAssistant extends CommonDropAdapterAssistant {
-
-	private List dndElementList;
-
-	public IStatus validatePluginTransferDrop(
-			IStructuredSelection aDragSelection, Object aDropTarget) {
-		initializeSelection(aDragSelection);
-		return internalValidate(aDropTarget, dndElementList);
-	}
-
-	public IStatus validateDrop(Object target, int operation,
-			TransferData transferType) {
-		if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) {
-			ISelection s = LocalSelectionTransfer.getTransfer().getSelection();
-			initializeSelection(s);
-			return internalValidate(target, dndElementList);
-		}
-		return Status.CANCEL_STATUS;
-	}
-
-	protected void initializeSelection(ISelection s) {
-		if (dndElementList != null)
-			return;
-		if (!(s instanceof IStructuredSelection)) {
-			dndElementList = Collections.EMPTY_LIST;
-			return;
-		}
-		dndElementList = ((IStructuredSelection) s).toList();
-	}
-
-	protected IStatus internalValidate(Object target, List elements) {
-		if (target instanceof IServer) {
-			IServer server = (IServer) target;
-			Object next;
-			if (elements != null) {
-				Iterator i = elements.iterator();
-				while (i.hasNext()) {
-					next = i.next();
-					IModuleArtifact[] moduleArtifacts = ServerPlugin
-							.getModuleArtifacts(next);
-					if (moduleArtifacts != null && moduleArtifacts.length > 0) {
-						for (int j = 0; j < moduleArtifacts.length; j++) {
-							if (moduleArtifacts[j] != null
-									&& moduleArtifacts[j].getModule() != null) {
-								IModuleType[] moduleTypes = server
-										.getServerType().getRuntimeType()
-										.getModuleTypes();
-								if (ServerUtil.isSupportedModule(moduleTypes,
-										moduleArtifacts[j].getModule()
-												.getModuleType())) {
-									return Status.OK_STATUS;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		clear();
-		return Status.CANCEL_STATUS;
-	}
-
-	public IStatus handleDrop(CommonDropAdapter dropAdapter, DropTargetEvent dropTargetEvent, Object target) {
-		IStatus status = internalHandleDrop(target, dndElementList);
-		if (status.isOK())
-			dropTargetEvent.detail = DND.DROP_NONE;
-		return status;
-	}
-
-	public IStatus handlePluginTransferDrop(IStructuredSelection aDragSelection, Object aDropTarget) {
-		return internalHandleDrop(aDropTarget, dndElementList);
-	}
-
-	protected IStatus internalHandleDrop(Object target, List elements) {
-		boolean success = false;
-		if (target instanceof IServer) {
-			success = true;
-			if (dndElementList != null) {
-				Iterator iterator = elements.iterator();
-				while (iterator.hasNext()) {
-					Object data2 = iterator.next();
-					if (!doRunOnServerAction((IServer) target, data2))
-						success = false;
-				}
-			}
-		}
-		clear();
-		return success ? Status.OK_STATUS : Status.CANCEL_STATUS;
-	}
-
-	private void clear() {
-		dndElementList = null;
-	}
-
-	protected boolean doRunOnServerAction(IServer server, Object data) {
-		// check if the selection is a project (module) that we can add to the server
-		IProject project = (IProject) Platform.getAdapterManager().getAdapter(
-				data, IProject.class);
-		if (project != null) {
-			IModule[] modules = ServerUtil.getModules(project);
-			if (modules != null && modules.length == 1) {
-				try {
-					IServerWorkingCopy wc = server.createWorkingCopy();
-					IModule[] parents = wc.getRootModules(modules[0], null);
-					if (parents == null || parents.length == 0)
-						return false;
-
-					if (ServerUtil.containsModule(server, parents[0], null)){
-						PublishAction.publish(server, getShell());
-						return false;
-					}
-
-					IModule[] add = new IModule[] { parents[0] };
-					if (wc.canModifyModules(add, null, null).getSeverity() != IStatus.ERROR) {
-						wc.modifyModules(modules, null, null);
-						wc.save(false, null);
-						PublishAction.publish(server, getShell());
-						return true;
-					}
-				} catch (final CoreException ce) {
-					final Shell shell = getShell();
-					shell.getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							EclipseUtil.openError(shell, ce
-									.getLocalizedMessage());
-						}
-					});
-					return true;
-				}
-			}
-		}
-
-		// otherwise, try Run on Server
-		final IServer finalServer = server;
-		RunOnServerActionDelegate ros = new RunOnServerActionDelegate() {
-			public IServer getServer(IModule module,
-					IModuleArtifact moduleArtifact, IProgressMonitor monitor)
-					throws CoreException {
-				if (!ServerUIPlugin.isCompatibleWithLaunchMode(finalServer,
-						launchMode))
-					return null;
-
-				if (!ServerUtil.containsModule(finalServer, module, monitor)) {
-					IServerWorkingCopy wc = finalServer.createWorkingCopy();
-					try {
-						ServerUtil.modifyModules(wc, new IModule[] { module },
-								new IModule[0], monitor);
-						wc.save(false, monitor);
-					} catch (CoreException ce) {
-						throw ce;
-					}
-				}
-
-				return finalServer;
-			}
-		};
-		Action action = new Action() {
-			// dummy action
-		};
-		ros.selectionChanged(action, new StructuredSelection(data));
-
-		ros.run(action);
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java
deleted file mode 100644
index ac73935..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.command;
-
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * A command on a server.
- */
-public abstract class ServerCommand extends AbstractOperation {
-	protected IServerWorkingCopy server;
-
-	/**
-	 * ServerCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param name a label
-	 */
-	public ServerCommand(IServerWorkingCopy server, String name) {
-		super(name);
-		this.server = server;
-	}
-
-	public abstract void execute();
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable adapt) {
-		execute();
-		return Status.OK_STATUS;
-	}
-
-	public abstract void undo();
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable adapt) {
-		undo();
-		return Status.OK_STATUS;
-	}
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable adapt) {
-		return execute(monitor, adapt);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetPublisherEnablementCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetPublisherEnablementCommand.java
deleted file mode 100644
index f065601..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetPublisherEnablementCommand.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.command;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.internal.Publisher;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server's publisher setting.
- */
-public class SetPublisherEnablementCommand extends ServerCommand {
-	protected Publisher pub;
-	protected boolean enabled;
-	protected boolean oldEnabled;
-
-	/**
-	 * SetPublisherEnablementCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param pub a publisher
-	 * @param enabled whether the publisher should be enabled or disabled
-	 */
-	public SetPublisherEnablementCommand(IServerWorkingCopy server, Publisher pub, boolean enabled) {
-		super(server, Messages.serverEditorOverviewPublishCommand);
-		this.pub = pub;
-		this.enabled = enabled;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		oldEnabled = swc.isPublisherEnabled(pub);
-		swc.setPublisherEnabled(pub, enabled);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		swc.setPublisherEnabled(pub, oldEnabled);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishDefaultCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishDefaultCommand.java
deleted file mode 100644
index f953ac3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishDefaultCommand.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.command;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server's auto-publish setting.
- */
-public class SetServerAutoPublishDefaultCommand extends ServerCommand {
-	protected int setting;
-	protected int oldSetting;
-
-	/**
-	 * SetServerAutoPublishDefaultCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param setting the auto-publish setting
-	 */
-	public SetServerAutoPublishDefaultCommand(IServerWorkingCopy server, int setting) {
-		super(server, Messages.serverEditorOverviewPublishCommand);
-		this.setting = setting;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		oldSetting = swc.getAutoPublishSetting();
-		swc.setAutoPublishSetting(setting);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		swc.setAutoPublishSetting(oldSetting);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishTimeCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishTimeCommand.java
deleted file mode 100644
index b11f672..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishTimeCommand.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.command;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server's auto-publish setting.
- */
-public class SetServerAutoPublishTimeCommand extends ServerCommand {
-	protected int time;
-	protected int oldTime;
-
-	/**
-	 * SetServerAutoPublishDefaultCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param time a publish time
-	 */
-	public SetServerAutoPublishTimeCommand(IServerWorkingCopy server, int time) {
-		super(server, Messages.serverEditorOverviewPublishCommand);
-		this.time = time;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		oldTime = swc.getAutoPublishTime();
-		swc.setAutoPublishTime(time);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		swc.setAutoPublishTime(oldTime);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationFolderCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationFolderCommand.java
deleted file mode 100644
index 931bb61..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationFolderCommand.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.ui.internal.command;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server configuration folder.
- */
-public class SetServerConfigurationFolderCommand extends ServerCommand {
-	protected IFolder folder;
-	protected IFolder oldFolder;
-
-	/**
-	 * SetServerConfigurationFolderCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param folder a new server configuration location
-	 */
-	public SetServerConfigurationFolderCommand(IServerWorkingCopy server, IFolder folder) {
-		super(server, Messages.serverEditorOverviewServerHostnameCommand);
-		this.folder = folder;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldFolder = server.getServerConfiguration();
-		server.setServerConfiguration(folder);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setServerConfiguration(oldFolder);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java
deleted file mode 100644
index 158bd84..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.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.ui.internal.command;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server hostname.
- */
-public class SetServerHostnameCommand extends ServerCommand {
-	protected String name;
-	protected String oldName;
-
-	/**
-	 * SetServerHostnameCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param name a hostname or IP address
-	 */
-	public SetServerHostnameCommand(IServerWorkingCopy server, String name) {
-		super(server, Messages.serverEditorOverviewServerHostnameCommand);
-		this.name = name;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldName = server.getHost();
-		server.setHost(name);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setHost(oldName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java
deleted file mode 100644
index 7ba416f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.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.ui.internal.command;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server name.
- */
-public class SetServerNameCommand extends ServerCommand {
-	protected String name;
-	protected String oldName;
-
-	/**
-	 * SetServerNameCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param name a name for the server
-	 */
-	public SetServerNameCommand(IServerWorkingCopy server, String name) {
-		super(server, Messages.serverEditorOverviewServerNameCommand);
-		this.name = name;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldName = server.getName();
-		server.setName(name);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setName(oldName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java
deleted file mode 100644
index 70c9a06..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.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.ui.internal.command;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server runtime.
- */
-public class SetServerRuntimeCommand extends ServerCommand {
-	protected IRuntime runtime;
-	protected IRuntime oldRuntime;
-
-	/**
-	 * SetServerRuntimeCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param runtime a server runtime
-	 */
-	public SetServerRuntimeCommand(IServerWorkingCopy server, IRuntime runtime) {
-		super(server, Messages.serverEditorOverviewRuntimeCommand);
-		this.runtime = runtime;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldRuntime = server.getRuntime();
-		server.setRuntime(runtime);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setRuntime(oldRuntime);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStartTimeoutCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStartTimeoutCommand.java
deleted file mode 100644
index d3f6d6d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStartTimeoutCommand.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.command;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server's start timeout setting.
- */
-public class SetServerStartTimeoutCommand extends ServerCommand {
-	protected int time;
-	protected int oldTime;
-
-	/**
-	 * SetServerStartTimeoutCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param time a publish time
-	 */
-	public SetServerStartTimeoutCommand(IServerWorkingCopy server, int time) {
-		super(server, Messages.serverEditorOverviewTimeoutCommand);
-		this.time = time;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		oldTime = swc.getStartTimeout();
-		swc.setStartTimeout(time);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		swc.setStartTimeout(oldTime);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStopTimeoutCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStopTimeoutCommand.java
deleted file mode 100644
index dcc1858..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStopTimeoutCommand.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.command;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Command to change the server's stop timeout setting.
- */
-public class SetServerStopTimeoutCommand extends ServerCommand {
-	protected int time;
-	protected int oldTime;
-
-	/**
-	 * SetServerStopTimeoutCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param time a publish time
-	 */
-	public SetServerStopTimeoutCommand(IServerWorkingCopy server, int time) {
-		super(server, Messages.serverEditorOverviewTimeoutCommand);
-		this.time = time;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		oldTime = swc.getStopTimeout();
-		swc.setStopTimeout(time);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		ServerWorkingCopy swc = (ServerWorkingCopy) server;
-		swc.setStopTimeout(oldTime);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
deleted file mode 100644
index 1b7092a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
+++ /dev/null
@@ -1,757 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-/**
- * 
- */
-public class GlobalCommandManager {
-	// maximum number of commands in the history
-	private static final int MAX_HISTORY = 200;
-
-	class ServerResourceCommand {
-		IUndoableOperation command;
-		String id;
-	}
-
-	// commands in the undo history
-	protected List<ServerResourceCommand> undoList = new ArrayList<ServerResourceCommand>();
-
-	// size of the undo stack on last save
-	protected int undoSaveIndex = 0;
-
-	// commands in the redo history
-	protected List<ServerResourceCommand> redoList = new ArrayList<ServerResourceCommand>();
-
-	class CommandManagerInfo {
-		// number of open editors on this resource
-		int count;
-		
-		// true if the resource has not been saved since
-		// the last change
-		boolean isDirty;
-		
-		// true if the resource is read-only
-		boolean isReadOnly;
-		
-		// the element id
-		String id;
-		
-		// the working copy
-		IServerWorkingCopy wc;
-		
-		// files and timestamps
-		Map<IFile, Long> fileMap;
-		
-		int timestamp;
-	}
-
-	protected Map<String, CommandManagerInfo> commandManagers = new HashMap<String, CommandManagerInfo>();
-
-	// property change listeners
-	protected List<PropertyChangeListener> propertyListeners;
-	public static final String PROP_DIRTY = "dirtyState";
-	public static final String PROP_UNDO = "undoAction";
-	public static final String PROP_REDO = "redoAction";
-	public static final String PROP_RELOAD = "reload";
-
-	protected static GlobalCommandManager instance;
-
-	public static GlobalCommandManager getInstance() {
-		if (instance == null)
-			instance = new GlobalCommandManager();
-		return instance;
-	}
-
-	/**
-	 * Add a property change listener to this instance.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners == null)
-			propertyListeners = new ArrayList<PropertyChangeListener>();
-		propertyListeners.add(listener);
-	}
-
-	/**
-	 * Remove a property change listener from this instance.
-	 *
-	 * @param listener java.beans.PropertyChangeListener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyListeners != null)
-			propertyListeners.remove(listener);
-	}
-
-	/**
-	 * Fire a property change event.
-	 */
-	protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-		if (propertyListeners == null)
-			return;
-
-		PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
-		//Trace.trace("Firing: " + event + " " + oldValue);
-		try {
-			int size = propertyListeners.size();
-			PropertyChangeListener[] pcl = new PropertyChangeListener[size];
-			propertyListeners.toArray(pcl);
-			
-			for (int i = 0; i < size; i++)
-				try {
-					pcl[i].propertyChange(event);
-				} catch (Exception e) {
-					// ignore
-				}
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Get the command manager for a given id.
-	 * 
-	 * @param id an id
-	 */
-	public void getCommandManager(String id) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Getting command manager for " + id);
-		}
-		try {
-			CommandManagerInfo info = commandManagers.get(id);
-			if (info != null) {
-				info.count ++;
-				return;
-			}
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not find existing command manager", e);
-			}
-		}
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Creating new command manager for " + id);
-		}
-		try {
-			CommandManagerInfo info = new CommandManagerInfo();
-			info.count = 1;
-			info.id = id;
-			IServer server = null;
-			if (id != null)
-				server = ServerCore.findServer(id);
-			if (server != null)
-				info.wc = server.createWorkingCopy();
-			info.isDirty = false;
-			info.isReadOnly = false;
-			commandManagers.put(id, info);
-			updateTimestamps(id);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not obtain command manager", e);
-			}
-		}
-		return;
-	}
-
-	/**
-	 * Release the command manager for a given id.
-	 * 
-	 * @param id an id
-	 */
-	public void releaseCommandManager(String id) {
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Releasing command manager for " + id);
-		}
-		try {
-			CommandManagerInfo info = commandManagers.get(id);
-			if (info != null) {
-				info.count --;
-				if (info.count == 0) {
-					commandManagers.remove(id);
-					clearUndoList(id);
-					clearRedoList(id);
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not release command manager", e);
-			}
-		}
-	}
-
-	/**
-	 * Reload the command manager for a given id.
-	 * 
-	 * @param id an id
-	 */
-	public void reload(String id) {
-		try {
-			CommandManagerInfo info = getExistingCommandManagerInfo(id);
-			if (info != null) {
-				IServer server = null;
-				if (id != null)
-					server = ServerCore.findServer(id);
-				if (server != null)
-					info.wc = server.createWorkingCopy();
-				firePropertyChangeEvent(PROP_RELOAD, id, null);
-			}
-			clearUndoList(id);
-			clearRedoList(id);
-			undoSaveIndex = undoList.size();
-			setDirtyState(id, false);
-			updateTimestamps(id);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not release command manager", e);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected CommandManagerInfo getExistingCommandManagerInfo(String id) {
-		try {
-			return commandManagers.get(id);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not find existing command manager info");
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true if there is only one command manager.
-	 * 
-	 * @param id an id
-	 * @return <code>true</code> if the only command manager
-	 */
-	public boolean isOnlyCommandManager(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		return (info != null && info.count == 1);
-	}
-	
-	protected IServerEditorPartInput getPartInput(String serverId, ServerResourceCommandManager serverCommandManager) {
-		CommandManagerInfo serverInfo = null;
-		IServerWorkingCopy server = null;
-		boolean serverReadOnly = false;
-		if (serverId != null) {
-			serverInfo = getExistingCommandManagerInfo(serverId);
-			if (serverInfo == null)
-				return null;
-			
-			server = serverInfo.wc;
-			serverReadOnly = serverInfo.isReadOnly;
-		}
-
-		return new ServerEditorPartInput(serverCommandManager, server, serverReadOnly);
-	}
-	
-	/**
-	 * 
-	 */
-	protected IServerWorkingCopy getServerResource(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return null;
-			
-		return info.wc;
-	}
-
-	/**
-	 * Return the currently active shell.
-	 * 
-	 * @return a shell
-	 */
-	private Shell getShell() {
-		try {
-			Display d = Display.getCurrent();
-			if (d == null)
-				d = Display.getDefault();
-			
-			return d.getActiveShell();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not get shell", e);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * Execute the given command and place it in the undo stack.
-	 * If the command cannot be undone, the user will be notified
-	 * before it is executed.
-	 *
-	 * @param id an id
-	 * @param command a task
-	 */
-	public void executeCommand(String id, IUndoableOperation command) {
-		final Shell shell = getShell();
-		
-		if (!command.canUndo() && !undoList.isEmpty()) {
-			try {
-				if (!MessageDialog.openConfirm(shell, Messages.editorServerEditor, Messages.editorPromptIrreversible))
-					return;
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		
-		ServerResourceCommand src = new ServerResourceCommand();
-		src.id = id;
-		src.command = command;
-		
-		try {
-			IAdaptable adaptable = new IAdaptable() {
-				public Object getAdapter(Class adapter) {
-					if (Shell.class.equals(adapter))
-						return shell;
-					return null;
-				}
-			};
-			IStatus status = command.execute(new NullProgressMonitor(), adaptable);
-			if (status != null && !status.isOK())
-				MessageDialog.openError(shell, Messages.editorServerEditor, status.getMessage());
-		} catch (ExecutionException ce) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error executing command", ce);
-			}
-			return;
-		}
-		
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return;
-		
-		if (command.canUndo())
-			addToUndoList(src);
-		else {
-			undoSaveIndex = -1;
-			clearUndoList(id);
-		}
-		
-		// clear redo list since a new command has been executed.
-		clearRedoList(id);
-		
-		setDirtyState(id, true);
-	}
-
-	/**
-	 * Add a command to the history.
-	 */
-	private void addToUndoList(ServerResourceCommand src) {
-		undoList.add(src);
-
-		// limit history growth
-		if (undoList.size() > MAX_HISTORY)
-			undoList.remove(0);
-
-		firePropertyChangeEvent(PROP_UNDO, src.id, null);
-	}
-
-	/**
-	 * Clears the undo of a particular resource.
-	 */
-	private void clearUndoList(String id) {
-		int i = 0;
-		boolean modified = false;
-		while (i < undoList.size()) {
-			ServerResourceCommand src = undoList.get(i);
-			if (src.id.equals(id)) {
-				modified = true;
-				undoList.remove(i);
-			} else
-				i++;
-		}
-		if (modified)
-			firePropertyChangeEvent(PROP_UNDO, id, null);
-	}
-
-	/**
-	 * Clears the redo of a particular resource.
-	 */
-	private void clearRedoList(String id) {
-		int i = 0;
-		boolean modified = false;
-		while (i < redoList.size()) {
-			ServerResourceCommand src = redoList.get(i);
-			if (src.id.equals(id)) {
-				redoList.remove(i);
-				modified = true;
-			} else
-				i++;
-		}
-		if (modified)
-			firePropertyChangeEvent(PROP_REDO, id, null);
-	}
-
-	/**
-	 * Returns true if there is a command that can be undone.
-	 * @return boolean
-	 */
-	protected boolean canUndo(String a, String b) {
-		Iterator iterator = undoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src = (ServerResourceCommand) iterator.next();
-			if (src.id == a || src.id == b)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns true if there is a command that can be redone.
-	 * @return boolean
-	 */
-	protected boolean canRedo(String a, String b) {
-		Iterator iterator = redoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src = (ServerResourceCommand) iterator.next();
-			if (src.id == a || src.id == b)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the command that would be undone next.
-	 * 
-	 * @param a an id
-	 * @return a task
-	 */
-	public IUndoableOperation getUndoCommand(String a) {
-		int size = undoList.size();
-		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = undoList.get(i);
-			if (src.id == a)
-				return src.command;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the command that would be redone next.
-	 * 
-	 * @param a an id
-	 * @return a task
-	 */
-	public IUndoableOperation getRedoCommand(String a) {
-		int size = redoList.size();
-		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = redoList.get(i);
-			if (src.id == a)
-				return src.command;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true if the server resource is "dirty".
-	 *
-	 * @param id an id
-	 * @return a task
-	 */
-	public boolean isDirty(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		
-		return info.isDirty;
-	}
-	
-	/**
-	 * Returns true if the server resource is read-only.
-	 *
-	 * @param id an id
-	 * @return boolean
-	 */
-	public boolean isReadOnly(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		return info.isReadOnly;
-	}
-	
-	/**
-	 * Sets the server resource read-only flag.
-	 * 
-	 * @param id an id
-	 * @param readOnly <code>true</code> to set read-only, <code>false</code> otherwise
-	 */
-	public void setReadOnly(String id, boolean readOnly) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return;
-		
-		if (info.isReadOnly == readOnly)
-			return;
-		info.isReadOnly = readOnly;
-		firePropertyChangeEvent(PROP_RELOAD, id, null);
-	}
-
-	/**
-	 * Returns true if the server resource files are read-only.
-	 *
-	 * @param id an id
-	 * @return <code>true</code> if the files are read-only
-	 */
-	public boolean areFilesReadOnly(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		return (getReadOnlyFiles(id).length > 0);
-	}
-	
-	/**
-	 * Sets the dirty state and fires an event if needed.
-	 * @param dirty boolean
-	 */
-	private void setDirtyState(String id, boolean dirty) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info.isDirty == dirty)
-			return;
-		
-		info.isDirty = dirty;
-		firePropertyChangeEvent(PROP_DIRTY, id, null);
-	}
-
-	/**
-	 * Undo the last command.
-	 */
-	protected void undo(String a) {
-		ServerResourceCommand src = null;
-		Iterator iterator = undoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src2 = (ServerResourceCommand) iterator.next();
-			if (src2.id == a)
-				src = src2;
-		}
-		if (src == null)
-			return;
-		
-		try {
-			src.command.undo(null, null);
-		} catch (ExecutionException ee) {
-			// do something
-		}
-		
-		undoList.remove(src);
-		firePropertyChangeEvent(PROP_UNDO, src.id, null);
-		redoList.add(src);
-		firePropertyChangeEvent(PROP_REDO, src.id, null);
-		
-		if (undoSaveIndex == undoList.size())
-			setDirtyState(src.id, false);
-		else
-			setDirtyState(src.id, true);
-	}
-
-	/**
-	 * Redo the last command.
-	 */
-	protected void redo(String a) {
-		ServerResourceCommand src = null;
-		Iterator iterator = redoList.iterator();
-		while (iterator.hasNext()) {
-			ServerResourceCommand src2 = (ServerResourceCommand) iterator.next();
-			if (src2.id == a)
-				src = src2;
-		}
-		if (src == null)
-			return;
-
-		try {
-			final Shell shell = getShell();
-			IAdaptable adaptable = new IAdaptable() {
-				public Object getAdapter(Class adapter) {
-					if (Shell.class.equals(adapter))
-						return shell;
-					return null;
-				}
-			};
-			IStatus status = src.command.execute(new NullProgressMonitor(), adaptable);
-			if (status != null && !status.isOK())
-				MessageDialog.openError(shell, Messages.editorServerEditor, status.getMessage());
-		} catch (ExecutionException ce) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error executing command", ce);
-			}
-			return;
-		}
-		redoList.remove(src);
-		firePropertyChangeEvent(PROP_REDO, src.id, null);
-		undoList.add(src);
-		firePropertyChangeEvent(PROP_UNDO, src.id, null);
-		
-		if (undoSaveIndex == undoList.size())
-			setDirtyState(src.id, false);
-		else
-			setDirtyState(src.id, true);
-	}
-
-	/**
-	 * Clears the history list.
-	 * 
-	 * @param id an id
-	 */
-	public void resourceSaved(String id) {
-		undoSaveIndex = undoList.size();
-		setDirtyState(id, false);
-	}
-
-	/**
-	 * Return an array of read-only files.
-	 * 
-	 * @param server a server
-	 * @return a possibly empty array of files
-	 */
-	public static IFile[] getReadOnlyFiles(IServerAttributes server) {
-		try {
-			List<IFile> list = new ArrayList<IFile>();
-			IFile file = ((Server)server).getFile();
-			
-			if (file != null)
-				list.add(file);
-			
-			IFile[] files = new IFile[list.size()];
-			list.toArray(files);
-			return files;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "getReadOnlyFiles", e);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	protected IFile[] getServerResourceFiles(String id) {
-		if (id == null)
-			return new IFile[0];
-		
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return new IFile[0];
-		
-		return getReadOnlyFiles(info.wc);
-	}
-
-	protected IFile[] getReadOnlyFiles(String id) {
-		List<IFile> list = new ArrayList<IFile>();
-		IFile[] files = getServerResourceFiles(id);
-		int size = files.length;
-		for (int i = 0; i < size; i++) {
-			if (files[i].isReadOnly())
-				list.add(files[i]);
-		}
-		
-		IFile[] fileList = new IFile[list.size()];
-		list.toArray(fileList);
-		return fileList;
-	}
-
-	/**
-	 * Update the timestamps.
-	 * 
-	 * @param id an id
-	 */
-	public void updateTimestamps(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return;
-		
-		info.fileMap = new HashMap<IFile, Long>();
-		IFile[] files = getServerResourceFiles(id);
-		if (files != null) {
-			int size = files.length;
-			
-			for (int i = 0; i < size; i++) {
-				if (files[i] != null) {
-					File f = files[i].getLocation().toFile();
-					if (f != null) {
-						long time = f.lastModified();
-						info.fileMap.put(files[i], new Long(time));
-					}
-				}
-			}
-		}
-		info.timestamp = getTimestamp(info);
-	}
-
-	protected static int getTimestamp(CommandManagerInfo info) {
-		IServer server = info.wc.getOriginal();
-		
-		if (server != null)
-			return ((Server)server).getTimestamp();
-		return -1;
-	}
-
-	/**
-	 * 
-	 */
-	protected boolean hasChanged(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		if (info == null)
-			return false;
-		IFile[] files = getServerResourceFiles(id);
-		if (files == null)
-			return false;
-		int size = files.length;
-		
-		int count = 0;
-		for (int i = 0; i < size; i++) {
-			count++;
-			File f = files[i].getLocation().toFile();
-			try {
-				Long time = info.fileMap.get(files[i]);
-				if (time.longValue() != f.lastModified())
-					return true;
-			} catch (Exception e) {
-				return true;
-			}
-		}
-		
-		int timestamp = getTimestamp(info);
-		if (info.timestamp != timestamp)
-			return true;
-		
-		if (count != info.fileMap.size())
-			return true;
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IOrdered.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IOrdered.java
deleted file mode 100644
index 8872f8b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/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.ui.internal.editor;
-/**
- * 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.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorActionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorActionFactory.java
deleted file mode 100644
index 41791ec..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorActionFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IEditorSite;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
-/**
- *
- */
-public interface IServerEditorActionFactory extends IOrdered {
-	/**
-	 * Returns the id.
-	 * 
-	 * @return an id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the name.
-	 * 
-	 * @return a name
-	 */
-	public String getName();
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the getFactoryIds() method.
-	 *
-	 * @param id an id
-	 * @return boolean
-	 */
-	public boolean supportsServerElementType(String id);
-
-	/**
-	 * Returns true if this editor page should be visible with the given server.
-	 * This allows (for instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 * 
-	 * @param server a server
-	 * @return <code>true</code> if the action should display
-	 */
-	public boolean shouldDisplay(IServerWorkingCopy server);
-
-	/**
-	 * Create the action.
-	 * 
-	 * @param site an editor site
-	 * @param input a server editor input
-	 * @return an action
-	 */
-	public IAction createAction(IEditorSite site, IServerEditorPartInput input);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorInput.java
deleted file mode 100644
index 61ec8d9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorInput.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.ui.internal.editor;
-
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.ui.IEditorInput;
-/**
- * This is the editor input for the server and server
- * configuration editor. The input includes both a server
- * and server configuration.
- *
- * <p>This interface is not intended to be implemented by clients.</p>
- */
-public interface IServerEditorInput extends IEditorInput {
-	public static final String EDITOR_ID = ServerUIPlugin.PLUGIN_ID + ".editor";
-
-	/**
-	 * Returns the server id.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getServerId();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPageSectionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPageSectionFactory.java
deleted file mode 100644
index 4743853..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPageSectionFactory.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.ui.internal.editor;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.editor.ServerEditorSection;
-/**
- *
- */
-public interface IServerEditorPageSectionFactory extends IOrdered {
-	/**
-	 * Returns the id.
-	 * 
-	 * @return the id
-	 */
-	public String getId();
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the types attribute.
-	 *
-	 * @param id the type id
-	 * @return boolean
-	 */
-	public boolean supportsType(String id);
-	
-	public String getInsertionId();
-	
-	/**
-	 * Returns true if this editor page section should be visible with the given server.
-	 * This allows (for instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 * 
-	 * @param server a server
-	 * @return <code>true</code> if the section should be shown, and <code>false</code> otherwise
-	 */
-	public boolean shouldCreateSection(IServerWorkingCopy server);
-
-	/**
-	 * Create the editor page section.
-	 * 
-	 * @return the section
-	 */
-	public ServerEditorSection createSection();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPartFactory.java
deleted file mode 100644
index dc601de..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPartFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- *
- */
-public interface IServerEditorPartFactory extends IOrdered {
-	/**
-	 * Returns the id.
-	 * 
-	 * @return the id
-	 */
-	public String getId();
-	
-	/**
-	 * Return the displayable name.
-	 * 
-	 * @return the name
-	 */
-	public String getName();
-
-	/**
-	 * Returns true if the given server resource type (given by the
-	 * id) can be opened with this editor. This result is based on
-	 * the result of the types attribute.
-	 * 
-	 * @param id a server type id
-	 * @return <code>true</code> if the type is supported
-	 */
-	public boolean supportsType(String id);
-
-	/**
-	 * Returns true if a given insertion id is supported.
-	 * 
-	 * @param id
-	 * @return <code>true</code> if the insertion id is supported
-	 */
-	public boolean supportsInsertionId(String id);
-	
-	/**
-	 * Returns true if this editor page should be visible with the given server.
-	 * This allows (for instance) complex configuration pages to only be shown when used
-	 * with non-unittest servers.
-	 * 
-	 * @param server a server
-	 * @return <code>true</code> if the page should be visible
-	 */
-	public boolean shouldCreatePage(IServerWorkingCopy server);
-
-	/**
-	 * Create the editor page.
-	 * 
-	 * @return the editor page
-	 */
-	public IEditorPart createPage();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java
deleted file mode 100644
index 18ca55d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java
+++ /dev/null
@@ -1,1122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-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.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.fieldassist.AutoCompleteField;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.jface.fieldassist.FieldDecoration;
-import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.fieldassist.TextContentAdapter;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Spinner;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.ManagedForm;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Publisher;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.ServerType;
-import org.eclipse.wst.server.core.util.SocketUtil;
-import org.eclipse.wst.server.ui.AbstractUIControl;
-import org.eclipse.wst.server.ui.AbstractUIControl.UIControlEntry;
-import org.eclipse.wst.server.ui.AbstractUIControl.IUIControlListener;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.command.*;
-import org.eclipse.wst.server.ui.internal.viewers.BaseContentProvider;
-import org.eclipse.wst.server.ui.internal.viewers.BaseLabelProvider;
-import org.eclipse.wst.server.ui.internal.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * Server general editor page.
- */
-public class OverviewEditorPart extends ServerEditorPart implements IUIControlListener {
-	protected Text serverName;
-	protected Text serverConfiguration;
-	protected Text hostname;
-	protected Label hostnameLabel;
-	protected ControlDecoration hostnameDecoration;
-	protected Combo runtimeCombo;
-	protected Button browse;
-	protected Button autoPublishDisable;
-	protected Button autoPublishEnableResource;
-	protected Button autoPublishEnableBuild;
-	protected Spinner autoPublishTime;
-	protected Table publishersTable;
-	protected CheckboxTableViewer publishersViewer;
-	protected Spinner startTimeoutSpinner;
-	protected Spinner stopTimeoutSpinner;
-	protected ManagedForm managedForm;
-
-	protected boolean updating;
-
-	protected IRuntime[] runtimes;
-
-	protected PropertyChangeListener listener;
-
-	protected IRuntimeLifecycleListener runtimeListener;
-
-	private IServerType oldServerType;
-	
-	class PublisherContentProvider extends BaseContentProvider {
-		protected Publisher[] pubs;
-		public PublisherContentProvider(Publisher[] pubs) {
-			this.pubs = pubs;
-		}
-
-		public Object[] getElements(Object inputElement) {
-			return pubs;
-		}
-	}
-
-	class PublishLabelProvider extends BaseLabelProvider {
-		public String getText(Object element) {
-			if (element instanceof Publisher) {
-				Publisher pub = (Publisher) element;
-				return pub.getName();
-			}
-			return "";
-		}
-	}
-
-	/**
-	 * OverviewEditorPart constructor comment.
-	 */
-	public OverviewEditorPart() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getPropertyName().equals("configuration-id") && serverConfiguration != null)
-					validate();
-				
-				// following code behaves poorly because there is no default local or remote
-				// publishing time per server or server type. as a result it sets the value
-				// to the default, which seems to be more harm than good until we revamp the
-				// default publishing times
-				/*if ("hostname".equals(event.getPropertyName())) {
-					final String oldHostname = (String) event.getOldValue();
-					final String newHostname = (String) event.getNewValue();
-					final boolean isNewHostnameLocalhost = SocketUtil.isLocalhost(newHostname);
-					if (isNewHostnameLocalhost != SocketUtil.isLocalhost(oldHostname)) {
-						// run this code only if the hostname changed from
-						// 'localhost' to a remote name, or vice-versa
-						hostname.getDisplay().asyncExec(new Runnable() {
-							public void run() {
-								try {
-									if (isNewHostnameLocalhost) {
-										int autoPublishTime2 = ServerPreferences.getInstance().getAutoPublishLocalTime();
-										((ServerWorkingCopy)getServer()).setAutoPublishTime(autoPublishTime2);
-									} else {
-										int autoPublishTime2 = ServerPreferences.getInstance().getAutoPublishRemoteTime();
-										((ServerWorkingCopy)getServer()).setAutoPublishTime(autoPublishTime2);
-									}
-								} catch (Exception e) {
-									Trace.trace(Trace.WARNING, "Could not update publish time to new host");
-								}
-							}
-						});
-					}
-				}*/
-				
-				if (updating)
-					return;
-				updating = true;
-				if (event.getPropertyName().equals("name"))
-					updateNames();
-				else if (event.getPropertyName().equals("hostname") && hostname != null) {
-					hostname.setText((String) event.getNewValue());
-				} else if (event.getPropertyName().equals("runtime-id")) {
-					String runtimeId = (String) event.getNewValue();
-					IRuntime runtime = null;
-					if (runtimeId != null)
-						runtime = ServerCore.findRuntime(runtimeId);
-					if (runtimeCombo != null) {
-						int size = runtimes.length;
-						for (int i = 0; i < size; i++) {
-							if (runtimes[i].equals(runtime))
-								runtimeCombo.select(i);
-						}
-					}
-				} else if (event.getPropertyName().equals("configuration-id") && serverConfiguration != null) {
-					String path = (String) event.getNewValue();
-					serverConfiguration.setText(path);
-				} else if (event.getPropertyName().equals(Server.PROP_AUTO_PUBLISH_TIME)) {
-					Integer curAutoPublishTime = (Integer)event.getNewValue();
-					autoPublishTime.setSelection(curAutoPublishTime.intValue());
-					SWTUtil.setSpinnerTooltip(autoPublishTime);
-					validate();
-				} else if (event.getPropertyName().equals(Server.PROP_AUTO_PUBLISH_SETTING)) {
-					Integer autoPublishSetting = (Integer)event.getNewValue();
-					int setting = autoPublishSetting.intValue();
-					autoPublishEnableResource.setSelection(setting == Server.AUTO_PUBLISH_RESOURCE);
-					autoPublishEnableBuild.setSelection(setting == Server.AUTO_PUBLISH_BUILD);
-					autoPublishDisable.setSelection(setting == Server.AUTO_PUBLISH_DISABLE);
-					autoPublishTime.setEnabled(setting != Server.AUTO_PUBLISH_DISABLE);
-					validate();
-				} else if (event.getPropertyName().equals(Server.PROP_START_TIMEOUT)) {
-					Integer time = (Integer)event.getNewValue();
-					startTimeoutSpinner.setSelection(time.intValue());
-					SWTUtil.setSpinnerTooltip(startTimeoutSpinner);
-				} else if (event.getPropertyName().equals(Server.PROP_STOP_TIMEOUT)) {
-					Integer time = (Integer)event.getNewValue();
-					stopTimeoutSpinner.setSelection(time.intValue());
-					SWTUtil.setSpinnerTooltip(stopTimeoutSpinner);
-				} else if (Server.PROP_PUBLISHERS.equals(event.getPropertyName())) {
-					if (publishersViewer == null)
-						return;
-					
-					List<String> list = (List<String>) event.getNewValue();
-					Iterator<String> iter = list.iterator();
-					while (iter.hasNext()) {
-						String id = iter.next();
-						int ind = id.indexOf(":");
-						boolean enabled = false;
-						if ("true".equals(id.substring(ind+1)))
-							enabled = true;
-						id = id.substring(0, ind);
-						Publisher pub = ServerPlugin.findPublisher(id);
-						if (pub != null)
-							publishersViewer.setChecked(pub, enabled);
-					}
-				}
-				updating = false;
-			}
-		};
-		if (server != null)
-			server.addPropertyChangeListener(listener);
-	}
-
-	protected void updateNames() {
-		if (serverName != null)
-			serverName.setText(server.getName());
-	}
-
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 *
-	 * @param parent the parent control
-	 */
-	public final void createPartControl(final Composite parent) {
-		managedForm = new ManagedForm(parent);
-		setManagedForm(managedForm);
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		toolkit.decorateFormHeading(form.getForm());
-		form.setText(Messages.serverEditorOverviewPageTitle);
-		form.setImage(ImageResource.getImage(ImageResource.IMG_SERVER));
-		form.getBody().setLayout(new GridLayout());
-		
-		Composite columnComp = toolkit.createComposite(form.getBody());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		//layout.marginHeight = 10;
-		//layout.marginWidth = 10;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 10;
-		columnComp.setLayout(layout);
-		columnComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		// left column
-		Composite leftColumnComp = toolkit.createComposite(columnComp);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 10;
-		layout.horizontalSpacing = 0;
-		leftColumnComp.setLayout(layout);
-		leftColumnComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		createGeneralSection(leftColumnComp, toolkit);
-		
-		insertSections(leftColumnComp, "org.eclipse.wst.server.editor.overview.left");
-		
-		// right column
-		Composite rightColumnComp = toolkit.createComposite(columnComp);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 10;
-		layout.horizontalSpacing = 0;
-		rightColumnComp.setLayout(layout);
-		rightColumnComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		createPublishSection(rightColumnComp, toolkit);
-		createTimeoutSection(rightColumnComp, toolkit);
-		
-		insertSections(rightColumnComp, "org.eclipse.wst.server.editor.overview.right");
-		
-		form.reflow(true);
-		
-		initialize();
-	}
-
-	protected void createGeneralSection(Composite leftColumnComp, FormToolkit toolkit) {
-		Section section = toolkit.createSection(leftColumnComp, ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
-		section.setText(Messages.serverEditorOverviewGeneralSection);
-		section.setDescription(Messages.serverEditorOverviewGeneralDescription);
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 5;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.EDITOR_OVERVIEW_PAGE);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		int decorationWidth = FieldDecorationRegistry.getDefault().getMaximumDecorationWidth(); 
-		
-		// server name
-		if (server != null) {
-			createLabel(toolkit, composite, Messages.serverEditorOverviewServerName);
-			
-			serverName = toolkit.createText(composite, server.getName());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			data.horizontalIndent = decorationWidth;
-			serverName.setLayoutData(data);
-			serverName.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					execute(new SetServerNameCommand(getServer(), serverName.getText()));
-					updating = false;
-					validate();
-				}
-			});
-			whs.setHelp(serverName, ContextIds.EDITOR_SERVER);
-			
-			// hostname
-			hostnameLabel = createLabel(toolkit, composite, Messages.serverEditorOverviewServerHostname);
-			
-			hostname = toolkit.createText(composite, server.getHost());
-			hostnameDecoration = new ControlDecoration(hostname, SWT.TOP | SWT.LEAD);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			data.horizontalIndent = decorationWidth;
-			hostname.setLayoutData(data);
-			hostname.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					execute(new SetServerHostnameCommand(getServer(), hostname.getText()));
-					updating = false;
-				}
-			});
-			whs.setHelp(hostname, ContextIds.EDITOR_HOSTNAME);
-			
-			FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault();
-			FieldDecoration fd = registry.getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
-			hostnameDecoration.setImage(fd.getImage());
-			hostnameDecoration.setDescriptionText(fd.getDescription());
-			hostnameDecoration.hide();
-			
-			hostname.addFocusListener(new FocusListener() {
-				public void focusGained(FocusEvent e) {
-					hostnameDecoration.show();
-				}
-
-				public void focusLost(FocusEvent e) {
-					hostnameDecoration.hide();
-				}
-			});
-			
-			//updateDecoration(hostnameDecoration, new Status(IStatus.INFO, ServerUIPlugin.PLUGIN_ID, "Press Ctrl-Space"));
-			
-			List<String> hosts = ServerUIPlugin.getPreferences().getHostnames();
-			String[] hosts2 = hosts.toArray(new String[hosts.size()]);
-			new AutoCompleteField(hostname, new TextContentAdapter(), hosts2);
-		}
-		
-		// runtime
-		if (server != null && server.getServerType() != null && server.getServerType().hasRuntime()) {
-			final Hyperlink link = toolkit.createHyperlink(composite, Messages.serverEditorOverviewRuntime, SWT.NONE);
-			link.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					IRuntime runtime = server.getRuntime();
-					if (runtime != null && ServerUIPlugin.hasWizardFragment(runtime.getRuntimeType().getId()))
-						editRuntime(runtime);
-				}
-			});
-			
-			final IRuntime runtime = server.getRuntime();
-			if (runtime == null || !ServerUIPlugin.hasWizardFragment(runtime.getRuntimeType().getId()))
-				link.setEnabled(false);
-			
-			IRuntimeType runtimeType = server.getServerType().getRuntimeType();
-			runtimes = ServerUIPlugin.getRuntimes(runtimeType);
-			
-			runtimeCombo = new Combo(composite, SWT.READ_ONLY);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalIndent = decorationWidth;
-			data.horizontalSpan = 2;
-			runtimeCombo.setLayoutData(data);
-			updateRuntimeCombo();
-			
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				if (runtimes[i].equals(runtime))
-					runtimeCombo.select(i);
-			}
-			
-			runtimeCombo.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						if (updating)
-							return;
-						updating = true;
-						IRuntime newRuntime = runtimes[runtimeCombo.getSelectionIndex()];
-						execute(new SetServerRuntimeCommand(getServer(), newRuntime));
-						link.setEnabled(newRuntime != null && !ServerUIPlugin.hasWizardFragment(newRuntime.getRuntimeType().getId()));
-						updating = false;
-					} catch (Exception ex) {
-						// ignore
-					}
-				}
-				public void widgetDefaultSelected(SelectionEvent e) {
-					widgetSelected(e);
-				}
-			});
-			whs.setHelp(runtimeCombo, ContextIds.EDITOR_RUNTIME);
-			
-			// add runtime listener
-			runtimeListener = new IRuntimeLifecycleListener() {
-				public void runtimeChanged(final IRuntime runtime2) {
-					// may be name change of current runtime
-					Display.getDefault().syncExec(new Runnable() {
-						public void run() {
-							if (runtime2.equals(getServer().getRuntime())) {
-								try {
-									if (updating)
-										return;
-									updating = true;
-									execute(new SetServerRuntimeCommand(getServer(), runtime2));
-									updating = false;
-								} catch (Exception ex) {
-									// ignore
-								}
-							}
-							
-							if (runtimeCombo != null && !runtimeCombo.isDisposed()) {
-								updateRuntimeCombo();
-								
-								int size2 = runtimes.length;
-								for (int i = 0; i < size2; i++) {
-									if (runtimes[i].equals(runtime))
-										runtimeCombo.select(i);
-								}
-							}
-						}
-					});
-				}
-
-				public void runtimeAdded(final IRuntime runtime2) {
-					Display.getDefault().syncExec(new Runnable() {
-						public void run() {
-							if (runtimeCombo != null && !runtimeCombo.isDisposed()) {
-								updateRuntimeCombo();
-								
-								int size2 = runtimes.length;
-								for (int i = 0; i < size2; i++) {
-									if (runtimes[i].equals(runtime))
-										runtimeCombo.select(i);
-								}
-							}
-						}
-					});
-				}
-
-				public void runtimeRemoved(IRuntime runtime2) {
-					Display.getDefault().syncExec(new Runnable() {
-						public void run() {
-							if (runtimeCombo != null && !runtimeCombo.isDisposed()) {
-								updateRuntimeCombo();
-								
-								int size2 = runtimes.length;
-								for (int i = 0; i < size2; i++) {
-									if (runtimes[i].equals(runtime))
-										runtimeCombo.select(i);
-								}
-							}
-						}
-					});
-				}
-			};
-			
-			ServerCore.addRuntimeLifecycleListener(runtimeListener);
-		}
-		
-		// server configuration path
-		if (server != null && server.getServerType() != null && server.getServerType().hasServerConfiguration()) {
-			createLabel(toolkit, composite, Messages.serverEditorOverviewServerConfigurationPath);
-			
-			IFolder folder = server.getServerConfiguration();
-			if (folder == null)
-				serverConfiguration = toolkit.createText(composite, Messages.elementUnknownName);
-			else
-				serverConfiguration = toolkit.createText(composite, "" + server.getServerConfiguration().getFullPath());
-			
-			serverConfiguration.setEditable(false);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalIndent = decorationWidth;
-			data.widthHint = 75;
-			serverConfiguration.setLayoutData(data);
-			
-			whs.setHelp(serverConfiguration, ContextIds.EDITOR_CONFIGURATION);
-			
-			final IFolder currentFolder = server.getServerConfiguration();
-			browse = toolkit.createButton(composite, Messages.serverEditorOverviewServerConfigurationBrowse, SWT.PUSH);
-			browse.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					ContainerSelectionDialog dialog = new ContainerSelectionDialog(serverConfiguration.getShell(),
-						currentFolder, true, Messages.serverEditorOverviewServerConfigurationBrowseMessage);
-					dialog.showClosedProjects(false);
-					
-					if (dialog.open() != Window.CANCEL) {
-						Object[] result = dialog.getResult();
-						if (result != null && result.length == 1) {
-							IPath path = (IPath) result[0];
-							
-							IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-							IResource resource = root.findMember(path);
-							if (resource != null && resource instanceof IFolder) {
-								IFolder folder2 = (IFolder) resource;
-							
-								if (updating)
-									return;
-								updating = true;
-								execute(new SetServerConfigurationFolderCommand(getServer(), folder2));
-								serverConfiguration.setText(folder2.getFullPath().toString());
-								updating = false;
-							}
-						}
-					}
-				}
-			});
-			browse.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		}
-		
-		if (server != null && server.getServerType() != null) {
-			IServerType serverType = server.getServerType();
-			if (serverType.supportsLaunchMode(ILaunchManager.RUN_MODE) || serverType.supportsLaunchMode(ILaunchManager.DEBUG_MODE)
-					|| serverType.supportsLaunchMode(ILaunchManager.PROFILE_MODE)) {
-				ILaunchConfigurationType launchType = ((ServerType) serverType).getLaunchConfigurationType();
-				if (launchType != null && launchType.isPublic()) {
-					final Hyperlink link = toolkit.createHyperlink(composite, Messages.serverEditorOverviewOpenLaunchConfiguration, SWT.NONE);
-					GridData data = new GridData();
-					data.horizontalSpan = 2;
-					link.setLayoutData(data);
-					link.addHyperlinkListener(new HyperlinkAdapter() {
-						public void linkActivated(HyperlinkEvent e) {
-							try {
-								ILaunchConfiguration launchConfig = ((Server) getServer()).getLaunchConfiguration(true, null);
-								// TODO: use correct launch group
-								DebugUITools.openLaunchConfigurationPropertiesDialog(link.getShell(), launchConfig, "org.eclipse.debug.ui.launchGroup.run");
-							} catch (CoreException ce) {
-								if (Trace.SEVERE) {
-									Trace.trace(Trace.STRING_SEVERE, "Could not create launch configuration", ce);
-								}
-							}
-						}
-					});
-				}
-			}
-		}
-		
-		// Insertion of extension widgets. If the page modifier createControl is not implemented still 
-		// add the modifier to the listeners list.
-		List<ServerEditorOverviewPageModifier> pageModifiersLst = ServerUIPlugin.getServerEditorOverviewPageModifiers();
-		for (ServerEditorOverviewPageModifier curPageModifier : pageModifiersLst) {
-			if(server != null && server.getServerType() != null){
-				curPageModifier.createControl(ServerEditorOverviewPageModifier.UI_LOCATION.OVERVIEW, composite);
-				curPageModifier.setUIControlListener(this);
-			}
-		}
-	}
-
-	protected void createPublishSection(Composite rightColumnComp, FormToolkit toolkit) {
-		Section section = toolkit.createSection(rightColumnComp, ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(Messages.serverEditorOverviewPublishSection);
-		section.setDescription(Messages.serverEditorOverviewPublishDescription);
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.EDITOR_OVERVIEW_PAGE);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		//	 auto-publish
-		if (server != null) {
-			final Server svr = (Server) server;
-			int publishSetting = svr.getAutoPublishSetting();
-			
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);															
-			autoPublishDisable = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishDisable, SWT.RADIO);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			autoPublishDisable.setLayoutData(data);
-			autoPublishDisable.setSelection(publishSetting == Server.AUTO_PUBLISH_DISABLE);
-			whs.setHelp(autoPublishDisable, ContextIds.EDITOR_AUTOPUBLISH_DISABLE);
-			
-			autoPublishEnableResource = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishEnabledResource, SWT.RADIO);
-			autoPublishEnableResource.setSelection(publishSetting == Server.AUTO_PUBLISH_RESOURCE);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			autoPublishEnableResource.setLayoutData(data);
-			whs.setHelp(autoPublishEnableResource, ContextIds.EDITOR_AUTOPUBLISH_ENABLE);
-			
-			autoPublishEnableBuild = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishEnabledBuild, SWT.RADIO);
-			autoPublishEnableBuild.setSelection(publishSetting == Server.AUTO_PUBLISH_BUILD);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			autoPublishEnableBuild.setLayoutData(data);
-			whs.setHelp(autoPublishEnableBuild, ContextIds.EDITOR_AUTOPUBLISH_BUILD);
-			
-			final Label autoPublishTimeLabel = createLabel(toolkit,composite, Messages.serverEditorOverviewAutoPublishEnabledInterval);
-			data = new GridData();
-			data.horizontalIndent = 20;
-			autoPublishTimeLabel.setLayoutData(data);
-			autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());
-			
-			autoPublishTime = new Spinner(composite, SWT.BORDER);
-			autoPublishTime.setMinimum(0);
-			autoPublishTime.setIncrement(5);
-			autoPublishTime.setMaximum(120);
-			autoPublishTime.setSelection(svr.getAutoPublishTime());
-			data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-			data.widthHint = 30;
-			autoPublishTime.setLayoutData(data);
-			autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
-			SWTUtil.setSpinnerTooltip(autoPublishTime);
-			whs.setHelp(autoPublishTime, ContextIds.EDITOR_AUTOPUBLISH_INTERVAL);
-			
-			autoPublishEnableResource.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (updating || !autoPublishEnableResource.getSelection())
-						return;
-					updating = true;
-					execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_RESOURCE));
-					updating = false;
-					autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());
-					autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
-					validate();
-				}
-			});
-
-			autoPublishEnableBuild.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (updating || !autoPublishEnableBuild.getSelection())
-						return;
-					updating = true;
-					execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_BUILD));
-					updating = false;
-					autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());
-					autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
-					validate();
-				}
-			});
-			
-			autoPublishDisable.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (updating || !autoPublishDisable.getSelection())
-						return;
-					updating = true;
-					execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_DISABLE));
-					updating = false;
-					autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());
-					autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
-					validate();
-				}
-			});
-			
-			autoPublishTime.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					execute(new SetServerAutoPublishTimeCommand(getServer(), autoPublishTime.getSelection()));
-					SWTUtil.setSpinnerTooltip(autoPublishTime);
-					updating = false;
-					validate();
-				}
-			});
-			
-			// publishers
-			Publisher[] pubs = ((Server)server).getAllPublishers();
-			if (pubs != null && pubs.length > 0) {
-				Label label = toolkit.createLabel(composite, Messages.serverEditorOverviewPublishers);
-				data = new GridData(GridData.FILL_HORIZONTAL);
-				data.horizontalSpan = 2;
-				label.setLayoutData(data);
-				
-				publishersTable = toolkit.createTable(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.CHECK);
-				publishersTable.setHeaderVisible(false);
-				publishersTable.setLinesVisible(false);
-				whs.setHelp(publishersTable, ContextIds.EDITOR_PUBLISHTASKS_CONFIGURATION);
-				
-				data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-				data.horizontalSpan = 2;
-				data.heightHint = 80;
-				publishersTable.setLayoutData(data);
-				
-				publishersViewer = new CheckboxTableViewer(publishersTable);
-				publishersViewer.setColumnProperties(new String[] {"name"});
-				publishersViewer.setContentProvider(new PublisherContentProvider(pubs));
-				publishersViewer.setLabelProvider(new PublishLabelProvider());
-				publishersViewer.setInput("root");
-				
-				Publisher[] pubs2 = ((Server)server).getEnabledPublishers();
-				for (Publisher p : pubs2)
-					publishersViewer.setChecked(p, true);
-				
-				publishersViewer.addCheckStateListener(new ICheckStateListener() {
-					public void checkStateChanged(CheckStateChangedEvent event) {
-						Object element = event.getElement();
-						if (element == null || !(element instanceof Publisher))
-							return;
-						if (updating)
-							return;
-						updating = true;
-						execute(new SetPublisherEnablementCommand(getServer(), (Publisher) element, event.getChecked()));
-						updating = false;
-					}
-				});
-			}
-		}
-	}
-
-	protected void createTimeoutSection(Composite rightColumnComp, FormToolkit toolkit) {
-		Section section = toolkit.createSection(rightColumnComp, ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(Messages.serverEditorOverviewTimeoutSection);
-		section.setDescription(Messages.serverEditorOverviewTimeoutDescription);
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.EDITOR_OVERVIEW_PAGE);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		//	timeouts
-		if (server != null) {
-			final Server svr = (Server) server;
-			
-			// start timeout label
-			final Label startTimeoutLabel = createLabel(toolkit, composite, Messages.serverEditorOverviewStartTimeout);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalIndent = 20;
-			startTimeoutLabel.setLayoutData(data);			
-			
-			startTimeoutSpinner = new Spinner(composite, SWT.BORDER);
-			startTimeoutSpinner.setEnabled(true);
-			startTimeoutSpinner.setMinimum(1);
-			startTimeoutSpinner.setMaximum(60*60*24); // 24 hours
-			startTimeoutSpinner.setIncrement(5);
-			startTimeoutSpinner.setSelection(svr.getStartTimeout());
-			SWTUtil.setSpinnerTooltip(startTimeoutSpinner);
-			data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-			data.widthHint = 30;
-			startTimeoutSpinner.setLayoutData(data);
-			whs.setHelp(startTimeoutSpinner, ContextIds.EDITOR_TIMEOUT_START);
-			
-			// stop timeout label
-			final Label stopTimeoutLabel = createLabel(toolkit, composite, Messages.serverEditorOverviewStopTimeout);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalIndent = 20;
-			stopTimeoutLabel.setLayoutData(data);			
-			
-			stopTimeoutSpinner = new Spinner(composite, SWT.BORDER);
-			stopTimeoutSpinner.setEnabled(true);
-			stopTimeoutSpinner.setMinimum(1);
-			stopTimeoutSpinner.setMaximum(60*60*24); // 24 hours
-			stopTimeoutSpinner.setIncrement(5);
-			stopTimeoutSpinner.setSelection(svr.getStopTimeout());
-			SWTUtil.setSpinnerTooltip(stopTimeoutSpinner);
-			data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-			data.widthHint = 30;
-			stopTimeoutSpinner.setLayoutData(data);
-			whs.setHelp(stopTimeoutSpinner, ContextIds.EDITOR_TIMEOUT_STOP);
-			
-			startTimeoutSpinner.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					execute(new SetServerStartTimeoutCommand(getServer(), startTimeoutSpinner.getSelection()));
-					SWTUtil.setSpinnerTooltip(startTimeoutSpinner);
-					updating = false;
-					validate();
-				}
-			});
-			stopTimeoutSpinner.addModifyListener(new ModifyListener(){
-				public void modifyText(ModifyEvent e) {
-					if (updating)
-						return;
-					updating = true;
-					execute(new SetServerStopTimeoutCommand(getServer(), stopTimeoutSpinner.getSelection()));
-					SWTUtil.setSpinnerTooltip(stopTimeoutSpinner);
-					updating = false;
-					validate();			
-				}
-			});
-		}
-	}
-
-	protected void editRuntime(IRuntime runtime) {
-		IRuntimeWorkingCopy runtimeWorkingCopy = runtime.createWorkingCopy();
-		if (showWizard(runtimeWorkingCopy) != Window.CANCEL) {
-			try {
-				runtimeWorkingCopy.save(false, null);
-			} catch (Exception ex) {
-				// ignore
-			}
-		}
-	}
-
-	protected int showWizard(final IRuntimeWorkingCopy runtimeWorkingCopy) {
-		String title = Messages.wizEditRuntimeWizardTitle;
-		final WizardFragment fragment2 = ServerUIPlugin.getWizardFragment(runtimeWorkingCopy.getRuntimeType().getId());
-		if (fragment2 == null)
-			return Window.CANCEL;
-		
-		TaskModel taskModel = new TaskModel();
-		taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
-
-		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
-				list.add(fragment2);
-				list.add(WizardTaskUtil.SaveRuntimeFragment);
-			}
-		};
-		
-		TaskWizard wizard = new TaskWizard(title, fragment, taskModel);
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getEditorSite().getShell(), wizard);
-		return dialog.open();
-	}
-
-	protected void updateRuntimeCombo() {
-		IRuntimeType runtimeType = server.getServerType().getRuntimeType();
-		runtimes = ServerUIPlugin.getRuntimes(runtimeType);
-		
-		if (SocketUtil.isLocalhost(server.getHost()) && runtimes != null) {
-			List<IRuntime> runtimes2 = new ArrayList<IRuntime>();
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				IRuntime runtime2 = runtimes[i];
-				if (!runtime2.isStub())
-					runtimes2.add(runtime2);
-			}
-			runtimes = new IRuntime[runtimes2.size()];
-			runtimes2.toArray(runtimes);
-		}
-		
-		int size = runtimes.length;
-		String[] items = new String[size];
-		for (int i = 0; i < size; i++)
-			items[i] = runtimes[i].getName();
-		
-		runtimeCombo.setItems(items);
-	}
-
-	protected Label createLabel(FormToolkit toolkit, Composite parent, String text) {
-		Label label = toolkit.createLabel(parent, text);
-		label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-		return label;
-	}
-
-	public void dispose() {
-		super.dispose();
-		
-		if (server != null)
-			server.removePropertyChangeListener(listener);
-		
-		if (runtimeListener != null)
-			ServerCore.removeRuntimeLifecycleListener(runtimeListener);
-		
-		if (managedForm != null) {
-			managedForm.dispose();
-			managedForm = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		addChangeListener();
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (serverName == null)
-			return;
-		updating = true;
-		
-		if (server != null) {
-			serverName.setText(server.getName());
-			if (readOnly)
-				serverName.setEditable(false);
-			else
-				serverName.setEditable(true);
-			
-			hostname.setText(server.getHost());
-			if (readOnly)
-				hostname.setEditable(false);
-			else
-				hostname.setEditable(true);
-			
-			if (runtimeCombo != null) {
-				updateRuntimeCombo();
-				IRuntime runtime = server.getRuntime();
-				int size2 = runtimes.length;
-				for (int i = 0; i < size2; i++) {
-					if (runtimes[i].equals(runtime))
-						runtimeCombo.select(i);
-				}
-				if (readOnly)
-					runtimeCombo.setEnabled(false);
-				else
-					runtimeCombo.setEnabled(true);
-			}
-			
-			if (serverConfiguration != null) {
-				IFolder folder = server.getServerConfiguration();
-				if (folder == null)
-					serverConfiguration.setText(Messages.elementUnknownName);
-				else
-					serverConfiguration.setText("" + server.getServerConfiguration().getFullPath());
-				if (readOnly) {
-					serverConfiguration.setEditable(false);
-					browse.setEnabled(false);
-				} else {
-					serverConfiguration.setEditable(true);
-					browse.setEnabled(true);
-				}
-			}
-			
-			Server svr = (Server) server;
-			int publishSetting = svr.getAutoPublishSetting();
-			autoPublishDisable.setSelection(publishSetting == Server.AUTO_PUBLISH_DISABLE);
-			autoPublishEnableResource.setSelection(publishSetting == Server.AUTO_PUBLISH_RESOURCE);
-			autoPublishEnableBuild.setSelection(publishSetting == Server.AUTO_PUBLISH_BUILD);
-			autoPublishTime.setSelection(svr.getAutoPublishTime());
-			
-			if (readOnly) {
-				autoPublishDisable.setEnabled(false);
-				autoPublishEnableResource.setEnabled(false);
-				autoPublishEnableBuild.setEnabled(false);
-				autoPublishTime.setEnabled(false);
-			} else {
-				autoPublishDisable.setEnabled(true);
-				autoPublishEnableResource.setEnabled(true);
-				autoPublishEnableBuild.setEnabled(true);
-				autoPublishTime.setEnabled(publishSetting != Server.AUTO_PUBLISH_DISABLE);
-			}
-			
-			List<ServerEditorOverviewPageModifier> pageModifiersLst = ServerUIPlugin.getServerEditorOverviewPageModifiers();
-			for (ServerEditorOverviewPageModifier curPageModifier : pageModifiersLst) {
-				if(server != null && server.getServerType() != null)
-					curPageModifier.setServerWorkingCopy(server);
-					curPageModifier.handlePropertyChanged(new PropertyChangeEvent(this, AbstractUIControl.PROP_SERVER_TYPE, oldServerType, server.getServerType()));
-			}
-		}
-		
-		updating = false;
-		validate();
-	}
-
-	protected void validate() {
-		IManagedForm mForm = getManagedForm();
-		if (mForm == null)
-			return;
-		
-		mForm.getMessageManager().removeMessage("name", serverName);
-		if (server != null && serverName != null) {
-			if (ServerPlugin.isNameInUse(server, serverName.getText().trim()))
-				mForm.getMessageManager().addMessage("name", Messages.errorDuplicateName, null, IMessageProvider.ERROR, serverName);
-		}
-		
-		if (serverConfiguration != null) {
-			mForm.getMessageManager().removeMessage("config", serverConfiguration);
-			if (server != null && server.getServerType() != null && server.getServerType().hasServerConfiguration()) {
-				IFolder folder = getServer().getServerConfiguration();
-				
-	 			if (folder == null || !folder.exists()) {
-					IProject project = null;
-					if (folder != null)
-						project = folder.getProject();
-					if (project != null && project.exists() && !project.isOpen())
-						mForm.getMessageManager().addMessage("config", NLS.bind(Messages.errorConfigurationNotAccessible, project.getName()), null, IMessageProvider.ERROR, serverConfiguration);
-					else
-						mForm.getMessageManager().addMessage("config", Messages.errorMissingConfiguration, null, IMessageProvider.ERROR, serverConfiguration);
-	 			}
-			}
-		}
-		
-		mForm.getMessageManager().update();
-	}
-
-	protected void updateDecoration(ControlDecoration decoration, IStatus status) {
-		if (status != null) {
-			Image newImage = null;
-			FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault();
-			switch (status.getSeverity()) {
-				case IStatus.INFO:
-					//newImage = registry.getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).getImage();
-					newImage = registry.getFieldDecoration(FieldDecorationRegistry.DEC_REQUIRED).getImage();
-					break;
-				case IStatus.WARNING:
-					newImage = registry.getFieldDecoration(FieldDecorationRegistry.DEC_WARNING).getImage();
-					break;
-				case IStatus.ERROR:
-					newImage = registry.getFieldDecoration(FieldDecorationRegistry.DEC_ERROR).getImage();
-			}
-			decoration.setDescriptionText(status.getMessage());
-			decoration.setImage(newImage);
-			decoration.show();
-		} else {
-			decoration.setDescriptionText(null);
-			decoration.hide();
-		}
-	}
-
-	/*
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (serverName != null)
-			serverName.setFocus();
-		else if (serverConfiguration != null)
-			serverConfiguration.setFocus();
-	}
-
-	public String getControlStringValue(String controlId) {
-		if (controlId != null && AbstractUIControl.PROP_HOSTNAME.equals(controlId))
-			return hostname.getText();
-		return null;
-	}
-
-	public void handleUIControlMapChanged(Map<String, UIControlEntry> controlMap) {
-		if (controlMap == null)
-			return;
-		
-		for (String curControlId : controlMap.keySet()) {
-			if (AbstractUIControl.PROP_HOSTNAME.equals(curControlId)) {
-				UIControlEntry curControlEntry = controlMap.get(curControlId);
-				if (hostnameLabel != null)
-					hostnameLabel.setEnabled(curControlEntry.isEnabled());
-				
-				if (hostname != null){
-					if (curControlEntry.getNewTextValue() != null)
-						hostname.setText(curControlEntry.getNewTextValue());
-					
-					hostname.setEnabled(curControlEntry.isEnabled());
-				}
-				
-				if (hostnameDecoration != null){
-					if(curControlEntry.isEnabled())
-						hostnameDecoration.show();
-					else
-						hostnameDecoration.hide();
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
deleted file mode 100644
index 5f38ef9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
+++ /dev/null
@@ -1,1000 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.wst.server.ui.internal.*;
-/**
- * A multi-page server resource editor.
- */
-public class ServerEditor extends MultiPageEditorPart {
-	/**
-	 * Internal part and shell activation listener
-	 */
-	class ActivationListener extends ShellAdapter implements IPartListener {
-		private IWorkbenchPart fActivePart;
-		private boolean fIsHandlingActivation = false;
-		
-		public void partActivated(IWorkbenchPart part) {
-			fActivePart = part;
-			handleActivation();
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part) {
-			// do nothing
-		}
-
-		public void partClosed(IWorkbenchPart part) {
-			// do nothing
-		}
-
-		public void partDeactivated(IWorkbenchPart part) {
-			fActivePart = null;
-		}
-
-		public void partOpened(IWorkbenchPart part) {
-			// do nothing
-		}
-
-		public void shellActivated(ShellEvent e) {
-			handleActivation();
-		}
-
-		private void handleActivation() {
-			if (fIsHandlingActivation)
-				return;
-			
-			if (fActivePart == ServerEditor.this) {
-				fIsHandlingActivation = true;
-				try {
-					checkResourceState();
-				} finally {
-					fIsHandlingActivation = false;
-				}
-			}
-		}
-	}
-
-	class LifecycleListener implements IServerLifecycleListener {
-		public void serverAdded(IServer oldServer) {
-			// do nothing
-		}
-		public void serverChanged(IServer oldServer) {
-			// do nothing
-		}
-		public void serverRemoved(IServer oldServer) {
-			if (oldServer.equals(server.getOriginal()) && !isDirty())
-				closeEditor();
-		}
-	}
-
-	protected IServerWorkingCopy server;
-	protected String serverId;
-	protected String serverName;
-
-	protected GlobalCommandManager commandManager;
-
-	protected PropertyChangeListener listener;
-
-	protected IAction undoAction;
-	protected IAction redoAction;
-
-	protected TextAction cutAction;
-	protected TextAction copyAction;
-	protected TextAction pasteAction;
-	protected boolean updatingActions;
-
-	protected IAction[] editorActions;
-
-	protected java.util.List<IEditorPart> serverPages;
-
-	// on focus change flag
-	protected boolean resourceDeleted;
-
-	// input given to the contained pages
-	protected IServerEditorPartInput editorPartInput;
-
-	// status line and status
-	protected IStatusLineManager status;
-	protected StatusLineContributionItem statusItem;
-
-	private ActivationListener activationListener = new ActivationListener();
-	protected LifecycleListener resourceListener;
-
-	// used for disabling resource change check when saving through editor
-	protected boolean isSaving = false;
-
-	protected Map<IEditorPart, IServerEditorPartFactory> pageToFactory = new HashMap<IEditorPart, IServerEditorPartFactory>();
-
-	/**
-	 * ServerEditor constructor comment.
-	 */
-	public ServerEditor() {
-		super();
-		
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		
-		undoAction = new Action() {
-			public void run() {
-				getCommandManager().undo(serverId);
-			}
-		};
-		undoAction.setEnabled(false);
-		undoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO));
-		//undoAction.setHoverImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_HOVER));
-		//undoAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED));
-		
-		redoAction = new Action() {
-			public void run() {
-				getCommandManager().redo(serverId);
-			}
-		};
-		redoAction.setEnabled(false);
-		redoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO));
-		//redoAction.setHoverImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO_HOVER));
-		//redoAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO_DISABLED));
-	}
-
-	/**
-	 * Close the editor correctly.
-	 */
-	protected void closeEditor() {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				getEditorSite().getPage().closeEditor(ServerEditor.this, false);
-			}
-		});
-	}
-
-	protected void createActions() {
-		List<IAction> actionList = new ArrayList<IAction>();
-		
-		// add server actions
-		if (server != null && server.getServerType() != null) {
-			Iterator iterator = ServerEditorCore.getServerEditorActionFactories().iterator();
-			String id = server.getServerType().getId();
-			while (iterator.hasNext()) {
-				ServerEditorActionFactory factory = (ServerEditorActionFactory) iterator.next();
-				if (factory.supportsServerElementType(id) && factory.shouldDisplay(server))
-					actionList.add(factory.createAction(getEditorSite(), editorPartInput));
-			}
-		}
-
-		editorActions = new IAction[actionList.size()];
-		actionList.toArray(editorActions);
-	}
-
-	public IServerEditorPartFactory getPageFactory(ServerEditorPart part) {
-		try {
-			return pageToFactory.get(part);
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	/**
-	 * Creates the pages of this multi-page editor.
-	 * <p>
-	 * Subclasses of <code>MultiPageEditor</code> must implement this method.
-	 * </p>
-	 */
-	protected void createPages() {
-		try {
-			int index = 0;
-			serverPages = new ArrayList<IEditorPart>();
-			
-			// add editor pages
-			int pageCount = 0;
-			
-			String serverTypeId = null;
-			if (server != null && server.getServerType() != null)
-				serverTypeId = server.getServerType().getId();
-			
-			Iterator iterator = ServerEditorCore.getServerEditorPageFactories().iterator();
-			while (iterator.hasNext()) {
-				IServerEditorPartFactory factory = (IServerEditorPartFactory) iterator.next();
-				if (factory.supportsType(serverTypeId) && factory.shouldCreatePage(server)) {
-					if (Trace.FINEST) {
-						Trace.trace(Trace.STRING_FINEST, "Adding page: " + factory.getId() + " " + editorPartInput);
-					}
-					try {
-						IEditorPart page = factory.createPage();
-						if (page != null) {
-							pageToFactory.put(page, factory);
-							index = addPage(page, editorPartInput);
-							setPageText(index, factory.getName());
-							
-							serverPages.add(page);
-					
-							pageCount ++;
-						}
-					} catch (Exception e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Could not display editor page " + factory.getId(), e);
-						}
-					}
-				}
-			}
-			
-			if (pageCount > 0)
-				setActivePage(0);
-			
-			// register for events that might change the cut/copy/paste actions
-			int count = getPageCount();
-			for (int i = 0; i < count; i++) {
-				Control control = getControl(i);
-				registerEvents(control);
-			}
-			updateActions();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error creating server editor pages", e);
-			}
-		}
-	}
-
-	public void dispose() {
-		if (activationListener != null) {
-			IWorkbenchWindow window = getSite().getWorkbenchWindow();
-			window.getPartService().removePartListener(activationListener);
-			Shell shell = window.getShell();
-			if (shell != null && !shell.isDisposed())
-				shell.removeShellListener(activationListener);
-			activationListener = null;
-		}
-		
-		if (resourceListener != null)
-			ServerCore.removeServerLifecycleListener(resourceListener);
-		
-		if (serverName != null && !server.getName().equals(serverName)) {
-			// only prompt if the server is in the workspace or there is a configuration
-			if (server.getServerConfiguration() != null || ((Server)server).getFile() != null) {
-				String title = Messages.editorServerEditor;
-				String message = Messages.editorRenameFiles;
-				if (MessageDialog.openQuestion(getEditorSite().getShell(), title,  message))
-					try {
-						((ServerWorkingCopy)server).renameFiles(null);
-					} catch (Exception e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Error renaming server", e);
-						}
-					}
-			}
-		}
-		
-		super.dispose();
-		if (commandManager != null) {
-			commandManager.removePropertyChangeListener(listener);
-			
-			if (serverId != null)
-				commandManager.releaseCommandManager(serverId);
-			
-			commandManager = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Saves the contents of this editor.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		// set the isSaving flag to true
-		isSaving = true;
-		
-		// check pages for errors first
-		java.util.List<String> errors = new ArrayList<String>();
-		Iterator iterator = serverPages.iterator();
-		int count = 0;
-		int maxSeverity = -1;
-		while (iterator.hasNext()) {
-			IEditorPart part = (IEditorPart) iterator.next();
-			if (part instanceof ServerEditorPart) {
-				IStatus[] status2 = ((ServerEditorPart) part).getSaveStatus();
-				if (status2 != null) {
-					int size = status2.length;
-					for (int i = 0; i < size; i++) {
-						errors.add("[" + getPageText(count) + "] " + status2[i].getMessage());
-						maxSeverity = Math.max(maxSeverity, status2[i].getSeverity());
-					}
-				}
-			}
-			count ++;
-		}
-		if (!errors.isEmpty() && maxSeverity > IStatus.OK) {
-			StringBuffer sb = new StringBuffer();
-			sb.append(Messages.errorEditorCantSave + "\n");
-			iterator = errors.iterator();
-			while (iterator.hasNext())
-				sb.append("\t" + ((String) iterator.next()) + "\n");
-			
-			if (maxSeverity == IStatus.ERROR) {
-				MessageDialog.openError(getEditorSite().getShell(), getPartName(), sb.toString());
-				monitor.setCanceled(true);
-				// reset the isSaving flag
-				isSaving = false;
-				return;
-			} else if (maxSeverity == IStatus.WARNING)
-				MessageDialog.openWarning(getEditorSite().getShell(), getPartName(), sb.toString());
-			else // if (maxSeverity == IStatus.INFO)
-				MessageDialog.openInformation(getEditorSite().getShell(), getPartName(), sb.toString());
-		}
-		
-		try {
-			monitor = ProgressUtil.getMonitorFor(monitor);
-			int ticks = 2000;
-			int pages = serverPages == null ? 0 : serverPages.size(); 
-			int pagesTicks = ( pages * 100);
-			String name = "";
-			if (server != null)
-				name = server.getName();
-			monitor.beginTask(NLS.bind(Messages.savingTask, name), ticks + pagesTicks);
-			if (server != null)
-				ticks /= 2;
-			
-			if (server != null)  {
-				iterator = serverPages.iterator();
-				while(iterator.hasNext()) {
-					IEditorPart part = (IEditorPart) iterator.next();
-					part.doSave(ProgressUtil.getSubMonitorFor(monitor, 100));
-				}
-
-				server.save(false, ProgressUtil.getSubMonitorFor(monitor, ticks));
-				getCommandManager().resourceSaved(serverId);
-				commandManager.updateTimestamps(serverId);
-			}
-			
-			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-			if (server != null)
-				setPartName(labelProvider.getText(server));
-			labelProvider.dispose();
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error saving server editor", e);
-			}
-			
-			monitor.setCanceled(true);
-			
-			String title = Messages.editorSaveErrorDialog;
-			String message = NLS.bind(Messages.editorSaveErrorMessage, e.getLocalizedMessage());
-			MessageDialog.openError(getEditorSite().getShell(), title,  message);
-		} finally {
-			monitor.done();
-		}
-		// reset the isSaving flag
-		isSaving = false;
-	}
-
-	/* (non-Javadoc)
-	 * Saves the contents of this editor to another object.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public void doSaveAs() {
-		// do nothing
-	}
-
-	/**
-	 * Fire a property change event.
-	 *
-	 * @param i a property change value
-	 */
-	protected void firePropertyChange(int i) {
-		if (i == ServerEditorPart.PROP_ERROR)
-			updateStatusError();
-		super.firePropertyChange(i);
-	}
-
-	/**
-	 * Return the global command manager.
-	 * 
-	 * @return the global command manager
-	 */
-	public GlobalCommandManager getCommandManager() {
-		return commandManager;
-	}
-
-	/**
-	 * Return the redo action.
-	 *
-	 * @return org.eclipse.jface.action.Action
-	 */
-	public IAction getRedoAction() {
-		return redoAction;
-	}
-
-	/**
-	 * Return the undo action.
-	 *
-	 * @return org.eclipse.jface.action.Action
-	 */
-	public IAction getUndoAction() {
-		return undoAction;
-	}
-
-	/* (non-Javadoc)
-	 * Sets the cursor and selection state for this editor to the passage defined
-	 * by the given marker.
-	 * <p>
-	 * Subclasses may override.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public void gotoMarker(IMarker marker) {
-		// do nothing
-	}
-
-	/**
-	 * Update the cut, copy, and paste actions.
-	 */
-	public void updateActionsImpl() {
-		if (updatingActions)
-			return;
-		
-		updatingActions = true;
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				updatingActions = false;
-				updateActions();
-			}
-		});
-	}
-
-	/**
-	 * Update the cut, copy, and paste actions.
-	 */
-	public void updateActions() {
-		cutAction.update();
-		copyAction.update();
-		pasteAction.update();
-	}
-	
-	/**
-	 * Update the cut, copy, and paste actions.
-	 */
-	protected void updateStatusLine() {
-		if (statusItem != null) {
-			boolean readOnly = false;
-			if (server != null && commandManager.isReadOnly(serverId))
-				readOnly = true;
-			
-			if (readOnly)
-				statusItem.setText(Messages.editorReadOnly);
-			else
-				statusItem.setText(Messages.editorWritable);
-		}
-
-		if (status != null) {
-			StringBuffer sb = new StringBuffer();
-			boolean first = true;
-			if (server != null) {
-				IFile[] files = commandManager.getReadOnlyFiles(serverId);
-				for (int i = 0; i < files.length; i++) {
-					if (!first)
-						sb.append(", ");
-					sb.append(files[i].getName());
-					first = false;
-				}
-			}
-			/*if (serverConfiguration != null) {
-				IFile[] files = commandManager.getReadOnlyFiles(serverConfigurationId);
-				for (int i = 0; i < files.length; i++) {
-					if (!first)
-						sb.append(", ");
-					sb.append(files[i].getName());
-					first = false;
-				}
-			}*/
-			if (sb.length() > 1)
-				status.setMessage(NLS.bind(Messages.editorReadOnlyFiles, sb.toString()));
-			else
-				status.setMessage("");
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void updateStatusError() {
-		if (status == null)
-			return;
-		
-		String error = null;
-		IEditorPart part = getActiveEditor();
-		if (part instanceof ServerEditorPart)
-			error = ((ServerEditorPart) part).getErrorMessage();
-		
-		Iterator iterator = serverPages.iterator();
-		int count = 0;
-		while (error == null && iterator.hasNext()) {
-			part = (IEditorPart) iterator.next();
-			if (part instanceof ServerEditorPart) {
-				error = ((ServerEditorPart) part).getErrorMessage();
-				if (error != null)
-					error = "[" + getPageText(count) + "] " + error;
-			}
-			count ++;
-		}
-		status.setErrorMessage(error);
-	}
-
-	/**
-	 * 
-	 */
-	protected void pageChange(int newPageIndex) {
-		super.pageChange(newPageIndex);
-		updateStatusError();
-	}
-	
-	/**
-	 * Set the status.
-	 * 
-	 * @param status a status line manager
-	 * @param item a status contribution item
-	 */
-	public void setStatus(IStatusLineManager status, StatusLineContributionItem item) {
-		this.status = status;
-		this.statusItem = item;
-		updateStatusError();
-	}
-	
-	/**
-	 * Register for key and traversal events to enable/disable the cut/copy/paste actions.
-	 */
-	protected void registerEvents(Control control) {
-		if (control == null)
-			return;
-		
-		if (control instanceof Text || control instanceof Combo) {
-			// register the world... any of these actions could cause the state to change
-			control.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent event) {
-					updateActionsImpl();
-				}
-			});
-			control.addKeyListener(new KeyListener() {
-				public void keyPressed(KeyEvent event) {
-					updateActionsImpl();
-				}
-				public void keyReleased(KeyEvent event) {
-					updateActionsImpl();
-				}
-			});
-			control.addMouseListener(new MouseListener() {
-				public void mouseDown(MouseEvent event) {
-					// do nothing
-				}
-				public void mouseUp(MouseEvent event) {
-					updateActionsImpl();
-				}
-				public void mouseDoubleClick(MouseEvent event) {
-					updateActionsImpl();
-				}
-			});
-			control.addFocusListener(new FocusListener() {
-				public void focusGained(FocusEvent event) {
-					updateActionsImpl();
-				}
-				public void focusLost(FocusEvent event) {
-					updateActionsImpl();
-				}
-			});
-			if (control instanceof Text) {
-				Text text = (Text) control;
-				text.addModifyListener(new ModifyListener() {
-					public void modifyText(ModifyEvent event) {
-						updateActionsImpl();
-					}
-				});
-				text.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-					public void widgetDefaultSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-				});
-			} else {
-				Combo combo = (Combo) control;
-				combo.addModifyListener(new ModifyListener() {
-					public void modifyText(ModifyEvent event) {
-						updateActionsImpl();
-					}
-				});
-				combo.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-					public void widgetDefaultSelected(SelectionEvent event) {
-						updateActionsImpl();
-					}
-				});
-			}
-		}
-		
-		if (control instanceof Composite) {
-			Control[] children = ((Composite)control).getChildren();
-			if (children != null) {
-				int size = children.length;
-				for (int i = 0; i < size; i++)
-					registerEvents(children[i]);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 * <p>
-	 * Subclasses of <code>EditorPart</code> must implement this method.  Within
-	 * the implementation subclasses should verify that the input type is acceptable
-	 * and then save the site and input.  Here is sample code:
-	 * </p>
-	 * <pre>
-	 *		if (!(input instanceof IFileEditorInput))
-	 *			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
-	 *		setSite(site);
-	 *		setInput(editorInput);
-	 * </pre>
-	 */
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		commandManager = GlobalCommandManager.getInstance();
-		super.init(site, input);
-
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput fei = (IFileEditorInput) input;
-			IFile file = fei.getFile();
-			if (file != null && file.exists()) {
-				IServer server2 = ServerUIPlugin.findServer(file);
-				if (server2 != null)
-					serverId = server2.getId();
-			}
-			if (serverId == null) {
-				if (file == null)
-					throw new PartInitException(NLS.bind(Messages.errorEditor, Messages.elementUnknownName));
-				throw new PartInitException(NLS.bind(Messages.errorEditor, file.getName()));
-			}
-		} else if (input instanceof IServerEditorInput) {
-			IServerEditorInput sei = (IServerEditorInput) input;
-			serverId = sei.getServerId();
-		}
-
-		if (serverId != null) {
-			commandManager.getCommandManager(serverId);
-			server = commandManager.getServerResource(serverId);
-		}
-
-		ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-		if (server != null) {
-			setPartName(labelProvider.getText(server));
-			setTitleImage(labelProvider.getImage(server));
-			setTitleToolTip(serverId);
-			serverName = server.getName();
-		} else
-			setPartName("-");
-		labelProvider.dispose();
-		labelProvider = null;
-		
-		cutAction = new TextAction(site.getShell().getDisplay(), TextAction.CUT_ACTION);
-		copyAction = new TextAction(site.getShell().getDisplay(), TextAction.COPY_ACTION);
-		pasteAction = new TextAction(site.getShell().getDisplay(), TextAction.PASTE_ACTION);
-		
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (GlobalCommandManager.PROP_DIRTY.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId)
-						firePropertyChange(PROP_DIRTY);
-				} else if (GlobalCommandManager.PROP_UNDO.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId)
-						updateUndoAction();
-				} else if (GlobalCommandManager.PROP_REDO.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId)
-						updateRedoAction();
-				} else if (GlobalCommandManager.PROP_RELOAD.equals(event.getPropertyName())) {
-					Object obj = event.getOldValue();
-					if (obj == serverId) {
-						server = commandManager.getServerResource(serverId);
-						refresh();
-					}
-				}
-			}
-		};
-		if (server != null && commandManager.isDirty(serverId))
-			firePropertyChange(PROP_DIRTY);
-		
-		commandManager.addPropertyChangeListener(listener);
-		
-		// create editor input
-		ServerResourceCommandManager serverCommandManager = null;
-		if (server != null)
-			serverCommandManager = new ServerResourceCommandManager(this, serverId, commandManager);
-		editorPartInput = commandManager.getPartInput(serverId, serverCommandManager);
-		
-		createActions();
-		
-		// add resource listener
-		resourceListener = new LifecycleListener();
-		ServerCore.addServerLifecycleListener(resourceListener);
-		
-		IWorkbenchWindow window = getSite().getWorkbenchWindow();
-		window.getPartService().addPartListener(activationListener);
-		window.getShell().addShellListener(activationListener);
-	}
-
-	/* (non-Javadoc)
-	 * Returns whether the contents of this editor have changed since the last save
-	 * operation.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public boolean isDirty() {
-		if (commandManager != null) {
-			if (server != null && commandManager.isDirty(serverId))
-				return true;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * Returns whether the "save as" operation is supported by this editor.
-	 * <p>
-	 * Subclasses must override this method to implement the open-save-close lifecycle
-	 * for an editor.  For greater details, see <code>IEditorPart</code>
-	 * </p>
-	 *
-	 * @see IEditorPart
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * Update the undo action.
-	 */
-	protected void updateUndoAction() {
-		IUndoableOperation command = commandManager.getUndoCommand(serverId);
-		if (command == null) {
-			undoAction.setText(Messages.editorUndoDisabled);
-			undoAction.setToolTipText("");
-			undoAction.setDescription("");
-			undoAction.setEnabled(false);
-		} else {
-			String text = NLS.bind(Messages.editorUndoEnabled, new Object[] {command.getLabel()});
-			undoAction.setText(text);
-			undoAction.setToolTipText(command.getLabel());
-			undoAction.setDescription(command.getLabel());
-			undoAction.setEnabled(true);
-		}
-	}
-
-	/**
-	 * Update the redo action.
-	 */
-	protected void updateRedoAction() {
-		IUndoableOperation command = commandManager.getRedoCommand(serverId);
-		if (command == null) {
-			redoAction.setText(Messages.editorRedoDisabled);
-			redoAction.setToolTipText("");
-			redoAction.setDescription("");
-			redoAction.setEnabled(false);
-		} else {
-			String text = NLS.bind(Messages.editorRedoEnabled, new Object[] {command.getLabel()});
-			redoAction.setText(text);
-			redoAction.setToolTipText(command.getLabel());
-			redoAction.setDescription(command.getLabel());
-			redoAction.setEnabled(true);
-		}
-	}
-	
-	/**
-	 * Return the cut action.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCutAction() {
-		return cutAction;
-	}
-	
-	/**
-	 * Return the copy action.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCopyAction() {
-		return copyAction;
-	}
-	
-	/**
-	 * Return the paste action.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getPasteAction() {
-		return pasteAction;
-	}
-	
-	/**
-	 * Returns the editor actions.
-	 * 
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction[] getEditorActions() {
-		return editorActions;
-	}
-	
-	/**
-	 * Update the server pages with new input.
-	 */
-	protected void refresh() {
-		// create editor input
-		ServerResourceCommandManager serverCommandManager = null;
-		if (server != null)
-			serverCommandManager = new ServerResourceCommandManager(this, serverId, commandManager);
-		editorPartInput = commandManager.getPartInput(serverId, serverCommandManager);
-		
-		Iterator iterator = serverPages.iterator();
-		while (iterator.hasNext()) {
-			IEditorPart part = (IEditorPart) iterator.next();						
-			try {
-				part.init(part.getEditorSite(), editorPartInput);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Error refresh()ing editor part", e);
-				}
-			}
-		}	
-	}
-	
-	/**
-	 * 
-	 */
-	protected void promptReadOnlyServerFile(String id) {
-		commandManager.setReadOnly(id, true);
-		String title = Messages.editorResourceModifiedTitle;
-		String message = Messages.editorReadOnlyMessage;
-		MessageDialog.openInformation(getEditorSite().getShell(), title, message);
-	}
-
-	/**
-	 * 
-	 */
-	protected void promptReloadServerFile(String id) {
-		String title = Messages.editorResourceModifiedTitle;
-		String message = Messages.editorServerModifiedMessage;
-		
-		if (MessageDialog.openQuestion(getEditorSite().getShell(), title, message)) {
-			/*try {
-				//wc.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
-				//TODO: refresh local server
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error refreshing server", e);
-			}*/
-			commandManager.reload(id);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void setFocus() {
-		super.setFocus();
-	}
-
-	/**
-	 * 
-	 */
-	protected void checkResourceState() {
-		// do not check the resource state change if saving through the editor
-		if (isSaving) {
-			// do nothing
-			return;
-		}
-		
-		// check for deleted files
-		if (resourceDeleted) {
-			String title = Messages.editorResourceDeleteTitle;
-			String message = null;
-			if (server != null)
-				message = NLS.bind(Messages.editorResourceDeleteServerMessage, server.getName());
-			String[] labels = new String[] {Messages.editorResourceDeleteSave, IDialogConstants.CLOSE_LABEL};
-			MessageDialog dialog = new MessageDialog(getEditorSite().getShell(), title, null, message, MessageDialog.INFORMATION, labels, 0);
-			
-			if (dialog.open() == 0)
-				doSave(new NullProgressMonitor());
-			else
-				closeEditor();
-			return;
-		}
-		resourceDeleted = false;
-		
-		// check for server changes
-		if (serverId != null) {
-			if (!commandManager.isDirty(serverId)) {
-				if (commandManager.hasChanged(serverId)) {
-					IServer newServer = ServerCore.findServer(serverId);
-					if (newServer != null && ((Server)newServer).getTimestamp() > ((Server)server).getTimestamp())
-						commandManager.reload(serverId);
-					else
-						promptReloadServerFile(serverId);
-				}
-			} else {
-				if (commandManager.hasChanged(serverId) && !commandManager.areFilesReadOnly(serverId))
-					promptReloadServerFile(serverId);
-				else if (commandManager.areFilesReadOnly(serverId) && !commandManager.isReadOnly(serverId))
-					promptReadOnlyServerFile(serverId);
-			}
-			if (commandManager.isReadOnly(serverId) && !commandManager.areFilesReadOnly(serverId))
-				commandManager.setReadOnly(serverId, false);
-			commandManager.updateTimestamps(serverId);
-		}
-		
-		updateStatusLine();
-	}
-
-	/**
-	 * Set the title tooltip.
-	 * 
-	 * @return the title tooltip
-	 */
-	public String getTitleToolTip() {
-		Server server2 = (Server) server;
-		if (server != null && server2.getFile() != null)
-			return server2.getFile().getFullPath().toString();
-		else if (server != null)
-			return server.getName();
-		else
-			return "error";
-	}
-
-	public int getOrientation() {
-		return Window.getDefaultOrientation();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java
deleted file mode 100644
index 0729a26..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.EditorActionBarContributor;
-/**
- * Server editor action bar contributor.
- */
-public class ServerEditorActionBarContributor extends EditorActionBarContributor {
-	public static final String SERVER_EDITOR_SEPARATOR = "server-editor-additions";
-
-	// current editor
-	protected ServerEditor editor;
-
-	/**
-	 * ServerEditorActionBarContributor constructor comment.
-	 */
-	public ServerEditorActionBarContributor() {
-		super();
-	}
-
-	/**
-	 * Sets the active editor for the contributor.
-	 * <p>
-	 * The <code>EditorActionBarContributor</code> implementation of this method does
-	 * nothing. Subclasses may reimplement. This generally entails disconnecting
-	 * from the old editor, connecting to the new editor, and updating the actions
-	 * to reflect the new editor.
-	 * </p>
-	 * 
-	 * @param targetEditor the new target editor
-	 */
-	public void setActiveEditor(IEditorPart targetEditor) {
-		super.setActiveEditor(targetEditor);
-
-		if (targetEditor != null && targetEditor.equals(editor))
-			return;
-		
-		IActionBars actionBars = getActionBars();
-		boolean actionBarsUpdated = false;
-
-		if (editor != null) {
-			editor.setStatus(null, null);
-			
-			IStatusLineManager status = actionBars.getStatusLineManager();
-			status.removeAll();
-
-			IToolBarManager tbm = actionBars.getToolBarManager();
-			tbm.removeAll();
-			
-			actionBarsUpdated = true;
-		}
-
-		if (targetEditor instanceof ServerEditor) {
-			editor = (ServerEditor) targetEditor;
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Editor action bar contributor for: " + editor);
-			}
-			editor.updateUndoAction();
-			editor.updateRedoAction();
-			
-			actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), editor.getUndoAction());
-			actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), editor.getRedoAction());
-			
-			actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), editor.getCopyAction());
-			actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), editor.getCutAction());
-			actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), editor.getPasteAction());
-			
-			IStatusLineManager status = actionBars.getStatusLineManager();
-			StatusLineContributionItem item = new StatusLineContributionItem("id");
-			status.add(item);
-
-			editor.setStatus(status, item);
-			editor.updateStatusLine();
-
-			IAction[] actions = editor.getEditorActions();
-			IToolBarManager tbm = actionBars.getToolBarManager();
-			tbm.add(new Separator(SERVER_EDITOR_SEPARATOR));
-			boolean modified = false;
-			if (actions != null) {
-				int size = actions.length;
-				if (Trace.FINEST) {
-					Trace.trace(Trace.STRING_FINEST, "Attempting to add editor actions: " + size);
-				}
-				for (int i = 0; i < size; i++) {
-					if (Trace.FINEST) {
-						Trace.trace(Trace.STRING_FINEST, "action: " + actions[i]);
-					}
-					tbm.appendToGroup(SERVER_EDITOR_SEPARATOR, actions[i]);
-					modified = true;
-				}
-			}
-			
-			if (modified)
-				tbm.update(false);
-			actionBarsUpdated = true;
-		} else
-			editor = null;
-		
-		if (actionBarsUpdated)
-			actionBars.updateActionBars();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java
deleted file mode 100644
index 80d976a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.provisional.ServerEditorActionFactoryDelegate;
-import org.eclipse.ui.IEditorSite;
-/**
- * A default server that can be created for a set of given
- * natures.
- */
-public class ServerEditorActionFactory implements IServerEditorActionFactory {
-	private IConfigurationElement element;
-	private ServerEditorActionFactoryDelegate delegate;
-
-	/**
-	 * ServerEditorActionFactory constructor.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ServerEditorActionFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the id of this default server.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-
-	/**
-	 * Return the ids of the server resource factories (specified
-	 * using Java-import style) that this page may support.
-	 * 
-	 * @return java.lang.String[]
-	 */
-	public String[] getTypeIds() {
-		try {
-			List<String> list = new ArrayList<String>();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str);
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	/**
-	 * @see IServerEditorActionFactory#supportsServerElementType(String)
-	 */
-	public boolean supportsServerElementType(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * 
-	 */
-	public ServerEditorActionFactoryDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (ServerEditorActionFactoryDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Could not create server action factory delegate", t);
-				}
-			}
-		}
-		return delegate;
-	}
-	
-	/**
-	 * @see IServerEditorActionFactory#shouldDisplay(IServerWorkingCopy)
-	 */
-	public boolean shouldDisplay(IServerWorkingCopy server) {
-		try {
-			return getDelegate().shouldDisplay(server);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate", e);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @see IServerEditorActionFactory#createAction(IEditorSite, IServerEditorPartInput)
-	 */
-	public IAction createAction(IEditorSite site, IServerEditorPartInput input) {
-		try {
-			return getDelegate().createAction(site, input);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate", e);
-			}
-			return null;
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
deleted file mode 100644
index 8972f73..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionDelta;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * 
- */
-public class ServerEditorCore {
-	// cached copy of all editor factories and actions
-	private static List<ServerEditorPartFactory> editorPageFactories;
-	private static List<ServerEditorPageSectionFactory> editorPageSectionFactories;
-	private static List editorActionFactories;
-
-	/**
-	 * Returns a List of all editor page factories
-	 *
-	 * @return java.util.List
-	 */
-	public static List<ServerEditorPartFactory> getServerEditorPageFactories() {
-		if (editorPageFactories == null)
-			loadEditorPageFactories();
-		return editorPageFactories;
-	}
-
-	/**
-	 * Returns a List of all editor page section factories
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerEditorPageSectionFactories() {
-		if (editorPageSectionFactories == null)
-			loadEditorPageSectionFactories();
-		return editorPageSectionFactories;
-	}
-
-	/**
-	 * Load the editor page factory extension point.
-	 */
-	private static void loadEditorPageFactories() {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .editorPages extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGES);
-		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(cf.length);
-		loadEditorPageFactories(cf, list);
-		editorPageFactories = list;
-		ServerUIPlugin.addRegistryListener();
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .editorPages extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the editor page factory extension point.
-	 */
-	private static void loadEditorPageFactories(IConfigurationElement[] cf, List<ServerEditorPartFactory> list) {
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ServerEditorPartFactory(cf[i]));
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded editorPage: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "  Could not load editorPage: " + cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		
-		// sort pages
-		sortOrderedList(list);
-	}
-
-	public static void handleEditorPageFactoriesDelta(IExtensionDelta delta) {
-		if (editorPageFactories == null) // not loaded yet
-			return;
-		
-		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
-		
-		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(editorPageFactories);
-		if (delta.getKind() == IExtensionDelta.ADDED)
-			loadEditorPageFactories(cf, list);
-		else {
-			int size = list.size();
-			ServerEditorPartFactory[] sepf = new ServerEditorPartFactory[size];
-			list.toArray(sepf);
-			int size2 = cf.length;
-			
-			for (int i = 0; i < size; i++) {
-				for (int j = 0; j < size2; j++) {
-					if (sepf[i].getId().equals(cf[j].getAttribute("id"))) {
-						list.remove(sepf[i]);
-					}
-				}
-			}
-		}
-		editorPageFactories = list;
-	}
-
-	/**
-	 * Load the editor page section factory extension point.
-	 */
-	private static void loadEditorPageSectionFactories() {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .editorPageSections extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGE_SECTIONS);
-		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(cf.length);
-		loadEditorPageSectionFactories(cf, list);
-		editorPageSectionFactories = list;
-		ServerUIPlugin.addRegistryListener();
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .editorPageSections extension point -<-");
-		}
-	}
-
-	/**
-	 * Load the editor page section factory extension point.
-	 */
-	private static void loadEditorPageSectionFactories(IConfigurationElement[] cf, List<ServerEditorPageSectionFactory> list) {
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ServerEditorPageSectionFactory(cf[i]));
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded editorPageSection: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "  Could not load editorPageSection: " + cf[i].getAttribute("id"),
-							t);
-				}
-			}
-		}
-		
-		// sort sections
-		sortOrderedList(list);
-	}
-
-	public static void handleEditorPageSectionFactoriesDelta(IExtensionDelta delta) {
-		if (editorPageSectionFactories == null) // not loaded yet
-			return;
-		
-		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
-		
-		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(editorPageSectionFactories);
-		if (delta.getKind() == IExtensionDelta.ADDED)
-			loadEditorPageSectionFactories(cf, list);
-		else {
-			int size = list.size();
-			ServerEditorPageSectionFactory[] seps = new ServerEditorPageSectionFactory[size];
-			list.toArray(seps);
-			int size2 = cf.length;
-			
-			for (int i = 0; i < size; i++) {
-				for (int j = 0; j < size2; j++) {
-					if (seps[i].getId().equals(cf[j].getAttribute("id"))) {
-						list.remove(seps[i]);
-					}
-				}
-			}
-		}
-		editorPageSectionFactories = list;
-	}
-
-	/**
-	 * Returns a List of all editor action factories.
-	 *
-	 * @return java.util.List
-	 */
-	public static List getServerEditorActionFactories() {
-		if (editorActionFactories == null)
-			loadEditorActionFactories();
-		return editorActionFactories;
-	}
-	
-	/**
-	 * Load the editor action factories extension point.
-	 */
-	private static void loadEditorActionFactories() {
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "->- Loading .editorActions extension point ->-");
-		}
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "editorActions");
-
-		int size = cf.length;
-		List<ServerEditorActionFactory> list = new ArrayList<ServerEditorActionFactory>(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ServerEditorActionFactory(cf[i]));
-				if (Trace.CONFIG) {
-					Trace.trace(Trace.STRING_CONFIG, "  Loaded editorAction: " + cf[i].getAttribute("id"));
-				}
-			} catch (Throwable t) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "  Could not load editorAction: " + cf[i].getAttribute("id"), t);
-				}
-			}
-		}
-		
-		// sort pages
-		sortOrderedList(list);
-		editorActionFactories = list;
-		
-		if (Trace.CONFIG) {
-			Trace.trace(Trace.STRING_CONFIG, "-<- Done loading .editorActions extension point -<-");
-		}
-	}
-	
-	/**
-	 * Sort the given list of IOrdered items into indexed order. This method
-	 * modifies the original list, but returns the value for convenience.
-	 *
-	 * @param list java.util.List
-	 * @return java.util.List
-	 */
-	public static List sortOrderedList(List list) {
-		if (list == null)
-			return null;
-
-		int size = list.size();
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				IOrdered a = (IOrdered) list.get(i);
-				IOrdered b = (IOrdered) list.get(j);
-				if (a.getOrder() > b.getOrder()) {
-					IOrdered temp = a;
-					list.set(i, b);
-					list.set(j, temp);
-				}
-			}
-		}
-		return list;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java
deleted file mode 100644
index 31861ac..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-/**
- * The editor input for server configurations and instances. The
- * input points to a resource that is either an instance or
- * configuration.
- *
- * <p>Editors supporting this editor input should use the ResourceManager
- * to load their own copy of the resource. Each editor is responsible
- * for managing this resource and making sure that only one copy is
- * loaded from disk when multiple editors are opened on the same
- * resource.</p>
- *
- * <p>When the editor saves back to the resource, the server tooling
- * will notice the change and reload the new configuration.</p>
- *
- * <p>Editors should call setEditing(resource, true) when the first
- * editor opens on a particular resource, and setEditing(resource,
- * false) when the last editor on a resource closes. This will
- * ensure that the server tooling does not try to edit the resource
- * and cause conflicting changes while an editor is open.</p>
- */
-public class ServerEditorInput implements IServerEditorInput, IPersistableElement {
-	private String serverId;
-
-	/**
-	 * ServerEditorInput constructor comment.
-	 * 
-	 * @param serverId a server id
-	 */
-	public ServerEditorInput(String serverId) {
-		super();
-		this.serverId = serverId;
-	}
-	
-	/**
-	 * Returns the server id.
-	 * @return org.eclipse.core.resources.IResource
-	 */
-	public String getServerId() {
-		return serverId;
-	}
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!(obj instanceof ServerEditorInput))
-			return false;
-		ServerEditorInput other = (ServerEditorInput) obj;
-		if (serverId == null) {
-			if (other.serverId != null)
-				return false;	
-		} else if (!serverId.equals(other.serverId))
-			return false;
-		return true;
-	}
-
-	/**
-	 * Returns whether the editor input exists.  
-	 * <p>
-	 * This method is primarily used to determine if an editor input should 
-	 * appear in the "File Most Recently Used" menu.  An editor input will appear 
-	 * in the list until the return value of <code>exists</code> becomes 
-	 * <code>false</code> or it drops off the bottom of the list.
-	 *
-	 * @return <code>true</code> if the editor input exists; <code>false</code>
-	 *		otherwise
-	 */
-	public boolean exists() {
-		if (serverId != null && ServerCore.findServer(serverId) == null)
-			return false;
-		
-		return true;
-	}
-
-	/**
-	 * Returns an object which is an instance of the given class
-	 * associated with this object. Returns <code>null</code> if
-	 * no such object can be found.
-	 *
-	 * @param adapter the adapter class to look up
-	 * @return a object castable to the given class, 
-	 *    or <code>null</code> if this object does not
-	 *    have an adapter for the given class
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * Returns the ID of an element factory which can be used to recreate 
-	 * this object.  An element factory extension with this ID must exist
-	 * within the workbench registry.
-	 * 
-	 * @return the element factory ID
-	 */
-	public String getFactoryId() {
-		return ServerEditorInputFactory.FACTORY_ID;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER);
-	}
-	
-	/**
-	 * Returns the name of this editor input for display purposes.
-	 * <p>
-	 * For instance, if the fully qualified input name is
-	 * <code>"a\b\MyFile.gif"</code>, the return value would be just
-	 * <code>"MyFile.gif"</code>.
-	 *
-	 * @return the file name string
-	 */
-	public String getName() {
-		if (serverId != null) {
-			IServer server = ServerCore.findServer(serverId);
-			if (server != null)
-				return server.getName();
-			return serverId;
-		}
-		return "";
-	}
-
-	/*
-	 * Returns an object that can be used to save the state of this editor input.
-	 *
-	 * @return the persistable element, or <code>null</code> if this editor input
-	 *   cannot be persisted
-	 */
-	public IPersistableElement getPersistable() {
-		return this;
-	}
-
-	public String getToolTipText() {
-		String s = null;
-		if (serverId != null) {
-			IServer server = ServerCore.findServer(serverId);
-			if (server != null) {
-				Server server2 = (Server) server;
-				if (server2.getFile() != null) {
-					s = server2.getFile().getFullPath().makeRelative().toString();
-					if (s.startsWith("/"))
-						s = s.substring(1);
-				} else
-					s = server.getName();
-			}
-		}
-		if (s == null)
-			s = "";
-		return s;
-	}
-
-	/**
-	 * Saves the state of an element within a memento.
-	 *
-	 * @param memento the storage area for element state
-	 */
-	public void saveState(IMemento memento) {
-		ServerEditorInputFactory.saveState(memento, this);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java
deleted file mode 100644
index 83e062c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java
+++ /dev/null
@@ -1,55 +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.ui.internal.editor;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-/**
- * This factory is used in the persistence of ServerResourceEditorInput
- * instances. This allows the user to close the workbench with an
- * open editor and reopen to the same editor.
- */
-public class ServerEditorInputFactory implements IElementFactory {
-	protected final static String FACTORY_ID = "org.eclipse.wst.server.ui.editor.input.factory";
-	protected final static String SERVER_ID = "server-id";
-
-	/**
-	 * ServerEditorInputFactory constructor comment.
-	 */
-	public ServerEditorInputFactory() {
-		// do nothing
-	}
-
-	/*
-	 * Creates editor input based on the state in the memento.
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		// get the resource names
-		String serverId = memento.getString(SERVER_ID);
-		
-		return new ServerEditorInput(serverId);
-	}
-
-	/**
-	 * Saves the state of an element within a memento.
-	 *
-	 * @param memento the storage area for element state
-	 * @param input server editor input
-	 */
-	public static void saveState(IMemento memento, ServerEditorInput input) {
-		if (input == null)
-			return;
-			
-		if (input.getServerId() != null)
-			memento.putString(SERVER_ID, input.getServerId());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java
deleted file mode 100644
index 65ccbb2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.expressions.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * 
- */
-public class ServerEditorPageSectionFactory implements IServerEditorPageSectionFactory {
-	private IConfigurationElement element;
-	private Expression fContextualLaunchExpr = null;
-
-	/**
-	 * ServerEditorPageSectionFactory constructor.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ServerEditorPageSectionFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-
-	/**
-	 * Returns the insertion id of this factory.
-	 *
-	 * @return the insertion id
-	 */
-	public String getInsertionId() {
-		return element.getAttribute("insertionId");
-	}
-
-	/**
-	 * Return the ids of the server resource factories (specified
-	 * using Java-import style) that this page may support.
-	 * 
-	 * @return an array of type ids
-	 */
-	protected String[] getTypeIds() {
-		try {
-			List<String> list = new ArrayList<String>();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	/**
-	 * @see IServerEditorPageSectionFactory#supportsType(String)
-	 */
-	public boolean supportsType(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getTypeIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see IServerEditorPageSectionFactory#shouldCreateSection(IServerWorkingCopy)
-	 */
-	public boolean shouldCreateSection(IServerWorkingCopy server) {
-		try {
-			return isEnabled(server);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate", e);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @see IServerEditorPageSectionFactory#createSection()
-	 */
-	public ServerEditorSection createSection() {
-		try {
-			return (ServerEditorSection) element.createExecutableExtension("class");
-		} catch (Throwable t) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Could not create server editor section", t);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * 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 {
-		if (getContextualLaunchEnablementExpression() == null)
-			return true;
-		IEvaluationContext context = new EvaluationContext(null, obj);
-		context.setAllowPluginActivation(true);
-		context.addVariable("server", obj);
-		return evalEnablementExpression(context, getContextualLaunchEnablementExpression());
-	}
-
-	public String toString() {
-		return "ServerEditorSection [" + getId() + ", " + getInsertionId() + ", " + getOrder() + "]";
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
deleted file mode 100644
index f14536b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.expressions.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.ui.IEditorPart;
-/**
- * 
- */
-public class ServerEditorPartFactory implements IServerEditorPartFactory {
-	private IConfigurationElement element;
-	private Expression fContextualLaunchExpr = null;
-
-	/**
-	 * ServerEditorPartFactory constructor.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ServerEditorPartFactory(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return element;
-	}
-
-	/**
-	 * Returns the id of this part factory.
-	 *
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the name of this part factory. 
-	 *
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	protected String[] getInsertionIds() {
-		try {
-			String insertionIds = element.getAttribute("insertionIds");
-			List<String> list = new ArrayList<String>();
-			if (insertionIds != null && insertionIds.length() > 0) {
-				StringTokenizer st = new StringTokenizer(insertionIds, ",");
-				while (st.hasMoreTokens()) {
-					String str = st.nextToken();
-					if (str != null && str.length() > 0)
-						list.add(str.trim());
-				}
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-
-	/**
-	 * @see IServerEditorPartFactory#supportsInsertionId(String)
-	 */
-	public boolean supportsInsertionId(String id) {
-		if (id == null || id.length() == 0)
-			return false;
-
-		String[] s = getInsertionIds();
-		if (s == null)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the order.
-	 *
-	 * @return int
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-	
-	/**
-	 * Return the ids of the server and server configuration type ids (specified
-	 * using Java-import style) that this page may support.
-	 * 
-	 * @return an array of type ids
-	 */
-	protected String[] getTypeIds() {
-		try {
-			List<String> list = new ArrayList<String>();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			//Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources"));
-			return null;
-		}
-	}
-	
-	/**
-	 * @see IServerEditorPartFactory#supportsType(String)
-	 */
-	public boolean supportsType(String id) {
-		String[] s = getTypeIds();
-		if (s == null || s.length == 0 || "*".equals(s[0]))
-			return true;
-		
-		if (id == null || id.length() == 0)
-			return false;
-		
-		int size = s.length;
-		for (int i = 0; i < size; i++) {
-			if (s[i].endsWith("*")) {
-				if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1)))
-					return true;
-			} else if (id.equals(s[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @see IServerEditorPartFactory#shouldCreatePage(IServerWorkingCopy)
-	 */
-	public boolean shouldCreatePage(IServerWorkingCopy server) {
-		try {
-			return isEnabled(server);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate", e);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @see IServerEditorPartFactory#createPage()
-	 */
-	public IEditorPart createPage() {
-		try {
-			return (IEditorPart) element.createExecutableExtension("class");
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error calling delegate", e);
-			}
-			return null;
-		}
-	}
-	
-	/**
-	 * 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;
-	}
-
-	/**
-	 * 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 {
-		if (getContextualLaunchEnablementExpression() == null)
-			return true;
-		IEvaluationContext context = new EvaluationContext(null, obj);
-		context.setAllowPluginActivation(true);
-		context.addVariable("server", obj);
-		return evalEnablementExpression(context, getContextualLaunchEnablementExpression());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartInput.java
deleted file mode 100644
index 79045b2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartInput.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IPersistableElement;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
-/**
- * 
- */
-public class ServerEditorPartInput implements IServerEditorPartInput {
-	protected IServerWorkingCopy server;
-	protected boolean serverReadOnly;
-	protected ServerResourceCommandManager serverCommandManager;
-	
-	public ServerEditorPartInput(ServerResourceCommandManager serverCommandManager,
-			IServerWorkingCopy server,  boolean serverReadOnly) {
-		
-		this.server = server;
-		this.serverReadOnly = serverReadOnly;
-		this.serverCommandManager = serverCommandManager;
-	}
-	
-	public String getName() {
-		return "-";
-	}
-
-	public String getToolTipText() {
-		return "-";
-	}
-
-	public boolean exists() {
-		return true;
-	}
-	
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-	
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-	
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/**
-	 * Returns the server to be edited.
-	 *
-	 * @return IServerResource
-	 */
-	public IServerWorkingCopy getServer() {
-		return server;
-	}
-
-	/**
-	 * Returns true if the server is read-only.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isServerReadOnly() {
-		return serverReadOnly;
-	}
-	
-	public ServerResourceCommandManager getServerCommandManager() {
-		return serverCommandManager;
-	}
-	
-	public String toString() {
-		return "ServerEditorPartInput [" + server + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java
deleted file mode 100644
index 662fffc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java
+++ /dev/null
@@ -1,102 +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.ui.internal.editor;
-
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * A command manager for a single server resource.
- */
-public class ServerResourceCommandManager {
-	protected ServerEditor editor;
-	protected GlobalCommandManager commandManager;
-	protected String id;
-
-	public ServerResourceCommandManager(ServerEditor editor, String id, GlobalCommandManager commandManager) {
-		this.editor = editor;
-		this.commandManager = commandManager;
-		this.id = id;
-	}
-
-	public boolean isReadOnly() {
-		return commandManager.isReadOnly(id);
-	}
-
-	/**
-	 * Execute the given command and place it in the undo stack.
-	 * If the command cannot be undone, the user will be notifed
-	 * before it is executed.
-	 *
-	 * @param operation an undoable operation
-	 */
-	public void execute(IUndoableOperation operation) {
-		if (!validateEdit())
-			return;
-
-		if (commandManager.isReadOnly(id)) {
-			warnReadOnly();
-			return;
-		}
-		commandManager.executeCommand(id, operation);
-	}
-
-	protected void warnReadOnly() {
-		String title = Messages.editorResourceWarnTitle;
-		String message = Messages.editorResourceWarnMessage;
-		
-		MessageDialog.openWarning(editor.getEditorSite().getShell(), title, message);
-	}
-
-	/**
-	 * 
-	 */
-	protected boolean validateEdit() {
-		if (commandManager.isDirty(id))
-			return true;
-		
-		IFile[] files = commandManager.getReadOnlyFiles(id);
-		if (files.length == 0)
-			return true;
-		
-		IStatus status = ResourcesPlugin.getWorkspace().validateEdit(files, editor.getEditorSite().getShell());
-		
-		if (status.getSeverity() == IStatus.ERROR) {
-			// inform user
-			String message = Messages.editorValidateEditFailureMessage;
-			ErrorDialog.openError(editor.getEditorSite().getShell(), Messages.errorDialogTitle, message, status);
-			
-			// change to read-only
-			commandManager.setReadOnly(id, true);
-			
-			// do not execute command
-			return false;
-		}
-		// check file timestamp
-		IServerAttributes serverfile = commandManager.getServerResource(id);
-		if (commandManager.hasChanged(id)) {
-			if (serverfile instanceof IServer)
-				editor.promptReloadServerFile(id);
-		}
-		
-		// allow edit
-		return true;
-	}
-
-	public ServerEditor getServerEditor() {
-		return editor;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java
deleted file mode 100644
index d4a68e5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java
+++ /dev/null
@@ -1,91 +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.ui.internal.editor;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.texteditor.IStatusField;
-/**
- * Contribution item for the status line.
- */
-public class StatusLineContributionItem extends ContributionItem implements IStatusField {
-
-	static class StatusLineLabel extends CLabel {
-		
-		private static int INDENT= 3; // left and right margin used in CLabel
-		
-		private Point fFixedSize;
-		
-		public StatusLineLabel(Composite parent, int style) {
-			super(parent, style);
-			
-			GC gc= new GC(parent);
-			gc.setFont(parent.getFont());
-			Point extent= gc.textExtent("MMMMMMMMM"); //$NON-NLS-1$
-			gc.dispose();
-			
-			fFixedSize= new Point(extent.x + INDENT * 2, 10);
-		}
-		
-		public Point computeSize(int wHint, int hHint, boolean changed) {
-			return fFixedSize;
-		}
-	}
-	
-	private String fText;
-	private Image fImage;
-	private StatusLineLabel fLabel;
-	
-	/**
-	 * Creates a new item with the given id.
-	 * 
-	 * @param id the item's id
-	 */
-	StatusLineContributionItem(String id) {
-		super(id);
-	}
-	
-	/*
-	 * @see IStatusField#setText
-	 */
-	public void setText(String text) {
-		fText= text;
-		if (fLabel != null && !fLabel.isDisposed()) {
-			fLabel.setText(fText);
-		}		
-	}
-	
-	/*
-	 * @see IStatusField#setImage(Image)
-	 */
-	public void setImage(Image image) {
-		fImage= image;
-		if (fLabel != null && !fLabel.isDisposed()) {
-			fLabel.setImage(fImage);
-		}
-	}
-	
-	/*
-	 * @see IContributionItem#fill(Composite)
-	 */
-	public void fill(Composite parent) {
-		fLabel= new StatusLineLabel(parent, SWT.SHADOW_IN);
-		fLabel.setData(this);
-		
-		if (fText != null)
-			fLabel.setText(fText);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java
deleted file mode 100644
index fad8660..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Text;
-/**
- * Text actions (cut, copy, paste) for the Web browser.
- */
-public class TextAction extends Action {
-	protected Display display;
-	protected Clipboard clipboard;
-	protected byte type;
-
-	public static final byte CUT_ACTION = 0;
-	public static final byte COPY_ACTION = 1;
-	public static final byte PASTE_ACTION = 2;
-	
-	/**
-	 * TextAction constructor comment.
-	 */
-	protected TextAction(Display display, byte type) {
-		super("Text action: " + type);
-		this.display = display;
-		clipboard = new Clipboard(display);
-		this.type = type;
-	}
-
-	protected Control getControl() {
-		Control control = display.getFocusControl();
-		return control;
-	}
-	
-	protected Point getControlSelection() {
-		Control control = getControl();
-		if (control == null)
-			return null;
-
-		if (control instanceof Text) {
-			Text text = (Text) control;
-			return text.getSelection();
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			return combo.getSelection();
-		} else
-			return null;
-	}
-	
-	protected void setControlSelection(Point sel) {
-		Control control = getControl();
-		if (control == null)
-			return;
-
-		if (control instanceof Text) {
-			Text text = (Text) control;
-			text.setSelection(sel);
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			combo.setSelection(sel);
-		}
-	}
-	
-	protected String getControlText() {
-		Control control = getControl();
-		if (control == null)
-			return null;
-
-		if (control instanceof Text) {
-			Text text = (Text) control;
-			return text.getText();
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			return combo.getText();
-		} else
-			return null;
-	}
-	
-	protected void setControlText(String text) {
-		Control control = getControl();
-		if (control == null)
-			return;
-
-		if (control instanceof Text) {
-			Text text2 = (Text) control;
-			text2.setText(text);
-		} else if (control instanceof Combo) {
-			Combo combo = (Combo) control;
-			combo.setText(text);
-		}
-	}
-	
-	/**
-	 * Copies the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format.
-	 */
-	public void copy() {
-		Point selection = getControlSelection();
-		String text = getControlText();
-		if (selection == null || text == null)
-			return;
-	
-		int length = selection.y - selection.x;
-		if (length > 0) {
-			TextTransfer plainTextTransfer = TextTransfer.getInstance();
-			try {
-				clipboard.setContents(
-					new String[] { text.substring(selection.x, selection.y) }, 
-					new Transfer[] { plainTextTransfer });
-			} catch (SWTError error) {
-				// Copy to clipboard failed. This happens when another application 
-				// is accessing the clipboard while we copy. Ignore the error.
-			}
-		}
-	}
-	
-	/**
-	 * Moves the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format and RTF format.
-	 */
-	public void cut(){
-		Point selection = getControlSelection();
-		if (selection == null)
-			return;
-
-		if (selection.y > selection.x) {
-			copy();
-			delete();
-		}
-	}
-	
-	/**
-	 * Deletes the character to the right of the caret. Delete the selected text if any.
-	 */
-	public void delete() {
-		Point selection = getControlSelection();
-		String text = getControlText();
-		if (selection == null || text == null)
-			return;
-	
-		if (selection.x != selection.y) {
-			text = text.substring(0, selection.x) + text.substring(selection.y);
-			setControlText(text);
-			setControlSelection(new Point(selection.x, selection.x));
-		}
-	}
-	
-	/** 
-	 * Replaces the selection with the clipboard text or insert the text at 
-	 * the current caret offset if there is no selection. 
-	 * If the widget has the SWT.SINGLE style and the clipboard text contains
-	 * more than one line, only the first line without line delimiters is 
-	 * inserted in the widget.
-	 */
-	public void paste() {
-		TextTransfer transfer = TextTransfer.getInstance();
-		Point selection = getControlSelection();
-		String text = getControlText();
-		if (selection == null)
-			return;
-		
-		String newText = (String) clipboard.getContents(transfer);
-		if (newText != null && newText.length() > 0) {
-			if (text == null)
-				text = newText;
-			else
-				text = text.substring(0, selection.x) + newText + text.substring(selection.y);
-			setControlText(text);
-	
-			// set the selection to the end of the paste
-			int x = selection.x + newText.length();
-			setControlSelection(new Point(x, x));
-		}
-	}
-	
-	/**
-	 * Execute the action.
-	 */
-	public void run() {
-		if (display == null)
-			return;
-		if (type == CUT_ACTION)
-			cut();
-		else if (type == COPY_ACTION)
-			copy();
-		else if (type == PASTE_ACTION)
-			paste();
-	}
-	
-	/**
-	 * Update the actions enabled/disabled state.
-	 */
-	protected void update() {
-		if (getControl() == null) {
-			setEnabled(false);
-			return;
-		}
-		Point selection = getControlSelection();
-		String text = getControlText();
-
-		try {
-			if (type == CUT_ACTION)
-				setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y);
-			else if (type == COPY_ACTION)
-				setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y);
-			else if (type == PASTE_ACTION) {
-				Control control = getControl();
-				if (!control.isEnabled()) {
-					setEnabled(false);
-					return;
-				}
-				if (!(control instanceof Text)) {
-					setEnabled(false);
-					return;
-				}
-
-				Text text2 = (Text) control;
-				if (!text2.getEditable()) {
-					setEnabled(false);
-					return;
-				}
-				TextTransfer transfer = TextTransfer.getInstance();
-				String newText = (String) clipboard.getContents(transfer);
-				setEnabled(newText != null && newText.length() > 0);
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error updating text action", e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/AbstractServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/AbstractServerLabelProvider.java
deleted file mode 100644
index 76f7084..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/AbstractServerLabelProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.cnf.ServerDecorator;
-
-/**
- * A default or parent class that provides the default labels: Start, Stop, Starting, etc..
- * 
- * @author arvera
- *
- */
-public class AbstractServerLabelProvider{
-
-	/**
-	 * Based on a server return the server state label to display in the UI
-	 * @param server
-	 * @return String
-	 */
-	public String getServerStateLabel(IServer server) {
-		if (server == null || server.getServerType() == null)
-			return null;
-		
-		return ServerDecorator.getStateLabel(server.getServerType(), server.getServerState(), server.getMode());
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/IServerToolTip.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/IServerToolTip.java
deleted file mode 100644
index f2853d1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/IServerToolTip.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007,2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServer;
-/**
- * Provides extra information to the hover over mouse action of a server
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IServerToolTip {
-	/**
-	 * Allows adopters to add widgets to the tooltip.
-	 * 
-	 * @param parent the parent
-	 * @param server the server
-	 */
-	public void createContent(Composite parent, IServer server);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java
deleted file mode 100644
index 52c775c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-
-public class ManagedUIDecorator extends UIDecorator {
-	private static final String[] serverStateUnmanaged = new String[] {
-		"",
-		Messages.viewStatusStarting4,
-		Messages.viewStatusStarted2,
-		Messages.viewStatusStopping4,
-		Messages.viewStatusStopped2};
-
-	private static final String[] startingText = new String[] {
-		Messages.viewStatusStarting1,
-		Messages.viewStatusStarting2,
-		Messages.viewStatusStarting3};
-	
-	private static final String[] stoppingText = new String[] {
-		Messages.viewStatusStopping1,
-		Messages.viewStatusStopping2,
-		Messages.viewStatusStopping3};
-	
-	private static Image[] startingImages;
-	private static Image[] stoppingImages;
-	
-	/**
-	 * Initialize the variables for this class
-	 */
-	public void init(){
-		loadImages();
-	}
-	
-	/**
-	 * Load the Server starting images. 
-	 * NOTE: This is done so that we don't initialize the images when a label is being requested
-	 */
-	public void loadImages(){
-		if (startingImages == null){
-			startingImages = new Image[] {
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1),
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_2),
-				ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_3)
-			};
-			stoppingImages = new Image[] {
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1),
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2),
-					ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2)
-			};
-		}
-	}
-		
-	/**
-	 * @see UIDecorator#getStateLabel(int, String, int)
-	 */
-	public String getStateLabel(int state, String mode, int count) {
-		if (state == IServer.STATE_UNKNOWN)
-			return "";
-		else if (state == IServer.STATE_STARTING)
-			return startingText[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingText[count];
-		else if (state == IServer.STATE_STARTED) {
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return Messages.viewStatusStartedDebug;
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return Messages.viewStatusStartedProfile;
-			else
-				return Messages.viewStatusStarted;
-		} else if (state == IServer.STATE_STOPPED)
-			return Messages.viewStatusStopped;
-		
-		return serverStateUnmanaged[state];
-	}
-
-	/**
-	 * @see UIDecorator#getStateImage(int, String, int)
-	 */
-	public Image getStateImage(int state, String mode, int count) { 
-		// Only initialize the images when an image is required
-		init();
-		
-		if (state == IServer.STATE_UNKNOWN)
-			return null;
-		else if (state == IServer.STATE_STARTING)
-			return startingImages[count];
-		else if (state == IServer.STATE_STOPPING)
-			return stoppingImages[count];
-		else if (state == IServer.STATE_STOPPED)
-			return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED);
-		else { //if (state == IServer.STATE_STARTED) {
-			//String mode = server.getMode();
-			if (ILaunchManager.DEBUG_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG);
-			else if (ILaunchManager.PROFILE_MODE.equals(mode))
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE);
-			else
-				return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED);
-		}
-	}
-
-	public String getModuleName() {
-		return "module";
-	}
-	
-	public boolean canRestart() {
-		return true;
-	}
-
-	@Override
-	public Image getStateImageOverlay(int state, String mode, int count) {
-		// TODO Intentionally left blank
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ServerEditorActionFactoryDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ServerEditorActionFactoryDelegate.java
deleted file mode 100644
index 834074f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ServerEditorActionFactoryDelegate.java
+++ /dev/null
@@ -1,43 +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.ui.internal.provisional;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IEditorSite;
-
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
-/**
- * 
- */
-public abstract class ServerEditorActionFactoryDelegate {
-	/**
-	 * Returns true if this editor action should be visible on the given
-	 * server. This allows actions to be filtered based on the server type
-	 * or server attributes.
-	 * 
-	 * @param server the server being edited
-	 * @return <code>true</code> if the action should be displayed, or
-	 *    <code>false</code> otherwise
-	 */
-	public boolean shouldDisplay(IServerWorkingCopy server) {
-		return true;
-	}
-
-	/**
-	 * Create the action.
-	 * 
-	 * @param site the editor site
-	 * @param input the server editor port input
-	 * @return an action that can be run against the server
-	 */
-	public abstract IAction createAction(IEditorSite site, IServerEditorPartInput input);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java
deleted file mode 100644
index 35e7e05..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-
-public abstract class UIDecorator {
-	public static final int ACTION_STOP = 0;
-
-	/**
-	 * Returns a string representing the given state.
-	 *
-	 * @param state a server state
-	 * @param mode a launch mode
-	 * @param count a timer count
-	 * @return java.lang.String
-	 */
-	public abstract String getStateLabel(int state, String mode, int count);
-
-	/**
-	 * Returns an image representing the given state.
-	 * 
-	 * @param state a server state
-	 * @param mode a launch mode
-	 * @param count a timer count
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public abstract Image getStateImage(int state, String mode, int count);
-	
-	public abstract Image getStateImageOverlay(int state, String mode, int count);
-	
-	public ImageDescriptor getStateImageDescriptor(int state, String mode, int count){
-		return null;
-	}
-
-	public String getModuleName() {
-		return "module";
-	}
-	
-	public boolean canRestart() {
-		return false;
-	}
-	
-	public void setupAction(Action action, int action2) {
-		action.setToolTipText(Messages.actionStopToolTip);
-		action.setText(Messages.actionStop);
-		action.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP));
-		action.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP));
-		action.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java
deleted file mode 100644
index eb92b38..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005,2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.provisional;
-
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.ui.internal.cnf.CNFManagedUIDecorator;
-
-public class UIDecoratorManager {
-	protected static UIDecorator decorator = new ManagedUIDecorator();
-	protected static UIDecorator decorator2 = new CNFManagedUIDecorator();
-	
-	@Deprecated
-	public static UIDecorator getUIDecorator(IServerType serverType) {
-		return decorator;
-	}
-	@Deprecated
-	public static UIDecorator getCNFUIDecorator(IServerType serverType) {
-		return decorator2;
-	}
-	
-	public static UIDecorator getUIDecorator(){
-		return decorator;
-	}
-	
-	public static UIDecorator getCNFUIDecorator() {
-		return decorator2;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java
deleted file mode 100644
index 06fd708..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * An abstract class for an action on a server.
- */
-public abstract class AbstractServerAction extends SelectionProviderAction {
-	protected Shell shell;
-
-	public AbstractServerAction(ISelectionProvider selectionProvider, String text) {
-		this(null, selectionProvider, text);
-	}
-
-	public AbstractServerAction(Shell shell, ISelectionProvider selectionProvider, String text) {
-		super(selectionProvider, text);
-		this.shell = shell;
-		setEnabled(false);
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 *
-	 * @return boolean
-	 * @param server a server
-	 */
-	public boolean accept(IServer server) {
-		return true;
-	}
-
-	/**
-	 * Perform action on this server.
-	 * 
-	 * @param server a server
-	 */
-	public abstract void perform(IServer server);
-
-	public void run() {
-		Iterator iterator = getStructuredSelection().iterator();
-		
-		if (!iterator.hasNext())
-			return;		
-		
-		Object obj = iterator.next();
-		if (obj instanceof IServer) {
-			IServer server = (IServer) obj;
-			if (accept(server))
-				perform(server);
-			selectionChanged(getStructuredSelection());
-		}
-	}
-
-	/**
-	 * Update the enabled state.
-	 * 
-	 * @param sel a selection
-	 */
-	public void selectionChanged(IStructuredSelection sel) {
-		if (sel.isEmpty()) {
-			setEnabled(false);
-			return;
-		}
-		boolean enabled = false;
-		Iterator iterator = sel.iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServer) {
-				IServer server = (IServer) obj;
-				if (accept(server))
-					enabled = true;
-			} else {
-				setEnabled(false);
-				return;
-			}
-		}
-		setEnabled(enabled);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/CopyAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/CopyAction.java
deleted file mode 100644
index 79cff12..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/CopyAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.view.servers;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * "Copy" menu action.
- */
-public class CopyAction extends AbstractServerAction {
-	protected Action pasteAction;
-	private Clipboard clipboard;
-
-	/**
-	 * CopyAction constructor.
-	 * 
-	 * @param sp a selection provider
-	 * @param clipboard the clipboard
-	 * @param pasteAction the paste action
-	 */
-	public CopyAction(ISelectionProvider sp, Clipboard clipboard, Action pasteAction) {
-		super(sp, Messages.actionCopy);
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-		setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED));
-		setActionDefinitionId(IWorkbenchActionDefinitionIds.COPY);
-		
-		this.clipboard = clipboard;
-		this.pasteAction = pasteAction;
-	}
-
-	public boolean accept(IServer server) {
-		return server != null && server.getServerType() != null;
-	}
-
-	public void perform(IServer server) {
-		clipboard.setContents(new Object[] { new IServer[] { server }, server.getName() },
-			new Transfer[] { ServerTransfer.getInstance(), TextTransfer.getInstance() });
-		pasteAction.setEnabled(true);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java
deleted file mode 100644
index 9b6a668..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.DeleteServerDialog;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.swt.widgets.Shell;
-/**
- * Action for deleting server resources.
- * @deprecated Instead use {@link GlobalDeleteAction}
- */
-public class DeleteAction extends AbstractServerAction {
-	protected IServer[] servers;
-	protected IFolder[] configs;
-
-	/**
-	 * DeleteAction constructor.
-	 * 
-	 * @param shell a shell
-	 * @param sp a selection provider
-	 */
-	public DeleteAction(Shell shell, ISelectionProvider sp) {
-		super(shell, sp, Messages.actionDelete);
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-		setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-		setActionDefinitionId(IWorkbenchActionDefinitionIds.DELETE);
-	}
-
-	public boolean accept(IServer server) {
-		servers = new IServer[] { server };
-		List<IFolder> list = new ArrayList<IFolder>();
-		
-		int size = servers.length;
-		for (int i = 0; i < size; i++) {
-			if (servers[i].isReadOnly())
-				return false;
-			
-			if (servers[i].getServerConfiguration() != null)
-				list.add(servers[i].getServerConfiguration());
-		}
-		
-		// remove configurations that are still referenced by other servers
-		IServer[] servers2 = ServerCore.getServers();
-		if (servers2 != null) {
-			int size2 = servers2.length;
-			for (int j = 0; j < size2; j++) {
-				boolean found = false;
-				for (int i = 0; i < size; i++) {
-					if (servers[i].equals(servers2[j]))
-						found = true;
-				}
-				if (!found) {
-					IFolder folder = servers2[j].getServerConfiguration();
-					if (folder != null && list.contains(folder))
-						list.remove(folder);
-				}
-			}
-		}
-		
-		configs = new IFolder[list.size()];
-		list.toArray(configs);
-		return true;
-	}
-
-	public void perform(IServer server) {
-		DeleteServerDialog dsd = new DeleteServerDialog(shell, servers, configs);
-		dsd.open();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/GlobalDeleteAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/GlobalDeleteAction.java
deleted file mode 100644
index 525535a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/GlobalDeleteAction.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.DeleteServerDialog;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * This global delete action handles both the server and module deletion.
- */
-public class GlobalDeleteAction extends SelectionProviderAction {
-	protected IServer[] servers;
-	protected IFolder[] configs;
-	private Shell shell;
-
-	public GlobalDeleteAction(Shell shell, ISelectionProvider selectionProvider) {
-		super(selectionProvider, Messages.actionDelete);
-		this.shell = shell;
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));		
-		setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-		setActionDefinitionId(IWorkbenchActionDefinitionIds.DELETE);
-	}
-	
-	@Override
-	public void selectionChanged(IStructuredSelection sel) {
-		if (sel.isEmpty()) {
-			setEnabled(false);
-			return;
-		}
-		boolean enabled = false;
-		Iterator iterator = sel.iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServer) {
-				IServer server = (IServer) obj;
-				if (accept(server))
-					enabled = true;
-			} 
-			else if (obj instanceof ModuleServer){
-				ModuleServer ms = (ModuleServer) obj;
-				if (accept(ms))
-					enabled = true;
-			}
-			else {
-				setEnabled(false);
-				return;
-			}
-		}
-		setEnabled(enabled);
-	}
-
-	public boolean accept(ModuleServer ms){
-		if (ms.getServer() == null)
-			return false;
-
-		IStatus status = ms.getServer().canModifyModules(null,ms.module, null);  
-		if (status.isOK())
-			return true;
-
-		return false;
-	}
-
-	public boolean accept(IServer server) {
-		servers = new IServer[] { server };
-		List<IFolder> list = new ArrayList<IFolder>();
-		
-		int size = servers.length;
-		for (int i = 0; i < size; i++) {
-			if (servers[i].isReadOnly())
-				return false;
-			
-			if (servers[i].getServerConfiguration() != null)
-				list.add(servers[i].getServerConfiguration());
-		}
-		
-		// remove configurations that are still referenced by other servers
-		IServer[] servers2 = ServerCore.getServers();
-		if (servers2 != null) {
-			int size2 = servers2.length;
-			for (int j = 0; j < size2; j++) {
-				boolean found = false;
-				for (int i = 0; i < size; i++) {
-					if (servers[i].equals(servers2[j]))
-						found = true;
-				}
-				if (!found) {
-					IFolder folder = servers2[j].getServerConfiguration();
-					if (folder != null && list.contains(folder))
-						list.remove(folder);
-				}
-			}
-		}
-		
-		configs = new IFolder[list.size()];
-		list.toArray(configs);
-		return true;
-	}
-
-	@Override
-	public void run() {		
-		IServer server = null;
-		IModule[] moduleArray = null;
-		
-		IStructuredSelection sel = getStructuredSelection();
-		// filter the selection
-		if (!sel.isEmpty()) {
-			Iterator iterator = sel.iterator();
-			Object obj = iterator.next();
-			if (obj instanceof IServer)
-				server = (IServer) obj;
-			if (obj instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) obj;
-				server = ms.server; 
-				moduleArray = ms.module;
-			}
-			// avoid no selection or multiple selection
-			if (iterator.hasNext()) {
-				server = null;
-				moduleArray = null;
-			}
-		}
-		
-		// Perform actions
-		if (server != null && moduleArray == null)
-			deleteServer(server);
-		
-		if (moduleArray != null && moduleArray.length == 1) 
-			new RemoveModuleAction(shell, server, moduleArray[0]).run();
-		
-	}
-	
-	protected void deleteServer(IServer server){
-		// It is possible that the server is created and added to the server view on workbench
-		// startup. As a result, when the user switches to the server view, the server is 
-		// selected, but the selectionChanged event is not called, which results in servers
-		// being null. When servers is null the server will not be deleted and the error log
-		// will have an IllegalArgumentException.
-		//
-		// To handle the case where servers is null, the selectionChanged method is called
-		// to ensure servers will be populated.
-		if (servers == null){
-			if (Trace.FINEST) {
-				Trace.trace(Trace.STRING_FINEST, "Delete server called when servers is null");
-			}				
-			
-			IStructuredSelection sel = getStructuredSelection();
-			if (sel != null){
-				selectionChanged(sel);
-			}
-		}
-				
-		if (Trace.FINEST) {
-			Trace.trace(Trace.STRING_FINEST, "Opening delete server dialog with parameters shell="
-					+ shell + " servers=" + servers + " configs=" + configs);
-		}		
-		
-		// No check is made for valid parameters at this point, since if there is a failure, it
-		// should be output to the error log instead of failing silently.
-		DeleteServerDialog dsd = new DeleteServerDialog(shell, servers, configs);
-		dsd.open();
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java
deleted file mode 100644
index bdffa04..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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.ui.internal.view.servers;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.IServerModule;
-/**
- * A utility class for referencing a server and a module at the same time.
- */
-public class ModuleServer implements IServerModule {
-	/**
-	 * The server
-	 */
-	public IServer server;
-
-	/**
-	 * The module
-	 */
-	public IModule[] module;
-
-	/**
-	 * Create a new module-server.
-	 * 
-	 * @param server the server
-	 * @param module the module
-	 */
-	public ModuleServer(IServer server, IModule[] module) {
-		this.server = server;
-		this.module = module;
-		if (module == null)
-			throw new IllegalArgumentException();
-	}
-
-	/**
-	 * Return the server that the module belongs to.
-	 * 
-	 * @return the server
-	 */
-	public IServer getServer() {
-		return server;
-	}
-
-	/**
-	 * Returns the module.
-	 * 
-	 * @return the module
-	 */
-	public IModule[] getModule() {
-		return module;
-	}
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof ModuleServer))
-			return false;
-		
-		ModuleServer ms = (ModuleServer) obj;
-		
-		if (ms.server == null && server != null)
-			return false;
-		
-		if (ms.server != null && !ms.server.equals(server))
-			return false;
-		
-		if (ms.module.length != module.length)
-			return false;
-		
-		int size = module.length;
-		for (int i = 0; i < size; i++) {
-			if (!module[i].equals(ms.module[i]))
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		if (server != null)
-			sb.append("Server-Module [" + server.getId() + "/" + server.getName() + ", (");
-		else
-			sb.append("Server-Module [null, (");
-		
-		int size = module.length;
-		for (int i = 0; i < size; i++) {
-			if (i > 0)
-				sb.append(", ");
-			sb.append(module[i].getName());
-		}
-		sb.append(")]");
-		return sb.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
deleted file mode 100644
index 58a7cf0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-
-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.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.ModifyModulesWizard;
-/**
- * 
- */
-public class ModuleSloshAction extends AbstractServerAction {
-	public ModuleSloshAction(Shell shell, ISelectionProvider selectionProvider) {
-		super(shell, selectionProvider, Messages.actionModifyModules);
-		setToolTipText(Messages.actionModifyModulesToolTip);
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_MODIFY_MODULES));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_MODIFY_MODULES));
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_MODIFY_MODULES));
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) {
-			ServerUIPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, e.getLocalizedMessage(), e));
-		}
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server a server
-	 */
-	public boolean accept(IServer server) {
-		return server.getServerType() != null;
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server a server
-	 */
-	public void perform(final IServer server) {
-		if (server == null)
-			return;
-		
-		// check if there are any modules first
-		// get currently deployed modules
-		List<IModule> deployed = new ArrayList<IModule>();
-		List<IModule> modules = new ArrayList<IModule>();
-		IModule[] currentModules = server.getModules();
-		if (currentModules != null) {
-			int size = currentModules.length;
-			for (int i = 0; i < size; i++) {
-				deployed.add(currentModules[i]);
-			}
-		}
-		
-		// get remaining modules
-		IModule[] modules2 = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes());
-		if (modules2 != null) {
-			int size = modules2.length;
-			for (int i = 0; i < size; i++) {
-				IModule module = modules2[i];
-				if (!deployed.contains(module)) {
-					IStatus status = server.canModifyModules(new IModule[] { module }, null, null);
-					if (status != null && status.getSeverity() != IStatus.ERROR)
-						modules.add(module);
-				}
-			}
-		}
-		
-		if (deployed.isEmpty() && modules.isEmpty()) {
-			MessageDialog.openInformation(shell, Messages.defaultDialogTitle, Messages.dialogAddRemoveModulesNone);
-			return;
-		}
-		
-		ModifyModulesWizard wizard = new ModifyModulesWizard(server);
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		dialog.open();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorPropertyPage.java
deleted file mode 100644
index df9c3f2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorPropertyPage.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.Dialog;
-
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.viewers.MonitorComposite;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-/**
- * Preference page that allows a user to monitor ports from a server.
- */
-public class MonitorPropertyPage extends PropertyPage {
-	protected IServer server;
-	protected MonitorComposite monitorComp;
-
-	/**
-	 * MonitorPropertyPage constructor comment.
-	 */
-	public MonitorPropertyPage() {
-		super();
-	}
-
-	/**
-	 * Create the body of the page.
-	 *
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		IAdaptable element = getElement();
-		server = (IServer) element.getAdapter(IServer.class);
-		
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 550;
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		//WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(NLS.bind(Messages.dialogMonitorDescription, new String[] { server.getName() } ));
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		label.setLayoutData(data);
-		
-		monitorComp = new MonitorComposite(composite, SWT.NONE, null, server);
-		monitorComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Dialog.applyDialogFont(composite);
-		
-		return composite;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java
deleted file mode 100644
index 63eb4b8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.action.Action;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.IMonitoredServerPort;
-import org.eclipse.wst.server.core.internal.IServerMonitorManager;
-import org.eclipse.wst.server.core.internal.ServerMonitorManager;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-/**
- * Monitor a server port.
- */
-public class MonitorServerPortAction extends Action {
-	protected Shell shell;
-	protected IServer server;
-	protected ServerPort port;
-	protected IMonitoredServerPort monitoredPort;
-	protected boolean checked;
-	
-	public MonitorServerPortAction(Shell shell, IServer server, ServerPort port) {
-		super(NLS.bind(Messages.actionMonitorPort, new String[] { port.getPort() + "", port.getName() }));
-		
-		this.shell = shell;
-		this.server = server;
-		this.port = port;
-		
-		IMonitoredServerPort[] msps = ServerMonitorManager.getInstance().getMonitoredPorts(server);
-		if (msps != null) {
-			int size = msps.length;
-			for (int i = 0; i < size; i++) {
-				if (port.equals(msps[i].getServerPort()) && // msps[i].isStarted() &&
-						(msps[i].getContentTypes() == null || msps[i].getContentTypes().length == 0 ||
-						(port.getContentTypes() != null && msps[i].getContentTypes().length == port.getContentTypes().length)))
-					monitoredPort = msps[i];
-			}
-		}
-
-		checked = monitoredPort != null; // && monitoredPort.isStarted();
-		setChecked(checked);
-	}
-
-	/**
-	 * Enable or disable monitoring.
-	 */
-	public void run() {
-		IServerMonitorManager smm = ServerMonitorManager.getInstance();
-		if (checked) {
-			smm.removeMonitor(monitoredPort);
-		} else {
-			if (monitoredPort == null)
-				monitoredPort = smm.createMonitor(server, port, -1, null);
-			
-			try {
-				smm.startMonitor(monitoredPort);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Could not monitor", e);
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java
deleted file mode 100644
index b0314b8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * "Open" menu action.
- */
-public class OpenAction extends AbstractServerAction {
-	/**
-	 * OpenAction constructor.
-	 * 
-	 * @param sp a selection provider
-	 */
-	public OpenAction(ISelectionProvider sp) {
-		super(sp, Messages.actionOpen);
-		
-		//setActionDefinitionId("org.eclipse.ui.navigator.Open");
-		setActionDefinitionId("org.eclipse.jdt.ui.edit.text.java.open.editor");
-	}
-
-	public void perform(IServer server) {
-		try {
-			ServerUIPlugin.editServer(server);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error editing element", e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PasteAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PasteAction.java
deleted file mode 100644
index 4afc64c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PasteAction.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007,2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * "Paste" menu action.
- */
-public class PasteAction extends SelectionProviderAction {
-	private Clipboard clipboard;
-
-	/**
-	 * PasteAction constructor.
-	 * 
-	 * @param shell a shell;
-	 * @param sp a selection provider
-	 * @param clipboard the clipboard
-	 */
-	public PasteAction(Shell shell, ISelectionProvider sp, Clipboard clipboard) {
-		super(sp, Messages.actionPaste);
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-		setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED));
-		setActionDefinitionId(IWorkbenchActionDefinitionIds.PASTE);
-		
-		this.clipboard = clipboard;
-	}
-
-	/**
-	 * Update the enabled state.
-	 * 
-	 * @param sel a selection
-	 */
-	public void selectionChanged(IStructuredSelection sel) {
-		ServerTransfer serverTransfer = ServerTransfer.getInstance();
-		IServer[] servers = (IServer[]) clipboard.getContents(serverTransfer);
-		setEnabled(servers != null && servers.length > 0);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		ServerTransfer serverTransfer = ServerTransfer.getInstance();
-		IServer[] servers = (IServer[]) clipboard.getContents(serverTransfer);
-		
-		if (servers == null)
-			return;
-		
-		int size = servers.length;
-		for (int i = 0; i < size; i++) {
-			try {
-				IServerWorkingCopy wc = servers[i].createWorkingCopy();
-				((ServerWorkingCopy)wc).disassociate();
-				wc.setName("Temp"); // sets the name from the current one so that the
-						// default name generation will work
-				ServerUtil.setServerDefaultName(wc);
-				wc.save(false, null);
-			} catch (CoreException ce) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Failure to copy server", ce);
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PropertiesAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PropertiesAction.java
deleted file mode 100644
index 7e0ad96..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PropertiesAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Action to show the property page for a server.
- */
-public class PropertiesAction extends AbstractServerAction {
-	protected String propertyPageId;
-
-	public PropertiesAction(Shell shell, ISelectionProvider selectionProvider) {
-		this(shell, null, selectionProvider);
-	}
-
-	public PropertiesAction(Shell shell, String propertyPageId, ISelectionProvider selectionProvider) {
-		super(shell, selectionProvider, Messages.actionProperties);
-		this.propertyPageId = propertyPageId;
-		if (propertyPageId == null)
-			setActionDefinitionId(IWorkbenchActionDefinitionIds.PROPERTIES);
-		
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	public void perform(IServer server) {
-		if (propertyPageId == null)
-			propertyPageId = "org.eclipse.wst.server.ui.properties";
-		Dialog dialog = PreferencesUtil.createPropertyDialogOn(shell, server, propertyPageId, null, null);
-		dialog.open();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java
deleted file mode 100644
index 1f87566..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-/**
- * Publish to a server.
- */
-public class PublishAction extends AbstractServerAction {
-	public PublishAction(Shell shell, ISelectionProvider selectionProvider) {
-		super(shell, selectionProvider, Messages.actionPublish);
-		setToolTipText(Messages.actionPublishToolTip);
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_PUBLISH));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_PUBLISH));
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_PUBLISH));
-		setActionDefinitionId("org.eclipse.wst.server.publish");
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	public boolean accept(IServer server) {
-		return server.canPublish().isOK();
-	}
-
-	public void perform(IServer server) {
-		publish(server, shell);
-	}
-
-	public static void publish(IServer server, final Shell shell) {
-		if (shell != null && !ServerUIPlugin.promptIfDirty(shell, server))
-			return;
-		
-		if (!ServerUIPlugin.saveEditors())
-			return;
-		
-		IAdaptable info = new IAdaptable() {
-			public Object getAdapter(Class adapter) {
-				if (Shell.class.equals(adapter))
-					return shell;
-				if (String.class.equals(adapter))
-					return "user";
-				return null;
-			}
-		};
-		
-		server.publish(IServer.PUBLISH_INCREMENTAL, null, info, null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishCleanAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishCleanAction.java
deleted file mode 100644
index 442e0e3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishCleanAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-/**
- * Clean publish to a server.
- */
-public class PublishCleanAction extends AbstractServerAction {
-	public PublishCleanAction(Shell shell, ISelectionProvider selectionProvider) {
-		super(shell, selectionProvider, Messages.actionPublishClean);
-		setToolTipText(Messages.actionPublishCleanToolTip);
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server a server
-	 */
-	public boolean accept(IServer server) {
-		return server.canPublish().isOK();
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server a server
-	 */
-	public void perform(IServer server) {
-		if (!ServerUIPlugin.promptIfDirty(shell, server))
-			return;
-		
-		if (!ServerUIPlugin.saveEditors())
-			return;
-		
-		if (MessageDialog.openConfirm(shell, Messages.defaultDialogTitle, Messages.dialogPublishClean)) {
-			IAdaptable info = new IAdaptable() {
-				public Object getAdapter(Class adapter) {
-					if (Shell.class.equals(adapter))
-						return shell;
-					if (String.class.equals(adapter))
-						return "user";
-					return null;
-				}
-			};
-			
-			server.publish(IServer.PUBLISH_CLEAN, null, info, null);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RemoveModuleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RemoveModuleAction.java
deleted file mode 100644
index 9ec06b6..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RemoveModuleAction.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Action for removing a module from a server.
- */
-public class RemoveModuleAction extends Action {
-	protected IServer server;
-	protected IModule module;
-	protected Shell shell;
-	CoreException saveServerException = null;
-
-	/**
-	 * RemoveModuleAction constructor.
-	 * 
-	 * @param shell a shell
-	 * @param server a server
-	 * @param module a module
-	 */
-	public RemoveModuleAction(Shell shell, IServer server, IModule module) {
-		super(Messages.actionRemove);
-		this.shell = shell;
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));		
-		setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-		setActionDefinitionId(IWorkbenchActionDefinitionIds.DELETE);
-		this.server = server;
-		this.module = module;
-	}
-
-	/**
-	 * Invoked when an action occurs. 
-	 */
-	public void run() {
-		if (MessageDialog.openConfirm(shell, Messages.defaultDialogTitle, Messages.dialogRemoveModuleConfirm)) {
-			try {
-				final ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
-				dialog.setBlockOnOpen(false);
-				dialog.setCancelable(true);
-				IRunnableWithProgress runnable = new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) {
-						try {
-							IServerWorkingCopy wc = server.createWorkingCopy();
-							if (monitor.isCanceled()) {
-								return;
-							}
-							wc.modifyModules(null, new IModule[] { module }, monitor);
-							if (monitor.isCanceled()) {
-								return;
-							}
-							server = wc.save(true, monitor);
-							if (Trace.INFO) {
-								Trace.trace(Trace.STRING_INFO, "Done save server configuration in RemoveModuleAction.");
-							}
-						} catch (CoreException e) {
-							if (Trace.WARNING) {
-								Trace.trace(Trace.STRING_WARNING,
-										"Failed to save server configuration. Could not remove module", e);
-							}
-							saveServerException = e;
-						}
-					}
-				};
-				dialog.run(true, true, runnable);
-				
-				// Error when saving server so do not proceed on the remove action.
-				if (saveServerException != null) {
-					return;
-				}
-				
-				if (server.getServerState() != IServer.STATE_STOPPED &&
-						ServerUIPlugin.getPreferences().getPublishOnAddRemoveModule()) {
-					final IAdaptable info = new IAdaptable() {
-						public Object getAdapter(Class adapter) {
-							if (Shell.class.equals(adapter))
-								return shell;
-							return null;
-						}
-					};
-					server.publish(IServer.PUBLISH_INCREMENTAL, null, info, null);
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "Could not remove module", e);
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RenameAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RenameAction.java
deleted file mode 100644
index 1fd8de5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RenameAction.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TreeEditor;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.actions.TextActionHandler;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Action to rename a server.
- */
-public class RenameAction extends AbstractServerAction {
-	/*
-	 * The tree editing widgets. If treeEditor is null then edit using the
-	 * dialog. We keep the editorText around so that we can close it if a new
-	 * selection is made.
-	 */
-	protected TreeEditor treeEditor;
-
-	protected Tree tree;
-
-	protected Text textEditor;
-
-	protected Composite textEditorParent;
-
-	private TextActionHandler textActionHandler;
-
-	// The server being edited if this is being done inline
-	protected IServer editedServer;
-
-	protected boolean saving = false;
-
-	public RenameAction(Shell shell, TreeViewer viewer, ISelectionProvider selectionProvider) {
-		super(shell, selectionProvider, Messages.actionRename);
-		setActionDefinitionId(IWorkbenchActionDefinitionIds.RENAME);
-		this.tree = viewer.getTree();
-		this.treeEditor = new TreeEditor(tree);
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	public void perform(IServer server) {
-		runWithInlineEditor(server);
-	}
-
-	/*
-	 * Run the receiver using an inline editor from the supplied navigator. The
-	 * navigator will tell the action when the path is ready to run.
-	 */
-	private void runWithInlineEditor(IServer server) {
-		queryNewServerNameInline(server);
-	}
-
-	/**
-	 * On Mac the text widget already provides a border when it has focus, so
-	 * there is no need to draw another one. The value of returned by this
-	 * method is usd to control the inset we apply to the text field bound's in
-	 * order to get space for drawing a border. A value of 1 means a one-pixel
-	 * wide border around the text field. A negative value supresses the border.
-	 * However, in M9 the system property
-	 * "org.eclipse.swt.internal.carbon.noFocusRing" has been introduced as a
-	 * temporary workaround for bug #28842. The existence of the property turns
-	 * the native focus ring off if the widget is contained in a main window
-	 * (not dialog). The check for the property should be removed after a final
-	 * fix for #28842 has been provided.
-	 */
-	private static int getCellEditorInset(Control c) {
-		// special case for MacOS X
-		if ("carbon".equals(SWT.getPlatform())) { //$NON-NLS-1$
-			if (System
-					.getProperty("org.eclipse.swt.internal.carbon.noFocusRing") == null || c.getShell().getParent() != null) { //$NON-NLS-1$
-				return -2; // native border
-			}
-		}
-		return 1; // one pixel wide black border
-	}
-
-	/**
-	 * Get the Tree being edited.
-	 * 
-	 * @returnTree
-	 */
-	private Tree getTree() {
-		return tree;
-	}
-
-	private Composite createParent() {
-		Tree tree2 = getTree();
-		Composite result = new Composite(tree2, SWT.NONE);
-		TreeItem[] selectedItems = tree2.getSelection();
-		treeEditor.horizontalAlignment = SWT.LEFT;
-		treeEditor.grabHorizontal = true;
-		treeEditor.setEditor(result, selectedItems[0]);
-		return result;
-	}
-
-	/**
-	 * Return the new name to be given to the target resource or
-	 * <code>null<code>
-	 * if the query was canceled. Rename the currently selected server using the table editor. 
-	 * Continue the action when the user is done.
-	 *
-	 * @param server the server to rename
-	 */
-	private void queryNewServerNameInline(final IServer server) {
-		// Make sure text editor is created only once. Simply reset text
-		// editor when action is executed more than once. Fixes bug 22269
-		if (textEditorParent == null) {
-			createTextEditor(server);
-		}
-		textEditor.setText(server.getName());
-
-		// Open text editor with initial size
-		textEditorParent.setVisible(true);
-		Point textSize = textEditor.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		textSize.x += textSize.y; // Add extra space for new characters
-		Point parentSize = textEditorParent.getSize();
-		int inset = getCellEditorInset(textEditorParent);
-		textEditor.setBounds(2, inset, Math.min(textSize.x, parentSize.x - 4),
-				parentSize.y - 2 * inset);
-		textEditorParent.redraw();
-		textEditor.selectAll();
-		textEditor.setFocus();
-	}
-
-	/**
-	 * Create the text editor widget.
-	 * 
-	 * @param server the server to rename
-	 */
-	private void createTextEditor(final IServer server) {
-		// Create text editor parent. This draws a nice bounding rect
-		textEditorParent = createParent();
-		textEditorParent.setVisible(false);
-		final int inset = getCellEditorInset(textEditorParent);
-		if (inset > 0) {
-			textEditorParent.addListener(SWT.Paint, new Listener() {
-				public void handleEvent(Event e) {
-					Point textSize = textEditor.getSize();
-					Point parentSize = textEditorParent.getSize();
-					e.gc.drawRectangle(0, 0, Math.min(textSize.x + 4,
-							parentSize.x - 1), parentSize.y - 1);
-				}
-			});
-		}
-		// Create inner text editor
-		textEditor = new Text(textEditorParent, SWT.NONE);
-		textEditor.setFont(tree.getFont());
-		textEditorParent.setBackground(textEditor.getBackground());
-		textEditor.addListener(SWT.Modify, new Listener() {
-			public void handleEvent(Event e) {
-				Point textSize = textEditor.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				textSize.x += textSize.y; // Add extra space for new
-				// characters.
-				Point parentSize = textEditorParent.getSize();
-				textEditor.setBounds(2, inset, Math.min(textSize.x,
-						parentSize.x - 4), parentSize.y - 2 * inset);
-				textEditorParent.redraw();
-			}
-		});
-		textEditor.addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event event) {
-
-				// Workaround for Bug 20214 due to extra
-				// traverse events
-				switch (event.detail) {
-				case SWT.TRAVERSE_ESCAPE:
-					// Do nothing in this case
-					disposeTextWidget();
-					event.doit = true;
-					event.detail = SWT.TRAVERSE_NONE;
-					break;
-				case SWT.TRAVERSE_RETURN:
-					saveChangesAndDispose(server);
-					event.doit = true;
-					event.detail = SWT.TRAVERSE_NONE;
-					break;
-				}
-			}
-		});
-		textEditor.addFocusListener(new FocusAdapter() {
-			public void focusLost(FocusEvent fe) {
-				saveChangesAndDispose(server);
-			}
-		});
-
-		if (textActionHandler != null) {
-			textActionHandler.addText(textEditor);
-		}
-	}
-
-	/**
-	 * Close the text widget and reset the editorText field.
-	 */
-	protected void disposeTextWidget() {
-		if (textActionHandler != null)
-			textActionHandler.removeText(textEditor);
-
-		if (textEditorParent != null) {
-			textEditorParent.dispose();
-			textEditorParent = null;
-			textEditor = null;
-			treeEditor.setEditor(null, null);
-		}
-	}
-
-	/**
-	 * Save the changes and dispose of the text widget.
-	 * 
-	 * @param server the server to rename
-	 */
-	protected void saveChangesAndDispose(IServer server) {
-		if (saving == true)
-			return;
-		
-		saving = true;
-		// Cache the resource to avoid selection loss since a selection of
-		// another item can trigger this method
-		editedServer = server;
-		final String newName = textEditor.getText();
-		// Run this in an async to make sure that the operation that triggered
-		// this action is completed. Otherwise this leads to problems when the
-		// icon of the item being renamed is clicked (i.e., which causes the
-		// rename text widget to lose focus and trigger this method)
-		getTree().getShell().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					if (!newName.equals(editedServer.getName())) {
-						if (ServerPlugin.isNameInUse(editedServer, newName)) {
-							MessageDialog.openError(shell, Messages.defaultDialogTitle, Messages.errorDuplicateName);
-						} else {
-							try {
-								IServerWorkingCopy wc = editedServer.createWorkingCopy();
-								wc.setName(newName);
-								wc.save(false, null);
-							} catch (CoreException ce) {
-								// ignore for now
-							}
-						}
-					}
-					editedServer = null;
-					// Dispose the text widget regardless
-					disposeTextWidget();
-					// Ensure the Navigator tree has focus, which it may not if
-					// the text widget previously had focus
-					if (tree != null && !tree.isDisposed()) {
-						tree.setFocus();
-					}
-				} finally {
-					saving = false;
-				}
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java
deleted file mode 100644
index 524abf0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Restart a module on a server.
- */
-public class RestartModuleAction extends Action {
-	protected IServer server;
-	protected IModule[] module;
-
-	public RestartModuleAction(IServer server, IModule[] module) {
-		super();
-		this.server = server;
-		this.module = module;
-		
-		setText(Messages.actionRestartModule);
-		
-		setEnabled(server.getServerState() == IServer.STATE_STARTED
-				&& server.getModuleState(module) != IServer.STATE_UNKNOWN
-				&&	server.canRestartModule(module, null).isOK());
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		server.restartModule(module, null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHandler.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHandler.java
deleted file mode 100644
index 656553a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHandler.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.view.servers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-/**
- * Server action handler.
- */
-public class ServerActionHandler extends AbstractHandler {
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		ISelection sel = HandlerUtil.getCurrentSelectionChecked(event);
-		Object obj = null;
-		if (sel instanceof IStructuredSelection) {
-			IStructuredSelection select = (IStructuredSelection) sel;
-			obj = select.getFirstElement();
-		}
-		
-		String id = event.getCommand().getId();
-		if (id.endsWith("publish")) {
-			if (obj instanceof IServer) {
-				PublishAction.publish((IServer) obj, HandlerUtil.getActiveShell(event));
-			} else
-				throw new ExecutionException("No server selected");
-			return null;
-		}
-		
-		String mode = ILaunchManager.RUN_MODE;
-		if (id.endsWith("debug"))
-			mode = ILaunchManager.DEBUG_MODE;
-		else if (id.endsWith("profile"))
-			mode = ILaunchManager.PROFILE_MODE;
-		else if (id.endsWith("stop"))
-			mode = null;
-		
-		if (obj instanceof IServer) {
-			IServer server = (IServer) obj;
-			if (mode == null)
-				StopAction.stop(server, HandlerUtil.getActiveShell(event));
-			else
-				StartAction.start(server, mode, HandlerUtil.getActiveShell(event));
-			return null;
-		}
-		
-		RunOnServerActionDelegate ros = new RunOnServerActionDelegate();
-		ros.setLaunchMode(mode);
-		IAction action = new Action() {
-			// dummy action
-		};
-		ros.selectionChanged(action, sel);
-		ros.run(action);
-		
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java
deleted file mode 100644
index a80369f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.cnf.ServerDecorator;
-import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager;
-import org.eclipse.wst.server.ui.internal.viewers.BaseCellLabelProvider;
-import org.eclipse.wst.server.ui.internal.viewers.ServerTreeContentProvider;
-/**
- * Server table label provider.
- */
-public class ServerTableLabelProvider extends BaseCellLabelProvider {
-	public static final String[] syncState = new String[] {
-		Messages.viewSyncOkay,
-		Messages.viewSyncRestart,
-		Messages.viewSyncPublish,
-		Messages.viewSyncRestartPublish,
-		Messages.viewSyncPublishing};
-
-	public static final String[] syncStateUnmanaged = new String[] {
-		Messages.viewSyncOkay2,
-		Messages.viewSyncRestart2,
-		Messages.viewSyncPublish2,
-		Messages.viewSyncRestartPublish2,
-		Messages.viewSyncPublishing2};
-
-	private static final String[] modulePublishState = new String[] {
-		"",
-		Messages.viewSyncOkay,
-		Messages.viewSyncPublish,
-		Messages.viewSyncPublish};
-
-	private int count = 0;
-
-	protected IServer defaultServer;
-
-	/**
-	 * ServerTableLabelProvider constructor comment.
-	 */
-	public ServerTableLabelProvider() {
-		// Ensure decorator is initialized.
-		super(null);
-	}
-
-	public void setDefaultServer(IServer ds) {
-		defaultServer = ds;
-	}
-
-	public IServer getDefaultServer() {
-		return defaultServer;
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			if (columnIndex == 0) {
-				ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-				return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
-			}
-			return null;
-		}
-		if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer) element;
-			if (columnIndex == 0) {
-				//return ServerUICore.getLabelProvider().getImage(ms.module[ms.module.length - 1]);
-				ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-				Image image = labelProvider.getImage(ms.module[ms.module.length - 1]);
-				labelProvider.dispose();
-				if (decorator != null) {
-					Image dec = decorator.decorateImage(image, ms);
-					if (dec != null)
-						return dec;
-				}
-				return image;
-			} else if (columnIndex == 1) {
-				if (ms.server == null)
-					return null;
-				
-				/*int state = ms.server.getModuleState(ms.module);
-				if (state == IServer.STATE_STARTED)
-					return ImageResource.getImage(ImageResource.IMG_STATE_STARTED);
-				else if (state == IServer.STATE_STOPPED)
-					return ImageResource.getImage(ImageResource.IMG_STATE_STOPPED);
-				*/
-				return getStateImage(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
-			} else if (columnIndex == 2) {
-				IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
-				if (status != null) {
-					ISharedImages sharedImages = ServerUIPlugin.getInstance().getWorkbench().getSharedImages();
-					if (status.getSeverity() == IStatus.ERROR)
-						return sharedImages.getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
-					else if (status.getSeverity() == IStatus.WARNING)
-						return sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK);
-					else if (status.getSeverity() == IStatus.INFO)
-						return sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-				}
-			}
-			return null;
-		}
-		IServer server = (IServer) element;
-		if (columnIndex == 0) {
-			if (server.getServerType() != null) {
-				Image image = ImageResource.getImage(server.getServerType().getId());
-				/*IStatus status = ((Server) server).getServerStatus();
-				if (defaultServer != null && defaultServer.equals(server) || status != null) {
-					Image decorated = decorator.decorateImage(image, element);
-					if (decorated != null)
-						return decorated;
-				}*/
-				//return image;
-				if (decorator != null) {
-					Image dec = decorator.decorateImage(image, server);
-					if (dec != null)
-						return dec;
-				}
-				return image;
-			}
-			return null;
-		} else if (columnIndex == 1) {
-			IServerType serverType = server.getServerType();
-			if (serverType == null)
-				return null;
-			//if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_PUBLISHED)
-			//	return null;
-			return getServerStateImage(server);
-		} else
-			return null;
-	}
-
-	public String getText(Object element) {
-		return getColumnText(element, 0);
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			if (columnIndex == 0)
-				return ((ServerTreeContentProvider.TreeElement) element).text;
-			return "";
-		}
-		if (element instanceof ModuleServer) {
-			ModuleServer ms = (ModuleServer) element;
-			if (columnIndex == 0) {
-				if (ms.module == null)
-					return "";
-				int size = ms.module.length;
-				String name = ms.module[size - 1].getName();
-				if (decorator != null) {
-					String dec = decorator.decorateText(name, ms);
-					if (dec != null)
-						return dec;
-				}
-				return name;
-			} else if (columnIndex == 1) {
-				if (ms.server == null)
-					return "";
-				return getStateLabel(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
-			} else if (columnIndex == 2) {
-				IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
-				if (status != null)
-					return status.getMessage();
-				
-				return modulePublishState[ms.server.getModulePublishState(ms.module)];
-			}
-		}
-		IServer server = (IServer) element;
-		if (columnIndex == 0)
-			return notNull(server.getName());
-		else if (columnIndex == 1) {
-			IServerType serverType = server.getServerType();
-			if (serverType != null)
-				return getServerStateLabel(server);
-			
-			return "";
-		} else if (columnIndex == 2) {
-			IStatus status = ((Server) server).getServerStatus();
-			if (status != null)
-				return status.getMessage();
-			
-			if (server.getServerType() == null)
-				return "";
-			
-			//if (server.getServerType().hasServerConfiguration() && server.getServerConfiguration() == null)
-			//	return Messages.viewNoConfiguration");
-			
-			if (server.getServerState() == IServer.STATE_UNKNOWN)
-				return "";
-			
-			String serverId = server.getId();
-			if (ServerTableViewer.publishing.contains(serverId))
-				return syncState[4];
-			
-			// republish
-			int i = 0;
-			if (server.shouldPublish()) {
-				if (((Server)server).isPublishUnknown())
-					return "";
-				i += 2;
-			}
-			
-			if (server.shouldRestart())
-				i = 1;
-			
-			//IServerType serverType = server.getServerType();
-			// TODO: state set
-			//if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED)
-				return syncState[i];
-			//return syncStateUnmanaged[i];
-		} else
-			return "-";
-	}
-
-	protected String notNull(String s) {
-		if (s == null)
-			return "";
-		return s;
-	}
-
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * Returns an image representing the server's state.
-	 * 
-	 * @return org.eclipse.jface.parts.IImage
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected Image getServerStateImage(IServer server) {
-		return getStateImage(server.getServerType(), server.getServerState(), server.getMode());
-	}
-
-	/**
-	 * Returns an image representing the given state.
-	 * 
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	protected Image getStateImage(IServerType serverType, int state, String mode) {
-		return UIDecoratorManager.getUIDecorator(serverType).getStateImage(state, mode, count);
-	}
-	
-	/**
-	 * Returns a string representing the server's state.
-	 *
-	 * @return java.lang.String
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected String getServerStateLabel(IServer server) {
-		return ServerDecorator.getServerStateLabel(server);
-	}
-
-	/**
-	 * Returns a string representing the given state.
-	 *
-	 * @return java.lang.String
-	 * @deprecated
-	 */
-	protected String getStateLabel(IServerType serverType, int state, String mode) {
-		return UIDecoratorManager.getUIDecorator(serverType).getStateLabel(state, mode, count);
-	}
-	
-	protected void animate() {
-		count ++;
-		if (count > 2)
-			count = 0;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
deleted file mode 100644
index 0571f87..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
+++ /dev/null
@@ -1,628 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.*;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.util.PublishAdapter;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.viewers.BaseContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.PlatformUI;
-/**
- * Tree view showing servers and their associations.
- */
-public class ServerTableViewer extends TreeViewer {
-	protected static final String ROOT = "root";
-	protected static Color color;
-	protected static Font font;
-	protected Clipboard clipboard;
-
-	protected IServerLifecycleListener serverResourceListener;
-	protected IPublishListener publishListener;
-	protected IServerListener serverListener;
-
-	protected static Object deletedElement = null;
-
-	// servers that are currently publishing and starting
-	protected static Set<String> publishing = new HashSet<String>(4);
-	protected static Set<String> starting = new HashSet<String>(4);
-
-	protected ServerTableLabelProvider labelProvider;
-	//protected ISelectionListener dsListener;
-
-	protected ServersView view;
-
-	protected boolean animationActive = false;
-	protected boolean stopAnimation = false;
-
-	public class ServerContentProvider extends BaseContentProvider implements ITreeContentProvider {
-		public Object[] getElements(Object element) {
-			List<IServer> list = new ArrayList<IServer>();
-			IServer[] servers = ServerCore.getServers();
-			if (servers != null) {
-				int size = servers.length;
-				for (int i = 0; i < size; i++) {
-					if (!((Server)servers[i]).isPrivate())
-						list.add(servers[i]);
-				}
-			}
-			return list.toArray();
-		}
-
-		public Object[] getChildren(Object element) {
-			if (element instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) element;
-				try {
-					IModule[] children = ms.server.getChildModules(ms.module, null);
-					int size = children.length;
-					ModuleServer[] ms2 = new ModuleServer[size];
-					for (int i = 0; i < size; i++) {
-						int size2 = ms.module.length;
-						IModule[] module = new IModule[size2 + 1];
-						System.arraycopy(ms.module, 0, module, 0, size2);
-						module[size2] = children[i];
-						ms2[i] = new ModuleServer(ms.server, module);
-					}
-					return ms2;
-				} catch (Exception e) {
-					return null;
-				}
-			}
-			
-			IServer server = (IServer) element;
-			IModule[] modules = server.getModules(); 
-			int size = modules.length;
-			ModuleServer[] ms = new ModuleServer[size];
-			for (int i = 0; i < size; i++) {
-				ms[i] = new ModuleServer(server, new IModule[] { modules[i] });
-			}
-			return ms;
-		}
-
-		public Object getParent(Object element) {
-			if (element instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) element;
-				return ms.server;
-			}
-			return null;
-		}
-
-		public boolean hasChildren(Object element) {
-			if (element instanceof ModuleServer) {
-				// Check if the module server has child modules.
-				ModuleServer curModuleServer = (ModuleServer)element;
-				IServer curServer = curModuleServer.server;
-				IModule[] curModule = curModuleServer.module;
-				if (curServer != null &&  curModule != null) {
-					IModule[] curChildModule = curServer.getChildModules(curModule, null);
-					if (curChildModule != null && curChildModule.length > 0)
-						return true;
-					
-					return false;
-				}
-				
-				return false;
-			}
-			
-			IServer server = (IServer) element;
-			return server.getModules().length > 0;
-		}
-	}
-
-	protected void startThread() {
-		if (animationActive)
-			return;
-		
-		stopAnimation = false;
-		
-		final Display display = getTree().getDisplay();
-		final int SLEEP = 200;
-		final Runnable[] animator = new Runnable[1];
-		animator[0] = new Runnable() {
-			public void run() {
-				if (!stopAnimation) {
-					try {
-						labelProvider.animate();
-						
-						int size = 0;
-						String[] servers;
-						synchronized (starting) {
-							size = starting.size();
-							servers = new String[size];
-							starting.toArray(servers);
-						}
-						
-						for (int i = 0; i < size; i++) {
-							IServer server = ServerCore.findServer(servers[i]);
-							if (server != null && getTree() != null && !getTree().isDisposed())
-								updateAnimation(server);
-						}
-					} catch (Exception e) {
-						if (Trace.FINEST) {
-							Trace.trace(Trace.STRING_FINEST, "Error in Servers view animation", e);
-						}
-					}
-					display.timerExec(SLEEP, animator[0]);
-				}
-			}
-		};
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				display.timerExec(SLEEP, animator[0]);
-			}
-		});
-	}
-
-	protected void stopThread() {
-		stopAnimation = true;
-	}
-
-	/**
-	 * ServerTableViewer constructor comment.
-	 * 
-	 * @param view the view 
-	 * @param tree the tree
-	 */
-	public ServerTableViewer(final ServersView view, final Tree tree) {
-		super(tree);
-		this.view = view;
-		clipboard = new Clipboard(tree.getDisplay());
-	}
-	
-	protected void initialize() {
-		ColumnViewerToolTipSupport.enableFor(this);
-		setContentProvider(new ServerContentProvider());
-		labelProvider = new ServerTableLabelProvider();		
-		setLabelProvider(labelProvider);		
-		
-		setComparator(new ServerViewerComparator(labelProvider));
-		
-		setInput(ROOT);
-		addListeners();
-		
-		/*dsListener = new ISelectionListener() {
-			public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-				if (!(selection instanceof IStructuredSelection))
-					return;
-				IStructuredSelection sel = (IStructuredSelection) selection;
-				final Object obj = sel.getFirstElement();
-				IProject proj = null;
-				if (obj instanceof IResource) {
-					IResource res = (IResource) obj;
-					proj = res.getProject();
-				}
-				if (proj == null && obj != null) {
-					try {
-						IResource res = (IResource) Platform.getAdapterManager().getAdapter(obj, IResource.class);
-						if (res != null)
-							proj = res.getProject();
-					} catch (Exception e) {
-						// ignore
-					}
-				}
-				if (proj != null) {
-					final IProject project = proj;
-					final IModule module = ServerUtil.getModule(project);
-					Display.getDefault().asyncExec(new Runnable() {
-						public void run() {
-							if (getTree() == null || getTree().isDisposed())
-								return;
-
-							IServer defaultServer = null;
-							if (module != null)
-								defaultServer = ServerCore.getDefaultServer(module);
-							
-							IServer oldDefaultServer = labelProvider.getDefaultServer();
-							if ((oldDefaultServer == null && defaultServer == null)
-									|| (oldDefaultServer != null && oldDefaultServer.equals(defaultServer)))
-								return;
-							labelProvider.setDefaultServer(defaultServer);
-							
-							if (oldDefaultServer != null)
-								refresh(oldDefaultServer);
-							if (defaultServer != null)
-								refresh(defaultServer);
-						}
-					});
-				}
-			}
-		};
-		view.getViewSite().getPage().addSelectionListener(dsListener);*/
-		
-		if (color == null) {
-			Display display = getControl().getDisplay();
-			color = display.getSystemColor(SWT.COLOR_DARK_GRAY);
-			FontData[] fd = getControl().getFont().getFontData();
-			int size = fd.length;
-			for (int i = 0; i < size; i++)
-				fd[i].setStyle(SWT.ITALIC);
-			font = new Font(display, fd);
-		}
-	}
-
-	protected void handleLabelProviderChanged(LabelProviderChangedEvent event) {
-		Object[] obj = event.getElements();
-		if (obj == null)
-			refresh(true);
-		else {
-			obj = adaptLabelChangeObjects(obj);
-			int size = obj.length;
-			for (int i = 0; i < size; i++)
-				update(obj[i], null);
-		}
-	}
-
-	/**
-	 * Resort the table based on field.
-	 * 
-	 * @param column the column being updated
-	 * @param col
-	 */
-	protected void resortTable(final TreeColumn column, int col) {
-		ServerViewerComparator sorter = (ServerViewerComparator) getComparator();
-		
-		if (col == sorter.getTopPriority())
-			sorter.reverseTopPriority();
-		else
-			sorter.setTopPriority(col);
-		
-		PlatformUI.getWorkbench().getDisplay().asyncExec(
-			new Runnable() {
-				public void run() {
-					refresh();
-					updateDirectionIndicator(column);
-				}
-			});
-	}
-
-	/**
-	 * Update the direction indicator as column is now the primary column.
-	 * 
-	 * @param column
-	 */
-	protected void updateDirectionIndicator(TreeColumn column) {
-		getTree().setSortColumn(column);
-		if (((ServerViewerComparator) getComparator()).getTopPriorityDirection() == ServerViewerComparator.ASCENDING)
-			getTree().setSortDirection(SWT.UP);
-		else
-			getTree().setSortDirection(SWT.DOWN);
-	}
-
-	protected Object[] adaptLabelChangeObjects(Object[] obj) {
-		if (obj == null)
-			return obj;
-		
-		List<Object> list = new ArrayList<Object>();
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			if (obj[i] instanceof IModule) {
-				list.add(obj[i]);
-			} else if (obj[i] instanceof IServer) {
-				list.add(obj[i]);
-			} else if (obj[i] instanceof ModuleServer) {
-				list.add(obj[i]);
-			} else if (obj[i] instanceof IProject) {
-				IProject proj = (IProject) obj[i];
-
-				List<Object> list2 = new ArrayList<Object>();
-				getTreeChildren(list2, view.treeTable);
-				
-				Iterator iterator = list2.iterator();
-				while (iterator.hasNext()) {
-					Object o = iterator.next();
-					if (o instanceof ModuleServer) {
-						ModuleServer ms = (ModuleServer) o;
-						if (proj.equals(ms.module[ms.module.length - 1].getProject()))
-							list.add(ms);
-					}
-				}
-			}
-		}
-		
-		Object[] o = new Object[list.size()];
-		list.toArray(o);
-		return o;
-	}
-
-	private void getTreeChildren(List<Object> list, Widget widget) {
-		Item[] items = getChildren(widget);
-		for (int i = 0; i < items.length; i++) {
-			Item item = items[i];
-			Object data = item.getData();
-			if (data != null)
-				list.add(data);
-			
-			if (getExpanded(item)) {
-				// only recurse if it is expanded - if
-				// not then the children aren't visible
-				getTreeChildren(list, item);
-			}
-		}
-	}
-
-	protected void addListeners() {
-		serverResourceListener = new IServerLifecycleListener() {
-			public void serverAdded(IServer server) {
-				addServer(server);
-				server.addServerListener(serverListener);
-				((Server) server).addPublishListener(publishListener);
-			}
-			public void serverChanged(IServer server) {
-				refreshServer(server);
-			}
-			public void serverRemoved(IServer server) {
-				removeServer(server);
-				server.removeServerListener(serverListener);
-				((Server) server).removePublishListener(publishListener);
-			}
-		};
-		ServerCore.addServerLifecycleListener(serverResourceListener);
-		
-		publishListener = new PublishAdapter() {
-			public void publishStarted(IServer server) {
-				handlePublishChange(server, true);
-			}
-			
-			public void publishFinished(IServer server, IStatus status) {
-				handlePublishChange(server, false);
-			}
-		};
-		
-		serverListener = new IServerListener() {
-			public void serverChanged(ServerEvent event) {
-				if (event == null)
-					return;
-				
-				int eventKind = event.getKind();
-				IServer server = event.getServer();
-				if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) {
-					// server change event
-					if ((eventKind & ServerEvent.STATE_CHANGE) != 0) {
-						refreshServer(server);
-						int state = event.getState();
-						String id = server.getId();
-						if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-							boolean startThread = false;
-							synchronized (starting) {
-								if (!starting.contains(id)) {
-									if (starting.isEmpty())
-										startThread = true;
-									starting.add(id);
-								}
-							}
-							if (startThread)
-								startThread();
-						} else {
-							boolean stopThread = false;
-							synchronized (starting) {
-								if (starting.contains(id)) {
-									starting.remove(id);
-									if (starting.isEmpty())
-										stopThread = true;
-								}
-							}
-							if (stopThread)
-								stopThread();
-						}
-					} else
-						refreshServer(server);
-				} else if ((eventKind & ServerEvent.MODULE_CHANGE) != 0) {
-					// module change event
-					if ((eventKind & ServerEvent.STATE_CHANGE) != 0 || (eventKind & ServerEvent.PUBLISH_STATE_CHANGE) != 0) {
-						refreshServer(server);
-					}
-				}
-			}
-		};
-		
-		// add listeners to servers
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				servers[i].addServerListener(serverListener);
-				((Server) servers[i]).addPublishListener(publishListener);
-			}
-		}
-	}
-
-	/**
-	 * @param server
-	 * @deprecated With the introduction of the CNF this method shouldn't be called
-	 */
-	protected void refreshServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					refresh(server);
-					ISelection sel = ServerTableViewer.this.getSelection();
-					ServerTableViewer.this.setSelection(sel);
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		});
-	}
-
-	protected void handleDispose(DisposeEvent event) {
-		stopThread();
-		//if (dsListener != null)
-		//	view.getViewSite().getPage().removeSelectionListener(dsListener);
-		
-		ServerCore.removeServerLifecycleListener(serverResourceListener);
-		
-		// remove listeners from server
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (serverListener != null)
-					servers[i].removeServerListener(serverListener);
-				if (publishListener != null)
-					((Server) servers[i]).removePublishListener(publishListener);
-			}
-		}
-		
-		clipboard.dispose();
-		
-		super.handleDispose(event);
-	}
-
-	/**
-	 * Called when the publish state changes.
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected void handlePublishChange(IServer server, boolean isPublishing) {
-		String serverId = server.getId();
-		if (isPublishing)
-			publishing.add(serverId);
-		else
-			publishing.remove(serverId);
-	
-		refreshServer(server);
-	}
-	
-	/**
-	 * 
-	 */
-	protected void handleServerModulesChanged(IServer server2) {
-		if (server2 == null)
-			return;
-
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (server2.equals(servers[i]))
-					refresh(servers[i]);
-			}
-		}
-	}
-	
-	/**
-	 * Called when an element is added.
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected void handleServerResourceAdded(IServer server) {
-		add(null, server);
-	}
-	
-	/*protected void handleServerResourceAdded(IServerConfiguration configuration) {
-		configurationChange(configuration, true);
-	}*/
-	
-	/**
-	 * Called when an element is changed.
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected void handleServerResourceChanged(IServer server) {
-		refresh(server);
-	}
-	
-	/*protected void handleServerResourceChanged(IServerConfiguration configuration) {
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				IServerConfiguration config = servers[i].getServerConfiguration();
-				if (configuration.equals(config))
-					refresh(servers[i]);
-			}
-		}
-	}*/
-	
-	/**
-	 * Called when an element is removed.
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
-	protected void handleServerResourceRemoved(IServer server) {
-		remove(server);
-
-		String serverId = server.getId();
-		publishing.remove(serverId);
-
-		view.getViewSite().getActionBars().getStatusLineManager().setMessage(null, null);
-	}
-
-	/*protected void handleServerResourceRemoved(IServerConfiguration configuration) {
-		configurationChange(configuration, false);
-	}*/
-
-	protected void addServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				add(ROOT, server);
-			}
-		});
-	}
-
-	protected void removeServer(final IServer server) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				remove(server);
-			}
-		});
-	}
-
-	public void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-		if (widget instanceof TreeItem && color != null) {
-			TreeItem item = (TreeItem) widget;
-			if (element instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) element;
-				IModule m = ms.module[ms.module.length-1];
-				if (m.isExternal())
-					item.setForeground(color);
-				else
-					item.setForeground(null);
-				if (ms.server.getModulePublishState(ms.module) != IServer.PUBLISH_STATE_NONE)
-					item.setFont(0, font);
-				else
-					item.setFont(0, null);
-			}
-		}
-		super.doUpdateItem(widget, element, fullMap);
-	}
-
-	protected void updateAnimation(IServer server) {
-		try {
-			Widget widget = doFindItem(server);
-			TreeItem item = (TreeItem) widget;
-			item.setText(1, labelProvider.getColumnText(server, 1));
-			item.setImage(1, labelProvider.getColumnImage(server, 1));
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Error in optimized animation", e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTransfer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTransfer.java
deleted file mode 100644
index 64ccc06..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTransfer.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.IMemento;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.XMLMemento;
-/*
- * The element serialization format is:
- *  (int) number of servers
- * Then, the following for each server:
- *  (String) id
- */
-public class ServerTransfer extends ByteArrayTransfer {
-	private static final ServerTransfer instance = new ServerTransfer();
-
-	// Create a unique ID to make sure that different Eclipse
-	// applications use different "types" of <code>JavaElementTransfer</code>
-	private static final String TYPE_NAME = "server-transfer-format:" + System.currentTimeMillis() + ":" + instance.hashCode();
-
-	private static final int TYPEID = registerType(TYPE_NAME);
-
-	private ServerTransfer() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the singleton instance.
-	 *
-	 * @return the singleton instance
-	 */
-	public static ServerTransfer getInstance() {
-		return instance;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Transfer.
-	 */
-	protected int[] getTypeIds() {
-		return new int[] { TYPEID };
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Transfer.
-	 */
-	protected String[] getTypeNames() {
-		return new String[] { TYPE_NAME };
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.dnd.Transfer#javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)
-	 */
-	protected void javaToNative(Object data, TransferData transferData) {
-		if (!(data instanceof IServer[]))
-			return;
-		
-		IServer[] servers = (IServer[]) data;
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			
-			XMLMemento memento = XMLMemento.createWriteRoot("servers");
-			
-			// write each element
-			for (int i = 0; i < servers.length; i++) {
-				IMemento child = memento.createChild("server");
-				((Server)servers[i]).serialize(child);
-			}
-			
-			memento.save(out);
-			
-			// cleanup
-			out.close();
-			byte[] bytes = out.toByteArray();
-			super.javaToNative(bytes, transferData);
-		} catch (IOException e) {
-			// it's best to send nothing if there were problems
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.dnd.Transfer#nativeToJava(org.eclipse.swt.dnd.TransferData)
-	 */
-	protected Object nativeToJava(TransferData transferData) {
-		byte[] bytes = (byte[]) super.nativeToJava(transferData);
-		if (bytes == null)
-			return null;
-		ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-		try {
-			IMemento memento = XMLMemento.loadMemento(in);
-			IMemento[] children = memento.getChildren("server");
-			
-			int count = children.length;
-			IServer[] results = new IServer[count];
-			for (int i = 0; i < count; i++) {
-				Server server = new Server(null);
-				server.deserialize(children[i]);
-				results[i] = server;
-			}
-			return results;
-		} catch (Exception e) {
-			DND.error(DND.ERROR_INVALID_DATA);
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerViewerComparator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerViewerComparator.java
deleted file mode 100644
index 40db302..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerViewerComparator.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.view.servers;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-
-public class ServerViewerComparator extends ViewerComparator {
-	public static final int MAX_DEPTH = 3;
-	public static final int ASCENDING = 1;
-	public static final int DESCENDING = -1;
-
-	protected ServerTableLabelProvider labelProvider;
-
-	protected int[] priorities = new int[] { 0 };
-
-	protected int[] directions = new int[] { ASCENDING };
-
-	public ServerViewerComparator(ServerTableLabelProvider labelProvider) {
-		this.labelProvider = labelProvider;
-	}
-
-	public void setTopPriority(int priority) {
-		if (priorities[0] == priority)
-			return;
-		
-		int len = priorities.length + 1;
-		if (len > MAX_DEPTH)
-			len = MAX_DEPTH;
-		
-		int[] temp = new int[len];
-		System.arraycopy(priorities, 0, temp, 1, len - 1);
-		temp[0] = priority;
-		priorities = temp;
-		
-		temp = new int[len];
-		System.arraycopy(directions, 0, temp, 1, len - 1);
-		temp[0] = ASCENDING;
-		directions = temp;
-	}
-
-	public int getTopPriority() {
-		return priorities[0];
-	}
-
-	public void setTopPriorityDirection(int direction) {
-		if (direction == ASCENDING || direction == DESCENDING) {
-			directions[0] = direction;
-		}
-	}
-
-	public int getTopPriorityDirection() {
-		return directions[0];
-	}
-
-	public void reverseTopPriority() {
-		directions[0] *= -1;
-	}
-
-	public int compare(Viewer viewer, Object e1, Object e2, int a) {
-		int col = priorities[a];
-		
-		String s1 = labelProvider.getColumnText(e1, col);
-		String s2 = labelProvider.getColumnText(e2, col);
-		
-		int s = s1.compareToIgnoreCase(s2) * directions[a];
-		if (s == 0) {
-			if (a == priorities.length - 1)
-				return 0;
-			return compare(viewer, e1, e2, a+1);
-		}
-		return s;
-	}
-
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		return compare(viewer, e1, e2, 0);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
deleted file mode 100644
index 7dd16ac..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
+++ /dev/null
@@ -1,458 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.bindings.TriggerSequence;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.contexts.IContextService;
-import org.eclipse.ui.keys.IBindingService;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.actions.NewServerWizardAction;
-/**
- * A view of servers, their modules, and status.
- */
-public class ServersView extends ViewPart {
-	private static final String TAG_COLUMN_WIDTH = "columnWidth";
-	private static final String SERVERS_VIEW_CONTEXT = "org.eclipse.ui.serverViewScope";
-
-	protected Action noneAction = new Action(Messages.dialogMonitorNone) {
-		// dummy action
-	};
-
-	protected int[] cols;
-
-	protected Tree treeTable;
-	protected ServerTableViewer tableViewer;
-
-	// actions on a server
-	protected Action[] actions;
-	protected Action actionModifyModules;
-	protected Action openAction, showInConsoleAction, showInDebugAction, propertiesAction, monitorPropertiesAction, globalDeleteAction;
-	protected Action copyAction, pasteAction, deleteAction, renameAction;
-
-	/**
-	 * ServersView constructor comment.
-	 */
-	public ServersView() {
-		super();
-	}
-
-	protected SelectionListener getHeaderListener(final int col) {
-		return new SelectionAdapter() {
-			/**
-			 * Handles the case of user selecting the header area.
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				if (tableViewer == null)
-					return;
-				TreeColumn column = (TreeColumn) e.widget;
-				tableViewer.resortTable(column, col);
-			}
-		};
-	}
-
-	/**
-	 * createPartControl method comment.
-	 * 
-	 * @param parent a parent composite
-	 */
-	public void createPartControl(Composite parent) {
-		treeTable = new Tree(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-		treeTable.setHeaderVisible(true);
-		treeTable.setLinesVisible(false);
-		treeTable.setLayoutData(new GridData(GridData.FILL_BOTH));
-		treeTable.setFont(parent.getFont());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(treeTable, ContextIds.VIEW_SERVERS);
-		
-		// add columns
-		TreeColumn column = new TreeColumn(treeTable, SWT.SINGLE);
-		column.setText(Messages.viewServer);
-		column.setWidth(cols[0]);
-		column.addSelectionListener(getHeaderListener(0));
-		treeTable.setSortColumn(column);
-		treeTable.setSortDirection(SWT.UP);
-		
-		TreeColumn column2 = new TreeColumn(treeTable, SWT.SINGLE);
-		column2.setText(Messages.viewState);
-		column2.setWidth(cols[1]);
-		column2.addSelectionListener(getHeaderListener(1));
-		
-		TreeColumn column3 = new TreeColumn(treeTable, SWT.SINGLE);
-		column3.setText(Messages.viewStatus);
-		column3.setWidth(cols[2]);
-		column3.addSelectionListener(getHeaderListener(2));
-		
-		IContextService contextSupport = (IContextService)getSite().getService(IContextService.class);
-		contextSupport.activateContext(SERVERS_VIEW_CONTEXT);
-		
-		deferInitialization();
-	}
-
-	private void deferInitialization() {
-		TreeItem item = new TreeItem(treeTable, SWT.NONE);
-		item.setText(Messages.viewInitializing);
-		
-		tableViewer = new ServerTableViewer(this, treeTable);
-		initializeActions(tableViewer);
-		
-		Job job = new Job(Messages.jobInitializingServersView) {
-			public IStatus run(IProgressMonitor monitor) {
-				IServer[] servers = ServerCore.getServers();
-				int size = servers.length;
-				for (int i = 0; i < size; i++) {
-					((Server)servers[i]).getAllModules().iterator();
-					/*while (iterator.hasNext()) {
-						Module module = (Module) iterator.next();
-						module.g
-					}*/
-				}
-				
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						try {
-							deferredInitialize();
-						} catch (Exception e) {
-							// ignore - view has already been closed
-						}
-					}
-				});
-				return Status.OK_STATUS;
-			}
-		};
-		
-		job.setSystem(true);
-		job.setPriority(Job.SHORT);
-		job.schedule();
-	}
-
-	protected void deferredInitialize() {
-		tableViewer.initialize();
-		tableViewer.addOpenListener(new IOpenListener() {
-			public void open(OpenEvent event) {
-				try {
-					IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-					Object data = sel.getFirstElement();
-					if (!(data instanceof IServer))
-						return;
-					IServer server = (IServer) data;
-					ServerUIPlugin.editServer(server);
-				} catch (Exception e) {
-					if (Trace.SEVERE) {
-						Trace.trace(Trace.STRING_SEVERE, "Could not open server", e);
-					}
-				}
-			}
-		});
-		
-		MenuManager menuManager = new MenuManager("#PopupMenu");
-		menuManager.setRemoveAllWhenShown(true);
-		final Shell shell = treeTable.getShell();
-		menuManager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				fillContextMenu(shell, mgr);
-			}
-		});
-		Menu menu = menuManager.createContextMenu(treeTable);
-		treeTable.setMenu(menu);
-		getSite().registerContextMenu(menuManager, tableViewer);
-		getSite().setSelectionProvider(tableViewer);
-		
-		initDragAndDrop();
-		
-		// init the tooltip
-		ServerToolTip toolTip = new ServerToolTip(treeTable);
-		toolTip.setShift(new Point(10, 3));
-		toolTip.setPopupDelay(400); // in ms
-		toolTip.setHideOnMouseDown(true);
-		toolTip.activate();
-		
-		if (tableViewer.getTree().getItemCount() > 0) {
-			Object obj = tableViewer.getTree().getItem(0).getData();
-			tableViewer.setSelection(new StructuredSelection(obj));
-		}
-		
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(5000);
-				} catch (Exception e) {
-					// ignore
-				}
-				IServer[] servers = ServerCore.getServers();
-				int size = servers.length;
-				for (int i = 0; i < size; i++) {
-					IServer server = servers[i];
-					if (server.getServerType() != null && server.getServerState() == IServer.STATE_UNKNOWN) {
-//						UpdateServerJob job = new UpdateServerJob(server);
-// 						job.schedule();
-					}
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.setPriority(Thread.MIN_PRIORITY + 1);
-		thread.start();
-	}
-
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		cols = new int[3];
-		for (int i = 0; i < 3; i++) {
-			cols[i] = 200;
-			if (memento != null) {
-				Integer in = memento.getInteger(TAG_COLUMN_WIDTH + i);
-				if (in != null && in.intValue() > 5)
-					cols[i] = in.intValue();
-			}
-		}
-	}
-
-	public void saveState(IMemento memento) {
-		TreeColumn[] tc = treeTable.getColumns();
-		for (int i = 0; i < 3; i++) {
-			int width = tc[i].getWidth();
-			if (width != 0)
-				memento.putInteger(TAG_COLUMN_WIDTH + i, width);
-		}
-	}
-
-	/**
-	 * Initialize actions
-	 * 
-	 * @param provider a selection provider
-	 */
-	public void initializeActions(ISelectionProvider provider) {
-		Shell shell = getSite().getShell();
-		IActionBars actionBars = getViewSite().getActionBars();
-		
-		actions = new Action[6];
-		// create the start actions
-		actions[0] = new StartAction(shell, provider, ILaunchManager.DEBUG_MODE);
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.debug", actions[0]);
-		actions[1] = new StartAction(shell, provider, ILaunchManager.RUN_MODE);
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.run", actions[1]);
-		actions[2] = new StartAction(shell, provider, ILaunchManager.PROFILE_MODE);
-		
-		// create the stop action
-		actions[3] = new StopAction(shell, provider);
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.stop", actions[3]);
-		
-		// create the publish actions
-		actions[4] = new PublishAction(shell, provider);
-		actionBars.setGlobalActionHandler("org.eclipse.wst.server.publish", actions[4]);
-		actions[5] = new PublishCleanAction(shell, provider);
-		
-		// create the open action
-		openAction = new OpenAction(provider);
-		actionBars.setGlobalActionHandler("org.eclipse.ui.navigator.Open", openAction);
-		
-		// create copy, paste, and delete actions
-		pasteAction = new PasteAction(shell, provider, tableViewer.clipboard);
-		copyAction = new CopyAction(provider, tableViewer.clipboard, pasteAction);
-		deleteAction = new DeleteAction(shell, provider);
-		// Create a second delete action that can act in modules, when the delete key is pressed
-		// the old DeleteAction only works for servers see bug# 286960
-		globalDeleteAction = new GlobalDeleteAction(shell, provider);
-		renameAction = new RenameAction(shell, tableViewer, provider);
-		actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
-		actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction);
-		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), globalDeleteAction);
-		actionBars.setGlobalActionHandler(ActionFactory.RENAME.getId(), renameAction);
-		
-		// create the other actions
-		actionModifyModules = new ModuleSloshAction(shell, provider);
-		showInConsoleAction = new ShowInConsoleAction(provider);
-		showInDebugAction = new ShowInDebugAction(provider);
-		
-		// create the properties action
-		propertiesAction = new PropertiesAction(shell, provider);
-		actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), propertiesAction);
-		monitorPropertiesAction = new PropertiesAction(shell, "org.eclipse.wst.server.ui.properties.monitor", provider);
-		
-		// add toolbar buttons
-		IContributionManager cm = actionBars.getToolBarManager();
-		for (int i = 0; i < actions.length - 1; i++)
-			cm.add(actions[i]);
-		
-		cm.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	private static void fillNewContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		IAction newServerAction = new NewServerWizardAction();
-		newServerAction.setText(Messages.actionNewServer);
-		menu.add(newServerAction);
-	}
-
-	protected void fillContextMenu(Shell shell, IMenuManager menu) {
-		// get selection but avoid no selection or multiple selection
-		IServer server = null;
-		IModule[] module = null;
-		IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
-		if (!selection.isEmpty()) {
-			Iterator iterator = selection.iterator();
-			Object obj = iterator.next();
-			if (obj instanceof IServer)
-				server = (IServer) obj;
-			if (obj instanceof ModuleServer) {
-				ModuleServer ms = (ModuleServer) obj;
-				server = ms.server;
-				module = ms.module;
-			}
-			if (iterator.hasNext()) {
-				server = null;
-				module = null;
-			}
-		}
-		
-		// new action
-		MenuManager newMenu = new MenuManager(Messages.actionNew);
-		fillNewContextMenu(null, selection, newMenu);
-		menu.add(newMenu);
-		
-		// open action
-		if (server != null && module == null) {
-			menu.add(openAction);
-			
-			String text = Messages.actionShowIn;
-			final IWorkbench workbench = PlatformUI.getWorkbench();
-			final IBindingService bindingService = (IBindingService) workbench
-					.getAdapter(IBindingService.class);
-			final TriggerSequence[] activeBindings = bindingService
-					.getActiveBindingsFor("org.eclipse.ui.navigate.showInQuickMenu");
-			if (activeBindings.length > 0) {
-				text += "\t" + activeBindings[0].format();
-			}
-			
-			MenuManager showInMenu = new MenuManager(text);
-			showInMenu.add(showInConsoleAction);
-			showInMenu.add(showInDebugAction);
-			//IActionBars actionBars = getViewSite().getActionBars();
-			//actionBars.setGlobalActionHandler("group.show", showInMenu);
-			menu.add(showInMenu);
-			menu.add(new Separator());
-		} else
-			menu.add(new Separator());
-		
-		if (server != null) {
-			if (module == null) {
-				menu.add(copyAction);
-				menu.add(pasteAction);
-				menu.add(deleteAction);
-				menu.add(renameAction);
-			} else if (module.length == 1)
-				menu.add(new RemoveModuleAction(shell, server, module[0]));
-			menu.add(new Separator());
-		}
-		
-		if (server != null && module == null) {
-			// server actions
-			for (int i = 0; i < actions.length; i++)
-				menu.add(actions[i]);
-			
-			menu.add(new Separator());
-			menu.add(actionModifyModules);
-			
-			// monitor
-			if (server.getServerType() != null) {
-				final MenuManager menuManager = new MenuManager(Messages.actionMonitor);
-				
-				final IServer server2 = server;
-				final Shell shell2 = shell;
-				menuManager.addMenuListener(new IMenuListener() {
-					public void menuAboutToShow(IMenuManager manager) {
-						menuManager.removeAll();
-						if (server2.getAdapter(ServerDelegate.class) != null) {
-							ServerPort[] ports = server2.getServerPorts(null);
-							if (ports != null) {
-								int size = ports.length;
-								for (int i = 0; i < size; i++) {
-									if (!ports[i].isAdvanced())
-										menuManager.add(new MonitorServerPortAction(shell2, server2, ports[i]));
-								}
-							}
-						}
-						
-						if (menuManager.isEmpty())
-							menuManager.add(noneAction);
-						
-						menuManager.add(new Separator());
-						menuManager.add(monitorPropertiesAction);
-					}
-				});
-				
-				// add an initial menu item so that the menu appears correctly
-				noneAction.setEnabled(false);
-				menuManager.add(noneAction);
-				menu.add(menuManager);
-			}
-		}
-		
-		if (server != null && module != null) {
-			menu.add(new Separator());
-			menu.add(new StartModuleAction(server, module));
-			menu.add(new StopModuleAction(server, module));			
-			menu.add(new RestartModuleAction(server, module));
-		}
-		
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS+"-end"));
-		
-		if (server != null) {
-			menu.add(new Separator());
-			menu.add(propertiesAction);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void setFocus() {
-		if (treeTable != null)
-			treeTable.setFocus();
-	}
-
-	/**
-    * Adds drag and drop support to the Servers view.
-    */
-   protected void initDragAndDrop() {
-		int ops = DND.DROP_COPY;
-		Transfer[] transfers = new Transfer[] { LocalSelectionTransfer.getInstance(),
-			ResourceTransfer.getInstance(), FileTransfer.getInstance() };
-		//tableViewer.addDragSupport(ops, transfers, new ServersViewDragAdapter(viewer));
-		tableViewer.addDropSupport(ops | DND.DROP_DEFAULT, transfers, new ServersViewDropAdapter(tableViewer));
-   }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java
deleted file mode 100644
index c8a04a4..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerDropAdapter;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-/**
- *
- */
-public class ServersViewDropAdapter extends ViewerDropAdapter {
-	protected ServersViewDropAdapter(Viewer viewer) {
-		super(viewer);
-	}
-
-	public void dragEnter(DropTargetEvent event) {
-		if (event.detail == DND.DROP_DEFAULT)
-			event.detail = DND.DROP_COPY;
-
-		super.dragEnter(event);
-	}
-
-	public boolean performDrop(Object data) {
-		Object target = getCurrentTarget();
-		IServer server = null;
-		if (target instanceof IServer)
-			server = (IServer) target;
-		
-		if (server == null)
-			return false;
-		
-		Iterator iterator = null;
-		if (data instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection) data;
-			iterator = sel.iterator();
-		}
-		
-		if (iterator == null)
-			return false;
-		
-		boolean b = true;
-		while (iterator.hasNext()) {
-			Object data2 = iterator.next();
-			if (!doSel(server, data2))
-				b = false;
-		}
-		return b;
-	}
-
-	protected boolean doSel(IServer server, Object data) {
-		// check if the selection is a project (module) that we can add to the server
-		IProject project = (IProject) Platform.getAdapterManager().getAdapter(data, IProject.class);
-		if (project != null) {
-			IModule[] modules = ServerUtil.getModules(project);
-			if (modules != null && modules.length == 1) {
-				try {
-					IServerWorkingCopy wc = server.createWorkingCopy();
-					IModule[] parents = wc.getRootModules(modules[0], null);
-					if (parents == null || parents.length == 0)
-						return false;
-					
-					if (ServerUtil.containsModule(server, parents[0], null))
-						return false;
-					
-					IModule[] add = new IModule[] { parents[0] };
-					if (wc.canModifyModules(add, null, null).getSeverity() != IStatus.ERROR) {
-						wc.modifyModules(modules, null, null);
-						wc.save(false, null);
-						return true;
-					}
-				} catch (final CoreException ce) {
-					final Shell shell = getViewer().getControl().getShell();
-					shell.getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							EclipseUtil.openError(shell, ce.getLocalizedMessage());
-						}
-					});
-					return true;
-				}
-			}
-		}
-		
-		// otherwise, try Run on Server
-		final IServer finalServer = server;
-		RunOnServerActionDelegate ros = new RunOnServerActionDelegate() {
-			public IServer getServer(IModule module, IModuleArtifact moduleArtifact, IProgressMonitor monitor) throws CoreException {
-				if (!ServerUIPlugin.isCompatibleWithLaunchMode(finalServer, launchMode))
-					return null;
-				
-				if (!ServerUtil.containsModule(finalServer, module, monitor)) {
-					IServerWorkingCopy wc = finalServer.createWorkingCopy();
-					try {
-						ServerUtil.modifyModules(wc, new IModule[] { module }, new IModule[0], monitor);
-						wc.save(false, monitor);
-					} catch (CoreException ce) {
-						throw ce;
-					}
-				}
-				
-				return finalServer;
-			}
-		};
-		Action action = new Action() {
-			//
-		};
-		ros.selectionChanged(action, new StructuredSelection(data));
-		
-		//if (!action.isEnabled())
-		//	return false;
-		
-		ros.run(action);
-		return true;
-	}
-
-	public boolean validateDrop(Object target, int operation, TransferData transferType) {
-		if (target == null)
-			return false;
-		/*IServer server = null;
-		if (target instanceof IServer)
-			server = (IServer) target;*/
-		//if (!ServerUIPlugin.hasModuleArtifact(target))
-		//	return false;
-		
-		if (Trace.FINER) {
-			Trace.trace(Trace.STRING_FINER, "Drop target: " + target + " " + operation + " " + transferType);
-		}
-		
-		if (FileTransfer.getInstance().isSupportedType(transferType))
-			return true;
-		if (ResourceTransfer.getInstance().isSupportedType(transferType))
-			return true;
-		if (LocalSelectionTransfer.getInstance().isSupportedType(transferType))
-			return true;
-		
-		return false;
-	}
-
-	/**
-    * Returns the resource selection from the LocalSelectionTransfer.
-    * 
-    * @return the resource selection from the LocalSelectionTransfer
-    */
-   /*private IResource[] getSelectedResources() {
-       ArrayList selectedResources = new ArrayList();
-
-       ISelection selection = LocalSelectionTransfer.getInstance()
-               .getSelection();
-       if (selection instanceof IStructuredSelection) {
-           IStructuredSelection ssel = (IStructuredSelection) selection;
-           for (Iterator i = ssel.iterator(); i.hasNext();) {
-               Object o = i.next();
-               if (o instanceof IResource) {
-                   selectedResources.add(o);
-               }
-               else if (o instanceof IAdaptable) {
-                   IAdaptable a = (IAdaptable) o;
-                   IResource r = (IResource) a.getAdapter(IResource.class);
-                   if (r != null) {
-                       selectedResources.add(r);
-                   }
-               }
-           }
-       }
-       return (IResource[]) selectedResources.toArray(new IResource[selectedResources.size()]);
-   }*/
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInConsoleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInConsoleAction.java
deleted file mode 100644
index 62e3eae..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInConsoleAction.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.*;
-import org.eclipse.ui.console.*;
-import org.eclipse.ui.views.IViewDescriptor;
-import org.eclipse.ui.views.IViewRegistry;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * "Show in Console" menu action.
- */
-public class ShowInConsoleAction extends AbstractServerAction {
-	/**
-	 * ShowInConsoleAction constructor.
-	 * 
-	 * @param sp a selection provider
-	 */
-	public ShowInConsoleAction(ISelectionProvider sp) {
-		super(sp, "Console");
-		
-		IViewRegistry reg = PlatformUI.getWorkbench().getViewRegistry();
-		IViewDescriptor desc = reg.find(IConsoleConstants.ID_CONSOLE_VIEW);
-		setText(desc.getLabel());
-		setImageDescriptor(desc.getImageDescriptor());
-	}
-
-	public boolean accept(IServer server) {
-		return (server.getServerType() != null 
-				&& server.getServerState() != IServer.STATE_STOPPED
-				&& server.getLaunch() != null 
-				&& server.getLaunch().getProcesses() != null
-				&& server.getLaunch().getProcesses().length >= 1);
-	}
-
-	public void perform(IServer server) {
-		try {
-			ILaunch launch = server.getLaunch();
-			selectProcess(launch.getProcesses()[0]);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error opening console", e);
-			}
-		}
-	}
-
-	protected void selectProcess(IProcess process) {
-		// see bug 250999 - debug UI must be loaded before looking for debug consoles
-		org.eclipse.debug.ui.console.IConsole.class.toString();
-		
-		IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
-		IConsole[] consoles = consoleManager.getConsoles();
-		int size = consoles.length;
-		IConsole console = null;
-		for (int i = 0; i < size; i++) {
-			if (consoles[i] instanceof org.eclipse.debug.ui.console.IConsole) {
-				org.eclipse.debug.ui.console.IConsole con = (org.eclipse.debug.ui.console.IConsole) consoles[i];
-				if (process.equals(con.getProcess()))
-					console = consoles[i];
-			}
-		}
-		
-		if (console == null)
-			return;
-		
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow() ;
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IWorkbenchPart part = page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
-				if (part == null) {
-					try {
-						part = page.showView(IConsoleConstants.ID_CONSOLE_VIEW);
-					} catch (PartInitException e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Could not open console view");
-						}
-					}
-				}
-				if (part != null) {
-					page.activate(part);
-					IConsoleView view = (IConsoleView) part.getAdapter(IConsoleView.class);
-					if (view != null) {
-						view.setFocus();
-						view.display(console);
-					}
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInDebugAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInDebugAction.java
deleted file mode 100644
index 415bf50..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInDebugAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.IViewDescriptor;
-import org.eclipse.ui.views.IViewRegistry;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * "Show in Console" menu action.
- */
-public class ShowInDebugAction extends AbstractServerAction {
-	/**
-	 * ShowInConsoleAction constructor.
-	 * 
-	 * @param sp a selection provider
-	 */
-	public ShowInDebugAction(ISelectionProvider sp) {
-		super(sp, "Console!");
-		
-		IViewRegistry reg = PlatformUI.getWorkbench().getViewRegistry();
-		IViewDescriptor desc = reg.find(IDebugUIConstants.ID_DEBUG_VIEW);
-		setText(desc.getLabel());
-		setImageDescriptor(desc.getImageDescriptor());
-	}
-
-	public boolean accept(IServer server) {
-		return (server.getServerType() != null && server.getServerState() != IServer.STATE_STOPPED);
-	}
-
-	public void perform(IServer server) {
-		try {
-			ILaunch launch = server.getLaunch();
-			selectProcess(launch.getProcesses()[0]);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error showing in debug", e);
-			}
-		}
-	}
-
-	protected void selectProcess(IProcess process) {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow() ;
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IWorkbenchPart part = page.findView(IDebugUIConstants.ID_DEBUG_VIEW);
-				if (part == null) {
-					try {
-						part = page.showView(IDebugUIConstants.ID_DEBUG_VIEW);
-					} catch (PartInitException e) {
-						if (Trace.SEVERE) {
-							Trace.trace(Trace.STRING_SEVERE, "Could not open debug view");
-						}
-					}
-				}
-				if (part != null) {
-					IDebugView view = (IDebugView)part.getAdapter(IDebugView.class);
-					if (view != null) {
-						view.setFocus();
-						Viewer viewer = view.getViewer();
-						if (viewer != null) {
-							viewer.setSelection(new StructuredSelection(process));
-						}
-					}
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInMenuAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInMenuAction.java
deleted file mode 100644
index d133f83..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInMenuAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * "ShowInMenuAction" menu action.
- */
-public class ShowInMenuAction extends Action {
-	/**
-	 * ShowInMenuAction constructor.
-	 * 
-	 * @param sp a selection provider
-	 */
-	public ShowInMenuAction(final ISelectionProvider sp) {
-		super(Messages.actionShowIn);
-		
-		setActionDefinitionId("org.eclipse.ui.navigate.showInQuickMenu");
-		setMenuCreator(new IMenuCreator() {
-			private MenuManager menuManager;
-			public void dispose() {
-				if (menuManager != null)
-					menuManager.dispose();
-			}
-
-			public Menu getMenu(Control parent) {
-				return getMenuManager().createContextMenu(parent);
-			}
-
-			public Menu getMenu(Menu parent) {
-				//return getMenuManager().createContextMenu(parent.getShell());
-				return null;
-			}
-			
-			private MenuManager getMenuManager() {
-				if (menuManager != null)
-					return menuManager;
-				
-				menuManager = new MenuManager(Messages.actionShowIn);
-				menuManager.add(new ShowInConsoleAction(sp));
-				menuManager.add(new ShowInDebugAction(sp));
-				return menuManager;
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java
deleted file mode 100644
index 2dc5453..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServer.IOperationListener;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager;
-import org.eclipse.swt.widgets.Shell;
-/**
- * Start a server.
- */
-public class StartAction extends AbstractServerAction {
-	protected String launchMode = ILaunchManager.RUN_MODE;
-	
-	public StartAction(Shell shell, ISelectionProvider selectionProvider, String launchMode) {
-		super(shell, selectionProvider, "start");
-		this.launchMode = launchMode;
-		if (launchMode == ILaunchManager.RUN_MODE) {
-			setToolTipText(Messages.actionStartToolTip);
-			setText(Messages.actionStart);
-			setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START));
-			setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START));
-			setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START));
-			setActionDefinitionId("org.eclipse.wst.server.run");
-		} else if (launchMode == ILaunchManager.DEBUG_MODE) {
-			setToolTipText(Messages.actionDebugToolTip);
-			setText(Messages.actionDebug);
-			setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_DEBUG));
-			setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_DEBUG));
-			setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_DEBUG));
-			setActionDefinitionId("org.eclipse.wst.server.debug");
-		} else if (launchMode == ILaunchManager.PROFILE_MODE) {
-			setToolTipText(Messages.actionProfileToolTip);
-			setText(Messages.actionProfile);
-			setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_PROFILE));
-			setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_PROFILE));
-			setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_PROFILE));
-		}
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Update the name of the Action label, depending on the status of the server.
-	 * @param sel the IStructuredSelection from the view
-	 */
-	private void updateText(IStructuredSelection sel){
-		if (this.launchMode == ILaunchManager.RUN_MODE) {
-			if (sel.isEmpty()) {
-				setText(Messages.actionStart);
-				return;
-			}
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof IServer) {
-					IServer server = (IServer) obj;
-					if (server.getServerState() == IServer.STATE_STARTED ||
-						 server.getServerState() == IServer.STATE_STARTING) {
-						setText(Messages.actionRestart);
-						setToolTipText(Messages.actionRestartToolTip);
-					} else {
-						setText(Messages.actionStart);
-						setToolTipText(Messages.actionStartToolTip);
-					}
-				}
-			}	
-		} else if (this.launchMode == ILaunchManager.DEBUG_MODE) {
-			if (sel.isEmpty()) {
-				setText(Messages.actionDebug);
-				return;
-			}
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof IServer) {
-					IServer server = (IServer) obj;
-					if (server.getServerState() == IServer.STATE_STARTED ||
-						 server.getServerState() == IServer.STATE_STARTING) {
-						setText(Messages.actionDebugRestart);
-						setToolTipText(Messages.actionDebugRestartToolTip);
-					} else {
-						setText(Messages.actionDebug);
-						setToolTipText(Messages.actionDebugToolTip);
-					}
-				}
-			}
-		} else if (this.launchMode == ILaunchManager.PROFILE_MODE) {
-			if (sel.isEmpty()) {
-				setText(Messages.actionProfile);
-				return;
-			}
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof IServer) {
-					IServer server = (IServer) obj;
-					if (server.getServerState() == IServer.STATE_STARTED ||
-						 server.getServerState() == IServer.STATE_STARTING) {
-						setText(Messages.actionProfileRestart);
-						setToolTipText(Messages.actionProfileRestartToolTip);
-					} else {
-						setText(Messages.actionProfile);
-						setToolTipText(Messages.actionProfileToolTip);
-					}
-				}
-			}
-		}		
-	}
-	
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server a server
-	 */
-	public boolean accept(IServer server) {
-		if (server.getServerState() != IServer.STATE_STARTED) { // start
-			return server.canStart(launchMode).isOK();
-		}
-		// restart
-		String mode2 = launchMode;
-		if (mode2 == null)
-			mode2 = server.getMode();
-		return server.getServerType() != null && UIDecoratorManager.getUIDecorator(server.getServerType()).canRestart() && server.canRestart(mode2).isOK();
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server a server
-	 */
-	public void perform(IServer server) {
-		start(server, launchMode, shell);
-	}
-
-	public static void start(IServer server, String launchMode, final Shell shell) {
-		if (server.getServerState() != IServer.STATE_STARTED) {
-			if (!ServerUIPlugin.saveEditors())
-				return;
-			
-			/*final IAdaptable info = new IAdaptable() {
-				public Object getAdapter(Class adapter) {
-					if (Shell.class.equals(adapter))
-						return shell;
-					return null;
-				}
-			};*/
-			server.start(launchMode, (IOperationListener)null);
-		} else {
-			if (shell != null && !ServerUIPlugin.promptIfDirty(shell, server))
-				return;
-			
-			try {
-				String launchMode2 = launchMode;
-				if (launchMode2 == null)
-					launchMode2 = server.getMode();
-				server.restart(launchMode2, (IOperationListener) null);
-			} catch (Exception e) {
-				if (Trace.SEVERE) {
-					Trace.trace(Trace.STRING_SEVERE, "Error restarting server", e);
-				}
-			}
-		}
-	}
-
-	public void selectionChanged(IStructuredSelection sel) {
-		super.selectionChanged(sel);
-		updateText(sel);		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartModuleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartModuleAction.java
deleted file mode 100644
index 254649f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartModuleAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Start a module on a server.
- */
-public class StartModuleAction extends Action {
-	protected IServer server;
-	protected IModule[] module;
-
-	public StartModuleAction(IServer server, IModule[] module) {
-		super();
-		this.server = server;
-		this.module = module;
-		
-		setText(Messages.actionStartModule);
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START));
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START));
-		setEnabled(server.getServerState() == IServer.STATE_STARTED
-				&& (server.getModuleState(module) == IServer.STATE_STOPPED
-					|| server.getModuleState(module) == IServer.STATE_UNKNOWN)
-				&& server.canRestartModule(module, null).isOK());
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		server.startModule(module, null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
deleted file mode 100644
index e1f495f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-/**
- * Stop (terminate) a server.
- */
-public class StopAction extends AbstractServerAction {
-	public StopAction(Shell shell, ISelectionProvider selectionProvider) {
-		super(shell, selectionProvider, Messages.actionStop);
-		setToolTipText(Messages.actionStopToolTip);
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP));
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP));
-		setActionDefinitionId("org.eclipse.wst.server.stop");
-		try {
-			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server a server
-	 */
-	public boolean accept(IServer server) {
-		if (server.getServerType() == null)
-			return false;
-		return server.getServerType() != null && server.canStop().isOK();
-	}
-
-	/**
-	 * Perform action on this server.
-	 * @param server a server
-	 */
-	public void perform(IServer server) {
-		stop(server, shell);
-	}
-
-	public static void stop(IServer server, Shell shell) {
-		ServerUIPlugin.addTerminationWatch(shell, server, ServerUIPlugin.STOP); // TODO - should redo
-		
-		IJobManager jobManager = Job.getJobManager();
-		Job[] jobs = jobManager.find(ServerUtil.SERVER_JOB_FAMILY);
-		for (Job j: jobs) {
-			if (j instanceof Server.StartJob) {
-				Server.StartJob startJob = (Server.StartJob) j;
-				if (startJob.getServer().equals(server)) {
-					startJob.cancel();
-					return;
-				}
-			}
-		}
-		
-		server.stop(false);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopModuleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopModuleAction.java
deleted file mode 100644
index f47bb8d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopModuleAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.view.servers;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Stop a module on a server.
- */
-public class StopModuleAction extends Action {
-	protected IServer server;
-	protected IModule[] module;
-
-	public StopModuleAction(IServer server, IModule[] module) {
-		super();
-		this.server = server;
-		this.module = module;
-		
-		setText(Messages.actionStopModule);
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP));
-		setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP));
-		setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP));
-		setEnabled(server.getServerState() == IServer.STATE_STARTED
-				&& (server.getModuleState(module) == IServer.STATE_STARTED
-					|| server.getModuleState(module) == IServer.STATE_UNKNOWN)
-				&& server.canRestartModule(module, null).isOK());
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		server.stopModule(module, null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java
deleted file mode 100644
index 720f43c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-/**
- * 
- */
-public abstract class AbstractTableComposite extends Composite {
-	protected Table table;
-	protected TableViewer tableViewer;
-
-	public AbstractTableComposite(Composite parent, int style) {
-		super(parent, style);
-		
-		createWidgets();
-	}
-
-	protected void createWidgets() {
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		setLayout(layout);
-		
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-		
-		createTable();
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		table.setLayoutData(data);
-		table.setLinesVisible(true);
-		createTableViewer();
-	}
-
-	protected void createTable() {
-		table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-	}
-
-	protected void createTableViewer() {
-		tableViewer = new LockedTableViewer(table);
-	}
-
-	protected TableViewer getTableViewer() {
-		return tableViewer;
-	}
-
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-
-	public void refresh() {
-		tableViewer.refresh();
-	}
-
-	public void refresh(Object obj) {
-		tableViewer.refresh(obj);
-	}
-
-	public void remove(Object obj) {
-		tableViewer.remove(obj);
-	}
-	
-	public void add(Object obj) {
-		tableViewer.add(obj);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java
deleted file mode 100644
index e65cbca..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.ui.dialogs.FilteredTree;
-/**
- * 
- */
-public abstract class AbstractTreeComposite extends Composite {
-	protected FilteredTree tree;
-	protected TreeViewer treeViewer;
-	protected Label description;
-
-	public AbstractTreeComposite(Composite parent) {
-		super(parent, SWT.NONE);
-		
-		createWidgets();
-	}
-
-	protected void createWidgets() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = 3;
-		layout.verticalSpacing = 3;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		setLayout(layout);
-		
-		String descriptionText = getDescriptionLabel();
-		if (descriptionText != null) {
-			Label label = new Label(this, SWT.WRAP);
-			label.setText(descriptionText);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-			data.horizontalSpan = 2;
-			label.setLayoutData(data);
-		}
-		
-		String details = getDetailsLabel();
-		if (details != null) {
-			Link prefLink = new Link(this, SWT.NONE);
-			GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-			data.horizontalSpan = 2;
-			prefLink.setLayoutData(data);
-			prefLink.setText("<a>" + details + "</a>");
-			prefLink.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					detailsSelected();
-				}
-			});
-		}
-		
-		Label label = new Label(this, SWT.WRAP);
-		label.setText(getTitleLabel());
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		if (descriptionText != null && details == null)
-			data.verticalIndent = 7;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		createTree();
-		data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		tree.setLayoutData(data);
-		
-		treeViewer = tree.getViewer();
-		treeViewer.setSorter(new ViewerSorter());
-		treeViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				IStructuredSelection s = (IStructuredSelection) event.getSelection();
-				Object element = s.getFirstElement();
-				if (treeViewer.isExpandable(element))
-					treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element));
-		    }
-		});
-		
-		if (hasDescription()) {
-			description = new Label(this, SWT.WRAP);
-			description.setText("Multi\nLine\nMessage");
-			Dialog.applyDialogFont(this);
-			Point p = description.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			description.setText("");
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-			data.horizontalSpan = 2;
-			if (p.y > 10)
-				data.heightHint = p.y;
-			else
-				data.heightHint = 42;
-			description.setLayoutData(data);
-		}
-		
-		tree.forceFocus();
-	}
-
-	protected void createTree() {
-		tree = new FilteredTree(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE, new ServerPatternFilter());
-	}
-
-	protected abstract String getDescriptionLabel();
-
-	protected abstract String getTitleLabel();
-
-	protected boolean hasDescription() {
-		return true;
-	}
-
-	protected void setDescription(String text) {
-		if (description != null && text != null)
-			description.setText(text);
-	}
-
-	protected TreeViewer getTreeViewer() {
-		return treeViewer;
-	}
-
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-
-	public void refresh() {
-		treeViewer.refresh();
-	}
-
-	public void refresh(Object obj) {
-		treeViewer.refresh(obj);
-	}
-
-	public void remove(Object obj) {
-		treeViewer.remove(obj);
-	}
-
-	protected String getDetailsLabel() {
-		return null;
-	}
-
-	protected void detailsSelected() {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java
deleted file mode 100644
index ff3bd43..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Runtime type content provider.
- */
-public abstract class AbstractTreeContentProvider implements ITreeContentProvider {
-	public static final String ROOT = "root";
-
-	protected Object initialSelection;
-
-	public class TreeElement {
-		public String text;
-		public List<Object> contents;
-	}
-
-	protected Object[] elements;
-	protected Map<Object, TreeElement> elementToParentMap = new HashMap<Object, TreeElement>(2);
-	protected Map<String, TreeElement> textMap = new HashMap<String, TreeElement>(2);
-
-	/**
-	 * AbstractTreeContentProvider constructor comment.
-	 */
-	public AbstractTreeContentProvider() {
-		super();
-		
-		fillTree();
-	}
-
-	public AbstractTreeContentProvider(boolean init) {
-		super();
-	}
-
-	protected abstract void fillTree();
-
-	protected void clean() {
-		elements = null;
-		elementToParentMap = new HashMap<Object, TreeElement>(2);
-		textMap = new HashMap<String, TreeElement>(2);
-		
-		initialSelection = null;
-	}
-
-	protected TreeElement getOrCreate(List<TreeElement> list, String text) {
-		try {
-			Object obj = textMap.get(text);
-			if (obj != null)
-				return (TreeElement) obj;
-		} catch (Exception e) {
-			return null;
-		}
-		
-		TreeElement element = new TreeElement();
-		element.text = text;
-		element.contents = new ArrayList<Object>();
-		textMap.put(text, element);
-		list.add(element);
-		return element;
-	}
-	
-	protected TreeElement getOrCreate(List<TreeElement> list, String id, String text) {
-		try {
-			Object obj = textMap.get(id);
-			if (obj != null)
-				return (TreeElement) obj;
-		} catch (Exception e) {
-			return null;
-		}
-		
-		TreeElement element = new TreeElement();
-		element.text = text;
-		element.contents = new ArrayList<Object>();
-		textMap.put(id, element);
-		list.add(element);
-		return element;
-	}
-
-	protected TreeElement getByText(String text) {
-		try {
-			return textMap.get(text);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	protected TreeElement getParentImpl(Object obj) {
-		try {
-			return elementToParentMap.get(obj);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Disposes of this content provider.  
-	 * This is called by the viewer when it is disposed.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 * These elements can be presented as rows in a table, items in a list, etc.
-	 * The result is not modified by the viewer.
-	 *
-	 * @param element the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public Object[] getElements(Object element) {
-		return elements;
-	}
-
-	public Object[] getChildren(Object element) {
-		if (!(element instanceof TreeElement))
-			return null;
-		
-		TreeElement rte = (TreeElement) element;
-		return rte.contents.toArray();
-	}
-
-	public Object getParent(Object element) {
-		return getParentImpl(element);
-	}
-
-	public boolean hasChildren(Object element) {
-		Object[] children = getChildren(element);
-		return children != null && children.length > 0;
-	}
-
-	/**
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 * <p>
-	 * A typical use for this method is registering the content provider as a listener
-	 * to changes on the new input (using model-specific means), and deregistering the viewer 
-	 * from the old input. In response to these change notifications, the content provider
-	 * propagates the changes to the viewer.
-	 * </p>
-	 *
-	 * @param viewer the viewer
-	 * @param oldInput the old input element, or <code>null</code> if the viewer
-	 *   did not previously have an input
-	 * @param newInput the new input element, or <code>null</code> if the viewer
-	 *   does not have an input
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// do nothing
-	}
-
-	private Object[] getAllObjects() {
-		List<Object> list = new ArrayList<Object>();
-		Object[] obj = getElements(null);
-		if (obj != null) {
-			int size = obj.length;
-			for (int i = 0; i < size; i++) {
-				if (!(obj[i] instanceof AbstractTreeContentProvider.TreeElement))
-					list.add(obj[i]);
-				getAllChildren(list, obj[i]);
-			}
-		}
-		return list.toArray();
-	}
-
-	private void getAllChildren(List<Object> list, Object element) {
-		Object[] obj = getChildren(element);
-		if (obj != null) {
-			int size = obj.length;
-			for (int i = 0; i < size; i++) {
-				if (!(obj[i] instanceof AbstractTreeContentProvider.TreeElement))
-					list.add(obj[i]);
-				getAllChildren(list, obj[i]);
-			}
-		}
-	}
-
-	public Object getInitialSelection() {
-		if (initialSelection == null) {
-			InitialSelectionProvider isp = ServerUIPlugin.getInitialSelectionProvider();
-			initialSelection = isp.getInitialSelection(getAllObjects());
-		}
-		return initialSelection;
-	}
-	
-	public Object getInitialSelection(IProject project){
-		if (initialSelection == null) {
-			InitialSelectionProvider isp = ServerUIPlugin.getInitialSelectionProvider();
-			initialSelection = isp.getInitialSelection(getAllObjects(),project);
-		}
-		return initialSelection;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java
deleted file mode 100644
index 04dbf67..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java
+++ /dev/null
@@ -1,85 +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.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-/**
- * Abstract tree label provider.
- */
-public abstract class AbstractTreeLabelProvider extends BaseLabelProvider {
-	/**
-	 * A standard tree label provider.
-	 */
-	public AbstractTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * A standard tree label provider.
-	 * 
-	 * @param decorator a label decorator, or null if no decorator is required
-	 */
-	public AbstractTreeLabelProvider(ILabelDecorator decorator) {
-		super(decorator);
-	}
-
-	/**
-	 * @see BaseLabelProvider#getImage(Object)
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-			return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
-		}
-		Image image = getImageImpl(element);
-		if (decorator != null) {
-			Image dec = decorator.decorateImage(image, element);
-			if (dec != null)
-				return dec;
-		}
-		return image;
-	}
-
-	/**
-	 * Return an image for the given element.
-	 *  
-	 * @param element an element
-	 * @return an image
-	 */
-	protected abstract Image getImageImpl(Object element);
-
-	/**
-	 * @see BaseLabelProvider#getText(Object)
-	 */
-	public String getText(Object element) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			return ((ServerTreeContentProvider.TreeElement) element).text;
-		}
-		String text = getTextImpl(element);
-		if (decorator != null) {
-			String dec = decorator.decorateText(text, element);
-			if (dec != null && !dec.equals(""))
-				return dec;
-		}
-		return text;
-	}
-
-	/**
-	 * Return a label for the given element.
-	 *  
-	 * @param element an element
-	 * @return a label
-	 */
-	protected abstract String getTextImpl(Object element);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseCellLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseCellLabelProvider.java
deleted file mode 100644
index 51957d0..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseCellLabelProvider.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.PlatformUI;
-/**
- * A basic cell label provider.
- */
-public abstract class BaseCellLabelProvider extends ColumnLabelProvider {
-	public ILabelDecorator decorator;
-	protected ILabelProviderListener providerListener;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ColumnLabelProvider#update(org.eclipse.jface.viewers.ViewerCell)
-	 */
-	public void update(ViewerCell cell){
-		super.update(cell);
-		Object element = cell.getElement();
-		int index = cell.getColumnIndex();
-		cell.setText(getColumnText(element,index));
-		Image image = getColumnImage(element, index);
-		cell.setImage(image);
-	}
-
-	/**
-	 * Create a BaseCellLabelProvider
-	 */
-	public BaseCellLabelProvider() {
-		super();		
-	}
-
-	/**
-	 * Create a BaseCellLabelProvider with a decorator at the front of the row
-	 * @param decorator
-	 */
-	public BaseCellLabelProvider(ILabelDecorator decorator) {
-		super();
-			
-		this.decorator = getDecorator();
-	} 
-
-	public Point getToolTipShift(Object object) {
-		return new Point(5, 5);
-	}
-
-	public int getToolTipDisplayDelayTime(Object object) {
-		return 2000;
-	}
-
-	public int getToolTipTimeDisplayed(Object object) {	
-		return 5000;
-	}
-	
-	public void dispose() {
-		if (decorator != null && providerListener != null) {
-			decorator.removeListener(providerListener);
-		}
-		super.dispose();
-	}
-	
-	public ILabelDecorator getDecorator(){
-		if (decorator == null){
-			decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
-			providerListener = new ILabelProviderListener() {
-				@SuppressWarnings("synthetic-access")
-				public void labelProviderChanged(LabelProviderChangedEvent event) {
-					fireLabelProviderChanged(event);
-				}
-			};
-			decorator.addListener(providerListener);
-		}
-		return decorator;
-	}
-
-	/**
-	 * Extenders of this class would implement this method to provide an image to the column based on the element 
-	 * being passed
-	 * @param element
-	 * @param index
-	 * @return an image
-	 */
-	public abstract Image getColumnImage(Object element, int index);
-
-	/**
-    * Extenders of this class would implement this method to provide a text label to the column based on the element
-    * being passed 
-	 * @param element
-	 * @param index
-	 * @return a string
-	 */
-	public abstract String getColumnText(Object element, int index);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseContentProvider.java
deleted file mode 100644
index a9552ad..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseContentProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public abstract class BaseContentProvider implements IStructuredContentProvider {
-	public BaseContentProvider() {
-		super();
-	}
-
-	public void dispose() {
-		// do nothing
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
deleted file mode 100644
index bd4c2e3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * A basic label provider.
- */
-public abstract class BaseLabelProvider implements ILabelProvider {
-	protected ILabelDecorator decorator;
-	private transient List<ILabelProviderListener> listeners;
-	private ILabelProviderListener providerListener;
-
-	/**
-	 * A basic ILabelProvider with no decorator.
-	 */
-	public BaseLabelProvider() {
-		this(null);
-	}
-
-	/**
-	 * A basic ILabelProvider with support for a decorator.
-	 * 
-	 * @param decorator a label decorator, or null if no decorator is required
-	 */
-	public BaseLabelProvider(ILabelDecorator decorator) {
-		super();
-		if (decorator == null)
-			decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
-		
-		this.decorator = decorator;
-		if (decorator != null) {
-			providerListener = new ILabelProviderListener() {
-				public void labelProviderChanged(LabelProviderChangedEvent event) {
-					fireListener(event);
-				}
-			};
-			decorator.addListener(providerListener);
-		}
-	}
-
-	/**
-	 * Use this method to avoid having a label decorator. This method is NOT API.
-	 * 
-	 * @param noDecorator
-	 */
-	public BaseLabelProvider(boolean noDecorator) {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		
-		if (listeners == null)
-			listeners = new ArrayList<ILabelProviderListener>();
-		listeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException("Listener cannot be null");
-		
-		if (listeners != null)
-			listeners.remove(listener);
-	}
-
-	protected void fireListener(LabelProviderChangedEvent event) {
-		if (listeners == null || listeners.isEmpty())
-			return;
-		
-		int size = listeners.size();
-		ILabelProviderListener[] srl = new ILabelProviderListener[size];
-		listeners.toArray(srl);
-		
-		for (int i = 0; i < size; i++) {
-			try {
-				srl[i].labelProviderChanged(event);
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "  Error firing label change event to " + srl[i], e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		if (decorator != null)
-			decorator.removeListener(providerListener);
-	}
-
-	/**
-	 * @see ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		return null;
-	}
-
-	/**
-	 * @see ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		return "";
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	protected String notNull(String s) {
-		if (s == null)
-			return "";
-		return s;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java
deleted file mode 100644
index 97f6158..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IServerType;
-/**
- * Class used to sort categories, runtime types, and server types in the
- * New wizards.
- */
-public class DefaultViewerSorter extends ViewerSorter {
-	public static class Version implements Comparable {
-		private static final String SEPARATORS = ".,";
-
-		private final String[] segments;
-
-		private Version(String[] segments) {
-			this.segments = segments;
-		}
-
-		public static Version parseVersion(String version) {
-			List<String> list = new ArrayList<String>();
-			StringTokenizer st = new StringTokenizer(version, SEPARATORS, false);
-			while (st.hasMoreTokens())
-				list.add(st.nextToken());
-			
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return new Version(s);
-		}
-
-		private int compareTo(String s1, String s2) {
-			try {
-				int i1 = Integer.parseInt(s1);
-				int i2 = Integer.parseInt(s2);
-				if (i1 == i2)
-					return 0;
-				if (i1 > i2)
-					return 1;
-				return -1;
-			} catch (Exception e) {
-				// ignore
-			}
-			return s1.compareTo(s2);
-		}
-
-		public int compareTo(Object object) {
-			if (object == this)
-				return 0;
-			
-			Version other = (Version) object;
-			int i = 0;
-			while (i < segments.length && i < other.segments.length) {
-				String s1 = segments[i];
-				String s2 = other.segments[i];
-				int c = compareTo(s1, s2);
-				if (c != 0)
-					return c;
-				i++;
-			}
-			
-			if (i == segments.length && i == other.segments.length)
-				return 0;
-			
-			if (i == segments.length)
-				return -1;
-			return 1;
-		}
-	}
-
-	/**
-	 * @see ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Viewer viewer, Object o1, Object o2) {
-		if (o1 instanceof AbstractTreeContentProvider.TreeElement)
-			o1 = ((AbstractTreeContentProvider.TreeElement) o1).text;
-		
-		if (o2 instanceof AbstractTreeContentProvider.TreeElement)
-			o2 = ((AbstractTreeContentProvider.TreeElement) o2).text;
-		
-		// filter out strings
-		if (o1 instanceof String && o2 instanceof String)
-			return compareCategories((String) o1, (String) o2);
-		if (o1 instanceof String)
-			return -1;
-		if (o2 instanceof String)
-			return 1;
-		
-		if (o1 instanceof IRuntimeType && o2 instanceof IRuntimeType)
-			return compareRuntimeTypes((IRuntimeType) o1, (IRuntimeType) o2);
-		
-		if (o1 instanceof IServerType && o2 instanceof IServerType)
-			return compareServerTypes((IServerType) o1, (IServerType) o2);
-		
-		return 0;
-	}
-
-	/**
-	 * Sort two category names.
-	 * 
-	 * @param s1 the first category
-	 * @param s2 the second category
-	 * @return a negative number if the first element is less  than the 
-	 *    second element; the value <code>0</code> if the first element is
-	 *    equal to the second element; and a positive number if the first
-	 *    element is greater than the second element
-	 */
-	protected static int compareCategories(String s1, String s2) {
-		try {
-			Version v1 = Version.parseVersion(s1);
-			Version v2 = Version.parseVersion(s2);
-			
-			return v1.compareTo(v2);
-		} catch (NumberFormatException nfe) {
-			// ignore
-		}
-		
-		return s1.compareTo(s2);
-	}
-
-	/**
-	 * Returns <code>true</code> if the two items are in the same 'family', and
-	 * <code>false</code> otherwise.
-	 * 
-	 * @param s1 - first name
-	 * @param v1 - first version
-	 * @param s2 - second name
-	 * @param v2 - second version
-	 * @return <code>true</code> if the two items are in the same 'family', and
-	 *    <code>false</code> otherwise
-	 */
-	protected static boolean isSameFamily(String s1, String v1, String s2, String v2) {
-		if (s1 == null || s2 == null)
-			return false;
-		
-		if (v1 != null) {
-			int ind = s1.indexOf(v1);
-			if (ind >= 0)
-				s1 = s1.substring(0, ind) + s1.substring(ind+v1.length());
-		}
-		
-		if (v2 != null) {
-			int ind = s2.indexOf(v2);
-			if (ind >= 0)
-				s2 = s2.substring(0, ind) + s2.substring(ind+v2.length());
-		}
-		return (s1.equals(s2));
-	}
-
-	protected static int compareVersions(String s1, String s2) {
-		Version v1 = Version.parseVersion(s1);
-		Version v2 = Version.parseVersion(s2);
-		
-		return v1.compareTo(v2);
-	}
-
-	/**
-	 * Sort two runtime types.
-	 * 
-	 * @param r1 the first runtime type
-	 * @param r2 the second runtime type
-	 * @return a negative number if the first element is less  than the 
-	 *    second element; the value <code>0</code> if the first element is
-	 *    equal to the second element; and a positive number if the first
-	 *    element is greater than the second element
-	 */
-	protected static int compareRuntimeTypes(IRuntimeType r1, IRuntimeType r2) {
-		if (isSameFamily(r1.getName(), r1.getVersion(), r2.getName(), r2.getVersion()))
-			return compareVersions(r1.getVersion(), r2.getVersion());
-		
-		return r1.getName().compareToIgnoreCase(r2.getName());
-	}
-
-	/**
-	 * Sort two server types.
-	 * 
-	 * @param s1 the first server type
-	 * @param s2 the second server type
-	 * @return a negative number if the first element is less  than the 
-	 *    second element; the value <code>0</code> if the first element is
-	 *    equal to the second element; and a positive number if the first
-	 *    element is greater than the second element
-	 */
-	protected static int compareServerTypes(IServerType s1, IServerType s2) {
-		IRuntimeType r1 = s1.getRuntimeType();
-		IRuntimeType r2 = s2.getRuntimeType();
-		if (r1 != null && r2 != null) {
-			if (isSameFamily(s1.getName(), r1.getVersion(), s2.getName(), r2.getVersion()))
-				return compareVersions(r1.getVersion(), r2.getVersion());
-		}
-		
-		return s1.getName().compareToIgnoreCase(s2.getName());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java
deleted file mode 100644
index 7171e03..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-/**
- * Extends <code>ITableLabelProvider</code> with methods to provide
- * lock information.
- */
-public interface ILockedLabelProvider {
-	/**
-	 * Returns the lock info for the element. This value will be used
-	 * to change the presentation of the table row.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 * @return <code>true</code> if the item is locked, and <code>false</code>
-	 *    otherwise
-	 */
-	public boolean isLocked(Object element);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InitialSelectionProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InitialSelectionProvider.java
deleted file mode 100644
index 1951b5f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InitialSelectionProvider.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.ResourceManager;
-import org.eclipse.wst.server.core.internal.facets.FacetUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Class used to sort categories, runtime types, and server types in the
- * New wizards.
- */
-public class InitialSelectionProvider extends ViewerSorter {
-
-	public Object getInitialSelection(Object[] obj) {
-		if (obj == null || obj.length == 0)
-			return null;
-		
-		if (obj[0] instanceof IRuntimeType) {
-			int size = obj.length;
-			IRuntimeType[] rt = new IRuntimeType[size];
-			for (int i = 0; i < size; i++)
-				rt[i] = (IRuntimeType) obj[i];
-			return getInitialSelection(rt);
-		}
-		
-		if (obj[0] instanceof IServerType) {
-			int size = obj.length;
-			IServerType[] st = new IServerType[size];
-			for (int i = 0; i < size; i++)
-				st[i] = (IServerType) obj[i];
-			return getInitialSelection(st);
-		}
-		
-		if (obj[0] instanceof IServer) {
-			int size = obj.length;
-			IServer[] st = new IServer[size];
-			for (int i = 0; i < size; i++)
-				st[i] = (IServer) obj[i];
-			return getInitialSelection(st);
-		}
-		
-		return null;
-	}
-
-	/**
-	 * 
-	 * @param serverTypes
-	 * @return the initial selection
-	 */
-	public IServerType getInitialSelection(IServerType[] serverTypes) {
-		if (serverTypes == null)
-			return null;
-		
-		int size = serverTypes.length;
-		for (int i = 0; i < size; i++) {
-			if (hasRuntime(serverTypes[i]))
-				return serverTypes[i];
-		}
-		return getDefaultServerType(serverTypes);
-	}
-
-	/**
-	 * 
-	 * @param servers
-	 * @return the initial selection
-	 */
-	public IServer getInitialSelection(IServer[] servers) {
-		return getInitialSelection(servers,null);
-	}
-	
-	/**
-	 * Allows adopters to provide an initial selection out of a list of items.
-	 * <p>
-	 * The <code>IProject</code> can be null, in cases where a project selection was not available (ie: New Server Wizard)
-	 * </p><p>
-	 * Returning <code>null</code> means no object is applicable to be selected. 
-	 * </p>
-	 * 
-	 * @param servers
-	 * @param project
-	 * @return
-	 */
-	public IServer getInitialSelection(IServer[] servers, IProject project){
-		if (servers == null)
-			return null;
-		
-		IServer rval = servers[0];
-		
-		if (project != null){
-			try{
-				// check for the targeted runtime of the project
-				IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-				if (facetedProject != null){
-					org.eclipse.wst.common.project.facet.core.runtime.IRuntime facetedRuntime = facetedProject.getPrimaryRuntime();
-						if (facetedRuntime != null){
-							IRuntime runtime = FacetUtil.getRuntime(facetedRuntime);
-							IServer server = findServerFromRuntime(runtime.getId());
-							if (server != null){
-								rval = server;
-							}
-						}
-					}
-				}
-				catch (CoreException ce){
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_WARNING, "Could not create a faceted project", ce);
-					}
-				}
-			}
-		return rval;
-	}
-
-	/**
-	 * 
-	 * @param runtimeTypes
-	 * @return the initial selection
-	 */
-	public IRuntimeType getInitialSelection(IRuntimeType[] runtimeTypes) {
-		if (runtimeTypes == null)
-			return null;
-		
-		int size = runtimeTypes.length;
-		for (int i = 0; i < size; i++) {
-			if (hasRuntime(runtimeTypes[i]))
-				return runtimeTypes[i];
-		}
-		return getDefaultRuntimeType(runtimeTypes);
-	}
-
-	protected boolean hasRuntime(IServerType serverType) {
-		return hasRuntime(serverType.getRuntimeType());
-	}
-
-	protected boolean hasRuntime(IRuntimeType runtimeType) {
-		if (runtimeType == null)
-			return false;
-		IRuntime[] runtimes = ServerUIPlugin.getRuntimes(runtimeType);
-		return runtimes != null && runtimes.length > 0;
-	}
-
-	/**
-	 * Returns a default server type, typically the 'first' one sorted
-	 * alphabetically by name.
-	 * 
-	 * @param serverTypes
-	 * @return the default server type
-	 */
-	protected IServerType getDefaultServerType(IServerType[] serverTypes) {
-		if (serverTypes == null)
-			return null;
-		
-		int size = serverTypes.length;
-		if (size == 1)
-			return serverTypes[0];
-		
-		IServerType first = serverTypes[0];
-		for (int i = 1; i < size; i++) {
-			if (DefaultViewerSorter.compareServerTypes(first, serverTypes[i]) > 0)
-				first = serverTypes[i];
-		}
-		return first;
-	}
-
-	/**
-	 * Returns a default runtime type, typically the 'first' one sorted
-	 * alphabetically by name.
-	 * 
-	 * @param runtimeTypes
-	 * @return the default runtime type
-	 */
-	protected IRuntimeType getDefaultRuntimeType(IRuntimeType[] runtimeTypes) {
-		if (runtimeTypes == null)
-			return null;
-		
-		int size = runtimeTypes.length;
-		if (size == 1)
-			return runtimeTypes[0];
-		
-		IRuntimeType first = runtimeTypes[0];
-		for (int i = 1; i < size; i++) {
-			if (DefaultViewerSorter.compareRuntimeTypes(first, runtimeTypes[i]) > 0)
-				first = runtimeTypes[i];
-		}
-		return first;
-	}
-	
-	/**
-	 * Allows adopters to provide an initial selection out of a list of items.
-	 * <p>
-	 * The <code>IProject</code> can be null, in cases where a project selection was not available (ie: New Server Wizard)
-	 * </p><p>
-	 * Returning <code>null</code> means no object is applicable to be selected. 
-	 * </p>
-	 * 
-	 * @param obj Contains an array of all the possible object to be selected. 
-	 * @param project
-	 * @return The object to be selected from the <code>obj[]</code> 
-	 */
-	public Object getInitialSelection(Object [] obj, IProject project){
-		if (obj == null || obj.length == 0)
-			return null;
-		
-		if (obj[0] instanceof IRuntimeType) {
-			int size = obj.length;
-			IRuntimeType[] rt = new IRuntimeType[size];
-			for (int i = 0; i < size; i++)
-				rt[i] = (IRuntimeType) obj[i];
-			return getInitialSelection(rt);
-		}
-		
-		if (obj[0] instanceof IServerType) {
-			int size = obj.length;
-			IServerType[] st = new IServerType[size];
-			for (int i = 0; i < size; i++)
-				st[i] = (IServerType) obj[i];
-			return getInitialSelection(st);
-		}
-		
-		if (obj[0] instanceof IServer) {
-			int size = obj.length;
-			IServer[] st = new IServer[size];
-			for (int i = 0; i < size; i++)
-				st[i] = (IServer) obj[i];
-			return getInitialSelection(st,project);
-		}
-		
-		return null;		
-	}
-	
-	/**
-	 * Returns the server with the given runtime id, or <code>null</code> 
-	 * if none. This convenience method searches the list of registered servers
-	 * for the matching runtime id. The id may not be null.
-	 * 
-	 * @param runtimeId
-	 * @return
-	 */
-	private static IServer findServerFromRuntime(String runtimeId){
-		if (runtimeId == null)
-			throw new IllegalArgumentException();
-			
-		IServer [] servers = ResourceManager.getInstance().getServers();
-		for (IServer server:servers){
-			if (runtimeId == server.getRuntime().getId()){
-				return server;
-			}
-		}
-		return null;
-	}
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java
deleted file mode 100644
index ea06b4b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-/**
- *
- */
-public class LockedCheckboxTableViewer extends CheckboxTableViewer {
-	protected Color color;
-
-	public LockedCheckboxTableViewer(Table table) {
-		super(table);
-		createColor(table);
-	}
-
-	protected void createColor(Control c) {
-		color = new Color(c.getDisplay(), 255, 255, 225);
-		c.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				color.dispose();
-			}
-		});
-	}
-
-	public void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-		if (color == null)
-			return;
-		if (widget instanceof TableItem) {
-			TableItem item = (TableItem) widget;
-			if (getLabelProvider() instanceof ILockedLabelProvider) {
-				ILockedLabelProvider provider = (ILockedLabelProvider) getLabelProvider();
-				if (provider.isLocked(element)) {
-					item.setBackground(color);
-					item.setImage(0, null);
-				} else
-					item.setBackground(null);
-			}
-		}
-		super.doUpdateItem(widget, element, fullMap);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java
deleted file mode 100644
index 91e7525..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.swt.widgets.Display;
-/**
- *
- */
-public class LockedTableViewer extends TableViewer {
-	protected Color color;
-
-	public LockedTableViewer(Composite parent) {
-		super(parent);
-		createColor(parent);
-	}
-	
-	public LockedTableViewer(Composite parent, int style) {
-		super(parent, style);
-		createColor(parent);
-	}
-
-	public LockedTableViewer(Table table) {
-		super(table);
-		createColor(table);
-	}
-
-	protected void createColor(Control c) {
-		if (Display.getDefault().getHighContrast())
-			color = new Color(c.getDisplay(), 0, 0, 0);
-		else
-			color = new Color(c.getDisplay(), 255, 255, 225);
-		c.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				color.dispose();
-			}
-		});
-	}
-
-	public void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-		if (color == null)
-			return;
-		if (widget instanceof TableItem) {
-			TableItem item = (TableItem) widget;
-			if (getLabelProvider() instanceof ILockedLabelProvider) {
-				ILockedLabelProvider provider = (ILockedLabelProvider) getLabelProvider();
-				if (provider.isLocked(element)) {
-					item.setBackground(color);
-					item.setImage(0, null);
-				} else
-					item.setBackground(null);
-			}
-		}
-		super.doUpdateItem(widget, element, fullMap);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ModuleArtifactComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ModuleArtifactComposite.java
deleted file mode 100644
index 119c787..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ModuleArtifactComposite.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007,2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-import org.eclipse.wst.server.ui.internal.Messages;
-
-public class ModuleArtifactComposite extends Dialog {
-	protected IModuleArtifact[] moduleArtifacts;
-	private ListViewer listViewer;
-	private String launchMode;		
-	private IModuleArtifact selection;
-
-	/**
-	 * Creates a Selection dialog with the list of available IModuleArtifact for the selected resource
-	 * @param parent
-	 * @param moduleArtifacts
-	 * @param launchMode
-	 */
-	public ModuleArtifactComposite(Shell parent,final IModuleArtifact[] moduleArtifacts, String launchMode){
-		super(parent);
-		setShellStyle(SWT.RESIZE | getShellStyle());
-		this.moduleArtifacts = moduleArtifacts;
-		this.launchMode = launchMode;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(getWindowTitle());
-	}
-
-	/**
-	 * Based on the launch mode, return the NLS String for the Dialog.
-	 * 
-	 * @return the window title
-	 */
-	private String getWindowTitle() {
-		String title = Messages.wizRunOnServerTitle;
-		
-		if (ILaunchManager.DEBUG_MODE.equals(launchMode))
-			title = Messages.wizDebugOnServerTitle;					
-		else if (ILaunchManager.PROFILE_MODE.equals(launchMode))
-			title = Messages.wizProfileOnServerTitle;
-		return title;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = new Composite(parent,SWT.NONE);
-		
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		layout.marginHeight = 10;
-		layout.verticalSpacing = 10;
-		layout.numColumns = 1;
-				
-		GridData data = new GridData(GridData.FILL_BOTH);
-		
-		composite.setLayout(layout);
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		
-		Text description = new Text(composite,SWT.NONE);
-		description.setText(Messages.wizModuleArtifactsDescription);
-		description.setEditable(false);
-		description.setCursor(composite.getDisplay().getSystemCursor(SWT.CURSOR_ARROW));
-		
-		createContent(composite);
-		
-		return composite;
-	}
-
-	private void createContent(Composite parent) {
-		Composite contentComposite = new Composite(parent,SWT.NONE |SWT.RESIZE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;		
-		layout.numColumns = 1;
-				
-		GridData data = new GridData(GridData.FILL_BOTH);
-		
-		contentComposite.setLayout(layout);
-		contentComposite.setLayoutData(data);
-		contentComposite.setFont(parent.getFont());
-		
-		Label tableTitle = new Label(contentComposite,SWT.None);
-		tableTitle.setText(Messages.wizModuleArtifactsAvailableList);
-
-		listViewer = new ListViewer(contentComposite,SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		listViewer.getList().setLayoutData(data);
-		listViewer.getList().setFocus();
-
-		listViewer.setContentProvider(new BaseContentProvider() {
-			public Object[] getElements(Object inputElement) {
-				return moduleArtifacts;
-			}
-		});
-		
-		listViewer.setLabelProvider(new BaseLabelProvider() {
-			public String getText(Object element) {				
-				if (element instanceof ModuleArtifactDelegate) {
-					// Try to display the object using its name 
-					ModuleArtifactDelegate moduleArtifact = (ModuleArtifactDelegate)element;
-					String artifactName = moduleArtifact.getName();
-					if (artifactName != null && artifactName.length() >= 0) {
-						int classNameIndex = artifactName.lastIndexOf(".");
-						String packageName = artifactName.substring(0, classNameIndex);
-						String className = artifactName.substring(classNameIndex+1);
-						if (packageName != null && (packageName.length()<=0) == false){
-							return className + " ("+moduleArtifact.getName()+")";
-						}
-						return moduleArtifact.getName();
-					}
-
-					// If the name is empty we can then use the module artifact class name  
-					return moduleArtifact.getClass().getName();				
-				}
-				return Messages.elementUnknownName;
-			}
-		});
-		
-		listViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				buttonPressed(IDialogConstants.OK_ID);
-			}
-		});
-			
-		listViewer.setInput(AbstractTreeContentProvider.ROOT);
-	}
-
-	/**
-	 * Return the selection of the dialog
-	 * 
-	 * @return the selected module artifact
-	 */
-	public IModuleArtifact getSelection() {
-		IStructuredSelection selection2 = (IStructuredSelection) listViewer.getSelection();
-		if (selection2 == null || selection2.getFirstElement() == null)
-			return selection;
-		
-		selection = (IModuleArtifact)selection2.getFirstElement(); 
-		return selection;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			if (getSelection() == null){
-				MessageBox messageBox = new MessageBox(getShell(),SWT.ICON_ERROR | SWT.OK);
-				messageBox.setMessage(Messages.wizModuleArtifactsNoSelectionError);
-				messageBox.setText(getWindowTitle());
-				messageBox.open();
-				// bypass the call to super, so that this Dialog doesn't get disposed
-				return;
-			}
-		}
-		super.buttonPressed(buttonId);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java
deleted file mode 100644
index 17064c7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java
+++ /dev/null
@@ -1,231 +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.ui.internal.viewers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.internal.IMonitoredServerPort;
-import org.eclipse.wst.server.core.internal.IServerMonitorManager;
-import org.eclipse.wst.server.core.internal.ServerMonitorManager;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-/**
- * 
- */
-public class MonitorComposite extends Composite {
-	//protected ServerPort selection;
-	protected PortSelectionListener listener;
-	protected IServer server;
-	
-	protected IServerMonitorManager smm;
-	
-	protected Table monitorTable;
-	protected TableViewer monitorTableViewer;
-	
-	public interface PortSelectionListener {
-		public void portSelected(ServerPort port);
-	}
-	
-	public MonitorComposite(Composite parent, int style, PortSelectionListener listener2, IServer server) {
-		super(parent, style);
-		this.listener = listener2;
-		this.server = server;
-		
-		smm = ServerMonitorManager.getInstance();
-		
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 5;
-		layout.numColumns = 2;
-		setLayout(layout);
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-		
-		monitorTable = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		//data.horizontalSpan = 2;
-		data.heightHint = 150;
-		//data.widthHint = 340;
-		monitorTable.setLayoutData(data);
-		monitorTable.setLinesVisible(true);
-		monitorTableViewer = new TableViewer(monitorTable);
-		
-		TableLayout tableLayout = new TableLayout();
-		monitorTable.setLayout(tableLayout);
-		monitorTable.setHeaderVisible(true);
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		TableColumn col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(Messages.dialogMonitorColumnStatus);
-		
-		tableLayout.addColumnData(new ColumnWeightData(12, 120, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(Messages.dialogMonitorColumnType);
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(Messages.dialogMonitorColumnPort);
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(Messages.dialogMonitorColumnMonitorPort);
-		
-		tableLayout.addColumnData(new ColumnWeightData(8, 80, true));
-		col = new TableColumn(monitorTable, SWT.NONE);
-		col.setText(Messages.dialogMonitorColumnContentType);
-		
-		monitorTableViewer.setContentProvider(new MonitorContentProvider(server));
-		monitorTableViewer.setLabelProvider(new MonitorLabelProvider(server));
-		monitorTableViewer.setInput(AbstractTreeContentProvider.ROOT);
-		
-		monitorTableViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				IMonitoredServerPort port1 = (IMonitoredServerPort) e1;
-				IMonitoredServerPort port2 = (IMonitoredServerPort) e2;
-				if (port1.getServerPort().getPort() == port2.getServerPort().getPort()) {
-					if (port1.getMonitorPort() == port2.getMonitorPort()) {
-						return 0;
-					} else if (port1.getMonitorPort() > port2.getMonitorPort())
-						return 1;
-					else
-						return -1;
-				} else if (port1.getServerPort().getPort() > port2.getServerPort().getPort())
-					return 1;
-				else
-					return -1;
-			}
-		});
-		
-		Composite buttonComp = new Composite(this, SWT.NONE);
-		buttonComp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		buttonComp.setLayout(layout);
-		
-		final IServer server2 = server;
-		Button add = SWTUtil.createButton(buttonComp, Messages.add);
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MonitorDialog dialog = new MonitorDialog(getShell(), server2);
-				if (dialog.open() != Window.CANCEL) {
-					ServerPort port = dialog.getServerPort();
-					IMonitoredServerPort sp = smm.createMonitor(server2, port, dialog.getMonitorPort(), dialog.getContentTypes());
-					if (sp != null)
-						monitorTableViewer.add(sp);
-				}
-			}
-		});
-		if (server.getServerType() == null)
-			add.setEnabled(false);
-		
-		final Button edit = SWTUtil.createButton(buttonComp, Messages.edit);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection();
-				IMonitoredServerPort port = (IMonitoredServerPort) sel.getFirstElement();
-				MonitorDialog dialog = new MonitorDialog(getShell(), server2, port.getServerPort(), port.getMonitorPort(), port.getContentTypes());
-				if (dialog.open() != Window.CANCEL) {
-					smm.removeMonitor(port);
-					monitorTableViewer.remove(port);
-					port = smm.createMonitor(server2, dialog.getServerPort(), dialog.getMonitorPort(), dialog.getContentTypes());
-					if (port != null) {
-						monitorTableViewer.add(port);
-						monitorTableViewer.setSelection(new StructuredSelection(port));
-					}
-				}
-			}
-		});
-		edit.setEnabled(false);
-		
-		final Button remove = SWTUtil.createButton(buttonComp, Messages.remove);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IMonitoredServerPort msp = (IMonitoredServerPort) getSelection(monitorTableViewer.getSelection());
-				if (msp.isStarted())
-					smm.stopMonitor(msp);
-				smm.removeMonitor(msp);
-				monitorTableViewer.remove(msp);
-			}
-		});
-		remove.setEnabled(false);
-		
-		final Button start = SWTUtil.createButton(buttonComp, Messages.start);
-		start.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection();
-				IMonitoredServerPort msp = (IMonitoredServerPort) sel.getFirstElement();
-				try {
-					smm.startMonitor(msp);
-				} catch (CoreException ce) {
-					EclipseUtil.openError(getShell(), ce.getLocalizedMessage());
-				}
-				monitorTableViewer.refresh(msp);
-				monitorTableViewer.setSelection(new StructuredSelection(msp));
-			}
-		});
-		start.setEnabled(false);
-		
-		final Button stop = SWTUtil.createButton(buttonComp, Messages.stop);
-		stop.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection();
-				IMonitoredServerPort msp = (IMonitoredServerPort) sel.getFirstElement();
-				smm.stopMonitor(msp);
-				monitorTableViewer.refresh(msp);
-				monitorTableViewer.setSelection(new StructuredSelection(msp));
-			}
-		});
-		stop.setEnabled(false);
-		
-		monitorTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IMonitoredServerPort port = (IMonitoredServerPort) getSelection(monitorTableViewer.getSelection());
-				if (port != null) {
-					edit.setEnabled(!port.isStarted());
-					remove.setEnabled(true);
-					start.setEnabled(!port.isStarted());
-					stop.setEnabled(port.isStarted());
-				} else {
-					edit.setEnabled(false);
-					remove.setEnabled(false);
-					start.setEnabled(false);
-					stop.setEnabled(false);
-				}
-			}
-		});
-		
-		IMonitoredServerPort[] msps = ServerMonitorManager.getInstance().getMonitoredPorts(server); 
-		if (msps != null && msps.length > 0)
-			monitorTableViewer.setSelection(new StructuredSelection(msps[0]));
-	}
-	
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java
deleted file mode 100644
index 5893136..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.ServerMonitorManager;
-/**
- * Monitor port content provider.
- */
-public class MonitorContentProvider extends BaseContentProvider {
-	protected IServer server;
-
-	public MonitorContentProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return ServerMonitorManager.getInstance().getMonitoredPorts(server);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java
deleted file mode 100644
index b68ee86..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java
+++ /dev/null
@@ -1,247 +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.ui.internal.viewers;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Dialog that prompts a user to add or edit a server monitor.
- */
-public class MonitorDialog extends Dialog {
-	protected IServer server;
-	protected ServerPort port;
-	protected int monitorPort = -1;
-	protected String[] portContentTypes;
-	protected String[] contentTypes;
-	protected boolean isEdit = false;
-	protected boolean portChanged = false;
-	
-	protected Button ok;
-	
-	protected Table table;
-	protected TableViewer tableViewer;
-	protected boolean init;
-
-	/**
-	 * MonitorDialog constructor comment.
-	 * 
-	 * @param parentShell the shell
-	 * @param server the server
-	 */
-	public MonitorDialog(Shell parentShell, IServer server) {
-		super(parentShell);
-
-		this.server = server;
-	}
-
-	public MonitorDialog(Shell parentShell, IServer server, ServerPort port, int monitorPort, String[] contentTypes) {
-		this(parentShell, server);
-		this.monitorPort = monitorPort;
-		this.contentTypes = contentTypes;
-		this.port = port;
-		isEdit = true;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.dialogMonitorTitle);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		ok = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	/**
-	 * 
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		//WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(NLS.bind(Messages.dialogMonitorAddDescription, new String[] { server.getName() } ));
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		data.widthHint = 275;
-		label.setLayoutData(data);
-		
-		table = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		data.heightHint = 100;
-		data.horizontalSpan = 2;
-		table.setLayoutData(data);
-		table.setLinesVisible(true);
-		tableViewer = new TableViewer(table);
-		
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		
-		tableLayout.addColumnData(new ColumnWeightData(12, 120, true));
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setText(Messages.dialogMonitorColumnType);
-		
-		tableLayout.addColumnData(new ColumnWeightData(4, 40, true));
-		col = new TableColumn(table, SWT.NONE);
-		col.setText(Messages.dialogMonitorColumnPort);
-		
-		tableViewer.setContentProvider(new PortContentProvider(server));
-		tableViewer.setLabelProvider(new PortLabelProvider(server));
-		tableViewer.setInput(AbstractTreeContentProvider.ROOT);
-		
-		tableViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				ServerPort port1 = (ServerPort) e1;
-				ServerPort port2 = (ServerPort) e2;
-				if (port1.getPort() == port2.getPort())
-					return 0;
-				else if (port1.getPort() > port2.getPort())
-					return 1;
-				else
-					return -1;
-			}
-		});
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.dialogMonitorMonitorPort);
-		
-		final Text portText = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 150;
-		portText.setLayoutData(data);
-		if (monitorPort >= 0)
-			portText.setText(monitorPort + "");
-
-		portText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				try {
-					monitorPort = Integer.parseInt(portText.getText());
-					if (ok != null)
-						ok.setEnabled(true);
-				} catch (Exception ex) {
-					monitorPort = -1;
-					if (ok != null)
-						ok.setEnabled(false);
-				}
-				portChanged = true;
-			}
-		});
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.dialogMonitorContentType);
-		
-		final Combo combo = new Combo(composite, SWT.READ_ONLY);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 150;
-		combo.setLayoutData(data);
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				int size = combo.getItemCount();
-				int sel = combo.getSelectionIndex();
-				if (sel == size - 1)
-					contentTypes = portContentTypes;
-				else
-					contentTypes = new String[] { portContentTypes[sel] };
-			}
-		});
-		
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				port = (ServerPort) getSelection(tableViewer.getSelection());
-				if (port == null)
-					return;
-				if (!portChanged) {
-					portText.setText((port.getPort() + 1) + "");
-					portChanged = false;
-				}
-				portContentTypes = port.getContentTypes();
-				String[] s = null;
-				String all = Messages.dialogMonitorContentTypeAll;
-				if (portContentTypes == null || portContentTypes.length == 1) {
-					s = new String[] { all };
-				} else {
-					int size = portContentTypes.length;
-					s = new String[size+1];
-					for (int i = 0; i < size; i++) {
-						s[i] = MonitorLabelProvider.getContentTypeString(portContentTypes[i]);
-					}
-					s[size] = all;
-				}
-				combo.setItems(s);
-				combo.setText(all);
-			}
-		});
-		
-		Dialog.applyDialogFont(composite);
-		
-		if (port != null) {
-			portChanged = true;
-			String[] ct = contentTypes;
-			tableViewer.setSelection(new StructuredSelection(port));
-			if (ct != null && ct.length > 0)
-				combo.setText(MonitorLabelProvider.getContentTypeString(ct[0]));
-		} else if (tableViewer != null) {
-			try {
-				Object obj = tableViewer.getElementAt(0);
-				if (obj != null)
-				tableViewer.setSelection(new StructuredSelection(obj));
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		
-		portChanged = false;
-	
-		return composite;
-	}
-	
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-	
-	public int getMonitorPort() {
-		return monitorPort;
-	}
-
-	public ServerPort getServerPort() {
-		return port;
-	}
-
-	public String[] getContentTypes() {
-		return contentTypes;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java
deleted file mode 100644
index 3d2a784..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.IMonitoredServerPort;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Monitor port label provider.
- */
-public class MonitorLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
-	protected IServer server;
-
-	public MonitorLabelProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		IMonitoredServerPort port = (IMonitoredServerPort) element;
-		if (columnIndex == 0) {
-			if (port.isStarted())
-				return ImageResource.getImage(ImageResource.IMG_MONITOR_ON);
-			return ImageResource.getImage(ImageResource.IMG_MONITOR_OFF);
-		}
-		return null;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		IMonitoredServerPort port = (IMonitoredServerPort) element;
-		if (columnIndex == 0) {
-			if (port.isStarted())
-				return Messages.started;
-			return Messages.stopped;
-		} else if (columnIndex == 1)
-			return notNull(port.getServerPort().getName());
-		else if (columnIndex == 2)
-			return port.getServerPort().getPort() + "";
-		else if (columnIndex == 3)
-			return port.getMonitorPort() + "";
-		else {
-			String[] content = port.getContentTypes();
-			if (content == null || content.length == 0)
-				return Messages.dialogMonitorContentTypeAll;
-			
-			StringBuffer sb = new StringBuffer();
-			int size = content.length;
-			for (int i = 0; i < size; i++) {
-				if (i > 0)
-					sb.append(",");
-				sb.append(getContentTypeString(content[i]));
-			}
-			return sb.toString();
-		}
-	}
-	
-	protected static String getContentTypeString(String s) {
-		if ("web".equals(s))
-			return Messages.dialogMonitorContentTypeWeb;
-		else if ("webservices".equals(s))
-			return Messages.dialogMonitorContentTypeWebServices;
-		else
-			return s;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java
deleted file mode 100644
index e6221c9..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IServer;
-/**
- * Monitor port content provider.
- */
-public class PortContentProvider extends BaseContentProvider {
-	protected IServer server;
-
-	public PortContentProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return server.getServerPorts(null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java
deleted file mode 100644
index 7c674f7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.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.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-/**
- * Server port label provider.
- */
-public class PortLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
-	protected IServer server;
-
-	public PortLabelProvider(IServer server) {
-		super();
-		this.server = server;
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		ServerPort port = (ServerPort) element;
-		if (columnIndex == 0)
-			return notNull(port.getName());
-		else if (columnIndex == 1)
-			return port.getPort() + "";
-		else
-			return "";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
deleted file mode 100644
index e2739d2..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
+++ /dev/null
@@ -1,171 +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.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class RuntimeComposite extends AbstractTableComposite {
-	protected IRuntime selection;
-	protected IRuntime defaultRuntime;
-	protected RuntimeSelectionListener listener;
-	
-	public interface RuntimeSelectionListener {
-		public void runtimeSelected(IRuntime runtime);
-	}
-	
-	class RuntimeViewerSorter extends ViewerSorter {
-		boolean sortByName;
-		public RuntimeViewerSorter(boolean sortByName) {
-			this.sortByName = sortByName;
-		}
-		
-		public int compare(Viewer viewer, Object e1, Object e2) {
-			IRuntime r1 = (IRuntime) e1;
-			IRuntime r2 = (IRuntime) e2;
-			if (sortByName)
-				return getComparator().compare(notNull(r1.getName()), notNull(r2.getName()));
-			
-			if (r1.getRuntimeType() == null)
-				return -1;
-			if (r2.getRuntimeType() == null)
-				return 1;
-			return getComparator().compare(notNull(r1.getRuntimeType().getName()), notNull(r2.getRuntimeType().getName()));
-		}
-		
-		protected String notNull(String s) {
-			if (s == null)
-				return "";
-			return s;
-		}
-	}
-	
-	public RuntimeComposite(Composite parent, int style, RuntimeSelectionListener listener2) {
-		super(parent, style);
-		this.listener = listener2;
-		
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-
-		tableLayout.addColumnData(new ColumnWeightData(0, 160, true));
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setText(Messages.columnName);
-		col.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				tableViewer.setSorter(new RuntimeViewerSorter(true));
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-
-		tableLayout.addColumnData(new ColumnWeightData(0, 125, true));
-		col = new TableColumn(table, SWT.NONE);
-		col.setText(Messages.columnType);
-		col.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				tableViewer.setSorter(new RuntimeViewerSorter(false));
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		tableViewer.setContentProvider(new RuntimeContentProvider());
-		
-		ILabelProvider labelProvider = new RuntimeTableLabelProvider();
-		labelProvider.addListener(new ILabelProviderListener() {
-			public void labelProviderChanged(LabelProviderChangedEvent event) {
-				Object[] obj = event.getElements();
-				if (obj == null)
-					tableViewer.refresh(true);
-				else {
-					obj = ServerUIPlugin.adaptLabelChangeObjects(obj);
-					int size = obj.length;
-					for (int i = 0; i < size; i++)
-						tableViewer.refresh(obj[i], true);
-				}
-			}
-		});
-		tableViewer.setLabelProvider(labelProvider);
-		
-		tableViewer.setInput(AbstractTreeContentProvider.ROOT);
-		tableViewer.setColumnProperties(new String[] {"name", "type"});
-		tableViewer.setSorter(new RuntimeViewerSorter(true));
-		
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IRuntime)
-					selection = (IRuntime) obj;
-				else
-					selection = null;
-				listener.runtimeSelected(selection);
-			}
-		});
-		
-		table.addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == 'l') {
-					try {
-						IRuntime runtime = getSelectedRuntime();
-						IRuntimeWorkingCopy wc = runtime.createWorkingCopy();
-						wc.setReadOnly(!runtime.isReadOnly());
-						wc.save(false, null);
-						refresh(runtime);
-					} catch (Exception ex) {
-						// ignore
-					}
-				}
-			}
-
-			public void keyReleased(KeyEvent e) {
-				// do nothing
-			}
-		});
-		
-		// after adding an item do the packing of the table
-		if (table.getItemCount() > 0) {
-			TableColumn[] columns = table.getColumns();
-			for (int i=0; i < columns.length; i++)
-				columns[i].pack();
-			table.pack();
-		}
-	}
-
-	protected void createTable() {
-		table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-	}
-
-	protected void createTableViewer() {
-		tableViewer = new LockedTableViewer(table);
-	}
-
-	public IRuntime getSelectedRuntime() {
-		return selection;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java
deleted file mode 100644
index b123258..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.Runtime;
-/**
- * Runtime content provider.
- */
-public class RuntimeContentProvider extends BaseContentProvider {
-	/**
-	 * RuntimeContentProvider constructor comment.
-	 */
-	public RuntimeContentProvider() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		List<IRuntime> list = new ArrayList<IRuntime>();
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		if (runtimes != null) {
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				if (!((Runtime)runtimes[i]).isPrivate())
-					list.add(runtimes[i]);
-			}
-		}
-		return list.toArray();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java
deleted file mode 100644
index b201242..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-/**
- * Runtime table label provider.
- */
-public class RuntimeTableLabelProvider extends BaseLabelProvider implements ITableLabelProvider, ILockedLabelProvider {
-	/**
-	 * RuntimeTableLabelProvider constructor comment.
-	 */
-	public RuntimeTableLabelProvider() {
-		super();
-	}
-
-	/**
-	 * RuntimeTableLabelProvider constructor comment.
-	 * 
-	 * @param decorator a label decorator, or null if no decorator is required
-	 */
-	public RuntimeTableLabelProvider(ILabelDecorator decorator) {
-		super(decorator);
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnImage(Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (columnIndex == 0) {
-			IRuntime runtime = (IRuntime) element;
-			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null) {
-				Image image = ImageResource.getImage(runtimeType.getId());
-				if (decorator != null) {
-					Image dec = decorator.decorateImage(image, element);
-					if (dec != null)
-						return dec;
-				}
-				return image;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnText(Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		IRuntime runtime = (IRuntime) element;
-		if (columnIndex == 0) {
-			String text = notNull(runtime.getName());
-			if (decorator != null) {
-				String dec = decorator.decorateText(text, element);
-				if (dec != null)
-					return dec;
-			}
-			return text;
-		} else if (columnIndex == 1) {
-			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null)
-				return notNull(runtimeType.getName());
-			return "";
-		} else
-			return "";
-	}
-
-	public boolean isLocked(Object element) {
-		IRuntime runtime = (IRuntime) element;
-		return runtime.isReadOnly();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
deleted file mode 100644
index f7bf887..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Runtime content provider.
- */
-public class RuntimeTreeContentProvider extends AbstractTreeContentProvider {
-	/**
-	 * RuntimeTreeContentProvider constructor.
-	 */
-	public RuntimeTreeContentProvider() {
-		super();
-	}
-
-	public void fillTree() {
-		clean();
-		List<TreeElement> list = new ArrayList<TreeElement>();
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		if (runtimes != null) {
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				IRuntimeType runtimeType = runtimes[i].getRuntimeType();
-				try {
-					TreeElement ele = getOrCreate(list, runtimeType.getVendor());
-					ele.contents.add(runtimes[i]);
-					elementToParentMap.put(runtimes[i], ele);
-				} catch (Exception e) {
-					if (Trace.WARNING) {
-						Trace.trace(Trace.STRING_WARNING, "Error in runtime content provider", e);
-					}
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java
deleted file mode 100644
index c7d035c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-/**
- * Runtime label provider.
- */
-public class RuntimeTreeLabelProvider extends AbstractTreeLabelProvider implements ITableLabelProvider {
-	/**
-	 * RuntimeTreeLabelProvider constructor comment.
-	 */
-	public RuntimeTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * RuntimeTreeLabelProvider constructor comment.
-	 * 
-	 * @param decorator a label decorator, or null if no decorator is required
-	 */
-	public RuntimeTreeLabelProvider(ILabelDecorator decorator) {
-		super(decorator);
-	}
-
-	/**
-	 * 
-	 */
-	protected Image getImageImpl(Object element) {
-		IRuntime runtime = (IRuntime) element;
-		IRuntimeType runtimeType = runtime.getRuntimeType();
-		if (runtimeType != null) {
-			Image image = ImageResource.getImage(runtimeType.getId());
-			if (decorator != null) {
-				Image dec = decorator.decorateImage(image, element);
-				if (dec != null)
-					return dec;
-			}
-			return image;
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	protected String getTextImpl(Object element) {
-		IRuntime runtime = (IRuntime) element;
-		return notNull(runtime.getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (columnIndex == 0) {
-			if (element instanceof ServerTreeContentProvider.TreeElement) {
-				ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-				return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
-			}
-			return getImageImpl(element);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof ServerTreeContentProvider.TreeElement) {
-			if (columnIndex == 0)
-				return ((ServerTreeContentProvider.TreeElement) element).text;
-			return "";
-		}
-		IRuntime runtime = (IRuntime) element;
-		if (columnIndex == 0) {
-			String text = notNull(runtime.getName());
-			if (decorator != null) {
-				String dec = decorator.decorateText(text, runtime);
-				if (dec != null)
-					return dec;
-			}
-			return text;
-		} else if (columnIndex == 1) {
-			if (runtime.getRuntimeType() != null)
-				return notNull(runtime.getRuntimeType().getName());
-			return "";
-		}
-		return "";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
deleted file mode 100644
index 4c42f30..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.discovery.Discovery;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class RuntimeTypeComposite extends AbstractTreeComposite {
-	protected IRuntimeType selection;
-	protected RuntimeTypeSelectionListener listener;
-	protected boolean creation;
-	protected String type;
-	protected String version;
-	protected String runtimeTypeId;
-
-	protected RuntimeTypeTreeContentProvider contentProvider;
-	protected boolean initialSelection = true;
-
-	public interface RuntimeTypeSelectionListener {
-		public void runtimeTypeSelected(IRuntimeType runtimeType);
-	}
-
-	public RuntimeTypeComposite(Composite parent, boolean creation, RuntimeTypeSelectionListener listener2, String type, String version, String runtimeTypeId) {
-		super(parent);
-		this.listener = listener2;
-		this.creation = creation;
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-		
-		contentProvider = new RuntimeTypeTreeContentProvider(creation, type, version, runtimeTypeId);
-		treeViewer.setContentProvider(contentProvider);
-		
-		ILabelProvider labelProvider = new RuntimeTypeTreeLabelProvider();
-		labelProvider.addListener(new ILabelProviderListener() {
-			public void labelProviderChanged(LabelProviderChangedEvent event) {
-				Object[] obj = event.getElements();
-				if (obj == null)
-					treeViewer.refresh(true);
-				else {
-					obj = ServerUIPlugin.adaptLabelChangeObjects(obj);
-					int size = obj.length;
-					for (int i = 0; i < size; i++)
-						treeViewer.refresh(obj[i], true);
-				}
-			}
-		});
-		treeViewer.setLabelProvider(labelProvider);
-		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-		
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IRuntimeType) {
-					selection = (IRuntimeType) obj;
-					setDescription(selection.getDescription());
-				} else {
-					selection = null;
-					setDescription("");
-				}
-				listener.runtimeTypeSelected(selection);
-			}
-		});
-		
-		treeViewer.setSorter(new DefaultViewerSorter());
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible && initialSelection) {
-			initialSelection = false;
-			if (contentProvider.getInitialSelection() != null)
-				treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true);
-		}
-	}
-
-	protected String getTitleLabel() {
-		return Messages.runtimeTypeCompTree;
-	}
-
-	protected String getDescriptionLabel() {
-		return null;
-	}
-
-	public void refresh() {
-		ISelection sel = treeViewer.getSelection();
-		treeViewer.setContentProvider(new RuntimeTypeTreeContentProvider(creation, type, version, runtimeTypeId));
-		treeViewer.setSelection(sel);
-	}
-
-	public IRuntimeType getSelectedRuntimeType() {
-		return selection;
-	}
-
-	protected String getDetailsLabel() {
-		return Messages.installableServerLink;
-	}
-
-	private void closeWizard(Composite comp) {
-		if (comp == null || comp.isDisposed())
-			return;
-		
-		Composite c = comp.getParent();
-		if (c instanceof Shell) {
-			Shell s = (Shell) c;
-			s.close();
-		}
-		closeWizard(c);
-	}
-
-	protected void detailsSelected() {
-		if (Discovery.launchExtensionWizard(getShell(), Messages.wizNewInstallableServerTitle,
-				Messages.wizNewInstallableServerDescription)) {
-			//refresh();
-			closeWizard(this);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
deleted file mode 100644
index e169f84..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
+++ /dev/null
@@ -1,63 +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.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.*;
-/**
- * Runtime type content provider.
- */
-public class RuntimeTypeTreeContentProvider extends AbstractTreeContentProvider {
-	protected boolean creation;
-	protected String type;
-	protected String version;
-	protected String runtimeTypeId;
-
-	/**
-	 * RuntimeTypeContentProvider constructor.
-	 * 
-	 * @param creation true to include runtimes that can be created
-	 */
-	public RuntimeTypeTreeContentProvider(boolean creation) {
-		super();
-		this.creation = creation;
-	}
-
-	public RuntimeTypeTreeContentProvider(boolean creation, String type, String version, String runtimeTypeId) {
-		super(false);
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-		this.creation = creation;
-		
-		fillTree();
-	}
-
-	public void fillTree() {
-		clean();
-		List<TreeElement> list = new ArrayList<TreeElement>();
-		IRuntimeType[] runtimeTypes = ServerUtil.getRuntimeTypes(type, version, runtimeTypeId);
-		if (runtimeTypes != null) {
-			int size = runtimeTypes.length;
-			for (int i = 0; i < size; i++) {
-				IRuntimeType runtimeType = runtimeTypes[i];
-				if (!creation || runtimeType.canCreate()) {
-					TreeElement ele = getOrCreate(list, runtimeType.getVendor());
-					ele.contents.add(runtimeType);
-					elementToParentMap.put(runtimeType, ele);
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java
deleted file mode 100644
index c973c6b..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java
+++ /dev/null
@@ -1,52 +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.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.swt.graphics.Image;
-/**
- * Runtime type label provider.
- */
-public class RuntimeTypeTreeLabelProvider extends AbstractTreeLabelProvider {
-	/**
-	 * RuntimeTypeTreeLabelProvider constructor comment.
-	 */
-	public RuntimeTypeTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * RuntimeTypeTreeLabelProvider constructor comment.
-	 * 
-	 * @param decorator a label decorator, or null if no decorator is required
-	 */
-	public RuntimeTypeTreeLabelProvider(ILabelDecorator decorator) {
-		super(decorator);
-	}
-
-	/**
-	 * 
-	 */
-	protected Image getImageImpl(Object element) {
-		IRuntimeType runtimeType = (IRuntimeType) element;
-		return ImageResource.getImage(runtimeType.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected String getTextImpl(Object element) {
-		IRuntimeType runtimeType = (IRuntimeType) element;
-		return notNull(runtimeType.getName());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
deleted file mode 100644
index ce73bbe..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.ui.dialogs.FilteredTree;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.view.servers.ServerTableLabelProvider;
-/**
- * 
- */
-public class ServerComposite extends AbstractTreeComposite {
-	protected IServer selection;
-	protected ServerSelectionListener listener;
-	protected ServerTreeContentProvider contentProvider;
-	protected boolean initialSelection = true;
-
-	protected IModule module;
-	protected String launchMode;
-	protected boolean includeIncompatibleVersions;
-
-	public interface ServerSelectionListener {
-		public void serverSelected(IServer server);
-	}
-
-	public ServerComposite(Composite parent, ServerSelectionListener listener2, IModule module, String launchMode) {
-		super(parent);
-		this.module = module;
-		this.launchMode = launchMode;
-		
-		this.listener = listener2;
-		
-		Tree tree2 = treeViewer.getTree();
-		TreeColumn column = new TreeColumn(tree2, SWT.SINGLE);
-		column.setText(Messages.viewServer);
-		column.setWidth(325);
-		
-		TreeColumn column2 = new TreeColumn(tree2, SWT.SINGLE);
-		column2.setText(Messages.viewState);
-		column2.setWidth(100);
-		
-		contentProvider = new ServerTreeContentProvider(module, launchMode);
-		treeViewer.setContentProvider(contentProvider);
-		
-		//ILabelProvider labelProvider = new ServerTreeLabelProvider();
-		ILabelProvider labelProvider = new ServerTableLabelProvider();
-		labelProvider.addListener(new ILabelProviderListener() {
-			public void labelProviderChanged(LabelProviderChangedEvent event) {
-				Object[] obj = event.getElements();
-				if (obj == null)
-					treeViewer.refresh(true);
-				else {
-					obj = ServerUIPlugin.adaptLabelChangeObjects(obj);
-					int size = obj.length;
-					for (int i = 0; i < size; i++)
-						treeViewer.refresh(obj[i], true);
-				}
-			}
-		});
-		treeViewer.setLabelProvider(labelProvider);
-		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-		treeViewer.expandToLevel(1);
-		
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IServer) {
-					selection = (IServer) obj;
-					setDescription(selection.getServerType().getRuntimeType().getDescription());
-				} else {
-					selection = null;
-					setDescription("");
-				}
-				listener.serverSelected(selection);
-			}
-		});
-	}
-
-	protected void createTree() {
-		tree = new FilteredTree(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION, new ServerPatternFilter());
-	}
-
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		ISelection sel = treeViewer.getSelection();
-		contentProvider.setIncludeIncompatibleVersions(b);
-		treeViewer.refresh();
-		treeViewer.setSelection(sel, true);
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible && initialSelection) {
-			initialSelection = false;
-			deferInitialization();
-		}
-	}
-
-	public void refreshAll() {
-		ISelection sel = treeViewer.getSelection();
-		contentProvider = new ServerTreeContentProvider(module, launchMode);
-		contentProvider.setIncludeIncompatibleVersions(includeIncompatibleVersions);
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setSelection(sel);
-	}
-
-	protected String getDescriptionLabel() {
-		return null;
-	}
-
-	protected String getTitleLabel() {
-		return Messages.wizNewServerSelectExisting;
-	}
-
-	public IServer getSelectedServer() {
-		return selection;
-	}
-
-	public void setSelection(IServer server) {
-		if (server != null)
-			treeViewer.setSelection(new StructuredSelection(server), true);
-		else
-			treeViewer.setSelection(null);
-	}
-
-	protected void deferInitialization() {
-		Job job = new Job(Messages.jobInitializingServersView) {
-			public IStatus run(IProgressMonitor monitor) {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						try {
-							if (contentProvider.getInitialSelection(module.getProject()) != null)
-								treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection(module.getProject())), true);
-						} catch (Exception e) {
-							// ignore - wizard has already been closed
-						}
-					}
-				});
-				return Status.OK_STATUS;
-			}
-		};
-		
-		job.setSystem(true);
-		job.setPriority(Job.SHORT);
-		job.schedule();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerPatternFilter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerPatternFilter.java
deleted file mode 100644
index 5d1e89e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerPatternFilter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-
-public class ServerPatternFilter extends PatternFilter {
-	protected boolean isLeafMatch(Viewer viewer, Object element) {
-		boolean b = super.isLeafMatch(viewer, element);
-		if (b)
-			return true;
-		
-		Object parent = ((ITreeContentProvider) ((AbstractTreeViewer) viewer)
-				.getContentProvider()).getParent(element);
-		if (parent != null) {
-			String labelText = ((ILabelProvider) ((StructuredViewer) viewer).getLabelProvider())
-					.getText(parent);
-			
-			if (labelText != null && wordMatches(labelText))
-				return true;
-		}
-		
-		if (element instanceof IRuntimeType && matchesRuntimeType((IRuntimeType) element))
-			return true;
-		if (element instanceof IRuntime && matchesRuntime((IRuntime) element))
-			return true;
-		if (element instanceof IServerType && matchesServerType((IServerType) element))
-			return true;
-		if (element instanceof IServer && matchesServer((IServer) element))
-			return true;
-		
-		return false;
-	}
-
-	protected boolean matchesModuleType(IModuleType mt) {
-		String text = mt.getName();
-		if (wordMatches(text))
-			return true;
-		text = mt.getVersion();
-		if (wordMatches(text))
-			return true;
-		return false;
-	}
-
-	protected boolean matchesRuntimeType(IRuntimeType rt) {
-		String text = rt.getName();
-		if (wordMatches(text))
-			return true;
-		text = rt.getDescription();
-		if (wordMatches(text))
-			return true;
-		text = rt.getVendor();
-		if (wordMatches(text))
-			return true;
-		text = rt.getVersion();
-		if (wordMatches(text))
-			return true;
-		
-		IModuleType[] mts = rt.getModuleTypes();
-		if (mts != null) {
-			int size = mts.length;
-			for (int i = 0; i < size; i++) {
-				if (matchesModuleType(mts[i]))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	protected boolean matchesRuntime(IRuntime r) {
-		String text = r.getName();
-		if (wordMatches(text))
-			return true;
-		if (r.getLocation() != null) {
-			text = r.getLocation().toPortableString();
-			if (wordMatches(text))
-				return true;
-			text = r.getLocation().toOSString();
-			if (wordMatches(text))
-				return true;
-		}
-		if (r.getRuntimeType() != null && matchesRuntimeType(r.getRuntimeType()))
-			return true;
-		return false;
-	}
-
-	protected boolean matchesServerType(IServerType st) {
-		String text = st.getDescription();
-		if (wordMatches(text))
-			return true;
-		if (st.getRuntimeType() != null && matchesRuntimeType(st.getRuntimeType()))
-			return true;
-		return false;
-	}
-
-	protected boolean matchesServer(IServer st) {
-		String text = st.getName();
-		if (wordMatches(text))
-			return true;
-		if (st.getServerType() != null && matchesServerType(st.getServerType()))
-			return true;
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java
deleted file mode 100644
index 758a16a..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java
+++ /dev/null
@@ -1,83 +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.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * Runtime type content provider.
- */
-public class ServerTreeContentProvider extends AbstractTreeContentProvider {
-	protected IModule module;
-	protected String launchMode;
-	protected boolean includeIncompatibleVersions;
-
-	/**
-	 * ServerTreeContentProvider constructor.
-	 */
-	public ServerTreeContentProvider() {
-		super();
-	}
-	
-	public ServerTreeContentProvider(IModule module, String launchMode) {
-		super(false);
-		this.module = module;
-		this.launchMode = launchMode;
-		
-		fillTree();
-	}
-	
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		fillTree();
-	}
-	
-	protected void fillTree() {
-		clean();
-		List<TreeElement> list = new ArrayList<TreeElement>();
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				if (acceptServer(servers[i])) {
-					TreeElement te = getOrCreate(list, servers[i].getHost());
-					te.contents.add(servers[i]);
-					elementToParentMap.put(servers[i], te);
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-
-	protected boolean acceptServer(IServer server) {
-		if (module == null || launchMode == null)
-			return true;
-		if (!ServerUIPlugin.isCompatibleWithLaunchMode(server, launchMode))
-			return false;
-		
-		IModuleType mt = module.getModuleType();
-		if (includeIncompatibleVersions) {
-			if (!ServerUtil.isSupportedModule(server.getServerType().getRuntimeType().getModuleTypes(), mt.getId(), null))
-				return false;
-		} else {
-			if (!ServerUtil.isSupportedModule(server.getServerType().getRuntimeType().getModuleTypes(), mt.getId(), mt.getVersion()))
-				return false;
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java
deleted file mode 100644
index 8d4e0ba..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.discovery.Discovery;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-/**
- * 
- */
-public class ServerTypeComposite extends AbstractTreeComposite {
-	protected IServerType selection;
-	protected ServerTypeSelectionListener listener;
-	protected ServerTypeTreeContentProvider contentProvider;
-	protected boolean initialSelection = true;
-
-	protected IModuleType moduleType;
-	protected String serverTypeId;
-
-	protected boolean isLocalhost;
-	protected boolean includeIncompatibleVersions;
-
-	public interface ServerTypeSelectionListener {
-		public void serverTypeSelected(IServerType type);
-	}
-
-	public ServerTypeComposite(Composite parent, IModuleType moduleType, String serverTypeId, ServerTypeSelectionListener listener2) {
-		super(parent);
-		this.listener = listener2;
-		
-		this.moduleType = moduleType;
-		this.serverTypeId = serverTypeId;
-		
-		contentProvider = new ServerTypeTreeContentProvider(moduleType, serverTypeId);
-		treeViewer.setContentProvider(contentProvider);
-		
-		ILabelProvider labelProvider = new ServerTypeTreeLabelProvider();
-		labelProvider.addListener(new ILabelProviderListener() {
-			public void labelProviderChanged(LabelProviderChangedEvent event) {
-				Object[] obj = event.getElements();
-				if (obj == null)
-					treeViewer.refresh(true);
-				else {
-					obj = ServerUIPlugin.adaptLabelChangeObjects(obj);
-					int size = obj.length;
-					for (int i = 0; i < size; i++)
-						treeViewer.refresh(obj[i], true);
-				}
-			}
-		});
-		treeViewer.setLabelProvider(labelProvider);
-		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-		
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = getSelection(event.getSelection());
-				if (obj instanceof IServerType) {
-					selection = (IServerType) obj;
-					setDescription(selection.getDescription());
-				} else {
-					selection = null;
-					setDescription("");
-				}
-				listener.serverTypeSelected(selection);
-			}
-		});
-		
-		treeViewer.setSorter(new DefaultViewerSorter());
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible && initialSelection) {
-			initialSelection = false;
-			deferInitialization();
-		}
-	}
-
-	protected void deferInitialization() {
-		Job job = new Job(Messages.jobInitializingServersView) {
-			public IStatus run(IProgressMonitor monitor) {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						try {
-							if (contentProvider.getInitialSelection() != null)
-								treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true);
-						} catch (Exception e) {
-							// ignore - wizard has already been closed
-						}
-					}
-				});
-				return Status.OK_STATUS;
-			}
-		};
-		
-		job.setSystem(true);
-		job.setPriority(Job.SHORT);
-		job.schedule();
-	}
-
-	public boolean setHost(boolean newHost) {
-		if (isLocalhost == newHost)
-			return false;
-		
-		isLocalhost = newHost;
-		ISelection sel = treeViewer.getSelection();
-		contentProvider.setLocalhost(isLocalhost);
-		treeViewer.refresh();
-		//treeViewer.expandToLevel(2);
-		treeViewer.setSelection(sel, true);
-		return true;
-	}
-
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		ISelection sel = treeViewer.getSelection();
-		contentProvider.setIncludeIncompatibleVersions(b);
-		treeViewer.refresh();
-		treeViewer.setSelection(sel, true);
-	}
-
-	protected String getDescriptionLabel() {
-		return null;
-	}
-
-	protected String getTitleLabel() {
-		return Messages.serverTypeCompLabel;
-	}
-
-	public IServerType getSelectedServerType() {
-		return selection;
-	}
-
-	public void refresh() {
-		ISelection sel = treeViewer.getSelection();
-		treeViewer.setContentProvider(new ServerTypeTreeContentProvider(moduleType, serverTypeId));
-		treeViewer.setSelection(sel);
-	}
-
-	protected String getDetailsLabel() {
-		return Messages.installableServerLink;
-	}
-
-	private void closeWizard(Composite comp) {
-		if (comp == null || comp.isDisposed())
-			return;
-		Composite c = comp.getParent();
-		if (c instanceof Shell) {
-			Shell s = (Shell) c;
-			s.close();
-		}
-		closeWizard(c);
-	}
-
-	protected void detailsSelected() {
-		if (Discovery.launchExtensionWizard(getShell(), Messages.wizNewInstallableServerTitle,
-				Messages.wizNewInstallableServerDescription)) {
-			//refresh();
-			closeWizard(this);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
deleted file mode 100644
index 70085d4..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Server type content provider.
- */
-public class ServerTypeTreeContentProvider extends AbstractTreeContentProvider {
-	protected boolean localhost;
-
-	protected IModuleType moduleType;
-	protected String serverTypeId;
-	protected boolean includeIncompatibleVersions;
-
-	/**
-	 * ServerTypeTreeContentProvider constructor.
-	 * 
-	 * @param moduleType a module type
-	 * @param serverTypeId a server type id, or null to match any id
-	 */
-	public ServerTypeTreeContentProvider(IModuleType moduleType, String serverTypeId) {
-		super(false);
-		localhost = true;
-		
-		this.moduleType = moduleType;
-		this.serverTypeId = serverTypeId;
-		
-		fillTree();
-	}
-	
-	public void fillTree() {
-		clean();
-
-		List<TreeElement> list = new ArrayList<TreeElement>();
-		IServerType[] serverTypes = ServerCore.getServerTypes();
-		if (serverTypes != null) {
-			int size = serverTypes.length;
-			for (int i = 0; i < size; i++) {
-				IServerType serverType = serverTypes[i];
-				if (include(serverType)) {
-					try {
-						IRuntimeType runtimeType = serverType.getRuntimeType();
-						TreeElement ele = getOrCreate(list, runtimeType.getVendor());
-						ele.contents.add(serverType);
-						elementToParentMap.put(serverType, ele);
-					} catch (Exception e) {
-						if (Trace.WARNING) {
-							Trace.trace(Trace.STRING_WARNING, "Error in server configuration content provider", e);
-						}
-					}
-				}
-			}
-		}
-		elements = list.toArray();
-	}
-
-	protected boolean include(IServerType serverType) {
-		if (serverTypeId != null && !serverType.getId().startsWith(serverTypeId))
-			return false;
-		
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		if (runtimeType == null)
-			return false;
-		
-		String moduleTypeId = null;
-		if (moduleType != null)
-			moduleTypeId = moduleType.getId();
-		if (includeIncompatibleVersions) {
-			if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), moduleTypeId, null))
-				return false;
-		} else {
-			String moduleVersion = null;
-			if (moduleType != null)
-				moduleVersion = moduleType.getVersion();
-			if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), moduleTypeId, moduleVersion))
-				return false;
-		}
-		
-		if (localhost || serverType.supportsRemoteHosts())
-			return true;
-		
-		return false;
-	}
-
-	protected boolean checkForNonStubEnvironmentRuntime(IServerType serverType) {
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		IRuntime[] runtimes = ServerUIPlugin.getRuntimes(runtimeType);
-		if (runtimes == null || runtimes.length == 0)
-			return false;
-		
-		int size = runtimes.length;
-		for (int i = 0; i < size; i++) {
-			if (!runtimes[i].isStub())
-				return true;
-		}
-		return false;
-	}
-
-	public void setLocalhost(boolean local) {
-		localhost = local;
-		fillTree();
-	}
-
-	public void setIncludeIncompatibleVersions(boolean b) {
-		includeIncompatibleVersions = b;
-		fillTree();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java
deleted file mode 100644
index a872232..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java
+++ /dev/null
@@ -1,52 +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.ui.internal.viewers;
-
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.swt.graphics.Image;
-/**
- * Server type label provider.
- */
-public class ServerTypeTreeLabelProvider extends AbstractTreeLabelProvider {
-	/**
-	 * ServerTypeTreeLabelProvider constructor comment.
-	 */
-	public ServerTypeTreeLabelProvider() {
-		super();
-	}
-
-	/**
-	 * ServerTypeTreeLabelProvider constructor comment.
-	 * 
-	 * @param decorator a label decorator, or null if no decorator is required
-	 */
-	public ServerTypeTreeLabelProvider(ILabelDecorator decorator) {
-		super(decorator);
-	}
-
-	/**
-	 * 
-	 */
-	protected Image getImageImpl(Object element) {
-		IServerType type = (IServerType) element;
-		return ImageResource.getImage(type.getId());
-	}
-
-	/**
-	 * 
-	 */
-	protected String getTextImpl(Object element) {
-		IServerType type = (IServerType) element;
-		return notNull(type.getName());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/Version.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/Version.java
deleted file mode 100644
index c1970c8..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/Version.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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.ui.internal.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-public class Version {
-	private static final String SEPARATOR = ".";
-
-	private String[] version;
-
-	public Version(String s) {
-		StringTokenizer st = new StringTokenizer(s, SEPARATOR);
-		List<String> list = new ArrayList<String>();
-		
-		while (st.hasMoreTokens()) {
-			String str = st.nextToken();
-			int size = str.length();
-			for (int i = 0; i < size; i++) {
-				if (!Character.isLetterOrDigit(str.charAt(i)))
-					throw new NumberFormatException("Version strings cannot contain '" + str.charAt(i) + "'");
-			}
-			list.add(str);
-		}
-		
-		version = new String[list.size()];
-		list.toArray(version);
-	}
-
-	public static Version parseVersion(String s) {
-		return new Version(s);
-	}
-
-	public static int compare(Version v1, Version v2) {
-		int v1l = v1.version.length;
-		int v2l = v2.version.length;
-		
-		int size = Math.min(v1l, v2l);
-		for (int i = 0; i < size; i++) {
-			try {
-				double d1 = Double.parseDouble(v1.version[i]);
-				double d2 = Double.parseDouble(v2.version[i]);
-				
-				int c = Double.compare(d1, d2);
-				if (c != 0)
-					return c;
-			} catch (NumberFormatException nfe) {
-				// ignore
-			}
-			
-			int c = v1.version[i].compareTo(v2.version[i]);
-			if (c != 0)
-				return c;
-		}
-		if (v1l == v2l)
-			return 0;
-		if (v1l > v2l)
-			return 1;
-		return -1;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/OpenBrowserWorkbenchAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/OpenBrowserWorkbenchAction.java
deleted file mode 100644
index 1e75bef..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/OpenBrowserWorkbenchAction.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.webbrowser;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.*;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-/**
- * Action to open the Web broswer.
- */
-public class OpenBrowserWorkbenchAction implements IWorkbenchWindowActionDelegate {
-	/**
-	 * OpenBrowserWorkbenchAction constructor comment.
-	 */
-	public OpenBrowserWorkbenchAction() {
-		super();
-	}
-
-	/**
-	 * Disposes this action delegate.  The implementor should unhook any references
-	 * to itself so that garbage collection can occur.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this action delegate with the workbench window it will work in.
-	 *
-	 * @param window the window that provides the context for this delegate
-	 */
-	public void init(IWorkbenchWindow window) {
-		// do nothing
-	}
-
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action) {
-		try {
-			IWorkbenchBrowserSupport browserSupport = ServerUIPlugin.getInstance().getWorkbench().getBrowserSupport();
-			IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR, null, null, null);
-			browser.openURL(null);
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error opening browser", e);
-			}
-		}
-	}
-
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the
-	 * action or to modify other presentation properties.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of the action
-	 * @param selection the current selection in the workbench
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchBrowserWorkbenchAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchBrowserWorkbenchAction.java
deleted file mode 100644
index 10f0f62..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchBrowserWorkbenchAction.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.webbrowser;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.browser.BrowserManager;
-import org.eclipse.ui.internal.browser.IBrowserDescriptor;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-import org.eclipse.ui.internal.browser.WebBrowserUtil;
-/**
- * Action to open the Web broswer.
- */
-public class SwitchBrowserWorkbenchAction implements IWorkbenchWindowPulldownDelegate2 {
-	/**
-	 * The menu created by this action
-	 */
-	private Menu fMenu;
-		
-	protected boolean recreateMenu = false;
-
-	/**
-	 * SwitchBrowserWorkbenchAction constructor comment.
-	 */
-	public SwitchBrowserWorkbenchAction() {
-		super();
-	}
-
-	public void dispose() {
-		setMenu(null);
-	}
-	
-	/**
-	 * Sets this action's drop-down menu, disposing the previous menu.
-	 * 
-	 * @param menu the new menu
-	 */
-	private void setMenu(Menu menu) {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		fMenu = menu;
-	}
-
-	public void init(IWorkbenchWindow window) {
-		// do nothing
-	}
-	
-	/**
-	 * Adds the given action to the specified menu with an accelerator specified
-	 * by the given number.
-	 * 
-	 * @param menu the menu to add the action to
-	 * @param action the action to add
-	 * @param accelerator the number that should appear as an accelerator
-	 */
-	protected void addToMenu(Menu menu, IAction action, int accelerator) {
-		StringBuffer label= new StringBuffer();
-		if (accelerator >= 0 && accelerator < 10) {
-			//add the numerical accelerator
-			label.append('&');
-			label.append(accelerator);
-			label.append(' ');
-		}
-		label.append(action.getText());
-		action.setText(label.toString());
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(menu, -1);
-	}
-
-	/**
-	 * Fills the drop-down menu with favorites and launch history,
-	 * launch shortcuts, and an action to open the launch configuration dialog.
-	 *
-	 * @param menu the menu to fill
-	 */
-	protected void fillMenu(Menu menu) {
-		int i = 0;
-		if (WebBrowserUtil.canUseInternalWebBrowser()) {
-			addToMenu(menu, new SwitchDefaultBrowserAction(null, WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.INTERNAL, null), i++);
-		}
-		IBrowserDescriptor current = BrowserManager.getInstance().getCurrentWebBrowser();
-		BrowserManager browserManager = BrowserManager.getInstance();
-		Iterator iterator = browserManager.getWebBrowsers().iterator();
-		while (iterator.hasNext()) {
-			IBrowserDescriptor browser = (IBrowserDescriptor) iterator.next();
-			addToMenu(menu, new SwitchDefaultBrowserAction(browser, WebBrowserPreference.getBrowserChoice() != WebBrowserPreference.INTERNAL && browser.equals(current), browserManager), i++);
-		}
-	}
-
-	/**
-	 * Creates the menu for the action
-	 */
-	private void initMenu() {
-		// Add listener to repopulate the menu each time
-		// it is shown because of dynamic history list
-		fMenu.addMenuListener(new MenuAdapter() {
-			public void menuShown(MenuEvent e) {
-				//if (recreateMenu) {
-					Menu m = (Menu) e.widget;
-					MenuItem[] items = m.getItems();
-					for (int i = 0; i < items.length; i++) {
-						items[i].dispose();
-					}
-					fillMenu(m);
-					recreateMenu = false;
-				//}
-			}
-		});
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		// do nothing
-	}
-	
-	public void run(IAction action) {
-		// do nothing
-	}
-
-	public Menu getMenu(Menu parent) {
-		setMenu(new Menu(parent));
-		//fillMenu(fMenu);
-		initMenu();
-		return fMenu;
-	}
-
-	public Menu getMenu(Control parent) {
-		setMenu(new Menu(parent));
-		//fillMenu(fMenu);
-		initMenu();
-		return fMenu;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchDefaultBrowserAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchDefaultBrowserAction.java
deleted file mode 100644
index d9f8a16..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchDefaultBrowserAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.webbrowser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.internal.browser.BrowserManager;
-import org.eclipse.ui.internal.browser.IBrowserDescriptor;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-import org.eclipse.wst.server.ui.internal.Messages;
-/**
- * Action to open the Web browser.
- */
-public class SwitchDefaultBrowserAction extends Action {
-	protected IBrowserDescriptor webbrowser;
-	protected BrowserManager browserManager;
-
-	/**
-	 * SwitchDefaultBrowserAction constructor comment.
-	 * 
-	 * @param webbrowser a browser
-	 * @param current true if this is the current browser
-	 * @param manager the browser manager
-	 */
-	public SwitchDefaultBrowserAction(IBrowserDescriptor webbrowser, boolean current, BrowserManager manager) {
-		super();
-		
-		this.webbrowser = webbrowser;
-		this.browserManager = manager;
-		if (webbrowser == null)
-			setText(Messages.internalWebBrowserName);
-		else
-			setText(webbrowser.getName());
-		
-		if (current)
-			setChecked(true);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		if (webbrowser == null)
-			WebBrowserPreference.setBrowserChoice(WebBrowserPreference.INTERNAL);
-		else {
-			WebBrowserPreference.setBrowserChoice(WebBrowserPreference.EXTERNAL);
-			browserManager.setCurrentWebBrowser(webbrowser);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java
deleted file mode 100644
index 65f822e..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.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.ui.internal.wizard;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IWorkbench;
-/**
- * An abstract Wizard that contains helper methods.
- */
-public abstract class AbstractWizard extends Wizard {
-	protected IWorkbench workbench;
-	protected IStructuredSelection selection;
-
-	/**
-	 * AbstractWizard constructor comment.
-	 */
-	public AbstractWizard() {
-		super();
-	}
-
-	/**
-	 * Return the current workbench.
-	 * 
-	 * @return the workbench
-	 */
-	public IWorkbench getWorkbench() {
-		return workbench;
-	}
-
-	/**
-	 * Initialize the workbench and current selection.
-	 * 
-	 * @param newWorkbench
-	 * @param newSelection
-	 */
-	public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) {
-		workbench = newWorkbench;
-		selection = newSelection;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java
deleted file mode 100644
index 9cdc191..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * A wizard used to add and remove modules.
- */
-public class ModifyModulesWizard extends TaskWizard {
-	static class ModifyModulesWizard2 extends WizardFragment {
-		protected void createChildFragments(List<WizardFragment> list) {
-			list.add(new ModifyModulesWizardFragment(true));
-			list.add(WizardTaskUtil.SaveServerFragment);
-			
-			list.add(new WizardFragment() {
-				public void performFinish(IProgressMonitor monitor) throws CoreException {
-					IServerAttributes svr = (IServerAttributes) getTaskModel().getObject(TaskModel.TASK_SERVER);
-					if (svr instanceof IServer) {
-						IServer server = (IServer) svr;
-						if (server.getServerState() != IServer.STATE_STOPPED &&
-								ServerUIPlugin.getPreferences().getPublishOnAddRemoveModule()) {
-							IAdaptable info = null;
-							/*IAdaptable info = new IAdaptable() {
-								public Object getAdapter(Class adapter) {
-									if (Shell.class.equals(adapter))
-										return shell;
-									return null;
-								}
-							};*/
-							server.publish(IServer.PUBLISH_INCREMENTAL, null, info, null);
-						}
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * ModifyModulesWizard constructor.
-	 * 
-	 * @param server a server
-	 */
-	public ModifyModulesWizard(IServer server) {
-		super(Messages.wizModuleWizardTitle, new ModifyModulesWizard2());
-		
-		if (server != null)
-			getTaskModel().putObject(TaskModel.TASK_SERVER, server.createWorkingCopy());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java
deleted file mode 100644
index 54a7877..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java
+++ /dev/null
@@ -1,42 +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.ui.internal.wizard;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-/**
- * A wizard to create a new runtime.
- */
-public class NewRuntimeWizard extends TaskWizard implements INewWizard {
-	/**
-	 * NewRuntimeWizard constructor comment.
-	 */
-	public NewRuntimeWizard() {
-		super(Messages.wizNewRuntimeWizardTitle, new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
-				list.add(new NewRuntimeWizardFragment());
-				list.add(WizardTaskUtil.SaveRuntimeFragment);
-			}
-		});
-
-		setForcePreviousAndNextButtons(true);
-	}
-	
-	public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java
deleted file mode 100644
index 304dd7c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java
+++ /dev/null
@@ -1,65 +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.ui.internal.wizard;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.NewServerWizardFragment;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-/**
- * A wizard to create a new server and server configuration.
- */
-public class NewServerWizard extends TaskWizard implements INewWizard {
-	/**
-	 * NewServerWizard constructor comment.
-	 */
-	public NewServerWizard() {
-		this(null, null);
-	}
-
-	public NewServerWizard(final String[] ids, final String[] values) {
-		super(Messages.wizNewServerWizardTitle, new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
-				list.add(new NewServerWizardFragment());
-				
-				list.add(WizardTaskUtil.TempSaveRuntimeFragment);
-				list.add(WizardTaskUtil.TempSaveServerFragment);
-				
-				list.add(new ModifyModulesWizardFragment());
-				list.add(new TasksWizardFragment());
-				
-				list.add(WizardTaskUtil.SaveRuntimeFragment);
-				list.add(WizardTaskUtil.SaveServerFragment);
-				list.add(WizardTaskUtil.SaveHostnameFragment);
-			}
-		});
-		
-		if (ids != null) {
-			TaskModel taskModel2 = getTaskModel();
-			int size = ids.length;
-			for (int i = 0; i < size; i++) {
-				taskModel2.putObject(ids[i], values[i]);
-			}
-		}
-	}
-
-	public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/RunOnServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/RunOnServerWizard.java
deleted file mode 100644
index c74e13f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/RunOnServerWizard.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard;
-
-import java.util.HashMap;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.core.internal.ILaunchableAdapter;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.RunOnServerWizardFragment;
-/**
- * A wizard used for Run on Server.
- */
-public class RunOnServerWizard extends TaskWizard {
-	
-	/**
-	 * RunOnServerWizard constructor comment.
-	 * 
-	 * @param module a module
-	 * @param launchMode a launch mode
-	 * @param moduleArtifact a module artifact
-	 * 
-	 * @deprecated
-	 */
-	public RunOnServerWizard(IModule module, String launchMode, IModuleArtifact moduleArtifact) {
-		this(module, launchMode,moduleArtifact, null);
-	}
-	
-	/**
-	 * RunOnServerWizard constructor comment.
-	 * 
-	 * @param module a module
-	 * @param launchMode a launch mode
-	 * @param moduleArtifact a module artifact
-	 * @param properties a HashMap with the key/value pair that defines the behaviour of the wizard 
-	 */
-	public RunOnServerWizard(IModule module, String launchMode, IModuleArtifact moduleArtifact, HashMap properties) {
-		super(Messages.wizRunOnServerTitle, createRootWizard(module, launchMode, moduleArtifact, properties));
-		
-		setNeedsProgressMonitor(true);
-		if (ILaunchManager.DEBUG_MODE.equals(launchMode))
-			setWindowTitle(Messages.wizDebugOnServerTitle);
-		else if (ILaunchManager.PROFILE_MODE.equals(launchMode))
-			setWindowTitle(Messages.wizProfileOnServerTitle);
-		getTaskModel().putObject(TaskModel.TASK_LAUNCH_MODE, launchMode);
-	}
-
-	private static RunOnServerWizardFragment createRootWizard(IModule module, String launchMode, IModuleArtifact moduleArtifact, HashMap properties){
-		RunOnServerWizardFragment fragment = new RunOnServerWizardFragment(module, launchMode, moduleArtifact);
-		setFragmentProperties(fragment, properties);
-		return fragment;
-	}
-	
-	private static RunOnServerWizardFragment createRootWizard	(IServer server, String launchMode, IModuleArtifact moduleArtifact,HashMap properties) {
-		RunOnServerWizardFragment fragment = new RunOnServerWizardFragment(server, launchMode, moduleArtifact);
-		setFragmentProperties(fragment, properties);		
-		return fragment;
-	}
-	
-	private static void setFragmentProperties(RunOnServerWizardFragment fragment, HashMap properties){
-		if (properties != null){
-			fragment.setClient((IClient)properties.get(RunOnServerActionDelegate.ROS_CLIENT));
-			fragment.setLaunchable((ILaunchableAdapter)properties.get(RunOnServerActionDelegate.ROS_LAUNCHABLE));
-		}
-	}
-	
-	/**
-	 * RunOnServerWizard constructor comment.
-	 * 
-	 * @param server a server
-	 * @param launchMode a launch mode
-	 * @param moduleArtifact a module artifact
-	 */
-	public RunOnServerWizard(IServer server, String launchMode, IModuleArtifact moduleArtifact,HashMap properties) {
-		super(Messages.wizRunOnServerTitle, createRootWizard(server,launchMode,moduleArtifact, properties));
-		
-		setNeedsProgressMonitor(true);
-		if (ILaunchManager.DEBUG_MODE.equals(launchMode))
-			setWindowTitle(Messages.wizDebugOnServerTitle);
-		else if (ILaunchManager.PROFILE_MODE.equals(launchMode))
-			setWindowTitle(Messages.wizProfileOnServerTitle);
-		
-		getTaskModel().putObject(TaskModel.TASK_SERVER, server);
-		getTaskModel().putObject(TaskModel.TASK_LAUNCH_MODE, launchMode);
-		addPages();
-	}
-
-	/**
-	 * Return the server.
-	 * 
-	 * @return the server
-	 */
-	public IServer getServer() {
-		try {
-			return (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Return if the user wants to use the server as a default.
-	 * 
-	 * @return true if the server should be the default
-	 */
-	public boolean isPreferredServer() {
-		try {
-			Boolean b = (Boolean) getTaskModel().getObject(WizardTaskUtil.TASK_DEFAULT_SERVER);
-			return b.booleanValue();
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	/**
-	 * Return the selected client.
-	 * 
-	 * @return the client
-	 */
-	public IClient getSelectedClient() {
-		try {
-			return (IClient) getTaskModel().getObject(WizardTaskUtil.TASK_CLIENT);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Set the launchable adapter
-	 * @param launch
-	 */
-	public void setLaunchableAdapter(ILaunchableAdapter launch){
-		getTaskModel().putObject(WizardTaskUtil.TASK_LAUNCHABLE_ADAPTER, launch);
-	}
-	
-	/**
-	 * Return the launchable adapter.
-	 * 
-	 * @return the adapter
-	 */
-	public ILaunchableAdapter getLaunchableAdapter() {
-		try {
-			return (ILaunchableAdapter) getTaskModel().getObject(WizardTaskUtil.TASK_LAUNCHABLE_ADAPTER);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns true if this wizard should be shown to the user.
-	 * 
-	 * @return <code>true</code> if this wizard should be shown, and <code>false</code>
-	 *    otherwise
-	 */
-	public boolean shouldAppear() {
-		return getServer() == null || hasTasks() || hasClients();
-	}
-
-	/**
-	 * Return <code>true</code> if this wizard has tasks.
-	 * 
-	 * @return <code>true</code> if this wizard has tasks, and <code>false</code>
-	 *    otherwise
-	 */
-	protected boolean hasTasks() {
-		try {
-			Boolean b = (Boolean) getTaskModel().getObject(WizardTaskUtil.TASK_HAS_TASKS);
-			return b.booleanValue();
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	/**
-	 * Return <code>true</code> if this wizard has multiple clients to show.
-	 * 
-	 * @return <code>true</code> if this wizard has multiple clients, and <code>false</code>
-	 *    otherwise
-	 */
-	protected boolean hasClients() {
-		try {
-			Boolean b = (Boolean) getTaskModel().getObject(WizardTaskUtil.TASK_HAS_CLIENTS);
-			return b.booleanValue();
-		} catch (Exception e) {
-			return false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java
deleted file mode 100644
index d5b7117..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java
+++ /dev/null
@@ -1,582 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.page.WorkspaceRunnableAdapter;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * A wizard used to execute tasks.
- */
-public class TaskWizard implements IWizard {
-	private static final byte FINISH = 2;
-	private static final byte CANCEL = 3;
-
-	private List<IWizardPage> pages;
-	private boolean addingPages;
-	private Map<WizardFragment, TaskWizardPage> fragmentData = new HashMap<WizardFragment, TaskWizardPage>();
-	protected TaskModel taskModel;
-	
-	private IWizardContainer container = null;
-	
-	private boolean needsProgressMonitor = false;
-	
-	private boolean forcePreviousAndNextButtons = false;
-
-	private boolean isHelpAvailable = false;
-	
-	private Image defaultImage = null;
-	
-	private RGB titleBarColor = null;
-
-	private String windowTitle = null;
-	
-	private IDialogSettings dialogSettings = null;
-	
-	private WizardFragment rootFragment;
-	private WizardFragment currentFragment;
-
-	/**
-	 * Create a new TaskWizard with the given title and root fragment.
-	 * 
-	 * @param title a title
-	 * @param rootFragment a root fragment
-	 */
-	public TaskWizard(String title, WizardFragment rootFragment) {
-		this(title, rootFragment, null);
-		setWindowTitle(title);
-	}
-
-	/**
-	 * Create a new TaskWizard with the given title, root fragment, and task model.
-	 * 
-	 * @param title a title
-	 * @param rootFragment a root fragment
-	 * @param taskModel a task model
-	 */
-	public TaskWizard(String title, WizardFragment rootFragment, TaskModel taskModel) {
-		super();
-		if (title != null)
-			setWindowTitle(title);
-		this.rootFragment = rootFragment;
-		this.taskModel = taskModel;
-		if (taskModel == null)
-			this.taskModel = new TaskModel();
-		
-		setNeedsProgressMonitor(true);
-		setForcePreviousAndNextButtons(true);
-	}
-
-	public void setTaskModel(TaskModel taskModel) {
-		this.taskModel = taskModel;
-	}
-	
-	public TaskModel getTaskModel() {
-		return taskModel;
-	}
-
-	public void setRootFragment(WizardFragment rootFragment) {
-		this.rootFragment = rootFragment;
-	}
-	
-	public WizardFragment getRootFragment() {
-		return rootFragment;
-	}
-
-	/**
-	 * Cancel the client selection.
-	 *
-	 * @return boolean
-	 */
-	public boolean performCancel() {
-		final List list = getAllWizardFragments();
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					Iterator iterator = list.iterator();
-					while (iterator.hasNext())
-						executeTask((WizardFragment) iterator.next(), CANCEL, monitor);
-				} catch (CoreException ce) {
-					throw new InvocationTargetException(ce);
-				}
-			}
-		};
-		
-		Throwable t = null;
-		try {
-			if (getContainer() != null)
-				getContainer().run(true, true, runnable);
-			else
-				runnable.run(new NullProgressMonitor());
-			return true;
-		} catch (InvocationTargetException te) {
-			t = te.getCause();
-		} catch (Exception e) {
-			t = e;
-		}
-		if (Trace.SEVERE) {
-			Trace.trace(Trace.STRING_SEVERE, "Error cancelling task wizard", t);
-		}
-		
-		if (t instanceof CoreException) {
-			EclipseUtil.openError(t.getLocalizedMessage(), ((CoreException)t).getStatus());
-		} else
-			EclipseUtil.openError(t.getLocalizedMessage());
-		
-		return false;
-		
-	}
-
-	public boolean performFinish() {
-		if (currentFragment != null)
-			currentFragment.exit();
-		
-		final WizardFragment cFragment = currentFragment;
-
-		final List list = getAllWizardFragments();
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				// enter & exit the remaining pages
-				int index = list.indexOf(cFragment);
-				while (index > 0 && index < list.size() - 1) {
-					final WizardFragment fragment = (WizardFragment) list.get(++index);
-					try {
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								fragment.enter();
-								fragment.exit();
-							}
-						});
-					} catch (Exception e) {
-						if (Trace.WARNING) {
-							Trace.trace(Trace.STRING_WARNING, "Could not enter/exit page", e);
-						}
-					}
-				}
-				
-				if (useJob()) {
-					class FinishWizardJob extends Job {
-						public FinishWizardJob() {
-							super(getJobTitle());
-						}
-						
-						public boolean belongsTo(Object family) {
-							return "org.eclipse.wst.server.ui.family".equals(family);
-						}
-
-						public IStatus run(IProgressMonitor monitor2) {
-							try {
-								Iterator iterator = list.iterator();
-								while (iterator.hasNext())
-									executeTask((WizardFragment) iterator.next(), FINISH, monitor2);
-							} catch (CoreException ce) {
-								if (Trace.SEVERE) {
-									Trace.trace(Trace.STRING_SEVERE, "Error finishing wizard job", ce);
-								}
-								return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, ce.getLocalizedMessage(), null);
-							}
-							return Status.OK_STATUS;
-						}
-					}
-					
-					FinishWizardJob job = new FinishWizardJob();
-					job.setUser(true);
-					job.schedule();
-				} else {
-					Iterator iterator = list.iterator();
-					while (iterator.hasNext())
-						executeTask((WizardFragment) iterator.next(), FINISH, monitor);
-				}
-			}
-		};
-		
-		Throwable t = null;
-		try {
-			if (getContainer() != null)
-				getContainer().run(true, true, new WorkspaceRunnableAdapter(runnable));
-			else
-				runnable.run(new NullProgressMonitor());
-			return true;
-		} catch (InvocationTargetException te) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error finishing task wizard", te);
-			}
-			t = te.getCause();
-		} catch(InterruptedException interruptedEx) {
-			if (Trace.INFO) {
-				Trace.trace(Trace.STRING_INFO, "The task wizard was cancelled.", interruptedEx);
-			}
-			return false; // return false since the request was canceled
-		}
-		catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error finishing task wizard 2", e);
-			}
-			t = e;
-		}
-		
-		if (Trace.WARNING) {
-			Trace.trace(Trace.STRING_WARNING, "Error completing wizard", t);
-		}
-		if (t instanceof CoreException) {
-			EclipseUtil.openError(t.getLocalizedMessage(), ((CoreException)t).getStatus());
-		} else if (t instanceof NullPointerException)
-			EclipseUtil.openError("NullPointerException");
-		else
-			EclipseUtil.openError(t.getLocalizedMessage());
-		
-		return false;
-	}
-	
-	public void addPage(IWizardPage page) {
-		pages.add(page);
-		page.setWizard(this);
-	}
-	
-	protected void executeTask(WizardFragment fragment, byte type, IProgressMonitor monitor) throws CoreException {
-		if (fragment == null)
-			return;
-		
-		if (type == FINISH)
-			fragment.performFinish(monitor);
-		else if (type == CANCEL)
-			fragment.performCancel(monitor);
-	}
-	
-	protected WizardFragment getCurrentWizardFragment() {
-		return currentFragment;
-	}
-	
-	protected void switchWizardFragment(WizardFragment newFragment) {
-		List list = getAllWizardFragments();
-		int oldIndex = list.indexOf(currentFragment);
-		int newIndex = list.indexOf(newFragment);
-		if (oldIndex == newIndex)
-			return;
-		
-		//safeExecuteTask(currentFragment, DEPARTURE);
-		if (currentFragment != null)
-			currentFragment.exit();
-		
-		if (oldIndex < newIndex)
-			oldIndex ++;
-		else
-			oldIndex --;
-		
-		while (oldIndex != newIndex) {
-			WizardFragment fragment = (WizardFragment) list.get(oldIndex);
-			//safeExecuteTask(fragment, ARRIVAL);
-			//safeExecuteTask(fragment, DEPARTURE);
-			fragment.enter();
-			fragment.exit();
-			if (oldIndex < newIndex)
-				oldIndex ++;
-			else
-				oldIndex --;
-		}
-		
-		currentFragment = newFragment;
-		//safeExecuteTask(currentFragment, ARRIVAL);
-		currentFragment.enter();
-	}
-	
-	private List<WizardFragment> getAllWizardFragments() {
-		List<WizardFragment> list = new ArrayList<WizardFragment>();
-		list.add(rootFragment);
-		addSubWizardFragments(rootFragment, list);
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			WizardFragment fragment = (WizardFragment) iterator.next();
-			if (!taskModel.equals(fragment.getTaskModel()))
-				fragment.setTaskModel(taskModel);
-		}
-		return list;
-	}
-
-	private void addSubWizardFragments(WizardFragment fragment, List<WizardFragment> list) {
-		Iterator iterator = fragment.getChildFragments().iterator();
-		while (iterator.hasNext()) {
-			WizardFragment child = (WizardFragment) iterator.next();
-			list.add(child);
-			addSubWizardFragments(child, list);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#addPages()
-	 */
-	public void addPages() {
-		if (addingPages)
-			return;
-		
-		try {
-			addingPages = true;
-			pages = new ArrayList<IWizardPage>();
-			Iterator<WizardFragment> iterator = getAllWizardFragments().iterator();
-			while (iterator.hasNext()) {
-				WizardFragment fragment = iterator.next();
-				TaskWizardPage page = getFragmentData(fragment);
-				if (fragment.hasComposite()) {
-					if (page != null)
-						addPage(page);
-					else {
-						TaskWizardPage page2 = new TaskWizardPage(fragment);
-						fragmentData.put(fragment, page2);
-						addPage(page2);
-					}
-				}
-			}
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error adding fragments to wizard", e);
-			}
-		} finally {
-			addingPages = false;
-		}
-	}
-
-	/*private static void updateWizardPages() {
-		try {
-			current.updatePages();
-			current.getContainer().updateButtons();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error updating wizard pages", e);
-		}
-	}*/
-
-	private TaskWizardPage getFragmentData(WizardFragment fragment) {
-		try {
-			TaskWizardPage page = fragmentData.get(fragment);
-			if (page != null)
-				return page;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error getting fragment data", e);
-			}
-		}
-		
-		return null;
-	}
-
-	protected void updatePages() {
-		addPages();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#canFinish()
-	 */
-	public boolean canFinish() {
-		// Default implementation is to check if all pages are complete.
-		for (int i= 0; i < pages.size(); i++) {
-			if (!(pages.get(i)).isPageComplete())
-				return false;
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#createPageControls(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPageControls(Composite pageContainer) {
-		// the default behavior is to create all the pages controls
-		for (int i = 0; i < pages.size(); i++){
-			IWizardPage page = pages.get(i);
-			page.createControl(pageContainer);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#dispose()
-	 */
-	public void dispose() {
-		// notify pages
-		for (int i = 0; i < pages.size(); i++) {
-			pages.get(i).dispose();
-		}
-
-		// dispose of image
-		if (defaultImage != null) {
-			defaultImage.dispose();
-			defaultImage = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getContainer()
-	 */
-	public IWizardContainer getContainer() {
-		return container;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getDefaultPageImage()
-	 */
-	public Image getDefaultPageImage() {
-		return defaultImage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getDialogSettings()
-	 */
-	public IDialogSettings getDialogSettings() {
-		return dialogSettings;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getNextPage(org.eclipse.jface.wizard.IWizardPage)
-	 */
-	public IWizardPage getNextPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == pages.size() - 1 || index == -1)
-			// last page or page not found
-			return null;
-		
-		return pages.get(index + 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPage(java.lang.String)
-	 */
-	public IWizardPage getPage(String name) {
-		for (int i= 0; i < pages.size(); i++) {
-			IWizardPage page = pages.get(i);
-			String pageName = page.getName();
-			if (pageName.equals(name))
-				return page;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPageCount()
-	 */
-	public int getPageCount() {
-		return pages.size();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPages()
-	 */
-	public IWizardPage[] getPages() {
-		return pages.toArray(new IWizardPage[pages.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPreviousPage(org.eclipse.jface.wizard.IWizardPage)
-	 */
-	public IWizardPage getPreviousPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == 0 || index == -1)
-			// first page or page not found
-			return null;
-		return pages.get(index - 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getStartingPage()
-	 */
-	public IWizardPage getStartingPage() {
-		if (pages.size() == 0)
-			return null;
-		
-		return pages.get(0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getTitleBarColor()
-	 */
-	public RGB getTitleBarColor() {
-		return titleBarColor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getWindowTitle()
-	 */
-	public String getWindowTitle() {
-		return windowTitle;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#isHelpAvailable()
-	 */
-	public boolean isHelpAvailable() {
-		return isHelpAvailable;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#needsPreviousAndNextButtons()
-	 */
-	public boolean needsPreviousAndNextButtons() {
-		return forcePreviousAndNextButtons || pages.size() > 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#needsProgressMonitor()
-	 */
-	public boolean needsProgressMonitor() {
-		return needsProgressMonitor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#setContainer(org.eclipse.jface.wizard.IWizardContainer)
-	 */
-	public void setContainer(IWizardContainer wizardContainer) {
-		this.container = wizardContainer;
-	}
-	
-	public void setDialogSettings(IDialogSettings settings) {
-		dialogSettings = settings;
-	}
-	
-	public void setNeedsProgressMonitor(boolean b) {
-		needsProgressMonitor = b;
-	}
-	
-	public void setForcePreviousAndNextButtons(boolean b) {
-		forcePreviousAndNextButtons = b;
-	}
-	
-	public void setWindowTitle(String title) {
-		windowTitle = title;
-	}
-
-	protected boolean useJob() {
-		return false;
-	}
-
-	protected String getJobTitle() {
-		return getWindowTitle();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizardPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizardPage.java
deleted file mode 100644
index 0c9c9bb..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizardPage.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * A task wizard page.
- */
-class TaskWizardPage extends WizardPage implements IWizardHandle {
-	protected WizardFragment fragment;
-
-	protected boolean isCreated = false;
-
-	public TaskWizardPage(WizardFragment fragment) {
-		super(fragment.toString());
-		this.fragment = fragment;
-	}
-
-	public void createControl(Composite parentComp) {
-		Composite comp = null;
-		try {
-			comp = fragment.createComposite(parentComp, this);
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not create wizard page composite", e);
-			}
-		}
-		if (comp == null) {
-			comp = new Composite(parentComp, SWT.NONE);
-			comp.setLayout(new FillLayout(SWT.VERTICAL));
-			Label label = new Label(comp, SWT.NONE);
-			label.setText("Internal error");
-		}
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = convertHorizontalDLUsToPixels(150);
-		comp.setLayoutData(data);
-		setControl(comp);
-		
-		isCreated = true;
-		update();
-	}
-
-	public boolean isPageComplete() {
-		try {
-			if (!fragment.isComplete())
-				return false;
-		} catch (Exception e) {
-			return false;
-		}
-		return true;
-	}
-
-	public boolean canFlipToNextPage() {
-		if (getNextPage() == null)
-			return false;
-		try {
-			if (!fragment.isComplete())
-				return false;
-		} catch (Exception e) {
-			return false;
-		}
-		return true;
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		
-		if (visible) {
-			TaskWizard wizard = (TaskWizard) getWizard();
-			wizard.switchWizardFragment(fragment);
-			
-			if (getContainer().getCurrentPage() != null)
-				getContainer().updateButtons();
-		}
-	}
-
-	public void setMessage(String message, int type) {
-		if (type == IMessageProvider.ERROR && "".equals(message)) {
-			message = null;
-		}
-		super.setMessage(message, type);
-		WizardFragment frag = ((TaskWizard) getWizard()).getCurrentWizardFragment();
-		if (!fragment.equals(frag))
-			return;
-		getContainer().updateButtons();
-	}
-
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException {
-		getWizard().getContainer().run(fork, cancelable, runnable);
-	}
-
-	public void update() {
-		if (!isCreated)
-			return;
-		
-		final IWizardContainer container = getContainer();
-		getShell().getDisplay().syncExec(new Runnable() {
-			public void run() {
-				fragment.updateChildFragments();
-				((TaskWizard) getWizard()).updatePages();
-				
-				if (container.getCurrentPage() != null)
-					container.updateButtons();
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java
deleted file mode 100644
index 5af8336..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard;
-
-import java.util.List;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.ProjectProperties;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class WizardTaskUtil {
-	public static final String TASK_LAUNCHABLE_ADAPTER = "launchableAdapter";
-	public static final String TASK_LAUNCHABLE = "launchable";
-	public static final String TASK_CLIENT = "client";
-	public static final String TASK_CLIENTS = "clients";
-	public static final String TASK_DEFAULT_SERVER = "defaultServer";
-	public static final String TASK_MODE = "mode";
-	public static final String TASK_HAS_TASKS = "hasTasks";
-	public static final String TASK_HAS_CLIENTS = "hasClients";
-	public static final String TASK_FEATURE = "feature";
-
-	public static final byte MODE_EXISTING = 0;
-	public static final byte MODE_DETECT = 1;
-	public static final byte MODE_MANUAL = 2;
-
-	public static final WizardFragment SaveRuntimeFragment = new WizardFragment() {
-		public void performFinish(IProgressMonitor monitor) throws CoreException {
-			WizardTaskUtil.saveRuntime(getTaskModel(), monitor);
-		}
-	};
-
-	public static final WizardFragment SaveServerFragment = new WizardFragment() {
-		public void performFinish(IProgressMonitor monitor) throws CoreException {
-			WizardTaskUtil.saveServer(getTaskModel(), monitor);
-		}
-	};
-
-	public static final WizardFragment TempSaveRuntimeFragment = new WizardFragment() {
-		public void performFinish(IProgressMonitor monitor) throws CoreException {
-			WizardTaskUtil.tempSaveRuntime(getTaskModel(), monitor);
-		}
-	};
-
-	public static final WizardFragment TempSaveServerFragment = new WizardFragment() {
-		public void performFinish(IProgressMonitor monitor) throws CoreException {
-			WizardTaskUtil.tempSaveServer(getTaskModel(), monitor);
-		}
-	};
-
-	public static final WizardFragment SaveHostnameFragment = new WizardFragment() {
-		public void performFinish(IProgressMonitor monitor) throws CoreException {
-			try {
-				IServerAttributes server2 = (IServerAttributes) getTaskModel().getObject(TaskModel.TASK_SERVER);
-				ServerUIPlugin.getPreferences().addHostname(server2.getHost());
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	};
-
-	private WizardTaskUtil() {
-		// do nothing
-	}
-
-	protected static void saveRuntime(TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
-		IRuntime runtime = (IRuntime) taskModel.getObject(TaskModel.TASK_RUNTIME);
-		if (runtime != null && runtime instanceof IRuntimeWorkingCopy) {
-			IRuntimeWorkingCopy workingCopy = (IRuntimeWorkingCopy) runtime;
-			if (workingCopy.isDirty())
-				taskModel.putObject(TaskModel.TASK_RUNTIME, workingCopy.save(false, monitor));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask()
-	 */
-	protected static void saveServer(TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
-		IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER);
-		if (server != null && server instanceof IServerWorkingCopy) {
-			IServerWorkingCopy workingCopy = (IServerWorkingCopy) server;
-			if (workingCopy.isDirty()) {
-				IFile file = ((Server)workingCopy).getFile();
-				if (file != null) {
-					IProject project = file.getProject();
-					
-					if (!file.getProject().exists())
-						EclipseUtil.createNewServerProject(null, project.getName(), null, monitor);
-					
-					ProjectProperties pp = ServerPlugin.getProjectProperties(project);
-					if (!pp.isServerProject())
-						pp.setServerProject(true, monitor);
-				}
-				taskModel.putObject(TaskModel.TASK_SERVER, workingCopy.save(false, monitor));
-			}
-		}
-	}
-
-	protected static void tempSaveRuntime(TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
-		IRuntime runtime = (IRuntime) taskModel.getObject(TaskModel.TASK_RUNTIME);
-		if (runtime != null && runtime instanceof IRuntimeWorkingCopy) {
-			IRuntimeWorkingCopy workingCopy = (IRuntimeWorkingCopy) runtime;
-			if (!workingCopy.isDirty())
-				return;
-			
-			runtime = workingCopy.save(false, monitor);
-			taskModel.putObject(TaskModel.TASK_RUNTIME, runtime.createWorkingCopy());
-		}
-	}
-
-	protected static void tempSaveServer(TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
-		IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER);
-		if (server != null && server instanceof IServerWorkingCopy) {
-			IServerWorkingCopy workingCopy = (IServerWorkingCopy) server;
-			if (!workingCopy.isDirty())
-				return;
-			
-			IFile file = ((Server)workingCopy).getFile();
-			if (file != null) {
-				IProject project = file.getProject();
-				
-				if (!file.getProject().exists())
-					EclipseUtil.createNewServerProject(null, project.getName(), null, monitor);
-				
-				ProjectProperties pp = ServerPlugin.getProjectProperties(project);
-				if (!pp.isServerProject())
-					pp.setServerProject(true, monitor);
-			}
-			IRuntime runtime = workingCopy.getRuntime();
-			
-			server = workingCopy.save(false, monitor);
-			workingCopy = server.createWorkingCopy();
-			
-			workingCopy.setRuntime(runtime);
-			if (workingCopy.getServerType().hasServerConfiguration())
-				((ServerWorkingCopy)workingCopy).importRuntimeConfiguration(runtime, null);
-			
-			taskModel.putObject(TaskModel.TASK_SERVER, workingCopy);
-		}
-	}
-
-	public static void addModule(IModule module, TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
-		if (module == null)
-			return;
-		
-		IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER);
-		IModule parentModule = null;
-		try {
-			IModule[] parents = server.getRootModules(module, monitor);
-			if (parents != null && parents.length > 0)
-				parentModule = parents[0];
-		} catch (Exception e) {
-			if (Trace.WARNING) {
-				Trace.trace(Trace.STRING_WARNING, "Could not find parent module", e);
-			}
-		}
-		
-		if (parentModule == null) {
-			// use the original module since no parent module is available
-			parentModule = module;
-		}
-		
-		IModule[] modules = server.getModules();
-		int size = modules.length;
-		for (int i = 0; i < size; i++) {
-			if (parentModule.equals(modules[i]))
-				return;
-		}
-		
-		IServerWorkingCopy workingCopy = server.createWorkingCopy();
-		workingCopy.modifyModules(new IModule[] { parentModule }, new IModule[0], monitor);
-		taskModel.putObject(TaskModel.TASK_SERVER, workingCopy.save(false, monitor));
-	}
-
-	public static void modifyModules(List<IModule> add, List<IModule> remove, TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
-		if ((add == null || add.isEmpty()) && (remove == null || remove.isEmpty()))
-			return;
-		
-		IServerWorkingCopy workingCopy = (IServerWorkingCopy) taskModel.getObject(TaskModel.TASK_SERVER);
-		
-		// modify modules
-		IModule[] remove2 = new IModule[0];
-		if (remove != null) {
-			remove2 = new IModule[remove.size()];
-			remove.toArray(remove2);
-		}
-		
-		IModule[] add2 = new IModule[0];
-		if (add != null) {
-			add2 = new IModule[add.size()];
-			add.toArray(add2);
-		}
-		
-		IFile file = ((Server)workingCopy).getFile();
-		if (file != null) {
-			IProject project = file.getProject();
-			
-			if (!file.getProject().exists())
-				EclipseUtil.createNewServerProject(null, project.getName(), null, monitor);
-			
-			ProjectProperties pp = ServerPlugin.getProjectProperties(project);
-			if (!pp.isServerProject())
-				pp.setServerProject(true, monitor);
-		}
-		
-		workingCopy.modifyModules(add2, remove2, monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/LicenseWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/LicenseWizardFragment.java
deleted file mode 100644
index 3555b42..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/LicenseWizardFragment.java
+++ /dev/null
@@ -1,66 +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.ui.internal.wizard.fragment;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.wizard.page.LicenseComposite;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * 
- */
-public class LicenseWizardFragment extends WizardFragment {
-	public static final String LICENSE = "license";
-	public static final String LICENSE_NONE = "none";
-	public static final String LICENSE_UNKNOWN = "unknown";
-	public static final String LICENSE_ACCEPT = "accept";
-	public static final String LICENSE_SERVER = "license_server";
-
-	protected LicenseComposite comp;
-
-	public LicenseWizardFragment() {
-		// do nothing
-	}
-
-	public void enter() {
-		if (comp != null)
-			comp.updateLicense();
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new LicenseComposite(parent, getTaskModel(), wizard);
-		
-		wizard.setTitle(Messages.wizLicenseTitle);
-		wizard.setDescription(Messages.wizLicenseDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_SERVER));
-		return comp;
-	}
-
-	public boolean isComplete() {
-		try {
-			Boolean b = (Boolean) getTaskModel().getObject(LicenseWizardFragment.LICENSE_ACCEPT);
-			if (b != null && b.booleanValue())
-				return true;
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
deleted file mode 100644
index b497684..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.IModuleVisitor;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.internal.wizard.page.ModifyModulesComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class ModifyModulesWizardFragment extends WizardFragment {
-	protected ModifyModulesComposite comp;
-
-	protected IModule module;
-	protected boolean showPublishOption;
-
-	public ModifyModulesWizardFragment() {
-		// do nothing
-	}
-
-	public ModifyModulesWizardFragment(boolean showPublishOption) {
-		this.showPublishOption = showPublishOption;
-	}
-
-	public ModifyModulesWizardFragment(IModule module) {
-		this.module = module;
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		comp = new ModifyModulesComposite(parent, handle, module, showPublishOption);
-		return comp;
-	}
-
-	public void setTaskModel(TaskModel taskModel) {
-		super.setTaskModel(taskModel);
-		if (comp != null)
-			comp.setTaskModel(taskModel);
-	}
-
-	public List getChildFragments() {
-		return super.getChildFragments();
-	}
-
-	public void enter() {
-		updateModules();
-		// ask the composite to refresh
-		comp.refresh();
-	}
-
-	protected void updateModules() {
-		if (comp != null) {
-			IServerAttributes server = (IServerAttributes) getTaskModel().getObject(TaskModel.TASK_SERVER);
-			comp.setTaskModel(getTaskModel());
-			comp.setServer(server);
-		} else if (module != null) {
-			TaskModel taskModel = getTaskModel();
-			if (taskModel == null)
-				return;
-			IServerWorkingCopy server = (IServerWorkingCopy) taskModel.getObject(TaskModel.TASK_SERVER);
-			if (server == null) {
-				taskModel.putObject(TaskModel.TASK_MODULES, null);
-				return;
-			}
-			
-			final List<IModule[]> moduleList = new ArrayList<IModule[]>();
-			((Server) server).visit(new IModuleVisitor() {
-				public boolean visit(IModule[] module2) {
-					moduleList.add(module2);
-					return true;
-				}
-			}, null);
-			
-			// add module
-			IModule parent = null;
-			try {
-				IModule[] parents = server.getRootModules(module, null);
-				List<IModule> list = new ArrayList<IModule>();
-				
-				if (parents != null && parents.length > 0) {
-					parent = parents[0];
-					list.add(parent);
-				}
-				// TODO - get parent modules correct
-				if (!moduleList.contains(module)) {
-					moduleList.add(new IModule[] { module });
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "Could not find parent module", e);
-				}
-			}
-			
-			taskModel.putObject(TaskModel.TASK_MODULES, moduleList);
-		}
-	}
-
-	public boolean isComplete() {
-		if (comp != null)
-			return comp.isComplete();
-		
-		return true;
-	}
-
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		if (comp != null) {
-			WizardTaskUtil.modifyModules(comp.getModulesToAdd(), comp.getModulesToRemove(), getTaskModel(), monitor);
-			if (showPublishOption)
-				ServerUIPlugin.getPreferences().setPublishOnAddRemoveModule(comp.shouldPublishImmediately());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java
deleted file mode 100644
index 273d1ed..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java
+++ /dev/null
@@ -1,124 +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.ui.internal.wizard.fragment;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.internal.wizard.page.NewRuntimeComposite;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.widgets.Composite;
-/**
- * 
- */
-public class NewRuntimeWizardFragment extends WizardFragment {
-	// filter by type/version
-	protected String type;
-	protected String version;
-
-	// filter by partial runtime type id
-	protected String runtimeTypeId;
-
-	protected Map<String, WizardFragment> fragmentMap = new HashMap<String, WizardFragment>();
-
-	public NewRuntimeWizardFragment() {
-		// do nothing
-	}
-
-	public NewRuntimeWizardFragment(String type, String version, String runtimeTypeId) {
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		return new NewRuntimeComposite(parent, wizard, getTaskModel(), type, version, runtimeTypeId);
-	}
-
-	public List getChildFragments() {
-		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
-		createChildFragments(listImpl);
-		return listImpl;
-	}
-
-	protected void createChildFragments(List<WizardFragment> list) {
-		if (getTaskModel() == null)
-			return;
-		
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		if (runtime == null)
-			return;
-		
-		WizardFragment sub = getWizardFragment(runtime.getRuntimeType().getId());
-		if (sub != null)
-			list.add(sub);
-		
-		IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
-		if (server != null) {
-			if (server.getServerType().hasServerConfiguration() && server instanceof ServerWorkingCopy) {
-				ServerWorkingCopy swc = (ServerWorkingCopy) server;
-				try {
-					if (runtime.getLocation() != null && !runtime.getLocation().isEmpty())
-						swc.importRuntimeConfiguration(runtime, null);
-				} catch (CoreException ce) {
-					// ignore
-				}
-			}
-			
-			list.add(new WizardFragment() {
-				public void enter() {
-					IRuntimeWorkingCopy runtime2 = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-					IServerWorkingCopy server2 = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
-					server2.setRuntime(runtime2);
-				}
-			});
-			
-			sub = getWizardFragment(server.getServerType().getId());
-			if (sub != null)
-				list.add(sub);
-			
-			list.add(WizardTaskUtil.SaveServerFragment);
-		}
-	}
-
-	protected WizardFragment getWizardFragment(String typeId) {
-		try {
-			WizardFragment fragment = fragmentMap.get(typeId);
-			if (fragment != null)
-				return fragment;
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		WizardFragment fragment = ServerUIPlugin.getWizardFragment(typeId);
-		if (fragment != null)
-			fragmentMap.put(typeId, fragment);
-		return fragment;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java
deleted file mode 100644
index 5747e58..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.internal.wizard.page.NewServerComposite;
-import org.eclipse.wst.server.ui.internal.wizard.page.NewManualServerComposite;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * 
- */
-public class NewServerWizardFragment extends WizardFragment {
-	public static final byte MODE_EXISTING = WizardTaskUtil.MODE_EXISTING;
-	public static final byte MODE_DETECT = WizardTaskUtil.MODE_DETECT;
-	public static final byte MODE_MANUAL = WizardTaskUtil.MODE_MANUAL;
-
-	protected IModule module;
-	protected IModuleType moduleType;
-	protected String serverTypeId;
-	protected NewServerComposite comp;
-
-	protected Map<String, WizardFragment> fragmentMap = new HashMap<String, WizardFragment>();
-	protected IPath runtimeLocation = null;
-
-	public NewServerWizardFragment() {
-		// do nothing
-	}
-
-	public NewServerWizardFragment(IModuleType moduleType, String serverTypeId) {
-		this.moduleType = moduleType;
-		this.serverTypeId = serverTypeId;
-	}
-
-	public NewServerWizardFragment(IModule module) {
-		this.module = module;
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public void enter() {
-		super.enter();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		String launchMode = (String) getTaskModel().getObject(TaskModel.TASK_LAUNCH_MODE);
-
-		if (moduleType != null || serverTypeId != null)
-			comp = new NewServerComposite(parent, wizard, moduleType, serverTypeId, launchMode);
-		else
-			comp = new NewServerComposite(parent, wizard, module, launchMode);
-		if (getTaskModel() != null)
-			comp.setTaskModel(getTaskModel());
-		return comp;
-	}
-
-	protected WizardFragment getWizardFragment(String typeId) {
-		try {
-			WizardFragment fragment = fragmentMap.get(typeId);
-			if (fragment != null)
-				return fragment;
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		WizardFragment fragment = ServerUIPlugin.getWizardFragment(typeId);
-		if (fragment != null)
-			fragmentMap.put(typeId, fragment);
-		return fragment;
-	}
-
-	public List getChildFragments() {
-		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
-		createChildFragments(listImpl);
-		return listImpl;
-	}
-
-	protected void createChildFragments(List<WizardFragment> list) {
-		if (getTaskModel() == null)
-			return;
-		
-		Byte b = (Byte) getTaskModel().getObject(WizardTaskUtil.TASK_MODE);
-		if (b != null && b.byteValue() == MODE_MANUAL) {
-			IRuntime runtime = (IRuntime) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-			if (runtime != null && runtime instanceof IRuntimeWorkingCopy) {
-				WizardFragment sub = getWizardFragment(runtime.getRuntimeType().getId());
-				if (sub != null)
-					list.add(sub);
-			}
-			
-			IServerAttributes server = (IServerAttributes) getTaskModel().getObject(TaskModel.TASK_SERVER);
-			if (server != null) {
-				if (server.getServerType().hasServerConfiguration() && server instanceof ServerWorkingCopy) {
-					ServerWorkingCopy swc = (ServerWorkingCopy) server;
-					if (runtime != null && runtime.getLocation() != null && !runtime.getLocation().isEmpty()) {
-						if (runtimeLocation == null || !runtimeLocation.equals(runtime.getLocation()))
-							try {
-								swc.importRuntimeConfiguration(runtime, null);
-							} catch (CoreException ce) {
-								// ignore
-							}
-						runtimeLocation = runtime.getLocation();
-					} else
-						runtimeLocation = null;
-				}
-				WizardFragment sub = getWizardFragment(server.getServerType().getId());
-				if (sub != null)
-					list.add(sub);
-			}
-		} else if (b != null && b.byteValue() == MODE_EXISTING) {
-			/*if (comp != null) {
-				IServer server = comp.getServer();
-				if (server != null)
-					list.add(new TasksWizardFragment());
-			}*/
-		}
-	}
-
-	public boolean isComplete() {
-		if(getServer() == null)
-			return false;
-		
-		if(getServer().getServerType() == null)
-			return false;
-		
-		return checkHostAndServerType();
-	}
-	
-	private boolean checkHostAndServerType(){
-		boolean isComplete = false;
-
-		boolean supportsRemote = getServer().getServerType().supportsRemoteHosts();
-		
-		if(comp != null){
-			Composite composite = comp.getNewManualServerComposite();
-			if(composite != null && composite instanceof NewManualServerComposite){
-				NewManualServerComposite manualComp = (NewManualServerComposite) composite;
-				if (manualComp.isTimerRunning() || manualComp.isTimerScheduled()) {
-					return false;
-				}
-				
-				if (manualComp.getCurrentHostname().trim().length() == 0){
-					isComplete = false;
-				} else if(!supportsRemote && !SocketUtil.isLocalhost(manualComp.getCurrentHostname())){
-					isComplete = false;
-				} else if (!manualComp.canSupportModule() ){
-					isComplete = false;
-				}
-				else
-					isComplete = true;
-			}
-		}
-		return isComplete;
-	}	
-
-	private IServerWorkingCopy getServer() {
-		try {
-			return (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	
-	public void performCancel(IProgressMonitor monitor) throws CoreException {
-		if(comp != null) {
-			comp.getNewManualServerComposite().dispose();
-		}
-		super.performCancel(monitor);
-	}
-	
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		if(comp != null) {
-			comp.getNewManualServerComposite().dispose();
-		}
-		super.performFinish(monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/OptionalClientWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/OptionalClientWizardFragment.java
deleted file mode 100644
index 091177f..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/OptionalClientWizardFragment.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.List;
-
-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.TaskModel;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.ui.internal.EclipseUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * A fragment used to select a client.
- */
-public class OptionalClientWizardFragment extends WizardFragment {
-	protected IClient[] clients;
-
-	protected IModuleArtifact moduleArtifact;
-	protected IServer lastServer;
-	protected Object lastLaunchable;
-
-	public OptionalClientWizardFragment(IModuleArtifact moduleArtifact) {
-		super();
-		this.moduleArtifact = moduleArtifact;
-	}
-
-	protected void createChildFragments(List<WizardFragment> list) {
-		if (clients != null && clients.length > 1)
-			list.add(new SelectClientWizardFragment());
-	}
-
-	protected void updateClients() {
-		if (getTaskModel() == null)
-			return;
-		
-		try {
-			IServer server = (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER);
-			
-			if (server == null) {
-				getTaskModel().putObject(WizardTaskUtil.TASK_LAUNCHABLE_ADAPTER, null);
-				getTaskModel().putObject(WizardTaskUtil.TASK_LAUNCHABLE, null);
-				getTaskModel().putObject(WizardTaskUtil.TASK_CLIENTS, null);
-				getTaskModel().putObject(WizardTaskUtil.TASK_HAS_CLIENTS, new Boolean(false));
-				return;
-			}
-			
-			//if (lastServer == null)
-			//	return;
-			
-			// get the launchable adapter and module object
-			Object launchable = null;
-			try {
-				Object[] obj = ServerUIPlugin.getLaunchableAdapter(server, moduleArtifact);
-				getTaskModel().putObject(WizardTaskUtil.TASK_LAUNCHABLE_ADAPTER, obj[0]);
-				getTaskModel().putObject(WizardTaskUtil.TASK_LAUNCHABLE, obj[1]);
-				launchable = obj[1];
-			} catch (CoreException ce) {
-				getTaskModel().putObject(WizardTaskUtil.TASK_LAUNCHABLE_ADAPTER, null);
-				getTaskModel().putObject(WizardTaskUtil.TASK_LAUNCHABLE, null);
-				getTaskModel().putObject(WizardTaskUtil.TASK_CLIENTS, null);
-				getTaskModel().putObject(WizardTaskUtil.TASK_HAS_CLIENTS, new Boolean(false));
-				EclipseUtil.openError(null, ce.getStatus());
-				return;
-			}
-			
-			// stop here if the server and launchable haven't changed
-			if (lastServer != null && lastServer.equals(server)) {
-				if (lastLaunchable == null && launchable == null)
-					return;
-				if (lastLaunchable != null && lastLaunchable.equals(launchable)) {
-					return;
-				}
-			}
-			lastServer = server;
-			lastLaunchable = launchable;
-			
-			String launchMode = (String) getTaskModel().getObject(TaskModel.TASK_LAUNCH_MODE);
-			clients = ServerUIPlugin.getClients(server, launchable, launchMode);
-			
-			getTaskModel().putObject(WizardTaskUtil.TASK_CLIENTS, null);
-			getTaskModel().putObject(WizardTaskUtil.TASK_HAS_CLIENTS, new Boolean(false));
-			if (clients != null) {
-				if (clients.length > 1) {
-					getTaskModel().putObject(WizardTaskUtil.TASK_CLIENTS, clients);
-					getTaskModel().putObject(WizardTaskUtil.TASK_HAS_CLIENTS, new Boolean(true));
-				} else
-					getTaskModel().putObject(WizardTaskUtil.TASK_CLIENT, clients[0]);
-			}
-			
-			updateChildFragments();
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	public void enter() {
-		updateClients();
-	}
-
-	public List getChildFragments() {
-		updateClients();
-		return super.getChildFragments();
-	}
-
-	public void setTaskModel(TaskModel taskModel) {
-		super.setTaskModel(taskModel);
-		updateClients();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/RunOnServerWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/RunOnServerWizardFragment.java
deleted file mode 100644
index 11ea6c6..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/RunOnServerWizardFragment.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.core.internal.ILaunchableAdapter;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * A fragment used for the Run on Server wizard.
- */
-public class RunOnServerWizardFragment extends WizardFragment {
-	protected IServer server;
-	protected IModule module;
-	protected IModuleArtifact moduleArtifact;
-	
-	protected IClient client;
-	protected ILaunchableAdapter launchable;
-
-	/**
-	 * Create the Run on Server wizard with all pages.
-	 * 
-	 * @param module
-	 * @param launchMode
-	 * @param moduleArtifact
-	 */
-	public RunOnServerWizardFragment(IModule module, String launchMode, IModuleArtifact moduleArtifact) {
-		super();
-		this.module = module;
-		this.moduleArtifact = moduleArtifact;
-	}
-
-	/**
-	 * Create the Run on Server wizard with a default server.
-	 * 
-	 * @param server a server
-	 * @param launchMode
-	 * @param moduleArtifact
-	 */
-	public RunOnServerWizardFragment(IServer server, String launchMode, IModuleArtifact moduleArtifact) {
-		super();
-		this.server = server;
-		this.moduleArtifact = moduleArtifact;
-	}
-
-	protected void createChildFragments(List<WizardFragment> list) {
-		if (server == null) {
-			list.add(new NewServerWizardFragment(module));
-			
-			list.add(WizardTaskUtil.TempSaveRuntimeFragment);
-			list.add(WizardTaskUtil.TempSaveServerFragment);
-			
-			list.add(new ModifyModulesWizardFragment(module));
-		}
-		
-		list.add(new TasksWizardFragment());
-		
-		list.add(WizardTaskUtil.SaveRuntimeFragment);
-		list.add(WizardTaskUtil.SaveServerFragment);
-		if (server == null)
-			list.add(WizardTaskUtil.SaveHostnameFragment);
-		if (client == null || launchable == null){
-			list.add(new OptionalClientWizardFragment(moduleArtifact));
-		}
-	}
-
-	public void setClient(IClient client) {
-		this.client = client;			
-	}
-
-	public void setLaunchable(ILaunchableAdapter launchable) {
-		this.launchable = launchable;	
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/SelectClientWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/SelectClientWizardFragment.java
deleted file mode 100644
index f27eb75..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/SelectClientWizardFragment.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ui.internal.wizard.fragment;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.internal.wizard.page.SelectClientComposite;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * A fragment used to select a client.
- */
-public class SelectClientWizardFragment extends WizardFragment {
-	public SelectClientWizardFragment() {
-		super();
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		return new SelectClientComposite(parent, wizard, getTaskModel());
-	}
-
-	public boolean isComplete() {
-		try {
-			IClient[] clients = (IClient[]) getTaskModel().getObject(WizardTaskUtil.TASK_CLIENTS);
-			if (clients == null || clients.length < 2)
-				return true;
-		} catch (Exception e) {
-			return true;
-		}
-		
-		return getTaskModel().getObject(WizardTaskUtil.TASK_CLIENT) != null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/SubTasksWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/SubTasksWizardFragment.java
deleted file mode 100644
index df4a1e3..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/SubTasksWizardFragment.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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.ui.internal.wizard.fragment;
-
-import java.util.List;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.server.ui.internal.wizard.page.TasksComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class SubTasksWizardFragment extends WizardFragment {
-	protected TasksComposite comp;
-
-	protected List tasks;
-
-	public SubTasksWizardFragment() {
-		// do nothing
-	}
-
-	public void enter() {
-		updateTasks(tasks);
-		
-		if (comp != null)
-			comp.createControl();
-	}
-
-	public void updateTasks(List newTasks) {
-		tasks = newTasks;
-		if (comp != null)
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					if (comp != null && !comp.isDisposed())
-						comp.setTasks(tasks);
-				}
-			});
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new TasksComposite(parent, wizard);
-		return comp;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
deleted file mode 100644
index 5bc5f47..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.fragment;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.*;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.ui.internal.editor.IOrdered;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class TasksWizardFragment extends WizardFragment {
-	private static final int TASKS_PER_PAGE = 5;
-
-	public class TaskInfo implements IOrdered {
-		public int kind;
-		public String id;
-		public PublishOperation task2;
-		
-		private static final String DEFAULT = "default:";
-		
-		public boolean isSelected() {
-			if (id == null)
-				return false;
-			
-			if (selectedTaskMap.containsKey(id))
-				return (selectedTaskMap.get(id)).booleanValue();
-			
-			if (selectedTaskMap.containsKey(DEFAULT + id))
-				return (selectedTaskMap.get(DEFAULT + id)).booleanValue();
-
-			return false;
-		}
-		
-		public void setDefaultSelected(boolean sel) {
-			selectedTaskMap.put(DEFAULT + getId(), new Boolean(sel));
-		}
-
-		public boolean getDefaultSelected() {
-			return (selectedTaskMap.get(DEFAULT + id)).booleanValue();
-		}
-
-		public void setSelected(boolean sel) {
-			selectedTaskMap.put(getId(), new Boolean(sel));
-		}
-		
-		public int getOrder() {
-			return task2.getOrder();
-		}
-		
-		protected String getId() {
-			return id;
-		}
-		
-		public boolean equals(Object obj) {
-			if (!(obj instanceof TaskInfo))
-				return false;
-			
-			TaskInfo ti = (TaskInfo) obj;
-			if (kind != ti.kind)
-				return false;
-			
-			if (id == null || !id.equals(ti.id))
-				return false;
-			
-			if (task2 == null && ti.task2 != null)
-				return false;
-			
-			if (task2 != null && ti.task2 == null)
-				return false;
-			
-			try {
-				if (task2 != null && ti.task2 != null) {
-					if (task2.getKind() != ti.task2.getKind())
-						return false;
-					if (task2.getOrder() != ti.task2.getOrder())
-						return false;
-					if (!task2.getLabel().equals(ti.task2.getLabel()))
-						return false;
-					if (!task2.getDescription().equals(ti.task2.getDescription()))
-						return false;
-				}
-			} catch (Exception e) {
-				// ignore
-			}
-			return true;
-		}
-	}
-
-	protected List<TaskInfo> tasks;
-	protected boolean hasOptionalTasks;
-	protected boolean hasPreferredTasks;
-
-	protected Map<String, Boolean> selectedTaskMap = new HashMap<String, Boolean>();
-
-	public TasksWizardFragment() {
-		// do nothing
-	}
-
-	protected void createChildFragments(List<WizardFragment> list) {
-		if (tasks == null || tasks.isEmpty())
-			return;
-		
-		int size = tasks.size();
-		int pages = (size - 1) / TASKS_PER_PAGE + 1;
-		for (int i = 0; i < pages; i++) {
-			SubTasksWizardFragment fragment = new SubTasksWizardFragment();
-			List list2 = tasks.subList(TASKS_PER_PAGE * i, Math.min(size, TASKS_PER_PAGE * (i+1)));
-			fragment.updateTasks(list2);
-			list.add(fragment);
-		}
-	}
-
-	public void enter() {
-		updateTasks();
-	}
-
-	public List getChildFragments() {
-		updateTasks();
-		return super.getChildFragments();
-	}
-
-	public void setTaskModel(TaskModel taskModel) {
-		super.setTaskModel(taskModel);
-		updateTasks();
-	}
-
-	public void updateTasks() {
-		if (getTaskModel() == null) {
-			tasks = null;
-			return;
-		}
-		
-		IServerAttributes server = (IServerAttributes) getTaskModel().getObject(TaskModel.TASK_SERVER);
-		List modules = (List) getTaskModel().getObject(TaskModel.TASK_MODULES);
-		
-		if (server != null && modules == null) {
-			final List<IModule[]> moduleList = new ArrayList<IModule[]>();
-			((Server) server).visit(new IModuleVisitor() {
-				public boolean visit(IModule[] module2) {
-					moduleList.add(module2);
-					return true;
-				}
-			}, null);
-			
-			modules = moduleList;
-		}
-		
-		if (server != null && modules != null) {
-			hasOptionalTasks = false;
-			hasPreferredTasks = false;
-			List<TaskInfo> taskList = new ArrayList<TaskInfo>(5);
-			createTasks(taskList, server, modules);
-			
-			if (tasks == null || !tasks.equals(taskList)) {
-				tasks = taskList;
-				updateChildFragments();
-				
-				boolean b = hasOptionalTasks || hasPreferredTasks;
-				getTaskModel().putObject(WizardTaskUtil.TASK_HAS_TASKS, new Boolean(b));				
-			}
-		}
-	}
-
-	protected void createTasks(List<TaskInfo> taskList, IServerAttributes server, List modules) {
-		if (server == null)
-			return;
-		
-		List<String> enabledTasks = ((Server)server).getEnabledOptionalPublishOperationIds();
-		List<String> disabledTasks = ((Server)server).getDisabledPreferredPublishOperationIds();
-		PublishOperation[] tasks2 = ((Server)server).getAllTasks(modules);
-		for (int j = 0; j < tasks2.length; j++) {
-			int kind = tasks2[j].getKind();
-			String id = ((Server)server).getPublishOperationId(tasks2[j]);
-			if (kind == PublishOperation.OPTIONAL || kind == PublishOperation.PREFERRED)
-				hasOptionalTasks = true;
-			if (kind == PublishOperation.PREFERRED)
-				hasPreferredTasks = true;
-			tasks2[j].setTaskModel(getTaskModel());
-			
-			boolean selected = true;
-			if (kind == PublishOperation.OPTIONAL) {
-				if (!enabledTasks.contains(id))
-					selected = false;
-			} else if (kind == PublishOperation.PREFERRED) {
-				if (disabledTasks.contains(id))
-					selected = false;
-			}
-			taskList.add(getServerTask(server, tasks2[j], selected));
-		}
-	}
-
-	public TaskInfo getServerTask(IServerAttributes server, PublishOperation task2, boolean selected) {
-		TaskInfo sti = new TaskInfo();
-		sti.task2 = task2;
-		sti.kind = task2.getKind();
-		sti.id = ((Server)server).getPublishOperationId(task2);
-		sti.setDefaultSelected(selected);
-		
-		return sti;
-	}
-
-	/**
-	 * @see WizardFragment#performFinish(IProgressMonitor)
-	 */
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		if (!hasOptionalTasks)
-			return;
-		
-		if (tasks == null || tasks.isEmpty())
-			return;
-		
-		TaskModel taskModel = getTaskModel();
-		IServer server = (IServer)taskModel.getObject(TaskModel.TASK_SERVER);
-		if (server == null)
-			return;
-		
-		boolean createdWC = false;
-		ServerWorkingCopy wc = null;
-		if (server instanceof ServerWorkingCopy)
-			wc = (ServerWorkingCopy)server;
-		else {
-			wc = (ServerWorkingCopy)server.createWorkingCopy();
-			createdWC = true;
-		}
-		
-		// compare lists
-		List<String> disabled = new ArrayList<String>();
-		List<String> enabled = new ArrayList<String>();
-		Iterator iterator = tasks.iterator();
-		while (iterator.hasNext()) {
-			TaskInfo task = (TaskInfo)iterator.next();
-			if (PublishOperation.REQUIRED == task.kind)
-				continue;
-			
-			String id = wc.getPublishOperationId(task.task2);
-			if (PublishOperation.PREFERRED == task.kind) {
-				if (!task.isSelected())
-					disabled.add(id);
-			} else if (PublishOperation.OPTIONAL == task.kind) {
-				if (task.isSelected())
-					enabled.add(id);
-			}
-		}
-		
-		List<String> curDisabled = wc.getDisabledPreferredPublishOperationIds();
-		List<String> curEnabled = wc.getEnabledOptionalPublishOperationIds();
-		
-		boolean different = false;
-		if (curEnabled.size() != enabled.size() || curDisabled.size() != disabled.size()) {
-			different = true;
-		} else {
-			for (String id : curDisabled) {
-				if (!disabled.contains(id))
-					different = true;
-			}
-			for (String id : curEnabled) {
-				if (!enabled.contains(id))
-					different = true;
-			}
-		}
-		
-		if (different) {
-			wc.resetPreferredPublishOperations();
-			wc.resetOptionalPublishOperations();
-			
-			Iterator<TaskInfo> iterator2 = tasks.iterator();
-			while (iterator2.hasNext()) {
-				TaskInfo task = iterator2.next();
-				if (PublishOperation.REQUIRED == task.kind)
-					continue;
-				
-				if (PublishOperation.PREFERRED == task.kind) {
-					if (!task.isSelected())
-						wc.disablePreferredPublishOperations(task.task2);
-				} else if (PublishOperation.OPTIONAL == task.kind) {
-					if (task.isSelected())
-						wc.enableOptionalPublishOperations(task.task2);
-				}
-			}
-		}
-		
-		if (createdWC && wc.isDirty())
-			wc.save(true, monitor);
-		monitor.done();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java
deleted file mode 100644
index b579320..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.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.ui.internal.wizard.page;
-
-//import java.util.ArrayList;
-//import java.util.List;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-/**
- * 
- */
-public class FixedTableLayout extends Layout {
-	//private List columns = new ArrayList();
-	
-	/*public void addColumnData(Integer data) {
-		columns.add(data);
-	}*/
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		Table table = (Table) composite;
-		Point result = table.computeSize(wHint, hHint, flushCache);
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean)
-	 */
-	protected void layout(Composite composite, boolean flushCache) {
-		Table table = (Table) composite;
-		TableColumn[] tableColumns = table.getColumns();
-		int width = table.getClientArea().width - 10;
-		
-		tableColumns[0].setWidth(width);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java
deleted file mode 100644
index 553b8a5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.fieldassist.AutoCompleteField;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.jface.fieldassist.FieldDecoration;
-import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.fieldassist.TextContentAdapter;
-
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-/**
- * A composite used to select a hostname.
- */
-public class HostnameComposite extends Composite {
-	public static final String LOCALHOST = "localhost";
-	protected String host;
-	protected IHostnameSelectionListener listener;
-	
-	protected Text hostname;
-	
-	public interface IHostnameSelectionListener {
-		public void hostnameSelected(String host);
-	}
-
-	/**
-	 * Create a new HostnameComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param listener2 a hostname selection listener
-	 */
-	public HostnameComposite(Composite parent, IHostnameSelectionListener listener2) {
-		super(parent, SWT.NONE);
-		this.listener = listener2;
-		
-		createControl();
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 3;
-		setLayout(layout);
-		//WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-		
-		Label label = new Label(this, SWT.WRAP);
-		label.setText(Messages.hostname);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		
-		hostname = new Text(this, SWT.BORDER);
-		hostname.setText(LOCALHOST);
-		final ControlDecoration hostnameDecoration = new ControlDecoration(hostname, SWT.TOP | SWT.LEAD);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		data.horizontalSpan = 2;
-		hostname.setLayoutData(data);
-		
-		hostname.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				hostnameChanged(hostname.getText());
-			}
-		});
-		
-		FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault();
-		FieldDecoration fd = registry.getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
-		hostnameDecoration.setImage(fd.getImage());
-		hostnameDecoration.setDescriptionText(fd.getDescription());
-		
-		hostname.addFocusListener(new FocusListener() {
-			public void focusGained(FocusEvent e) {
-				hostnameDecoration.show();
-			}
-
-			public void focusLost(FocusEvent e) {
-				hostnameDecoration.hide();
-			}
-		});
-		
-		List<String> hosts = ServerUIPlugin.getPreferences().getHostnames();
-		String[] hosts2 = hosts.toArray(new String[hosts.size()]);
-		new AutoCompleteField(hostname, new TextContentAdapter(), hosts2);
-		
-		Dialog.applyDialogFont(this);
-	}
-
-	protected void hostnameChanged(String newHost) {
-		if (newHost == null)
-			return;
-		
-		if (newHost.equals(host))
-			return;
-
-		host = newHost;
-		listener.hostnameSelected(host);
-	}
-
-	public String getHostname() {
-		return host;
-	}
-
-	public void setHostname(String newHostname) {
-		hostname.setText(newHostname);
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/LicenseComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/LicenseComposite.java
deleted file mode 100644
index 399acbd..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/LicenseComposite.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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.ui.internal.wizard.page;
-
-import org.eclipse.jface.dialogs.Dialog;
-
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.LicenseWizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Text;
-/**
- * A composite used to accept a license.
- */
-public class LicenseComposite extends Composite {
-	class LicenseLayout extends Layout {
-		private static final int INDENT = 15;
-		private static final int SPACING = 5;
-		
-		protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-			if (wHint < 200)
-				wHint = 200;
-			if (hHint < 300)
-				hHint = 300;
-			return new Point(wHint, hHint);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			Control[] children = composite.getChildren();
-			Point p1 = children[1].computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-			Point p2 = children[2].computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-			
-			Rectangle r = composite.getClientArea();
-			
-			children[2].setBounds(r.x + INDENT, r.y + r.height - p2.y, r.width - INDENT, p2.y);
-			children[1].setBounds(r.x + INDENT, r.y + r.height - p2.y - p1.y - SPACING, r.width - INDENT, p1.y);
-			children[0].setBounds(r.x, r.y, r.width, r.height - p1.y - p2.y - SPACING * 3);
-		}
-	}
-
-	protected TaskModel taskModel;
-	protected IWizardHandle wizard;
-	protected Text licenseText;
-	protected Button accept;
-	protected Button decline;
-	protected boolean accepted;
-
-	/**
-	 * Create a new LicenseComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param taskModel a task model
-	 * @param wizard the wizard this composite is contained in
-	 */
-	public LicenseComposite(Composite parent, TaskModel taskModel, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.taskModel = taskModel;
-		this.wizard = wizard;
-		
-		createControl();
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 */
-	protected void createControl() {
-		setLayout(new LicenseLayout());
-		
-		licenseText = new Text(this, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY | SWT.WRAP);
-		licenseText.setBackground(licenseText.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		
-		accept = new Button(this, SWT.RADIO);
-		accept.setText(Messages.wizLicenseAccept);
-		accept.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				accepted = accept.getSelection();
-				taskModel.putObject(LicenseWizardFragment.LICENSE_ACCEPT, new Boolean(accepted));
-				wizard.update();
-			}
-		});
-		
-		decline = new Button(this, SWT.RADIO);
-		decline.setText(Messages.wizLicenseDecline);
-		
-		updateLicense();
-		Dialog.applyDialogFont(this);
-	}
-
-	public void updateLicense() {
-		String license = (String) taskModel.getObject(LicenseWizardFragment.LICENSE);
-		if (license == null)
-			license = LicenseWizardFragment.LICENSE_UNKNOWN;
-		
-		Object acc = taskModel.getObject(LicenseWizardFragment.LICENSE_ACCEPT);
-		if (acc == null) {
-			accepted = false;
-			accept.setSelection(false);
-			decline.setSelection(false);
-		}
-		
-		if (LicenseWizardFragment.LICENSE_NONE.equals(license)) {
-			licenseText.setText(Messages.wizLicenseNone);
-			accept.setEnabled(false);
-			decline.setEnabled(false);
-			accepted = true;
-		} else if (LicenseWizardFragment.LICENSE_UNKNOWN.equals(license)) {
-			licenseText.setText(Messages.wizLicenseNone);
-			accept.setEnabled(true);
-			decline.setEnabled(true);
-		} else {
-			licenseText.setText(license);
-			accept.setEnabled(true);
-			decline.setEnabled(true);
-		}
-		taskModel.putObject(LicenseWizardFragment.LICENSE_ACCEPT, new Boolean(accepted));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
deleted file mode 100644
index 53b0bc1..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
+++ /dev/null
@@ -1,964 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * A wizard page used to add and remove modules.
- */
-public class ModifyModulesComposite extends Composite {
-	public static final String TASK_REFRESH_MODULES = "refresh-modules";
-
-	private static final String ROOT = "root";
-	protected static Color color;
-	protected static Font font;
-
-	protected IWizardHandle wizard;
-
-	protected IServerAttributes server;
-	protected IRuntime runtime;
-	protected boolean runtimeDirty;
-	protected Object refreshModules;
-	protected boolean showPublishOption;
-	protected boolean publishImmediately;
-
-	protected Map<ChildModuleMapKey, IModule[]> childModuleMap = new HashMap<ChildModuleMapKey, IModule[]>();
-	protected Map<IModule, IModule[]> parentModuleMap = new HashMap<IModule, IModule[]>();
-
-	// original modules on the server
-	protected List<IModule> originalModules = new ArrayList<IModule>();
-
-	// modules available to be added to the server
-	protected List<IModule> modules = new ArrayList<IModule>();
-
-	// current modules on the server
-	protected List<IModule> deployed = new ArrayList<IModule>();
-
-	protected TreeViewer availableTreeViewer;
-	protected TreeViewer deployedTreeViewer;
-
-	protected Button add, addAll;
-	protected Button remove, removeAll;
-
-	protected TaskModel taskModel;
-
-	// a module that must be kept on the server
-	protected IModule requiredModule;
-	protected boolean isComplete = true;
-
-	// the parent modules of the above modules. at least one of these modules
-	// must be kept on the server
-	protected IModule[] requiredModules;
-
-	protected Map<IModule, IStatus> errorMap;
-
-	abstract class TreeContentProvider implements ITreeContentProvider {
-		public void dispose() {
-			// do nothing
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			// do nothing
-		}
-		
-		public Object[] getChildren(Object parentElement) {
-			ModuleServer ms = (ModuleServer) parentElement;
-			IModule[] parent = ms.module;
-			IModule[] children = childModuleMap.get(new ChildModuleMapKey(parent));
-			
-			List<ModuleServer> list = new ArrayList<ModuleServer>();
-			if (children != null) {
-				int size = children.length;
-				for (int i = 0; i < size; i++) {
-					IModule child = children[i];
-					
-					parentModuleMap.put(child, parent);
-					
-					int size2 = parent.length;
-					IModule[] module2 = new IModule[size2 + 1];
-					System.arraycopy(parent, 0, module2, 0, size2);
-					module2[size2] = child;
-					list.add(new ModuleServer(null, module2));
-				}
-			}
-			return list.toArray();
-		}
-
-		public Object getParent(Object element) {
-			ModuleServer ms = (ModuleServer) element;
-			IModule[] child = ms.module;
-			IModule[] modules2 = parentModuleMap.get(child);
-			if (modules2 == null)
-				return null;
-			return new ModuleServer(null, modules2);
-		}
-
-		public boolean hasChildren(Object element) {
-			ModuleServer ms = (ModuleServer) element;
-			IModule[] parent = ms.module;
-			IModule[] children = childModuleMap.get(new ChildModuleMapKey(parent));
-			return (children != null && children.length > 0);
-		}
-	}
-
-	class AvailableContentProvider extends TreeContentProvider {
-		public Object[] getElements(Object inputElement) {
-			List<ModuleServer> list = new ArrayList<ModuleServer>();
-			Iterator iterator = modules.iterator();
-			while (iterator.hasNext()) {
-				IModule module = (IModule) iterator.next();
-				list.add(new ModuleServer(null, new IModule[] { module }));
-			}
-			return list.toArray();
-		}
-	}
-
-	class DeployedContentProvider extends TreeContentProvider {
-		public Object[] getElements(Object inputElement) {
-			List<ModuleServer> list = new ArrayList<ModuleServer>();
-			Iterator iterator = deployed.iterator();
-			while (iterator.hasNext()) {
-				IModule module = (IModule) iterator.next();
-				list.add(new ModuleServer(null, new IModule[] { module }));
-			}
-			return list.toArray();
-		}
-	}
-
-	/**
-	 * The key element for the child module map
-	 * ChildMapModuleKey
-	 */
-	protected class ChildModuleMapKey {
-		protected IModule[] moduleTree;
-		
-		protected ChildModuleMapKey(IModule curModule) {
-			if (curModule != null) {
-				moduleTree = new IModule[] { curModule };
-			}
-		}
-		
-		protected ChildModuleMapKey(IModule[] curModuleTree) {
-			moduleTree = curModuleTree;
-		}
-		
-		public boolean equals(Object obj) {
-			if (obj == this) // same object
-				return true;
-			
-			if (!(obj instanceof ChildModuleMapKey))
-				return false;
-				
-			IModule[] curCompareModule = ((ChildModuleMapKey) obj).moduleTree;
-			if (curCompareModule == moduleTree) {
-				// the module tree is the same
-				return true;
-			} else if (moduleTree == null || curCompareModule == null || moduleTree.length != curCompareModule.length){
-				return false;
-			} else {
-				// compare each module
-				for (int i = 0; i < curCompareModule.length; i++) {
-					if (!curCompareModule[i].equals(moduleTree[i]))
-						return false;
-				}
-				return true;
-			}
-		}
-
-		public int hashCode() {
-			// force the same hash code on all the instances to makes sure the
-			// equals(Object) method is being used for comparing the objects
-			return 12345;
-		}
-	}
-
-	/**
-	 * Create a new ModifyModulesComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param wizard a wizard
-	 * @param module the module that is being added
-	 */
-	public ModifyModulesComposite(Composite parent, IWizardHandle wizard, IModule module) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		requiredModule = module;
-		
-		wizard.setTitle(Messages.wizModuleTitle);
-		wizard.setDescription(Messages.wizModuleDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER));
-		
-		createControl();
-	}
-
-	/**
-	 * Create a new ModifyModulesComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param wizard a wizard
-	 * @param module the module that is being added
-	 * @param showPublishOption show the publishing options
-	 */
-	public ModifyModulesComposite(Composite parent, IWizardHandle wizard, IModule module, boolean showPublishOption) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		requiredModule = module;
-		this.showPublishOption = showPublishOption;
-		
-		wizard.setTitle(Messages.wizModuleTitle);
-		wizard.setDescription(Messages.wizModuleDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER));
-		
-		createControl();
-	}
-
-	public void setServer(IServerAttributes server) {
-		
-		// see bug 185875, 205869
-		if (refreshModules == taskModel.getObject(TASK_REFRESH_MODULES) && server == this.server) {
-			if (server == null)
-				return;
-			if (runtime == server.getRuntime()) {
-				if (runtime == null)
-					return;
-				if (runtime instanceof IRuntimeWorkingCopy) {
-					IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) runtime;
-					if (wc.isDirty() == runtimeDirty)
-						return;
-				} else
-					return;
-			}
-		}
-		
-		refreshModules = taskModel.getObject(TASK_REFRESH_MODULES);
-		this.server = server;
-		if (server == null)
-			runtime = null;
-		else
-			runtime = server.getRuntime();
-		runtimeDirty = false;
-		if (runtime != null) {
-			if (runtime instanceof IRuntimeWorkingCopy) {
-				IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) runtime;
-				if (wc.isDirty())
-					runtimeDirty = true;
-			}
-		}
-		
-		originalModules = new ArrayList<IModule>();
-		deployed = new ArrayList<IModule>();
-		modules = new ArrayList<IModule>();
-		
-		childModuleMap = new HashMap<ChildModuleMapKey, IModule[]>();
-		
-		if (server == null)
-			return;
-		
-		System.setProperty("J2EEcache", "" + Math.random());
-		
-		// get currently deployed modules
-		IModule[] currentModules = server.getModules();
-		if ((currentModules != null) && (currentModules.length > 0)) {
-			int size = currentModules.length;
-			for (int i = 0; i < size; i++) {
-				originalModules.add(currentModules[i]);
-				deployed.add(currentModules[i]);
-			}
-		}
-		
-		// add new module
-		requiredModules = null;
-		errorMap = new HashMap<IModule, IStatus>();
-		if (requiredModule != null) {
-			try {
-				IModule[] parents = server.getRootModules(requiredModule, null);
-				if (parents != null && parents.length > 0)
-					requiredModules = parents;
-				else
-					requiredModules = new IModule[] { requiredModule };
-			} catch (CoreException ce) {
-				if (Trace.INFO) {
-					Trace.trace(Trace.STRING_INFO, "A possible server implementation error", ce);
-				}
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "Could not find root module", e);
-				}
-			}
-		}
-		if (requiredModules != null && !deployed.contains(requiredModules[0]))
-			deployed.add(requiredModules[0]);
-		
-		// get remaining modules
-		IModule[] modules2 = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes());
-		if (modules2 != null) {
-			int size = modules2.length;
-			for (int i = 0; i < size; i++) {
-				IModule module = modules2[i];
-				if (!deployed.contains(module)) {
-					try {
-						IModule[] parents = server.getRootModules(module, null);
-						if (parents != null) {
-							int size2 = parents.length;
-							for (int j = 0; j < size2; j++) {
-								if (parents[j].equals(module)) {
-									IStatus status = server.canModifyModules(new IModule[] { module }, null, null);
-									if (status != null && !status.isOK())
-										errorMap.put(module, status);
-									modules.add(module);
-								}
-							}
-						}
-					} catch (CoreException ce) {
-						errorMap.put(module, ce.getStatus());
-						modules.add(module);
-					}
-				}
-			}
-		}
-		
-		// build child map
-		Iterator iterator = deployed.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			try {
-				IModule[] children = server.getChildModules(new IModule[] { module }, null);
-				if (children != null && children.length > 0)
-					childModuleMap.put(new ChildModuleMapKey(module), children);
-				IStatus status = server.canModifyModules(null, new IModule[] { module }, null);
-				if (status != null && !status.isOK())
-					errorMap.put(module, status);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		
-		iterator = modules.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			try {
-				IModule[] children = server.getChildModules(new IModule[] { module }, null);
-				if (children != null && children.length > 0)
-					childModuleMap.put(new ChildModuleMapKey(module), children);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		
-		// get children recursively one level
-		// put child elements into a different list to avoid concurrent modifications
-		Iterator<ChildModuleMapKey> iterator2 = childModuleMap.keySet().iterator();
-		List<ChildModuleMapKey> list = new ArrayList<ChildModuleMapKey>();
-		while (iterator2.hasNext()) {
-			list.add(iterator2.next());
-		}
-		
-		iterator = list.iterator();
-		while (iterator.hasNext()) {
-			ChildModuleMapKey key = (ChildModuleMapKey) iterator.next();
-			IModule[] children0 = childModuleMap.get(key);
-			if (children0 != null) {
-				int size = children0.length;
-				for (int i = 0; i < size; i++) {
-					int size2 = key.moduleTree.length;
-					IModule[] module2 = new IModule[size2 + 1];
-					System.arraycopy(key.moduleTree, 0, module2, 0, size2);
-					module2[size2] = children0[i];
-					
-					try {
-						IModule[] children = server.getChildModules(module2, null);
-						if (children != null && children.length > 0)
-							childModuleMap.put(new ChildModuleMapKey(module2), children);
-					} catch (Exception e) {
-						// ignore
-					}
-				}
-			}
-		}
-		
-		System.setProperty("J2EEcache", "");
-		
-		updateTaskModel();
-	}
-
-	public void setVisible(boolean b) {
-		if (b) {
-			this.refresh();
-		}
-		super.setVisible(b);
-	}
-
-	/**
-	 * Refresh the composite
-	 */
-	public void refresh() {
-
-		Display.getDefault().syncExec(new Runnable() {
-			public void run() {
-				if (availableTreeViewer == null || availableTreeViewer.getControl().isDisposed())
-					return;
-				try { // update trees if we can
-					availableTreeViewer.refresh();
-					deployedTreeViewer.refresh();
-					setEnablement();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		});
-	}
-	
-	public void setTaskModel(TaskModel model) {
-		this.taskModel = model;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.numColumns = 3;
-		setLayout(layout);
-		setFont(getParent().getFont());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.MODIFY_MODULES_COMPOSITE);
-		
-		Display display = getDisplay();
-		color = display.getSystemColor(SWT.COLOR_DARK_GRAY);
-		FontData[] fd = getFont().getFontData();
-		int size2 = fd.length;
-		for (int i = 0; i < size2; i++)
-			fd[i].setStyle(SWT.ITALIC);
-		font = new Font(display, fd);
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				font.dispose();
-			}
-		});
-		
-		Label label = new Label(this, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-		label.setText(Messages.wizModuleMessage);
-		
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.wizModuleAvailableList);
-		
-		label = new Label(this, SWT.NONE);
-		label.setText("");
-		
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.wizModuleDeployedList);
-		
-		Tree availableTree = new Tree(this, SWT.BORDER | SWT.MULTI);
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = 200;
-		data.widthHint = 150;
-		availableTree.setLayoutData(data);
-		
-		availableTreeViewer = new TreeViewer(availableTree);
-		ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-		labelProvider.addListener(new ILabelProviderListener() {
-			public void labelProviderChanged(LabelProviderChangedEvent event) {
-				Object[] obj = event.getElements();
-				if (obj == null)
-					availableTreeViewer.refresh(true);
-				else {
-					obj = ServerUIPlugin.adaptLabelChangeObjects(obj);
-					int size = obj.length;
-					for (int i = 0; i < size; i++)
-						availableTreeViewer.refresh(obj[i], true);
-				}
-			}
-		});
-		availableTreeViewer.setLabelProvider(labelProvider);
-		availableTreeViewer.setContentProvider(new AvailableContentProvider());
-		availableTreeViewer.setComparator(new ViewerComparator() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				if (e1 instanceof ModuleServer && e2 instanceof ModuleServer) {
-					ModuleServer s1 = (ModuleServer) e1;
-					ModuleServer s2 = (ModuleServer) e2;
-					return (s1.module[s1.module.length - 1].getName().compareToIgnoreCase(s2.module[s2.module.length - 1].getName()));
-				}
-				
-				return super.compare(viewer, e1, e2);
-			}
-		});
-		availableTreeViewer.setInput(ROOT);
-		
-		availableTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				setEnablement();
-			}
-		});
-		availableTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				setEnablement();
-				if (add.isEnabled())
-					add(false);
-			}
-		});
-		
-		// slosh buttons
-		Composite comp = new Composite(this, SWT.NONE);
-		data = new GridData(GridData.FILL_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = 120;
-		comp.setLayoutData(data);
-		
-		layout = new GridLayout();
-		layout.marginWidth = 5;
-		layout.marginHeight = 25;
-		layout.verticalSpacing = 20;
-		comp.setLayout(layout);
-		
-		add = new Button(comp, SWT.PUSH);
-		add.setText(Messages.wizModuleAdd);
-		add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				add(false);
-			}
-		});
-		
-		remove = new Button(comp, SWT.PUSH);
-		remove.setText(Messages.wizModuleRemove);
-		remove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				remove(false);
-			}
-		});
-		
-		label = new Label(comp, SWT.NONE);
-		label.setText("");
-		
-		addAll = new Button(comp, SWT.PUSH);
-		addAll.setText(Messages.wizModuleAddAll);
-		addAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		addAll.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				add(true);
-			}
-		});
-		
-		removeAll = new Button(comp, SWT.PUSH);
-		removeAll.setText(Messages.wizModuleRemoveAll);
-		removeAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		removeAll.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				remove(true);
-			}
-		});
-		
-		Tree deployedTree = new Tree(this, SWT.BORDER | SWT.MULTI);
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 150;
-		deployedTree.setLayoutData(data);
-		
-		deployedTreeViewer = new TreeViewer(deployedTree) {
-			public void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-				if (widget instanceof TreeItem && color != null) {
-					TreeItem item = (TreeItem) widget;
-					if (element instanceof ModuleServer) {
-						ModuleServer ms = (ModuleServer) element;
-						IModule m = ms.module[ms.module.length-1];
-						if (m.isExternal())
-							item.setForeground(color);
-						else
-							item.setForeground(null);
-						if (!(server instanceof IServer) || ((IServer)server).getModulePublishState(ms.module) != IServer.PUBLISH_STATE_NONE)
-							item.setFont(font);
-						else
-							item.setFont(null);
-					}
-				}
-				super.doUpdateItem(widget, element, fullMap);
-			}
-		};
-		labelProvider = ServerUICore.getLabelProvider();
-		labelProvider.addListener(new ILabelProviderListener() {
-			public void labelProviderChanged(LabelProviderChangedEvent event) {
-				Object[] obj = event.getElements();
-				if (obj == null)
-					deployedTreeViewer.refresh(true);
-				else {
-					int size = obj.length;
-					for (int i = 0; i < size; i++)
-						deployedTreeViewer.refresh(obj[i], true);
-				}
-			}
-		});
-		deployedTreeViewer.setLabelProvider(labelProvider);
-		deployedTreeViewer.setContentProvider(new DeployedContentProvider());
-		deployedTreeViewer.setComparator(new ViewerComparator() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				if (e1 instanceof ModuleServer && e2 instanceof ModuleServer) {
-					ModuleServer s1 = (ModuleServer) e1;
-					ModuleServer s2 = (ModuleServer) e2;
-					return (s1.module[s1.module.length - 1].getName().compareToIgnoreCase(s2.module[s2.module.length - 1].getName()));
-				}
-				
-				return super.compare(viewer, e1, e2);
-			}
-		});
-		deployedTreeViewer.setInput(ROOT);
-		
-		deployedTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				setEnablement();
-			}
-		});
-		deployedTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				setEnablement();
-				if (remove.isEnabled())
-					remove(false);
-			}
-		});
-		
-		if (showPublishOption) {
-			final Button publish = new Button(this, SWT.CHECK);
-			publish.setText(Messages.wizModulePublishImmediately);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 3;
-			publish.setLayoutData(data);
-			
-			publishImmediately = ServerUIPlugin.getPreferences().getPublishOnAddRemoveModule();
-			publish.setSelection(publishImmediately);
-			publish.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					publishImmediately = publish.getSelection();
-				}
-			});
-		}
-		
-		setEnablement();
-		availableTree.setFocus();
-		
-		Dialog.applyDialogFont(this);
-	}
-
-	protected ModuleServer[] getAvailableSelection() {
-		IStructuredSelection sel = (IStructuredSelection) availableTreeViewer.getSelection();
-		if (sel.isEmpty())
-			return new ModuleServer[0];
-			
-		ModuleServer []  mss = new ModuleServer[sel.size()];
-		System.arraycopy(sel.toArray(), 0, mss, 0, sel.size());
-		return mss;
-	}
-
-	protected ModuleServer[] getDeployedSelection() {
-		IStructuredSelection sel = (IStructuredSelection) deployedTreeViewer.getSelection();
-		if (sel.isEmpty())
-			return new ModuleServer[0];
-		
-		ModuleServer []  mss = new ModuleServer[sel.size()];
-		System.arraycopy(sel.toArray(), 0, mss, 0, sel.size());
-		return mss;
-	}
-
-	protected static IModule getModule(ModuleServer ms) {
-		if (ms == null)
-			return null;
-		IModule[] modules2 = ms.module;
-		return modules2[modules2.length - 1];
-	}
-
-	protected static IModule[] getModules(ModuleServer[] ms) {
-		if (ms == null)
-			return null;
-		IModule[] modules2 = new IModule[ms.length];
-		for (int i = 0; i < ms.length; i++)
-			modules2[i] = getModule(ms[i]);
-		
-		return modules2;
-	}
-
-	protected void setEnablement() {
-		wizard.setMessage(null, IMessageProvider.NONE);
-		
-		int count = 0;
-		if (requiredModules != null) {
-			// count how many of requiredModules are deployed
-			int size = requiredModules.length;
-			for (int i = 0; i < size; i++) {
-				if (deployed.contains(requiredModules[i]))
-					count++;
-			}
-		}
-		
-		// give error if there are more than one possible required modules and none are
-		// added to the server
-		isComplete = true;
-		if (requiredModules != null && requiredModules.length > 1 && count == 0) {
-			String s = "";
-			int size = requiredModules.length;
-			for (int i = 0; i < size; i++) {
-				if (i > 0)
-					s += " | ";
-				s += requiredModules[i].getName();
-			}
-			wizard.setMessage(NLS.bind(Messages.wizModuleRequiredModules, s), IMessageProvider.ERROR);
-			isComplete = false;
-		}
-		
-		// selection specific messages
-		ModuleServer[] ms = getAvailableSelection();
-		if (ms == null ||  ms.length == 0) {
-			add.setEnabled(false);
-		} else {
-			boolean enabled = false;
-			// iterate through selection, if we find at least ONE module that can't be added, exit the loop
-			for (int i = 0; i < ms.length; i++) {
-				IModule module = getModule(ms[i]);
-				if (module != null) {
-					try {
-						IStatus status = errorMap.get(module);
-						if (modules.contains(module)) {
-							if (status == null )
-								enabled = true;
-							else if (status.getSeverity() == IStatus.ERROR) {
-								// this module can't be added because has errors, exit the loop
-								enabled = false;
-								wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-								break;
-							} else if (status.getSeverity() == IStatus.WARNING){
-								enabled = true;
-								wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-							}
-							else if (status.getSeverity() == IStatus.INFO){
-								enabled = true;
-								wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-							}
-						}
-						else{
-							// at least ONE module from the selection can't be added, exit the loop   
-							enabled = false;
-							break;
-						}
-					} catch (Exception e) {
-						if (Trace.INFO) {
-							Trace.trace(Trace.STRING_INFO, "Unable to handle error map for module:" + module);
-						} 
-					}
-				}
-			}
-			add.setEnabled(enabled);
-		}
-		addAll.setEnabled(modules.size() > 0);
-		
-		ms = getDeployedSelection();
-		if (ms == null ||  ms.length == 0) {
-			remove.setEnabled(false);
-		} else {
-			boolean enabled = false;
-			// iterate through selection, if we find at least ONE module that can't be removed, exit the loop
-			for (int i = 0; i < ms.length; i++) {
-				IModule module = getModule(ms[i]);
-				if (module != null && deployed.contains(module)) {
-					// provide error about removing required single module
-					// required modules can't be removed
-					if (requiredModules != null ){
-						if (requiredModules.length == 1 && requiredModules[0].equals(module)) {
-							// this is a required module and can't be removed, exit the loop
-							wizard.setMessage(NLS.bind(Messages.wizModuleRequiredModule, module.getName()), IMessageProvider.ERROR);
-							enabled = false;
-							break;
-						}
-						enabled = true;
-					} else if( errorMap.containsKey(module)){
-						// this is a required module and can't be removed, exit the loop
-						wizard.setMessage(errorMap.get(module).getMessage(), IMessageProvider.ERROR);
-						enabled = false;
-						break;
-					} else 
-						enabled = true;
-				}
-				else{
-					// this module is not found in the 'deployed' array, the module might be a child
-					// at least ONE module from the selection can't be removed, exit the loop
-					enabled = false;
-					break;
-				}
-			}
-			remove.setEnabled(enabled);
-		}
-	
-		if (requiredModules == null)
-			removeAll.setEnabled(deployed.size() > 0);
-		else
-			removeAll.setEnabled(deployed.size() > 1);
-	}
-
-	protected void add(boolean all) {
-		if (all) {
-			IModule[] modules2 = new IModule[modules.size()];
-			modules.toArray(modules2);
-			moveAll(modules2, true);
-		} else
-			moveAll(getModules(getAvailableSelection()), true);
-		updateTaskModel();
-	}
-
-	protected void remove(boolean all) {
-		if (all) {
-			// pick one of the required modules to keep
-			IModule keep = null;
-			if (requiredModules != null) {
-				int size2 = requiredModules.length;
-				for (int i = 0; i < size2; i++) {
-					if (keep == null && deployed.contains(requiredModules[i]))
-						keep = requiredModules[i];
-				}
-			}
-			
-			List<IModule> list = new ArrayList<IModule>();
-			list.addAll(deployed);
-			list.remove(keep);
-			
-			IModule[] modules2 = new IModule[list.size()];
-			list.toArray(modules2);
-			
-			moveAll(modules2, false);
-		} else
-			moveAll(getModules(getDeployedSelection()), false);
-		updateTaskModel();
-	}
-
-	protected void moveAll(IModule[] mods, boolean add2) {
-		int size = mods.length;
-		List<IModule> list = new ArrayList<IModule>();
-		for (int i = 0; i < size; i++) {
-			IStatus status = errorMap.get(mods[i]);
-			
-			if (status == null && !list.contains(mods[i]))
-				list.add(mods[i]);
-		}
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			ModuleServer ms = new ModuleServer(null, new IModule[] { module });
-			if (add2) {
-				modules.remove(module);
-				deployed.add(module);
-				availableTreeViewer.remove(ms);
-				deployedTreeViewer.add(ROOT, ms);
-			} else {
-				modules.add(module);
-				deployed.remove(module);
-				availableTreeViewer.add(ROOT, ms);
-				deployedTreeViewer.remove(ms);
-			}
-		}
-
-		setEnablement();
-	}
-
-	protected void updateTaskModel() {
-		if (taskModel == null)
-			return;
-
-		taskModel.putObject(TaskModel.TASK_MODULES, getModuleMap());
-		wizard.update();
-	}
-
-	public List<IModule> getModulesToRemove() {
-		List<IModule> list = new ArrayList<IModule>();
-		Iterator iterator = originalModules.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (!deployed.contains(module))
-				list.add(module);
-		}
-		return list;
-	}
-
-	public List<IModule> getModulesToAdd() {
-		List<IModule> list = new ArrayList<IModule>();
-		Iterator iterator = deployed.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			if (!originalModules.contains(module))
-				list.add(module);
-		}
-		return list;
-	}
-	
-	private void addChildMap(List<IModule[]> map, IModule[] parents, IModule[] children) {
-		if (children == null)
-			return;
-		
-		int size = children.length;
-		for (int i = 0; i < size; i++) {
-			IModule module = children[i];
-			
-			int size2 = parents.length;
-			IModule[] modules2 = new IModule[size2 + 1];
-			System.arraycopy(parents, 0, modules2, 0, size2);
-			modules2[size2] = module;
-			map.add(modules2);
-			
-			IModule[] children2 = childModuleMap.get(new ChildModuleMapKey(module));
-			if (children2 != null)
-				addChildMap(map, modules2, children2);
-		}
-	}
-
-	public List getModuleMap() {
-		final List<IModule[]> map = new ArrayList<IModule[]>();
-	
-		Iterator iterator = deployed.iterator();
-		while (iterator.hasNext()) {
-			IModule module = (IModule) iterator.next();
-			IModule[] moduleTree = new IModule[] { module };
-			map.add(moduleTree);
-			IModule[] children = childModuleMap.get(new ChildModuleMapKey(module));
-			if (children != null)
-				addChildMap(map, moduleTree, children);
-		}
-		
-		return map;
-	}
-
-	public boolean isComplete() {
-		return isComplete;
-	}
-
-	public boolean shouldPublishImmediately() {
-		return publishImmediately;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java
deleted file mode 100644
index 93dddab..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerAttributes;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.viewers.BaseContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-/**
- * A wizard page used to detect a server.
- */
-public class NewDetectServerComposite extends Composite {
-	protected String host;
-	
-	protected IServerWorkingCopy server;
-	protected IServerSelectionListener listener;
-	
-	protected List servers = new ArrayList();
-	
-	protected Button detect;
-	protected Table table;
-	protected TableViewer tableViewer;
-	protected Label hostLabel;
-
-	public interface IServerSelectionListener {
-		public void serverSelected(IServerAttributes server);
-	}
-	
-	public class ServerContentProvider extends BaseContentProvider {
-		public Object[] getElements(Object inputElement) {
-			return servers.toArray();
-		}
-	}
-	
-	public class ServerLabelProvider implements ITableLabelProvider {
-		public void addListener(ILabelProviderListener listener2) {
-			// do nothing
-		}
-
-		public void dispose() {
-			// do nothing
-		}
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			IServer server2 = (IServer) element;
-			if (columnIndex == 0)
-				return server2.getName();
-			else if (columnIndex == 0)
-				return "n/a";
-			return null;
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void removeListener(ILabelProviderListener listener2) {
-			// do nothing
-		}
-	}
-
-	/**
-	 * Create a new NewDetectServerComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param listener2 a server selection listener
-	 */
-	public NewDetectServerComposite(Composite parent, IServerSelectionListener listener2) {
-		super(parent, SWT.NONE);
-		this.listener = listener2;
-
-		createControl();
-	}
-	
-	protected Label createHeadingLabel(Composite parent, String text, int span) {
-		Label label = createLabel(parent, text, span, true, false);
-		label.setFont(JFaceResources.getBannerFont());
-		return label;
-	}
-	
-	protected Label createLabel(Composite parent, String text, int span, boolean alignTop, boolean indent) {
-		Label label = new Label(parent, SWT.WRAP);
-		label.setText(text);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		if (alignTop)
-			data.verticalAlignment = GridData.BEGINNING;
-		data.horizontalSpan = span;
-		if (indent)
-			data.horizontalIndent = 10;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		setLayout(layout);
-		//WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-	
-		createHeadingLabel(this, "Select the Server", 2);
-		
-		table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		data.heightHint = 60;
-		data.widthHint = 50;
-		data.horizontalSpan = 2;
-		data.horizontalIndent = 10;
-		table.setLayoutData(data);
-		
-		TableLayout tableLayout = new TableLayout();
-		table.setHeaderVisible(true);
-
-		tableLayout.addColumnData(new ColumnWeightData(50, 100, true));
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setText("Server");
-		
-		tableLayout.addColumnData(new ColumnWeightData(40, 80, true));
-		TableColumn col2 = new TableColumn(table, SWT.NONE);
-		col2.setText("Status");
-		
-		table.setLayout(tableLayout);
-		
-		tableViewer = new TableViewer(table);
-		tableViewer.setContentProvider(new ServerContentProvider());
-		tableViewer.setLabelProvider(new ServerLabelProvider());
-		tableViewer.setColumnProperties(new String[] {"name", "status"});
-		tableViewer.setInput("root");
-		
-		String date = "<now>";
-		hostLabel = createLabel(this, "Last detected servers on " + host + " at " + date + ":", 1, false, true);
-		
-		detect = SWTUtil.createButton(this, "Refresh");
-		detect.setEnabled(false);
-		data = (GridData) detect.getLayoutData();
-		data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
-
-		// listeners
-		detect.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				// do nothing
-			}
-		});
-
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-				Object obj = sel.getFirstElement();
-				IServerWorkingCopy newServer = null;
-				if (obj instanceof IServerWorkingCopy)
-					newServer = (IServerWorkingCopy) obj;
-				
-				if ((newServer == null && server != null) || (newServer != null && !newServer.equals(server))) {
-					server = newServer;
-					listener.serverSelected(server);
-				}
-			}
-		});
-		
-		setHost(null);
-	
-		Dialog.applyDialogFont(this);
-	}
-
-	public String getHost() {
-		return host;
-	}
-
-	public void setHost(String host) {
-		this.host = host;
-		servers = new ArrayList();
-		tableViewer.refresh();
-		if (host != null) {
-			hostLabel.setText("Detected servers on " + host + ":");
-			detect.setEnabled(true);
-			table.setEnabled(true);
-		} else {
-			hostLabel.setText("No host selected");
-			detect.setEnabled(false);
-			table.setEnabled(false);
-		}
-	}
-
-	public IServerWorkingCopy getServer() {
-		return server;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
deleted file mode 100644
index ac97410..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
+++ /dev/null
@@ -1,885 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.beans.PropertyChangeEvent;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.fieldassist.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-import org.eclipse.wst.server.core.util.SocketUtil;
-import org.eclipse.wst.server.ui.AbstractUIControl;
-import org.eclipse.wst.server.ui.AbstractUIControl.IUIControlListener;
-import org.eclipse.wst.server.ui.AbstractUIControl.UIControlEntry;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.viewers.ServerTypeComposite;
-import org.eclipse.wst.server.ui.internal.wizard.TaskWizard;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.internal.wizard.page.HostnameComposite.IHostnameSelectionListener;
-import org.eclipse.wst.server.ui.wizard.ServerCreationWizardPageExtension;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * Wizard page used to create a server and configuration at the same time.
- */
-public class NewManualServerComposite extends Composite implements IUIControlListener {
-	public interface ServerSelectionListener {
-		public void serverSelected(IServerAttributes server);
-		public void runtimeSelected(IRuntime runtime);
-	}
-
-	public interface IWizardHandle2 {
-		public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException;
-		public void update();
-		public void setMessage(String newMessage, int newType);
-	}
-	protected IWizardHandle2 wizard;
-
-	protected ServerTypeComposite serverTypeComposite;
-
-	protected Label runtimeLabel;
-	protected Combo runtimeCombo;
-	protected Link configureRuntimes;
-	protected Link addRuntime;
-	protected IRuntime[] runtimes;
-	protected IRuntime newRuntime;
-
-	protected Text serverName;
-	protected String defaultServerName;
-	protected boolean serverNameModified;
-	protected boolean updatingServerName;
-	protected ToolBarManager serverNameToolBar;
-
-	protected IRuntime runtime;
-	protected IServerWorkingCopy server;
-	protected ServerSelectionListener listener;
-
-	protected String host;
-
-	protected IModuleType moduleType;
-	protected IModule module;
-	protected String serverTypeId;
-	protected boolean includeIncompatible;
-	
-	protected HostnameComposite manualHostComp;
-	IHostnameSelectionListener hostnameListener;
-	protected Label hostnameLabel;
-	protected Text hostname;
-	protected ControlDecoration hostnameDecoration;
-
-	protected ServerCreationCache cache = new ServerCreationCache();
-	
-	private IServerType oldServerType;
-	
-	HostnameChangedAction hostnameChangeAction;
-	Timer timer = null;
-	
-	private boolean canSupportModule=true;
-
-	/**
-	 * Creates a new server and server configuration.  If the initial
-	 * resource selection contains exactly one container resource then it will be
-	 * used as the default container resource.
-	 *
-	 * @param parent a parent composite
-	 * @param wizard a wizard handle
-	 * @param moduleType a module type
-	 * @param module an optional module
-	 * @param serverTypeId a server type id, or null
-	 * @param includeIncompatible true to include incompatible servers that support similar module types
-	 * @param listener a server selection listener
-	 */
-	public NewManualServerComposite(Composite parent, IWizardHandle2 wizard, IModuleType moduleType, IModule module, String serverTypeId, boolean includeIncompatible, ServerSelectionListener listener) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		this.listener = listener;
-		
-		this.moduleType = moduleType;
-		this.module = module;
-		this.serverTypeId = serverTypeId;
-		this.includeIncompatible = includeIncompatible;
-		
-		createControl();
-		wizard.setMessage("", IMessageProvider.ERROR); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns this page's initial visual components.
-	 */
-	protected void createControl() {
-		// top level group
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		setLayout(layout);
-
-		this.setFont(getParent().getFont());
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(this, ContextIds.NEW_SERVER_WIZARD);
-		
-		List<ServerCreationWizardPageExtension> pageExtensionLst = ServerUIPlugin.getServerCreationWizardPageExtensions();
-		// Add the page modifier top section UI. 
-		for (ServerCreationWizardPageExtension curPageExtension : pageExtensionLst) {
-			curPageExtension.createControl(ServerCreationWizardPageExtension.UI_POSITION.TOP, this);
-			curPageExtension.setUIControlListener(this);
-		}
-		
-		serverTypeComposite = new ServerTypeComposite(this, moduleType, serverTypeId, new ServerTypeComposite.ServerTypeSelectionListener() {
-			public void serverTypeSelected(IServerType type2) {
-				handleTypeSelection(type2);
-				//WizardUtil.defaultSelect(parent, CreateServerWizardPage.this);
-			}
-		});
-		serverTypeComposite.setIncludeIncompatibleVersions(includeIncompatible);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		data.horizontalSpan = 3;
-		serverTypeComposite.setLayoutData(data);
-		whs.setHelp(serverTypeComposite, ContextIds.NEW_SERVER_TYPE);
-		
-		// Add the page modifier middle section UI. 
-		for (ServerCreationWizardPageExtension curPageExtension : pageExtensionLst) {
-			curPageExtension.createControl(ServerCreationWizardPageExtension.UI_POSITION.MIDDLE, this);
-		}
-		
-		hostnameListener = 	new IHostnameSelectionListener() {
-			public void hostnameSelected(String selectedHostname) {
-				setHost(selectedHostname);
-			}
-	    };		
-		hostnameLabel = new Label(this, SWT.NONE);
-		hostnameLabel.setText(Messages.hostname);
-		hostname = new Text(this, SWT.SINGLE | SWT.BORDER | SWT.CANCEL);
-		hostname.setText(HostnameComposite.LOCALHOST);
-		hostnameDecoration = new ControlDecoration(hostname, SWT.TOP | SWT.LEAD);
-		
-		GridData data2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL );
-		hostname.setLayoutData(data2);
-		new Label(this, SWT.NONE);
-		
-		hostname.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setHostnameChangeTimer(hostname.getText());
-			}
-		});
-		
-		FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault();
-		FieldDecoration fd = registry.getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
-		hostnameDecoration.setImage(fd.getImage());
-		hostnameDecoration.setDescriptionText(fd.getDescription());
-		
-		hostname.addFocusListener(new FocusListener() {
-			public void focusGained(FocusEvent e) {
-				hostnameDecoration.show();
-			}
-
-			public void focusLost(FocusEvent e) {
-				hostnameDecoration.hide();
-			}
-		});
-		
-		List<String> hosts = ServerUIPlugin.getPreferences().getHostnames();
-		String[] hosts2 = hosts.toArray(new String[hosts.size()]);
-		new AutoCompleteField(hostname, new TextContentAdapter(), hosts2);
-		
-		Label serverNameLabel = new Label(this, SWT.NONE);
-		serverNameLabel.setText(Messages.serverName);
-		
-		serverName = new Text(this, SWT.SINGLE | SWT.BORDER | SWT.CANCEL);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		if ((serverName.getStyle() & SWT.CANCEL) != 0)
-			data.horizontalSpan = 2;
-		serverName.setLayoutData(data);
-		
-		if (server != null)
-			serverName.setText(server.getName());
-		
-		serverName.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updatingServerName)
-					return;
-				
-				String name = serverName.getText();
-				if (server != null) {
-					server.setName(name);
-					IRuntime runtime2 = server.getRuntime();
-					if (runtime2 != null && runtime2 instanceof IRuntimeWorkingCopy) {
-						IRuntimeWorkingCopy rwc = (IRuntimeWorkingCopy) runtime2;
-						rwc.setName(name);
-					}
-				}
-				
-				if (serverNameModified)
-					return;
-				
-				serverNameModified = true;
-				if (serverNameToolBar != null)
-					serverNameToolBar.getControl().setVisible(true);
-			}
-		});
-		
-		if ((serverName.getStyle() & SWT.CANCEL) == 0) {
-			serverNameToolBar = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL);
-			serverNameToolBar.createControl(this);
-			
-			IAction resetDefaultAction = new Action("", IAction.AS_PUSH_BUTTON) {//$NON-NLS-1$
-				public void run() {
-					((ServerWorkingCopy)server).setDefaults(null);
-					serverName.setText(server.getName());
-					serverNameModified = false;
-					if (serverNameToolBar != null)
-						serverNameToolBar.getControl().setVisible(false);
-				}
-			};
-			
-			resetDefaultAction.setToolTipText(Messages.serverNameDefault);
-			resetDefaultAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_RESET_DEFAULT));
-			resetDefaultAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_RESET_DEFAULT));
-			
-			serverNameToolBar.add(resetDefaultAction);
-			serverNameToolBar.update(false);
-			serverNameToolBar.getControl().setVisible(false);
-		}
-		
-		runtimeLabel = new Label(this, SWT.NONE);
-		runtimeLabel.setText(Messages.wizNewServerRuntime);
-		
-		runtimeCombo = new Combo(this, SWT.READ_ONLY);
-		runtimeCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		runtimeCombo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					setRuntime(runtimes[runtimeCombo.getSelectionIndex()]);
-				} catch (Exception ex) {
-					// ignore
-				}
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		addRuntime = new Link(this, SWT.NONE);
-		addRuntime.setText("<a>" + Messages.addRuntime + "</a>");
-		addRuntime.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		addRuntime.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IServerType serverType = serverTypeComposite.getSelectedServerType();
-				showRuntimeWizard(serverType);
-			}
-		});
-		
-		configureRuntimes = new Link(this, SWT.NONE);
-		configureRuntimes.setText("<a>" + Messages.configureRuntimes + "</a>");
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		data.horizontalSpan = 3;
-		configureRuntimes.setLayoutData(data);
-		configureRuntimes.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (showPreferencePage()) {
-					runtime = null;
-					IServerType serverType = serverTypeComposite.getSelectedServerType();
-					updateRuntimeCombo(serverType);
-				}
-			}
-		});
-		
-		// Add the page modifier bottom section UI. 
-		for (ServerCreationWizardPageExtension curPageExtension : pageExtensionLst) {
-			curPageExtension.createControl(ServerCreationWizardPageExtension.UI_POSITION.BOTTOM, this);
-		}
-		
-		Dialog.applyDialogFont(this);
-	}
-
-	protected boolean showPreferencePage() {
-		String id = "org.eclipse.wst.server.ui.preferencePage";
-		String id2 = "org.eclipse.wst.server.ui.runtime.preferencePage";
-		final PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), id2, new String[] { id, id2 }, null);
-		return (dialog.open() == Window.OK);
-	}
-
-	protected int showRuntimeWizard(IServerType serverType) {
-		WizardFragment fragment = null;
-		TaskModel taskModel = new TaskModel();
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		final WizardFragment fragment2 = ServerUIPlugin.getWizardFragment(runtimeType.getId());
-		if (fragment2 == null)
-			return Window.CANCEL;
-		
-		try {
-			IRuntimeWorkingCopy runtimeWorkingCopy = runtimeType.createRuntime(null, null);
-			taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
-		} catch (CoreException ce) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error creating runtime", ce);
-			}
-			return Window.CANCEL;
-		}
-		fragment = new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
-				list.add(fragment2);
-				list.add(WizardTaskUtil.SaveRuntimeFragment);
-			}
-		};
-		TaskWizard wizard2 = new TaskWizard(Messages.wizNewRuntimeWizardTitle, fragment, taskModel);
-		wizard2.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard2);
-		int returnValue = dialog.open();
-		if (returnValue != Window.CANCEL) {
-			updateRuntimeCombo(serverType);
-			IRuntime rt = (IRuntime)taskModel.getObject(TaskModel.TASK_RUNTIME);
-			if (rt != null && rt.getName() != null && runtimeCombo.indexOf(rt.getName()) != -1) {
-				setRuntime(rt);
-				runtimeCombo.select(runtimeCombo.indexOf(rt.getName()));
-			}
-		}
-		return returnValue;
-	}
-
-	public String getControlStringValue(String controlId) {
-		if (controlId != null && AbstractUIControl.PROP_HOSTNAME.equals(controlId)) {
-			return host;
-		}	
-		return null;
-	}
-	
-	public void setHost(String host) {
-		this.host = host;
-		if (serverTypeComposite == null)
-			return;
-		
-		IServerType selectedServerType = serverTypeComposite.getSelectedServerType();
-		handleHostnameChange(selectedServerType);
-	}
-	
-	protected void handleHostnameChange(IServerType serverType) {
-
-		wizard.setMessage(null, IMessageProvider.NONE);
-		if (!checkHostAndServerType(serverType)) {
-			return;// Host name validation failed, so there is no need to continue handling hostname change event			
-		}
-		loadServerImpl(serverType);
-		
-		if (serverName != null && !serverNameModified) {
-			updatingServerName = true;
-			if (server == null)
-				serverName.setText("");
-			else
-				serverName.setText(server.getName());
-			updatingServerName = false;
-		}
-		
-		updateRuntimeCombo(serverType);
-		if (serverName != null) {
-			if (server == null) {
-				serverName.setEditable(false);
-				serverNameToolBar.getControl().setVisible(false);
-			} else {
-				serverName.setEditable(true);
-				serverNameToolBar.getControl().setVisible(serverNameModified);
-			}
-		}
-	}
-
-	/**
-	 * Validates the server's host name<br/>
-	 * @param selectedServerType
-	 * @return The results of validation: <br/>
-	 * <b>false</b> in case when the selected server type does not support remote host and the field "hostname" is not recognized as localhost one.  This method will also return false on an invalid server type.<br/> 
-	 * <b>true</b> in any other case   
-	 */
-	protected boolean checkHostAndServerType(IServerType selectedServerType){
-		if(selectedServerType == null){
-			return false;
-		}
-		boolean supportsRemote = selectedServerType.supportsRemoteHosts();
-		if (hostname.getText().trim().length() == 0){
-			wizard.setMessage(NLS.bind(Messages.wizEmptyHostName, new Object[0]), IMessageProvider.ERROR);
-			return false;
-		}
-		if(!supportsRemote && !SocketUtil.isLocalhost(hostname.getText())) {
-			wizard.setMessage(NLS.bind(Messages.wizCheckRemoteSupport, new Object[0]), IMessageProvider.ERROR);
-			return false;
-		}
-		
-		return true;
-	}
-	
-	/**
-	 * Load a server of the given type.
-	 */
-	protected void loadServerImpl(IServerType serverType) {
-		server = null;
-		
-		if (serverType == null)
-			return;
-		
-		boolean isLocalhost = SocketUtil.isLocalhost(host);
-		
-		server = cache.getCachedServer(serverType, isLocalhost);
-		if (server != null) {
-			server.setHost(host);
-			((ServerWorkingCopy)server).setDefaults(null);
-			runtime = server.getRuntime();
-			listener.runtimeSelected(runtime);
-			fireServerWorkingCopyChanged();
-			return;
-		}
-		
-		try {
-			// try to create runtime first
-			IRuntime run = null;
-			if (serverType.hasRuntime()) {
-				runtime = null;
-				updateRuntimes(serverType, isLocalhost);
-				run = getDefaultRuntime();
-			}
-			server = cache.createServer(serverType, run, isLocalhost, null);
-			if (server != null) {
-				server.setHost(host);
-				
-				if (serverType.hasRuntime() && server.getRuntime() == null) {
-					runtime = null;
-					updateRuntimes(serverType, isLocalhost);
-					setRuntime(getDefaultRuntime());
-					
-					if (server.getServerType() != null && server.getServerType().hasServerConfiguration() && !runtime.getLocation().isEmpty())
-						((ServerWorkingCopy)server).importRuntimeConfiguration(runtime, null);
-				}
-				
-				((ServerWorkingCopy)server).setDefaults(null);
-				fireServerWorkingCopyChanged();
-			}
-		} catch (CoreException ce) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error creating server", ce);
-			}
-			server = null;
-			runtime = null;
-			wizard.setMessage(ce.getLocalizedMessage(), IMessageProvider.ERROR);
-		}
-			
-		if (server == null)
-			wizard.setMessage(Messages.wizErrorServerCreationError, IMessageProvider.ERROR);
-	}
-
-	/**
-	 * Pick the first non-stub runtime first. Otherwise, just pick the first runtime.
-	 * 
-	 * @return the default runtime
-	 */
-	protected IRuntime getDefaultRuntime() {
-		if (runtimes == null || runtimes.length == 0)
-			return null;
-		
-		if (runtimes != null) {
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				if (!runtimes[i].isStub())
-					return runtimes[i];
-			}
-		}
-		return runtimes[0];
-	}
-
-	protected void updateRuntimes(IServerType serverType, boolean isLocalhost) {
-		if (serverType == null)
-			return;
-		
-		IRuntimeType runtimeType = serverType.getRuntimeType();
-		runtimes = ServerUIPlugin.getRuntimes(runtimeType);
-		newRuntime = null;
-		
-		if (runtimes != null) {
-			List<IRuntime> runtimes2 = new ArrayList<IRuntime>();
-			int size = runtimes.length;
-			for (int i = 0; i < size; i++) {
-				IRuntime runtime2 = runtimes[i];
-				if (isLocalhost || !runtime2.isStub())
-					runtimes2.add(runtime2);
-			}
-			runtimes = new IRuntime[runtimes2.size()];
-			runtimes2.toArray(runtimes);
-			if (runtimes.length > 0)
-				return;
-		}
-		
-		// create a new runtime
-		try {
-			IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(null, null);
-			runtimes = new IRuntime[1];
-			runtimes[0] = runtimeWC;
-			newRuntime = runtimeWC;
-		} catch (Exception e) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Couldn't create runtime", e);
-			}
-		}
-	}
-
-	protected void updateRuntimeCombo(IServerType serverType) {
-		if (serverType == null || !serverType.hasRuntime() || server == null) {
-			if (runtimeLabel != null) {
-				runtimeLabel.setEnabled(false);
-				runtimeCombo.setItems(new String[0]);
-				runtimeCombo.setEnabled(false);
-				runtimeLabel.setVisible(false);
-				runtimeCombo.setVisible(false);
-				configureRuntimes.setEnabled(false);
-				configureRuntimes.setVisible(false);
-				addRuntime.setEnabled(false);
-				addRuntime.setVisible(false);
-			}
-			runtimes = new IRuntime[0];
-			setRuntime(null);
-			return;
-		}
-		
-		updateRuntimes(serverType, !SocketUtil.isLocalhost(server.getHost()));
-		
-		int size = runtimes.length;
-		String[] items = new String[size];
-		for (int i = 0; i < size; i++) {
-			if (runtimes[i].equals(newRuntime))
-				items[i] = Messages.wizNewServerRuntimeCreate;
-			else
-				items[i] = runtimes[i].getName();
-		}
-		
-		if (runtime == null)
-			setRuntime(getDefaultRuntime());
-		
-		if (runtimeCombo != null) {
-			runtimeCombo.setItems(items);
-			if (runtimes.length > 0) {
-				int sel = -1;
-				for (int i = 0; i < size; i++) {
-					if (runtimes[i].equals(runtime))
-						sel = i;
-				}
-				if (sel < 0) {
-					sel = 0;
-				}
-				
-				runtimeCombo.select(sel);
-				setRuntime(runtimes[sel]);
-			}
-			
-			IRuntimeType runtimeType = serverType.getRuntimeType();
-			boolean showRuntime = ServerUIPlugin.getRuntimes(runtimeType).length >=1;
-			runtimeCombo.setEnabled(showRuntime);
-			runtimeLabel.setEnabled(showRuntime);
-			configureRuntimes.setEnabled(showRuntime);
-			addRuntime.setEnabled(showRuntime);
-			runtimeLabel.setVisible(showRuntime);
-			runtimeCombo.setVisible(showRuntime);
-			configureRuntimes.setVisible(showRuntime);
-			addRuntime.setVisible(showRuntime);
-		}
-	}
-
-	protected void setRuntime(IRuntime runtime2) {
-		runtime = runtime2;
-		if (server != null) {
-			server.setRuntime(runtime);
-			((ServerWorkingCopy)server).setDefaults(null);
-			if (!serverNameModified) {
-				updatingServerName = true;
-				serverName.setText(server.getName());
-				updatingServerName = false;
-			}
-			else {
-				server.setName(serverName.getText());
-			}
-			// Validate if selected module is supported with the selected runtime
-			wizard.setMessage(null, IMessageProvider.NONE);
-			if( module!=null ){
-				canSupportModule=true;
-				IStatus status = NewServerComposite.isSupportedModule(server, module);
-				if (status != null) {
-					if (status.getSeverity() == IStatus.ERROR){
-						wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-						canSupportModule=false;
-					}
-					else if (status.getSeverity() == IStatus.WARNING)
-						wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-					else if (status.getSeverity() == IStatus.INFO)
-						wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-				}
-			}
-		}
-		listener.runtimeSelected(runtime);
-
-	}
-	
-	protected void fireServerWorkingCopyChanged() {
-		List<ServerCreationWizardPageExtension> pageExtensionLst = ServerUIPlugin.getServerCreationWizardPageExtensions();
-		// Add the page modifier top section UI. 
-		for (ServerCreationWizardPageExtension curPageExtension : pageExtensionLst) {
-			curPageExtension.setServerWorkingCopy(getServer());
-		}
-	}
-
-	/**
-	 * Handle the server type selection.
-	 */
-	protected void handleTypeSelection(IServerType serverType) {
-		boolean wrong = false;
-		if (serverType != null && moduleType != null) {
-			IRuntimeType runtimeType = serverType.getRuntimeType();
-			if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), moduleType)) {
-				serverType = null;
-				wrong = true;
-				//wizard.setMessage("Not the right spec level2", IMessageProvider.ERROR);
-			}
-		}
-		
-		if (wrong) {
-			server = null;
-			runtime = null;
-			wizard.setMessage(NLS.bind(Messages.errorVersionLevel, new Object[] { moduleType.getName(), moduleType.getVersion() }), IMessageProvider.ERROR);
-		} else if (serverType == null) {
-			server = null;
-			runtime = null;
-			wizard.setMessage("", IMessageProvider.ERROR); //$NON-NLS-1$
-		} else {
-			wizard.setMessage(null, IMessageProvider.NONE);
-			loadServerImpl(serverType);
-			if (server != null && module != null) {
-				IStatus status = NewServerComposite.isSupportedModule(server, module);
-				if (status != null) {
-					if (status.getSeverity() == IStatus.ERROR)
-						wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-					else if (status.getSeverity() == IStatus.WARNING)
-						wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-					else if (status.getSeverity() == IStatus.INFO)
-						wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-				}
-			}
-		}
-		
-		if (serverName != null && !serverNameModified) {
-			updatingServerName = true;
-			if (server == null)
-				serverName.setText("");
-			else
-				serverName.setText(server.getName());
-			updatingServerName = false;
-		}
-		
-		updateRuntimeCombo(serverType);
-		if (serverName != null) {
-			if (server == null) {
-				serverName.setEditable(false);
-				serverNameToolBar.getControl().setVisible(false);
-			} else {
-				serverName.setEditable(true);
-				serverNameToolBar.getControl().setVisible(serverNameModified);
-			}
-		}
-		listener.serverSelected(server);
-		// Fire the property change event. 
-		List<ServerCreationWizardPageExtension> pageExtensionLst = ServerUIPlugin.getServerCreationWizardPageExtensions();
-		for (ServerCreationWizardPageExtension curPageExtension : pageExtensionLst) {
-			curPageExtension.handlePropertyChanged(new PropertyChangeEvent(this, AbstractUIControl.PROP_SERVER_TYPE, oldServerType, serverType));
-		}
-		// Update the old server type value.
-		oldServerType = serverType;
-
-		checkHostAndServerType(serverType);
-		wizard.update();
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-	
-		if (visible) {
-			/*if (defaultServerFactory != null) {
-				tree.setSelection(new TreeItem[] { defaultServerFactory });
-				tree.showItem(tree.getItems()[0]);
-			}*/
-			// force the focus to initially validate the fields
-			handleTypeSelection(null);
-		}
-		
-		Control[] c = getChildren();
-		if (c != null) {
-			int size = c.length;
-			for (int i = 0; i < size; i++)
-				if (c[i] != null && c[i] instanceof ServerTypeComposite)
-					c[i].setVisible(visible);
-		}
-		if (visible)
-			handleTypeSelection(serverTypeComposite.getSelectedServerType());
-	}
-
-	public void refresh() {
-		serverTypeComposite.refresh();
-	}
-
-	public IRuntime getRuntime() {
-		return runtime;
-	}
-
-	public IServerWorkingCopy getServer() {
-		return server;
-	}
-
-	protected void hostnameChanged(String newHost) {
-		if (newHost == null)
-			return;
-		/*
-		 * Bug 349434, with the fix in Timer.runTimer, the chance that a new 
-		 * host name is the same as the host name will be very rare. In some  
-		 * cases, it still needs to go through processes such as loadServerImpl. 
-		 * It doesn't worth to handle it differently. Therefore, we are not checking 
-		 * for the same host name in here.
-		 */			
-
-		host = newHost;
-		hostnameListener.hostnameSelected(host);
-	}
-
-	public void handleUIControlMapChanged(Map<String, UIControlEntry> controlMap) {
-		if (controlMap == null) {
-			return;
-		}
-		
-		for (String curControlId : controlMap.keySet()) {
-			if (AbstractUIControl.PROP_HOSTNAME.equals(curControlId)) {
-				UIControlEntry curControlEntry = controlMap.get(curControlId);
-				if (hostnameLabel != null)
-					hostnameLabel.setEnabled(curControlEntry.isEnabled());
-				
-				if (hostname != null){
-					if (curControlEntry.getNewTextValue() != null)
-						hostname.setText(curControlEntry.getNewTextValue());
-					
-					hostname.setEnabled(curControlEntry.isEnabled());
-				}
-				
-				if (hostnameDecoration != null){
-					if(curControlEntry.isEnabled())
-						hostnameDecoration.show();
-					else
-						hostnameDecoration.hide();
-				}
-			}
-		}
-	}
-
-	public String getCurrentHostname() {
-		if (hostname != null)
-			return hostname.getText();
-		return null;
-	}
-
-	public boolean canSupportModule() {
-		return canSupportModule;
-	}
-
-	void setHostnameChangeTimer(String hostName) {
-		if (hostnameChangeAction == null) {
-			hostnameChangeAction = new HostnameChangedAction(hostName);
-		} else {
-			hostnameChangeAction.setHostName(hostName);
-		}
-
-		if (timer == null) {
-			timer = new Timer(300, hostnameChangeAction);
-		}
-		/*
-		 * Kick off the timer and then call setMessage if the Timer wasn't
-		 * previously running because we want to trigger the isComplete on the page
-		 * so that it stops the user from proceeding to the next page while the
-		 * timer is running.
-		 */
-		if (!timer.isRunning()) {
-			timer.runTimer();
-			wizard.setMessage(null, IMessageProvider.NONE);
-		} else {
-			timer.runTimer();
-		}
-	}
-
-	public boolean isTimerRunning() {
-		if (timer == null) {
-			return false;
-		}
-		return timer.isRunning();
-	}
-
-	public boolean isTimerScheduled() {
-		if (timer == null) {
-			return false;
-		}
-		return timer.isScheduled();
-	}
-
-	/**
-	 * Disposes the timer when the wizard is disposed.
-	 */
-	public void dispose() {
-		if (timer != null) {
-			timer.dispose();
-		}
-	}
-
-	private class HostnameChangedAction implements ActionListener {
-
-		String hostName;
-
-		public HostnameChangedAction(String name) {
-			hostName = name;
-		}
-
-		public void actionPerformed(ActionEvent a) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-						hostnameChanged(hostName);
-				}
-			});
-		}
-
-		void setHostName(String host) {
-			hostName = host;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java
deleted file mode 100644
index 5962e97..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.viewers.RuntimeTypeComposite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Tree;
-/**
- * 
- */
-public class NewRuntimeComposite extends Composite {
-	protected Tree tree;
-	protected TreeViewer treeViewer;
-	protected Button createServer;
-
-	protected IRuntimeWorkingCopy runtime;
-
-	// cache of created runtimes and servers
-	protected Map<IRuntimeType, IRuntimeWorkingCopy> cache = new HashMap<IRuntimeType, IRuntimeWorkingCopy>();
-	protected Map<IRuntime, IServerWorkingCopy> serverCache = new HashMap<IRuntime, IServerWorkingCopy>();
-
-	protected TaskModel taskModel;
-	protected IWizardHandle wizard;
-
-	protected String type;
-	protected String version;
-	protected String runtimeTypeId;
-	protected IServerType serverType;
-
-	public NewRuntimeComposite(Composite parent, IWizardHandle wizard, TaskModel tm, String type, String version, String runtimeTypeId) {
-		super(parent, SWT.NONE);
-		
-		this.wizard = wizard;
-		this.taskModel = tm;
-		this.type = type;
-		this.version = version;
-		this.runtimeTypeId = runtimeTypeId;
-		
-		createControl();
-		
-		wizard.setTitle(Messages.wizNewRuntimeTitle);
-		wizard.setDescription(Messages.wizNewRuntimeDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_RUNTIME));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl() {
-		//initializeDialogUnits(parent);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		setLayout(layout);
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(this, ContextIds.NEW_RUNTIME_WIZARD);
-		
-		final RuntimeTypeComposite comp = new RuntimeTypeComposite(this, true, new RuntimeTypeComposite.RuntimeTypeSelectionListener() {
-			public void runtimeTypeSelected(IRuntimeType runtimeType) {
-				handleSelection(runtimeType);
-			}
-		}, type, version, runtimeTypeId);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = 300;
-		comp.setLayoutData(data);
-		
-		createServer = new Button(this, SWT.CHECK);
-		createServer.setText(Messages.wizNewRuntimeCreateServer);
-		createServer.setSelection(ServerUIPlugin.getPreferences().getCreateServerWithRuntime());
-		createServer.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleServer();
-				ServerUIPlugin.getPreferences().setCreateServerWithRuntime(createServer.getSelection());
-			}
-		});
-	}
-
-	protected void handleSelection(IRuntimeType runtimeType) {
-		if (runtimeType == null)
-			runtime = null;
-		else {
-			try {
-				runtime = null;
-				runtime = cache.get(runtimeType);
-			} catch (Exception e) {
-				// ignore
-			}
-			if (runtime == null) {
-				try {
-					runtime = runtimeType.createRuntime(null, null);
-					if (runtime != null)
-						cache.put(runtimeType, runtime);
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-		serverType = getCompatibleServerType(runtimeType);
-		handleServer();
-	}
-
-	protected void handleServer() {
-		boolean option = false;
-		if (serverType != null && serverType.hasRuntime())
-			option = true;
-		createServer.setVisible(option);
-		
-		if (option && createServer.getSelection()) {
-			IServerWorkingCopy server = getServer();
-			taskModel.putObject(TaskModel.TASK_SERVER, server);
-		} else
-			taskModel.putObject(TaskModel.TASK_SERVER, null);
-		
-		taskModel.putObject(TaskModel.TASK_RUNTIME, runtime);
-		wizard.update();
-	}
-
-	protected static IServerType getCompatibleServerType(IRuntimeType runtimeType) {
-		List<IServerType> list = new ArrayList<IServerType>();
-		IServerType[] serverTypes = ServerCore.getServerTypes();
-		int size = serverTypes.length;
-		for (int i = 0; i < size; i++) {
-			IRuntimeType rt = serverTypes[i].getRuntimeType();
-			if (rt != null && rt.equals(runtimeType))
-				list.add(serverTypes[i]);
-		}
-		if (list.size() == 1)
-			return list.get(0);
-		return null;
-	}
-
-	/**
-	 * Get a server of the given type.
-	 */
-	protected IServerWorkingCopy getServer() {
-		if (serverType == null || runtime == null || !serverType.hasRuntime())
-			return null;
-		
-		IServerWorkingCopy server = serverCache.get(runtime);
-		if (server != null)
-			return server;
-		
-		try {
-			server = serverType.createServer(null, null, runtime, null);
-			if (server != null) {
-				serverCache.put(runtime, server);
-				return server;
-			}
-		} catch (CoreException ce) {
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Error creating server", ce);
-			}
-		}
-		
-		return null;
-	}
-
-	public IRuntimeWorkingCopy getRuntime() {
-		return runtime;
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		
-		Control[] c = getChildren();
-		if (c != null) {
-			int size = c.length;
-			for (int i = 0; i < size; i++)
-				if (c[i] != null)
-					c[i].setVisible(visible);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java
deleted file mode 100644
index 62a3190..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java
+++ /dev/null
@@ -1,550 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerAttributes;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.viewers.ServerComposite;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * A wizard page used to select a server.
- */
-public class NewServerComposite extends Composite {
-	protected IWizardHandle wizard;
-	protected TaskModel taskModel;
-	protected IModule module;
-	protected IModuleType moduleType;
-	protected String serverTypeId;
-	protected String launchMode;
-	
-	protected static final byte MODE_EXISTING = WizardTaskUtil.MODE_EXISTING;
-	protected static final byte MODE_DETECT = WizardTaskUtil.MODE_DETECT;
-	protected static final byte MODE_MANUAL = WizardTaskUtil.MODE_MANUAL;
-	protected byte mode;
-
-	protected Composite detectComp2;
-	protected NewDetectServerComposite detectComp;
-	protected HostnameComposite detectHostComp;
-	protected Composite manualComp2;
-	protected NewManualServerComposite manualComp;
-	protected HostnameComposite manualHostComp;
-	protected ServerComposite existingComp;
-
-	protected Composite stack;
-	protected StackLayout stackLayout; 
-
-	protected String lastHostname;
-
-	protected IServerWorkingCopy existingWC;
-
-	/**
-	 * Create a new NewServerComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param wizard a wizard handle
-	 * @param moduleType a module type, or null
-	 * @param serverTypeId a server type id, or null
-	 * @param launchMode a launch mode
-	 */
-	public NewServerComposite(Composite parent, IWizardHandle wizard, IModuleType moduleType, String serverTypeId, String launchMode) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		this.moduleType = moduleType;
-		this.serverTypeId = serverTypeId;
-		this.launchMode = launchMode;
-		
-		wizard.setTitle(Messages.wizNewServerTitle);
-		wizard.setDescription(Messages.wizNewServerDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_SERVER));
-		
-		createControl();
-	}
-
-	/**
-	 * Create a new NewServerComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param wizard a wizard handle
-	 * @param module a module
-	 * @param launchMode a launch mode
-	 */
-	public NewServerComposite(Composite parent, IWizardHandle wizard, IModule module, String launchMode) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		this.module = module;
-		this.launchMode = launchMode;
-		
-		wizard.setTitle(Messages.wizNewServerTitle);
-		wizard.setDescription(Messages.wizNewServerDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_SERVER));
-		
-		createControl();
-	}
-
-	protected Label createLabel(Composite parent, String text, int span) {
-		Label label = new Label(parent, SWT.WRAP);
-		label.setText(text);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = span;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	protected Label createLabel(Composite parent, String text) {
-		return createLabel(parent, text, 1);
-	}
-
-	protected Button createRadioButton(Composite parent, String text, int span) {
-		Button button = new Button(parent, SWT.RADIO);
-		button.setText(text);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = span;
-		data.horizontalIndent = 10;
-		button.setLayoutData(data);
-		return button;
-	}
-	
-	protected Text createText(Composite parent, String text2, int span) {
-		Text text = new Text(parent, SWT.NONE);
-		text.setText(text2);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.horizontalSpan = span;
-		text.setLayoutData(data);
-		return text;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		setLayout(layout);
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(this, ContextIds.NEW_SERVER_WIZARD);
-		
-		if (module != null) {
-			if (ILaunchManager.DEBUG_MODE.equals(launchMode))
-				wizard.setTitle(Messages.wizDebugOnServerTitle);
-			else if (ILaunchManager.PROFILE_MODE.equals(launchMode))
-				wizard.setTitle(Messages.wizProfileOnServerTitle);
-			else
-				wizard.setTitle(Messages.wizRunOnServerTitle);
-			wizard.setDescription(Messages.wizNewServerRunOnServerDescription);
-			createLabel(this, Messages.wizNewServerSelect, 1);
-		}
-		
-		Button existing = null;
-		if (module != null) {
-			final Button predefined = createRadioButton(this, Messages.wizNewServerExisting, 1);
-			predefined.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (predefined.getSelection())
-						toggleMode(MODE_EXISTING);
-				}
-			});
-			existing = predefined;
-		}
-		
-		/*final Button auto = createRadioButton(this, Messages.wizNewServerDetect"), 1);
-		auto.setEnabled(false);
-		auto.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (auto.getSelection())
-					toggleMode(MODE_DETECT);
-			}
-		});*/
-	
-		Button manual = null;
-		if (module != null) {
-			final Button manualButton = createRadioButton(this, Messages.wizNewServerManual, 1);
-			manualButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (manualButton.getSelection())
-						toggleMode(MODE_MANUAL);
-				}
-			});
-			manual = manualButton;
-		}
-		
-		stack = new Composite(this, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		stack.setLayoutData(data);
-		stackLayout = new StackLayout();
-		stackLayout.marginHeight = 0;
-		stackLayout.marginWidth = 0;
-		stack.setLayout(stackLayout);
-		
-		if (module != null)
-			createExistingComposite(stack);
-		createAutoComposite(stack);
-		createManualComposite(stack);
-		
-		if (existingComp != null && existing != null) {
-			if (isExistingServer()) {
-				mode = MODE_EXISTING;
-				stackLayout.topControl = existingComp;
-				existing.setSelection(true);
-			} else {
-				mode = MODE_MANUAL;
-				stackLayout.topControl = manualComp2;
-				manualComp.setVisible(true);
-				if (manual != null)
-					manual.setSelection(true);
-				existing.setEnabled(false);
-				existingComp.setEnabled(false);
-			}
-		} else {
-			mode = MODE_MANUAL;
-			stackLayout.topControl = manualComp2;
-			manualComp.setVisible(true);
-			if (manual != null)
-				manual.setSelection(true);
-		}
-		
-		if (module != null) {
-			// preferred server button
-			final Button pref = new Button(this, SWT.CHECK | SWT.WRAP);
-			pref.setText(Messages.wizSelectServerPreferred);
-			data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_END);
-			pref.setLayoutData(data);
-			pref.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					taskModel.putObject(WizardTaskUtil.TASK_DEFAULT_SERVER, new Boolean(pref.getSelection()));
-				}
-			});
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(pref, ContextIds.SELECT_SERVER_PREFERENCE);
-		}
-		
-		Dialog.applyDialogFont(this);
-	}
-
-	protected void toggleMode(byte newMode) {
-		if (!isVisible())
-			return;
-		
-		if (newMode == mode)
-			return;
-		
-		mode = newMode;
-		wizard.setMessage(null, IMessageProvider.NONE);
-		
-		if (mode == MODE_EXISTING) {
-			stackLayout.topControl = existingComp;
-			existingComp.setSelection(existingComp.getSelectedServer());
-		} else if (mode == MODE_DETECT) {
-			stackLayout.topControl = detectComp2;
-			detectComp.setVisible(true);
-		} else {
-			stackLayout.topControl = manualComp2;
-			manualComp.setVisible(true);
-		}
-		stack.layout();
-		if (taskModel != null) {
-			taskModel.putObject(WizardTaskUtil.TASK_MODE, new Byte(mode));
-			updateTaskModel();
-		}
-	}
-
-	protected HostnameComposite createHostComposite(Composite comp) {
-		HostnameComposite hostComp = new HostnameComposite(comp, new HostnameComposite.IHostnameSelectionListener() {
-			public void hostnameSelected(String host) {
-				lastHostname = host;
-				if (detectComp != null)
-					detectComp.setHost(host);
-				if (manualComp != null)
-					manualComp.setHost(host);
-			}
-		});
-		
-		if (lastHostname != null)
-			hostComp.setHostname(lastHostname);
-		
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		hostComp.setLayoutData(data);
-		return hostComp;
-	}
-
-	protected void createAutoComposite(Composite comp) {
-		detectComp2 = new Composite(comp, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		detectComp2.setLayout(layout);
-		
-		detectHostComp = createHostComposite(detectComp2);
-		
-		detectComp = new NewDetectServerComposite(detectComp2, new NewDetectServerComposite.IServerSelectionListener() {
-			public void serverSelected(IServerAttributes server) {
-				// do nothing
-			}
-		});
-
-		if (lastHostname != null)
-			detectComp.setHost(lastHostname);
-		else
-			detectComp.setHost("localhost");
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		data.heightHint = 150;
-		detectComp.setLayoutData(data);
-	}
-
-	protected void createExistingComposite(Composite comp) {
-		existingComp = new ServerComposite(comp, new ServerComposite.ServerSelectionListener() {
-			public void serverSelected(IServer server) {
-				wizard.setMessage(null, IMessageProvider.NONE);
-				
-				// check for compatibility
-				if (server != null && module != null) {
-					IStatus status = isSupportedModule(server, module);
-					if (status != null) {
-						if (status.getSeverity() == IStatus.ERROR)
-							wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-						else if (status.getSeverity() == IStatus.WARNING)
-							wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-						else if (status.getSeverity() == IStatus.INFO)
-							wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-						server = null;
-					}
-				}
-				
-				if (existingWC != null) {
-					if (server != null && server.equals(existingWC.getOriginal()))
-						return;
-					existingWC = null;
-				}
-				if (server != null)
-					existingWC = server.createWorkingCopy();
-				updateTaskModel();
-			}
-		}, module, launchMode);
-		existingComp.setIncludeIncompatibleVersions(true);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		data.heightHint = 150;
-		existingComp.setLayoutData(data);
-	}
-
-	/**
-	 * Returns the status of whether the given module could be added to the server.
-	 * 
-	 * @param server a server
-	 * @param module a module
-	 * @return an IStatus representing the error or warning, or null if there are no problems
-	 */
-	protected static IStatus isSupportedModule(IServerAttributes server, IModule module) {
-		if (server != null && module != null) {
-			IServerType serverType = server.getServerType();
-			IModuleType mt = module.getModuleType();
-			if (!ServerUtil.isSupportedModule(serverType.getRuntimeType().getModuleTypes(), mt)) {
-				String type = mt.getName();
-				return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, NLS.bind(Messages.errorVersionLevel, new Object[] { type, mt.getVersion() }));
-			}
-			
-			IModule[] rootModules = null;
-			try {
-				rootModules = server.getRootModules(module, null);
-			} catch (CoreException ce) {
-				return ce.getStatus();
-			} catch (Exception e) {
-				if (Trace.WARNING) {
-					Trace.trace(Trace.STRING_WARNING, "Could not find root module", e);
-				}
-			}
-			if (rootModules != null) {
-				if (rootModules.length == 0)
-					return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, Messages.errorRootModule);
-				
-				int size = rootModules.length;
-				IStatus status = null;
-				boolean found = false;
-				for (int i = 0; i < size; i++) {
-					try {
-						if (server != null)
-							status = server.canModifyModules(new IModule[] {rootModules[i]}, null, null);
-						if (status != null && status.isOK())
-							found = true;
-					} catch (Exception e) {
-						if (Trace.WARNING) {
-							Trace.trace(Trace.STRING_WARNING, "Could not find root module", e);
-						}
-					}
-				}
-				if (!found && status != null)
-					return status;
-			}
-		}
-		return null;
-	}
-
-	protected boolean isExistingServer() {
-		if (module == null || launchMode == null)
-			return false;
-		
-		IServer[] servers = ServerCore.getServers();
-		if (servers != null) {
-			int size = servers.length;
-			for (int i = 0; i < size; i++) {
-				IModuleType mt = module.getModuleType();
-				if (ServerUIPlugin.isCompatibleWithLaunchMode(servers[i], launchMode) &&
-					ServerUtil.isSupportedModule(servers[i].getServerType().getRuntimeType().getModuleTypes(), mt))
-						return true;
-			}
-		}
-		return false;
-	}
-
-	protected void createManualComposite(Composite comp) {
-		manualComp2 = new Composite(comp, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		manualComp2.setLayout(layout);
-		manualComp2.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		IModuleType mt = moduleType;
-		boolean includeIncompatible = true;
-		if (moduleType != null)
-			includeIncompatible = false;
-		
-		if (module != null)
-			mt = module.getModuleType();
-		
-		manualComp = new NewManualServerComposite(manualComp2, new NewManualServerComposite.IWizardHandle2() {
-			public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException {
-				wizard.run(fork, cancelable, runnable);
-			}
-			public void update() {
-				wizard.update();
-			}
-			public void setMessage(String newMessage, int newType) {
-				wizard.setMessage(newMessage, newType);
-			}
-		}, mt, module, serverTypeId, includeIncompatible, new NewManualServerComposite.ServerSelectionListener() {
-			public void serverSelected(IServerAttributes server) {
-				updateTaskModel();
-			}
-			public void runtimeSelected(IRuntime runtime) {
-				updateTaskModel();
-			}
-		});
-		
-		if (lastHostname != null)
-			manualComp.setHost(lastHostname);
-		else
-			manualComp.setHost("localhost");
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 3;
-		data.heightHint = 360;
-		manualComp.setLayoutData(data);
-	}
-	
-	public NewManualServerComposite getNewManualServerComposite (){
-		return manualComp;
-	}
-	
-	protected void updateTaskModel() {
-		if (taskModel != null) {
-			IServerWorkingCopy server = getServer();
-			if (server != null) {
-				taskModel.putObject(TaskModel.TASK_SERVER, server);
-				taskModel.putObject(TaskModel.TASK_RUNTIME, server.getRuntime());
-			} else {
-				taskModel.putObject(TaskModel.TASK_SERVER, null);
-				taskModel.putObject(TaskModel.TASK_RUNTIME, null);
-			}
-		}
-		wizard.update();
-	}
-
-	public void setTaskModel(TaskModel model) {
-		taskModel = model;
-		taskModel.putObject(WizardTaskUtil.TASK_MODE, new Byte(mode));
-		updateTaskModel();
-	}
-
-	public IServerWorkingCopy getServer() {
-		if (mode == MODE_EXISTING)
-			return existingWC; //existingComp.getSelectedServer();
-		else if (mode == MODE_DETECT)
-			return detectComp.getServer();
-		else
-			return manualComp.getServer();
-	}
-
-	public IRuntime getRuntime() {
-		if (mode == MODE_EXISTING) {
-			IServer server = existingComp.getSelectedServer();
-			if (server != null)
-				return server.getRuntime();
-			return null;
-		} else if (mode == MODE_DETECT)
-			return null;
-		else
-			return manualComp.getRuntime();
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		
-		Control[] c = getChildren();
-		if (c != null) {
-			int size = c.length;
-			for (int i = 0; i < size; i++)
-				if (c[i] != null)
-					c[i].setVisible(visible);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java
deleted file mode 100644
index c6828e5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java
+++ /dev/null
@@ -1,155 +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.ui.internal.wizard.page;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.internal.IClient;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.*;
-import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-/**
- * A wizard page used to select a server client.
- */
-public class SelectClientComposite extends Composite {
-	protected IWizardHandle wizard;
-	protected TaskModel taskModel;
-
-	// the list of elements to select from
-	protected IClient[] clients;
-
-	// the currently selected element
-	protected IClient selectedClient;
-
-	// the table containing the elements
-	protected Table elementTable;
-
-	// the description of the selected client
-	protected Label description;
-
-	/**
-	 * Create a new SelectClientComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param wizard a wizard handle
-	 * @param taskModel a task model
-	 */
-	public SelectClientComposite(Composite parent, IWizardHandle wizard, TaskModel taskModel) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		this.taskModel = taskModel;
-		try {
-			clients = (IClient[]) taskModel.getObject(WizardTaskUtil.TASK_CLIENTS);
-		} catch (Exception e) {
-			// ignore
-		}
-	
-		wizard.setTitle(Messages.wizSelectClientTitle);
-		wizard.setDescription(Messages.wizSelectClientDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER_CLIENT));
-		
-		createControl();
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4);
-		layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4);
-		setLayout(layout);
-
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-	
-		Label label = new Label(this, SWT.WRAP);
-		label.setText(Messages.wizSelectClientMessage);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		label.setLayoutData(data);
-	
-		elementTable = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-		data.heightHint = 80;
-		data.horizontalIndent = 20;
-		elementTable.setLayoutData(data);
-		elementTable.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				handleSelection();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				handleSelection();
-				//TODO: WizardUtil.defaultSelect(getWizard(), SelectClientWizardPage.this);
-			}
-		});
-		whs.setHelp(elementTable, ContextIds.SELECT_CLIENT);
-	
-		if (clients != null) {
-			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-			int size = clients.length;
-			for (int i = 0; i < size; i++) {
-				TableItem item = new TableItem(elementTable, SWT.NONE);
-				item.setText(0, labelProvider.getText(clients[i]));
-				item.setImage(0, labelProvider.getImage(clients[i]));
-				item.setData(clients[i]);
-			}
-			labelProvider.dispose();
-		}
-		
-		description = new Label(this, SWT.WRAP);
-		description.setText("");
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.heightHint = 70;
-		description.setLayoutData(data);
-	
-		Dialog.applyDialogFont(this);
-	}
-
-	/**
-	 * Handle the selection of a client.
-	 */
-	protected void handleSelection() {
-		int index = elementTable.getSelectionIndex();
-		if (index < 0)
-			selectedClient = null;
-		else
-			selectedClient = clients[index];
-		
-		taskModel.putObject(WizardTaskUtil.TASK_CLIENT, selectedClient);
-		if (selectedClient != null)
-			wizard.setMessage(null, IMessageProvider.NONE);
-		else
-			wizard.setMessage("", IMessageProvider.ERROR);
-		
-		String desc = null;
-		if (selectedClient != null)
-			desc = selectedClient.getDescription();
-		if (desc == null)
-			desc = "";
-		description.setText(desc);
-		
-		wizard.update();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ServerCreationCache.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ServerCreationCache.java
deleted file mode 100644
index 430e38c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ServerCreationCache.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.HashMap;
-import java.util.Map;
-
-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.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-/**
- * A helper class used to cache the creation of servers.
- */
-public class ServerCreationCache {
-	protected Map<String, IServerWorkingCopy> cache;
-
-	/**
-	 * ServerCreationCache constructor comment.
-	 */
-	public ServerCreationCache() {
-		super();
-		cache = new HashMap<String, IServerWorkingCopy>();
-	}
-
-	/**
-	 * Return the key to use for the given server type.
-	 * 
-	 * @param type the server type
-	 * @param isLocalhost true if the server is local
-	 * @return the key
-	 */
-	private String getKey(IServerType type, boolean isLocalhost) {
-		return type.getId() + "|" + isLocalhost + "|";
-	}
-
-	/**
-	 * Create a new server and put it in the cache.
-	 *
-	 * @param type the server type
-	 * @param runtime a runtime, or null
-	 * @param isLocalhost true if the server is local
-	 * @param monitor a progress monitor
-	 * @return a server working copy
-	 * @throws CoreException if anything goes wrong
-	 */
-	public IServerWorkingCopy createServer(IServerType type, IRuntime runtime, boolean isLocalhost, IProgressMonitor monitor) throws CoreException {
-		IServerWorkingCopy server = type.createServer(null, null, runtime, monitor);
-		cache.put(getKey(type, isLocalhost), server);
-		return server;
-	}
-
-	/**
-	 * Returns a previously cached server, if one exists
-	 * 
-	 * @param type the server type
-	 * @param isLocalhost true if the server is local
-	 * @return a working copy
-	 */
-	public IServerWorkingCopy getCachedServer(IServerType type, boolean isLocalhost) {
-		try {
-			IServerWorkingCopy server = cache.get(getKey(type, isLocalhost));
-			if (server != null)
-				return server;
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java
deleted file mode 100644
index 9637469..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.ui.internal.ContextIds;
-import org.eclipse.wst.server.ui.internal.ImageResource;
-import org.eclipse.wst.server.ui.internal.Messages;
-import org.eclipse.wst.server.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-/**
- * A wizard page used to select server and module tasks.
- */
-public class TasksComposite extends ScrolledComposite {
-	protected IWizardHandle wizard;
-
-	// the list of elements to select from
-	protected List tasks;
-
-	protected boolean created;
-
-	/**
-	 * Create a new TasksComposite.
-	 * 
-	 * @param parent a parent composite
-	 * @param wizard a wizard handle
-	 */
-	public TasksComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		this.wizard = wizard;
-		
-		wizard.setTitle(Messages.wizTaskTitle);
-		wizard.setDescription(Messages.wizTaskDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER));
-		
-		//createControl();
-	}
-
-	public void setTasks(List tasks) {
-		this.tasks = tasks;
-		
-		Control[] children = getChildren();
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				children[i].dispose();
-			}
-		}
-		
-		created = false;
-	}
-
-	/**
-	 * Creates the UI of the page.
-	 */
-	public void createControl() {
-		if (created)
-			return;
-		
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-				
-		Composite comp = new Composite(this, SWT.NONE);
-		setContent(comp);
-		TasksLayout layout = new TasksLayout(SWTUtil.convertVerticalDLUsToPixels(this, 4));
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_BOTH));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.SELECT_TASK_WIZARD);
-		
-		int size = 0;
-		if (tasks != null)
-			size = tasks.size();
-	
-		for (int i = 0; i < size; i++) {
-			Object obj = tasks.get(i);
-			final TasksWizardFragment.TaskInfo sti = (TasksWizardFragment.TaskInfo) obj;
-			final Button checkbox = new Button(comp, SWT.CHECK | SWT.WRAP);
-			String label = sti.task2.getLabel();
-			if (label != null)
-				checkbox.setText(label);
-			else
-				checkbox.setText(Messages.elementUnknownName);
-		
-			checkbox.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent event) {
-					sti.setSelected(checkbox.getSelection());
-				}
-				public void widgetDefaultSelected(SelectionEvent event) {
-					sti.setSelected(checkbox.getSelection());
-				}
-			});
-			
-			Label description = new Label(comp, SWT.WRAP);
-			String desc = sti.task2.getDescription();
-			if (desc != null)
-				description.setText(desc);
-			else
-				description.setText(Messages.elementUnknownName);
-			
-			if (sti.kind == PublishOperation.REQUIRED) {
-				checkbox.setSelection(true);
-				checkbox.setEnabled(false);
-				description.setEnabled(false);
-			} else
-				checkbox.setSelection(sti.isSelected());
-		}
-		
-		if (size == 0)
-			if (Trace.SEVERE) {
-				Trace.trace(Trace.STRING_SEVERE, "Task composite appeared with no tasks!");
-			}
-		
-		Dialog.applyDialogFont(this);
-		
-		setExpandHorizontal(true);
-		setExpandVertical(true);
-		
-		setMinSize(comp.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-		layout(true, true);
-		
-		created = true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksLayout.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksLayout.java
deleted file mode 100644
index bd4d45c..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksLayout.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-/**
- * 
- */
-public class TasksLayout extends Layout {
-	private int verticalSpacing;
-
-	public TasksLayout(int verticalSpacing) {
-		this.verticalSpacing = verticalSpacing;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		//return new Point(wHint, hHint);
-		Control[] children = composite.getChildren();
-		
-		int y = 5;
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				if (i % 2 == 0) {
-					int h = children[i].computeSize(wHint, SWT.DEFAULT).y;
-					y += h + verticalSpacing / 2;
-				} else {
-					int h = Math.max(45, children[i].computeSize(wHint, SWT.DEFAULT).y);
-					y += h + verticalSpacing;
-				}
-			}
-		}
-		return new Point(200, y); // + verticalSpacing);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean)
-	 */
-	protected void layout(Composite composite, boolean flushCache) {
-		Control[] children = composite.getChildren();
-		Rectangle r = composite.getClientArea();
-		
-		int y = r.y + 5;
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				if (i % 2 == 0) {
-					int h = children[i].computeSize(r.width - 10, SWT.DEFAULT).y;
-					children[i].setBounds(r.x + 5, y, r.width - 10, h);
-					y += h + verticalSpacing / 2;
-				} else {
-					int h = Math.max(45, children[i].computeSize(r.width - 25, SWT.DEFAULT).y);
-					children[i].setBounds(r.x + 20, y, r.width - 25, h);
-					y += h + verticalSpacing;
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java
deleted file mode 100644
index e80519d..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.wizard.page;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-/**
- * IRunnableWithProgressAdapter to allow it to run an IWorkspaceRunnable.
- */
-public class WorkspaceRunnableAdapter implements IRunnableWithProgress {
-	private IWorkspaceRunnable workspaceRunnable;
-	
-	public WorkspaceRunnableAdapter(IWorkspaceRunnable runnable) {
-		workspaceRunnable = runnable;
-	}
-
-	/*
-	 * @see IRunnableWithProgress#run(IProgressMonitor)
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException {
-		try {
-			ResourcesPlugin.getWorkspace().run(workspaceRunnable, monitor);
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.html b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.html
deleted file mode 100644
index 3babaea..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.html
+++ /dev/null
@@ -1,38 +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 server tools UI.</p>
-<table width="500">
-<tr>
-<td>
-<p>ServerUICore is the main entry-point for the API. From here, clients
-can get the wizard pages for a particular server type, get a label
-provider for all server types, or launch Run on Server directly.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>ServerUIUtil provides utility methods. Currently, this is limited to
-launching the server runtime wizard and editing an existing server
-runtime.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>ServerLaunchConfigurationTab is a generic server tools tab that can
-be used in launch configuration tab groups for a server launch. It shows
-information about the server to the user.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.xml b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.xml
deleted file mode 100644
index 873e264..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-<abstract>The server tools UI.</abstract>
-
-<p>ServerUICore is the main entry-point for the API. From here, clients
-can get the wizard pages for a particular server type, get a label
-provider for all server types, or launch Run on Server directly.</p>
-
-<p>ServerUIUtil provides utility methods. Currently, this is limited to
-launching the server runtime wizard and editing an existing server
-runtime.</p>
-
-<p>ServerLaunchConfigurationTab is a generic server tools tab that can
-be used in launch configuration tab groups for a server launch. It shows
-information about the server to the user.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java
deleted file mode 100644
index 85c9752..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.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.ui.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-/**
- * A wizard handle.
- * 
- * @since 1.0
- */
-public interface IWizardHandle extends IMessageProvider {
-	/**
-	 * Updates the wizard error messages and buttons.
-	 */
-	public void update();
-
-	/**
-	 * Sets the title of this wizard page.
-	 *  
-	 * @param title the title of the wizard page
-	 */
-	public void setTitle(String title);
-
-	/**
-	 * The page's description.
-	 * 
-	 * @param desc the page's description
-	 */
-	public void setDescription(String desc);
-
-	/**
-	 * The page's image descriptor.
-	 * 
-	 * @param image the page's image descriptor
-	 */
-	public void setImageDescriptor(ImageDescriptor image);
-
-	/**
-	 * Set an error or warning message.
-	 * 
-	 * @param newMessage the new message
-	 * @param newType the new type, from IStatus
-	 */
-	public void setMessage(String newMessage, int newType);
-
-	/**
-	 * Execute a runnable within the context of the wizard. This will typically
-	 * disable the wizard while the runnable is running, and provide a progress
-	 * monitor for the user.  
-	 * 
-	 * @param fork true if a separate thread should be used
-	 * @param cancelable true if it should be cancelable
-	 * @param runnable the runnable
-	 * @throws InterruptedException thrown if it is interrupted
-	 * @throws InvocationTargetException thrown if there is an error
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/ServerCreationWizardPageExtension.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/ServerCreationWizardPageExtension.java
deleted file mode 100644
index adc60dc..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/ServerCreationWizardPageExtension.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.wizard;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.AbstractUIControl;
-
-/**
- * A modifier class that allow adopter to modify the behaviour of the server creation wizard page.
- * It also has places where adopter can inject custom GUI into the server creation wizard page.
- */
-public abstract class ServerCreationWizardPageExtension extends AbstractUIControl {
-	protected IServerWorkingCopy serverWc = null;
-	
-	/**
-	 * The list of position on the server creation wizard page that allows inserting custom GUI.
-	 * UI_POSITION
-	 */
-	public enum UI_POSITION { TOP, MIDDLE, BOTTOM }
-
-	/**
-	 * Create the customer UI on the specified position.
-	 * @param position the position on the server creation wizard page that allows inserting custom GUI.
-	 * @param parent parent composite.
-	 */
-	public abstract void createControl(UI_POSITION position, Composite parent);
-	
-	/**
-	 * Set the server working copy to the control to allow extension to store the extension values.
-	 * @param curServerWc
-	 */
-	public void setServerWorkingCopy(IServerWorkingCopy curServerWc) {
-		serverWc = curServerWc;
-	}
-}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java
deleted file mode 100644
index 7ffbf05..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.wizard;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.TaskModel;
-/**
- * A wizard fragment is a node within a wizard that provides a completely
- * extendable wizard flow by supporting a flexible tree structure for the
- * pages. As the user walks pages through the wizard, they are actually
- * traversing the nodes of a tree, and each node can add or remove children
- * at any time.
- * 
- * Each node may be non-UI (useful for injecting behaviour into the tree)
- * or contain a single wizard page (@see hasComposite() and
- * createComposite(Composite, IWizardHandle)). The node may also have
- * children (@see getChildFragments(), which should be updated or refreshed
- * whenever the updateChildFragments() method is called by another node to
- * let this node know that it's state may have changed.
- * 
- * This implementation uses a createChildFragments() method to allow the
- * fragment to add it's children into the tree. Note that this method may
- * be called multiple times as the tree is updated and it must return the
- * same instance of any children that have previously been returned.
- * 
- * @since 1.0
- */
-public abstract class WizardFragment {
-	private TaskModel taskModel;
-	private boolean isComplete = true;
-	private List<WizardFragment> listImpl;
-
-	/**
-	 * Returns <code>true</code> if this fragment has an associated UI,
-	 * and <code>false</code> otherwise.
-	 * 
-	 * @return true if the fragment has a composite
-	 */
-	public boolean hasComposite() {
-		return false;
-	}
-
-	/**
-	 * Creates the composite associated with this fragment.
-	 * This method is only called when hasComposite() returns true.
-	 * 
-	 * @param parent a parent composite
-	 * @param handle a wizard handle
-	 * @return the created composite
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		return null;
-	}
-
-	/**
-	 * Sets the wizard task model.
-	 * <p>
-	 * A task model is shared by all fragments in the wizard and is used to share
-	 * data. It contains information about the overall task flow and allows
-	 * fragments to store and retrieve data. Its usage allows multiple fragments
-	 * to be chained together and share data from the output of one fragment to
-	 * the input of another.
-	 * </p>
-	 * 
-	 * @param taskModel the task model
-	 * @see #getTaskModel()
-	 */
-	public void setTaskModel(TaskModel taskModel) {
-		this.taskModel = taskModel;
-	}
-
-	/**
-	 * Returns the wizard task model.
-	 * 
-	 * @return the task model
-	 * @see #setTaskModel(TaskModel)
-	 */
-	public TaskModel getTaskModel() {
-		return taskModel;
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to has traversed
-	 * into this wizard fragment. It is called to give the fragment the
-	 * opportunity to initialize any values shown in the composite or
-	 * update the task model.
-	 * <p>
-	 * When finish is pressed, the current fragment is exit()ed, and then
-	 * performFinish() is called on all of the fragments in the tree.
-	 * enter() and exit() are not called on the remaining fragments.
-	 * </p>
-	 */
-	public void enter() {
-		// do nothing
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to has traversed
-	 * out of this wizard fragment. It is called to give the fragment the
-	 * opportunity to save any values entered into the composite or
-	 * update the task model.
-	 * <p>
-	 * When finish is pressed, the current fragment is exit()ed, and then
-	 * performFinish() is called on all of the fragments in the tree.
-	 * enter() and exit() are not called on the remaining fragments. 
-	 * </p>
-	 */
-	public void exit() {
-		// do nothing
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to is finished.
-	 * After exit()ing the current page, all fragment's performFinish()
-	 * methods are called in order.
-	 * <p>
-	 * This method is not called on the UI thread and must not access the
-	 * composite. Not only might the user never have accessed the fragment's
-	 * composite, but this method may be called asynchronously on a job
-	 * once the wizard has closed.
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if something goes wrong
-	 */
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to is canceled.
-	 * After exit()ing the current page, all fragment's performCancel()
-	 * methods are called in order.
-	 * <p>
-	 * This method is not called on the UI thread and must not access the
-	 * composite. Not only might the user never have accessed the fragment's
-	 * composite, but this method may be called asynchronously on a job
-	 * once the wizard has closed.
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if something goes wrong
-	 */
-	public void performCancel(IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Returns the child fragments. Child fragments come directly after this fragment
-	 * in the wizard flow.
-	 * 
-	 * @return a list of child fragments
-	 */
-	public List getChildFragments() {
-		if (listImpl == null) {
-			listImpl = new ArrayList<WizardFragment>();
-			createChildFragments(listImpl);
-		}
-		return listImpl;
-	}
-
-	/**
-	 * Called to give the fragment a chance to update it's child fragments in
-	 * response to other changes within the wizard or task model.
-	 */
-	public void updateChildFragments() {
-		listImpl = null;
-	}
-
-	/**
-	 * This method is called by the implementation of getChildFragments() to
-	 * allow this fragment to add it's children. This method must cache and
-	 * return the same instance of any child fragment created. If new
-	 * instances are created each time the wizard is updated, the enablement
-	 * state and the flow of the wizard will be incorrect. 
-	 * 
-	 * @param list a list to add the child fragments to
-	 */
-	protected void createChildFragments(List<WizardFragment> list) {
-		// do nothing
-	}
-
-	/**
-	 * Returns true if this fragment is complete (can finish). If it is
-	 * complete the user will be allowed to go to the next fragment or
-	 * finish the wizard. If the fragment is not complete, the Next button
-	 * will be disabled. If the fragment is complete but another fragment
-	 * is not complete, the Finish button will not be enabled.
-	 * 
-	 * @return <code>true</code> if the fragment is complete, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isComplete() {
-		return isComplete;
-	}
-
-	/**
-	 * Set the isComplete state.
-	 * 
-	 * @param complete <code>true</code> if the fragment is complete, and
-	 *    <code>false</code> otherwise
-	 */
-	protected void setComplete(boolean complete) {
-		this.isComplete = complete;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.html b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.html
deleted file mode 100644
index 29657b7..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.html
+++ /dev/null
@@ -1,22 +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>Wizard and task support for the server tools UI.</p>
-<table width="500">
-<tr>
-<td>
-<p>WizardFragment is extended to provide a subtree of wizard pages or tasks
-that can be inserted into a larger wizard flow. TaskWizard is the standard
-wizard that knows how to handle WizardFragments and display them in order
-within a single wizard. It uses the TaskWizardPages to display the wizard
-fragment's composites within the wizard.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.xml b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.xml
deleted file mode 100644
index 9043333..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.xml
+++ /dev/null
@@ -1,22 +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>Wizard and task support for the server tools UI.</abstract>
-
-<p>WizardFragment is extended to provide a subtree of wizard pages or tasks
-that can be inserted into a larger wizard flow. TaskWizard is the standard
-wizard that knows how to handle WizardFragments and display them in order
-within a single wizard. It uses the TaskWizardPages to display the wizard
-fragment's composites within the wizard.</p>
-
-</body>
-</html>
\ No newline at end of file